35802634dc
This change removes password generation with pwmake and uses jose to do so. It has been checked that generation is similar, as jose uses OpenSSL. Apart from that, we will introduce --force-password so that pwquality configuration does not bother on LUKS operations Resolves: rhbz#2207488 Signed-off-by: Sergio Arroutbi <sarroutb@redhat.com>
436 lines
15 KiB
RPMSpec
436 lines
15 KiB
RPMSpec
Name: clevis
|
|
Version: 18
|
|
Release: 112%{?dist}
|
|
Summary: Automated decryption framework
|
|
|
|
License: GPLv3+
|
|
URL: https://github.com/latchset/%{name}
|
|
Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
|
|
Source1: clevis.sysusers
|
|
|
|
Patch0001: 0001-sss-use-BN_set_word-x-0-instead-of-BN_zero.patch
|
|
Patch0002: 0002-systemd-account-for-unlocking-failures-in-clevis-luk.patch
|
|
Patch0004: 0004-luks-explicitly-specify-pbkdf-iterations-to-cryptset.patch
|
|
Patch0005: 0005-tang-dump-url-on-error-communication.patch
|
|
Patch0006: 0006-feat-rename-the-test-pin-to-null-pin.patch
|
|
Patch0007: 0007-avoid-clevis-invalid-msg.patch
|
|
Patch0008: 0008-Improve-boot-performance-by-removing-key-check.patch
|
|
Patch0009: 0009-luks-enable-debugging-in-clevis-scripts-when-rd.debu.patch
|
|
Patch0010: 0010-existing-luks2-token-id.patch
|
|
Patch0011: 0011-ignore-empty-and-comment-lines-in-crypttab.patch
|
|
Patch0012: 0012-luks-define-max-entropy-bits-for-pwmake.patch
|
|
Patch0013: 0013-luks-edit-remove-unnecessary-redirection.patch
|
|
Patch0014: 0014-remove-pwmake-for-password-generation.patch
|
|
|
|
BuildRequires: git-core
|
|
BuildRequires: gcc
|
|
BuildRequires: meson
|
|
BuildRequires: asciidoc
|
|
BuildRequires: ninja-build
|
|
BuildRequires: bash-completion
|
|
|
|
BuildRequires: libjose-devel >= 8
|
|
BuildRequires: libluksmeta-devel >= 8
|
|
BuildRequires: audit-libs-devel
|
|
BuildRequires: libudisks2-devel
|
|
BuildRequires: openssl-devel
|
|
|
|
BuildRequires: tpm2-tools >= 4.0.0
|
|
BuildRequires: desktop-file-utils
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: systemd
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: dracut
|
|
BuildRequires: tang >= 6
|
|
BuildRequires: curl
|
|
BuildRequires: luksmeta
|
|
BuildRequires: openssl
|
|
BuildRequires: diffutils
|
|
BuildRequires: cryptsetup
|
|
BuildRequires: jq
|
|
|
|
Requires: tpm2-tools >= 4.0.0
|
|
Requires: coreutils
|
|
Requires: jose >= 8
|
|
Requires: curl
|
|
Requires: jq
|
|
Requires(pre): shadow-utils
|
|
Requires(post): systemd
|
|
|
|
%description
|
|
Clevis is a framework for automated decryption. It allows you to encrypt
|
|
data using sophisticated unlocking policies which enable decryption to
|
|
occur automatically.
|
|
|
|
The clevis package provides basic encryption/decryption policy support.
|
|
Users can use this directly; but most commonly, it will be used as a
|
|
building block for other packages. For example, see the clevis-luks
|
|
and clevis-dracut packages for automatic root volume unlocking of LUKSv1
|
|
volumes during early boot.
|
|
|
|
%package luks
|
|
Summary: LUKS integration for clevis
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: cryptsetup
|
|
Requires: luksmeta >= 8
|
|
|
|
%description luks
|
|
LUKS integration for clevis. This package allows you to bind a LUKS
|
|
volume to a clevis unlocking policy. For automated unlocking, an unlocker
|
|
will also be required. See, for example, clevis-dracut and clevis-udisks2.
|
|
|
|
%package systemd
|
|
Summary: systemd integration for clevis
|
|
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
|
|
%if 0%{?fedora} > 27
|
|
Requires: systemd%{?_isa} >= 235-3
|
|
%else
|
|
%if 0%{?fedora} == 27
|
|
Requires: systemd%{?_isa} >= 234-9
|
|
%else
|
|
%if 0%{?fedora} == 26
|
|
Requires: systemd%{?_isa} >= 233-7
|
|
%else
|
|
Requires: systemd%{?_isa} >= 236
|
|
%endif
|
|
%endif
|
|
%endif
|
|
|
|
%description systemd
|
|
Automatically unlocks LUKS _netdev block devices from /etc/crypttab.
|
|
|
|
%package dracut
|
|
Summary: Dracut integration for clevis
|
|
Requires: %{name}-systemd%{?_isa} = %{version}-%{release}
|
|
Requires: dracut-network
|
|
|
|
%description dracut
|
|
Automatically unlocks LUKS block devices in early boot.
|
|
|
|
%package udisks2
|
|
Summary: UDisks2/Storaged integration for clevis
|
|
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
|
|
|
|
%description udisks2
|
|
Automatically unlocks LUKS block devices in desktop environments that
|
|
use UDisks2 or storaged (like GNOME).
|
|
|
|
%prep
|
|
%autosetup -S git
|
|
|
|
%build
|
|
%meson -Duser=clevis -Dgroup=clevis
|
|
%meson_build
|
|
|
|
%install
|
|
%meson_install
|
|
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/clevis.conf
|
|
|
|
%check
|
|
desktop-file-validate \
|
|
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
|
|
%meson_test
|
|
|
|
%pre
|
|
%sysusers_create_compat %{SOURCE1}
|
|
# Add clevis user to tss group.
|
|
if getent group tss >/dev/null && ! groups %{name} | grep -q "\btss\b"; then
|
|
usermod -a -G tss %{name} &>/dev/null
|
|
fi
|
|
exit 0
|
|
|
|
%post systemd
|
|
systemctl preset %{name}-luks-askpass.path >/dev/null 2>&1 || :
|
|
|
|
%files
|
|
%license COPYING
|
|
%{_datadir}/bash-completion/
|
|
%{_bindir}/%{name}-decrypt-tang
|
|
%{_bindir}/%{name}-decrypt-tpm2
|
|
%{_bindir}/%{name}-decrypt-sss
|
|
%{_bindir}/%{name}-decrypt-null
|
|
%{_bindir}/%{name}-decrypt
|
|
%{_bindir}/%{name}-encrypt-tang
|
|
%{_bindir}/%{name}-encrypt-tpm2
|
|
%{_bindir}/%{name}-encrypt-sss
|
|
%{_bindir}/%{name}-encrypt-null
|
|
%{_bindir}/%{name}
|
|
%{_mandir}/man1/%{name}-encrypt-tang.1*
|
|
%{_mandir}/man1/%{name}-encrypt-tpm2.1*
|
|
%{_mandir}/man1/%{name}-encrypt-sss.1*
|
|
%{_mandir}/man1/%{name}-decrypt.1*
|
|
%{_mandir}/man1/%{name}.1*
|
|
%{_sysusersdir}/clevis.conf
|
|
|
|
%files luks
|
|
%{_mandir}/man7/%{name}-luks-unlockers.7*
|
|
%{_mandir}/man1/%{name}-luks-unlock.1*
|
|
%{_mandir}/man1/%{name}-luks-unbind.1*
|
|
%{_mandir}/man1/%{name}-luks-bind.1*
|
|
%{_mandir}/man1/%{name}-luks-list.1.*
|
|
%{_mandir}/man1/%{name}-luks-edit.1.*
|
|
%{_mandir}/man1/%{name}-luks-regen.1.*
|
|
%{_mandir}/man1/%{name}-luks-report.1.*
|
|
%{_mandir}/man1/%{name}-luks-pass.1.*
|
|
%{_bindir}/%{name}-luks-unlock
|
|
%{_bindir}/%{name}-luks-unbind
|
|
%{_bindir}/%{name}-luks-bind
|
|
%{_bindir}/%{name}-luks-common-functions
|
|
%{_bindir}/%{name}-luks-list
|
|
%{_bindir}/%{name}-luks-edit
|
|
%{_bindir}/%{name}-luks-regen
|
|
%{_bindir}/%{name}-luks-report
|
|
%{_bindir}/%{name}-luks-pass
|
|
|
|
%files systemd
|
|
%{_libexecdir}/%{name}-luks-askpass
|
|
%{_unitdir}/%{name}-luks-askpass.path
|
|
%{_unitdir}/%{name}-luks-askpass.service
|
|
|
|
%files dracut
|
|
%{_prefix}/lib/dracut/modules.d/60%{name}
|
|
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-null/module-setup.sh
|
|
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-sss/module-setup.sh
|
|
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tang/module-setup.sh
|
|
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tpm2/module-setup.sh
|
|
|
|
%files udisks2
|
|
%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
|
|
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
|
|
|
|
%changelog
|
|
* Thu Jun 1 2023 Sergio Arroutbi <sarroutb@redhat.com> - 18-112
|
|
- Remove pwmake for password generation
|
|
Resolves: rhbz#2207488
|
|
|
|
* Thu May 4 2023 Sergio Arroutbi <sarroutb@redhat.com> - 18-111
|
|
- Fix changelog to correct versions
|
|
Resolves: rhbz#2180451
|
|
|
|
* Wed Jan 25 2023 Sergio Arroutbi <sarroutb@redhat.com> - 18-110
|
|
- luks-edit: remove unnecessary 2>/dev/null
|
|
Resolves: rhbz#2159738
|
|
|
|
* Fri Jan 13 2023 Sergio Arroutbi <sarroutb@redhat.com> - 18-109
|
|
- luks: define max entropy bits for pwmake
|
|
Resolves: rhbz#2159735
|
|
|
|
* Thu Jan 12 2023 Sergio Arroutbi <sarroutb@redhat.com> - 18-108
|
|
- Ignore empty & comment lines in crypttab
|
|
Resolves: rhbz#2159728
|
|
|
|
* Tue Dec 13 2022 Sergio Arroutbi <sarroutb@redhat.com> - 18-107
|
|
- Add existing token id parameter
|
|
Resolves: rhbz#2126533
|
|
|
|
* Tue Aug 02 2022 Sergio Correia <scorreia@redhat.com> - 18-106
|
|
- Enable debugging in clevis scripts when rd.debug is set
|
|
Resolves: rhbz#2022420
|
|
|
|
* Tue Aug 02 2022 Sergio Arroutbi <sarroutb@redhat.com> - 18-105
|
|
- Start clevis-luks-askpass.path service according to global policy
|
|
Resolves: rhbz#2107078
|
|
|
|
* Thu Jul 21 2022 Sergio Arroutbi <sarroutb@redhat.com> - 18-104
|
|
- Improve boot performance by removing key check
|
|
Resolves: rhbz#2099701
|
|
|
|
* Mon Jun 20 2022 Sergio Arroutbi <sarroutb@redhat.com> - 18-103
|
|
- Avoid invalid message for clevis command
|
|
Resolves: rhbz#2080281
|
|
|
|
* Wed Jan 26 2022 Sergio Correia <scorreia@redhat.com> - 18-102
|
|
- Support a null pin
|
|
Resolves: rhbz#2028091
|
|
|
|
* Wed Jan 26 2022 Sergio Correia <scorreia@redhat.com> - 18-101
|
|
- Revert "Enable debugging in clevis scripts when rd.debug is set"
|
|
Related: rhbz#2022420
|
|
|
|
* Thu Jan 20 2022 Sergio Arroutbi <sarroutb@redhat.com> - 18-100
|
|
- Dump server information on server error communication
|
|
Resolves: rhbz#2022423
|
|
|
|
* Tue Jan 04 2022 Sergio Correia <scorreia@redhat.com> - 18-7
|
|
- Explicitly specify pbkdf iterations to cryptsetup
|
|
Resolves: rhbz#2022416
|
|
|
|
* Tue Jan 04 2022 Sergio Correia <scorreia@redhat.com> - 18-6
|
|
- Enable debugging in clevis scripts when rd.debug is set
|
|
Resolves: rhbz#2022420
|
|
|
|
* Wed Nov 17 2021 Sergio Correia <scorreia@redhat.com> - 18-5
|
|
- Account for unlocking failures in clevis-luks-askpass
|
|
Resolves: rhbz#2022421
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 18-4
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
Related: rhbz#1991688
|
|
|
|
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 18-3
|
|
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
|
Related: rhbz#1971065
|
|
|
|
* Fri May 07 2021 Sergio Correia <scorreia@redhat.com> - 18-2
|
|
- Port to OpenSSL 3
|
|
Resolves: rhbz#1956760
|
|
|
|
* Tue May 04 2021 Sergio Correia <scorreia@redhat.com> - 18-1
|
|
- Update to new clevis upstream release, v18
|
|
Resolves: rhbz#1956760
|
|
|
|
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 16-3
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
* Tue Mar 16 2021 Sergio Correia <scorreia@redhat.com> - 16-2
|
|
- Fix for -t option in clevis luks bind - backport upstream commit ea0d0c20
|
|
|
|
* Tue Feb 09 2021 Sergio Correia <scorreia@redhat.com> - 16-1
|
|
- Update to new clevis upstream release, v16.
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 15-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Mon Nov 23 08:14:40 GMT 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 15-3
|
|
- Upstream patch for tpm-tools 5.0 support
|
|
|
|
* Thu Oct 29 2020 Sergio Correia <scorreia@redhat.com> - 15-2
|
|
- Add jq to dependencies
|
|
|
|
* Wed Oct 28 2020 Sergio Correia <scorreia@redhat.com> - 15-1
|
|
- Update to new clevis upstream release, v15.
|
|
|
|
* Tue Sep 08 2020 Sergio Correia <scorreia@redhat.com> - 14-5
|
|
- Suppress output in pre scriptlet when adjusting users/groups
|
|
Resolves: rhbz#1876729
|
|
|
|
* Tue Sep 08 2020 Sergio Correia <scorreia@redhat.com> - 14-4
|
|
- Backport upstream PR#230 - clevis-luks-askpass now exits cleanly
|
|
when receives a SIGTERM
|
|
Resolves: rhbz#1876001
|
|
|
|
* Sat Sep 05 2020 Sergio Correia <scorreia@redhat.com> - 14-3
|
|
- If clevis-luks-askpass is enabled, it may be using a wrong target,
|
|
since that changed in v14. Check and update it, if required.
|
|
|
|
* Mon Aug 31 2020 Sergio Correia <scorreia@redhat.com> - 14-2
|
|
- Update sources file with new v14 release.
|
|
|
|
* Mon Aug 31 2020 Sergio Correia <scorreia@redhat.com> - 14-1
|
|
- Update to new clevis upstream release, v14.
|
|
|
|
* Sun Aug 02 2020 Benjamin Gilbert <bgilbert@redhat.com> - 13-3
|
|
- Downgrade cracklib-dicts to Recommends
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 13-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Sun May 10 2020 Sergio Correia <scorreia@redhat.com> - 13-1
|
|
- Update to new clevis upstream release, v13.
|
|
|
|
* Thu May 07 2020 Sergio Correia <scorreia@redhat.com> - 12-4
|
|
- cracklib-dicts should be also listed as a build dependency, since
|
|
it's required for running some of the tests
|
|
|
|
* Mon Apr 06 2020 Sergio Correia <scorreia@redhat.com> - 12-3
|
|
- Make cracklib-dicts a regular dependency
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
* Mon Jan 20 2020 Sergio Correia <scorreia@redhat.com> - 12-1
|
|
- Update to new clevis upstream release, v12.
|
|
|
|
* Thu Dec 19 2019 Sergio Correia <scorreia@redhat.com> - 11-11
|
|
- Backport upstream PR#70 - Handle case where we try to use a partially
|
|
used luksmeta slot
|
|
Resolves: rhbz#1672371
|
|
|
|
* Thu Dec 05 2019 Sergio Correia <scorreia@redhat.com> - 11-10
|
|
- Disable LUKS2 tests for now, since they fail randomly in Koji
|
|
builders, killing the build
|
|
|
|
* Wed Dec 04 2019 Sergio Correia <scorreia@redhat.com> - 11-9
|
|
- Backport of upstream patches and the following fixes:
|
|
- Rework the logic for reading the existing key
|
|
- fix for different output from 'luksAddKey' command w/cryptsetup v2.0.2 (
|
|
- pins/tang: check that key derivation key is available
|
|
|
|
* Wed Oct 30 2019 Peter Robinson <pbrobinson@fedoraproject.org> 11-8
|
|
- Drop need network patch
|
|
|
|
* Fri Sep 06 2019 Javier Martinez Canillas <javierm@redhat.com> - 11-7
|
|
- Add support for tpm2-tools 4.0
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
* Thu Dec 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 11-4
|
|
- Update patch for work around
|
|
|
|
* Thu Dec 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 11-3
|
|
- Work around network requirement for early boot
|
|
|
|
* Fri Nov 09 2018 Javier Martinez Canillas <javierm@redhat.com> - 11-2
|
|
- Delete remaining references to the removed http pin
|
|
- Install cryptsetup and tpm2_pcrlist in the initramfs
|
|
- Add device TCTI library to the initramfs
|
|
Resolves: rhbz#1644876
|
|
|
|
* Tue Aug 14 2018 Nathaniel McCallum <npmccallum@redhat.com> - 11-1
|
|
- Update to v11
|
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Wed Mar 21 2018 Nathaniel McCallum <npmccallum@redhat.com> - 10-1
|
|
- Update to v10
|
|
|
|
* Tue Feb 13 2018 Nathaniel McCallum <npmccallum@redhat.com> - 9-1
|
|
- Update to v9
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
* Mon Nov 13 2017 Nathaniel McCallum <npmccallum@redhat.com> - 8-1
|
|
- Update to v8
|
|
|
|
* Wed Nov 08 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7-2
|
|
- Rebuild for cryptsetup-2.0.0
|
|
|
|
* Fri Oct 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-1
|
|
- Update to v7
|
|
|
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
* Tue Jun 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 6-1
|
|
- New upstream release
|
|
- Specify unprivileged user/group during configuration
|
|
- Move clevis user/group creation to base clevis package
|
|
|
|
* Mon Jun 26 2017 Nathaniel McCallum <npmccallum@redhat.com> - 5-1
|
|
- New upstream release
|
|
- Run clevis decryption from udisks2 under an unprivileged user
|
|
|
|
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 4-1
|
|
- New upstream release
|
|
|
|
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 3-1
|
|
- New upstream release
|
|
|
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
* Fri Nov 18 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2-1
|
|
- New upstream release
|
|
|
|
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1-1
|
|
- First release
|