7b82abf
#global prever rc1
1a01604
#global prerelease yes
7b82abf
Paul Wouters 5f381f6
Summary: Software version of a PKCS#11 Hardware Security Module
Paul Wouters 5f381f6
Name: softhsm
0d171ac
Version: 2.6.1
f2398ec
Release: %{?prever:0.}5%{?prever:.%{prever}}%{?dist}.6
Paul Wouters 5f381f6
License: BSD
Paul Wouters 5f381f6
Url: http://www.opendnssec.org/
7b82abf
Source: http://dist.opendnssec.org/source/%{?prever:testing/}%{name}-%{version}.tar.gz
7b82abf
Source1: http://dist.opendnssec.org/source/%{?prever:testing/}%{name}-%{version}.tar.gz.sig
242c1e6
c2ee7fd
Patch1: softhsm-2.6.1-rh1831086-exit.patch
d68ea45
Patch2: softhsm-openssl3-tests.patch
c2ee7fd
fe69b66
BuildRequires: make
Petr Spacek 45ba122
BuildRequires: openssl-devel >= 1.0.1k-6, sqlite-devel >= 3.4.2, cppunit-devel
Nikos Mavrogiannopoulos 240c566
BuildRequires: gcc-c++, pkgconfig, p11-kit-devel
903844f
Paul Wouters 5f381f6
Requires(pre): shadow-utils
Nikos Mavrogiannopoulos 240c566
Requires: p11-kit
Petr Spacek 45ba122
Requires: openssl-libs >= 1.0.1k-6
903844f
903844f
%global _hardened_build 1
51a0ed8
51a0ed8
%global softhsm_module "SoftHSM PKCS #11 Module"
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%description
903844f
OpenDNSSEC is providing a software implementation of a generic
903844f
cryptographic device with a PKCS#11 interface, the SoftHSM. SoftHSM is
903844f
designed to meet the requirements of OpenDNSSEC, but can also work together
Paul Wouters 5f381f6
with other cryptographic products because of the PKCS#11 interface.
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%package devel
Paul Wouters 5f381f6
Summary: Development package of softhsm that includes the header files
903844f
Requires: %{name} = %{version}-%{release}, openssl-devel, sqlite-devel
dc30315
%if 0%{?prever:1} || 0%{?prerelease:1}
Petr Spacek 8b7d8e2
BuildRequires: autoconf, libtool, automake
7b82abf
%endif
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%description devel
Paul Wouters 5f381f6
The devel package contains the libsofthsm include files
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%prep
7b82abf
%setup -q -n %{name}-%{version}%{?prever}
c2ee7fd
%patch1 -p1
d68ea45
%patch2 -p1
13f38c5
dc30315
%if 0%{?prever:1} || 0%{?prerelease:1}
dc30315
   # pre-release or post-release snapshots fixup
dc30315
   sed -i 's:^full_libdir=":#full_libdir=":g' configure.ac
dc30315
   sed -i "s:libdir)/@PACKAGE@:libdir):" Makefile.in
Petr Spacek 8b7d8e2
autoreconf -fiv
dc30315
%else
dc30315
   # remove softhsm/ subdir auto-added to --libdir
dc30315
   sed -i 's:full_libdir/softhsm:full_libdir:g' configure
7b82abf
%endif
242c1e6
Paul Wouters 5f381f6
%build
3826df3
# This package fails its testsuite with LTO enabled and needs further
3826df3
# investigation
3826df3
%define _lto_cflags %{nil}
3826df3
Simo Sorce 9d2db65
%configure --libdir=%{_libdir}/pkcs11 --with-openssl=%{_prefix} --enable-ecc --enable-eddsa --disable-gost \
Nikos Mavrogiannopoulos 5f6815c
           --with-migrate --enable-visibility --with-p11-kit=%{_datadir}/p11-kit/modules/
903844f
dd27c9e
%make_build
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%check
dc30315
make check
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%install
Paul Wouters 5f381f6
rm -rf %{buildroot}
dd27c9e
%make_install
51a0ed8
903844f
rm %{buildroot}/%{_sysconfdir}/softhsm2.conf.sample
903844f
rm -f %{buildroot}/%{_libdir}/pkcs11/*a
Paul Wouters 5f381f6
mkdir -p %{buildroot}%{_includedir}/softhsm
Paul Wouters 5f381f6
cp src/lib/*.h %{buildroot}%{_includedir}/softhsm
903844f
mkdir -p %{buildroot}/%{_sharedstatedir}/softhsm/tokens
903844f
903844f
# leave a softlink where softhsm-1 installed its library. Programs like
903844f
# opendnssec have that filename in their configuration file.
903844f
mkdir -p %{buildroot}/%{_libdir}/softhsm/
903844f
ln -s ../pkcs11/libsofthsm2.so %{buildroot}/%{_libdir}/softhsm/libsofthsm.so
f5fea46
# rhbz#1272423 NSS needs it to be in the search path too
f5fea46
( cd  %{buildroot}/%{_libdir} ; ln -s pkcs11/libsofthsm2.so)
Paul Wouters 5f381f6
903844f
%files
903844f
%config(noreplace) %{_sysconfdir}/softhsm2.conf
Paul Wouters 5f381f6
%{_bindir}/*
903844f
%dir %{_libdir}/softhsm
903844f
%{_libdir}/pkcs11/libsofthsm2.so
f5fea46
%{_libdir}/libsofthsm2.so
Paul Wouters 5f381f6
%{_libdir}/softhsm/libsofthsm.so
Nikos Mavrogiannopoulos c45db11
%attr(0664,root,root) %{_datadir}/p11-kit/modules/softhsm2.module
Nikos Mavrogiannopoulos 8aed476
%attr(0750,ods,ods) %dir %{_sharedstatedir}/softhsm
Nikos Mavrogiannopoulos 8aed476
%attr(1770,ods,ods) %dir %{_sharedstatedir}/softhsm/tokens
903844f
%doc LICENSE README.md NEWS
Paul Wouters 5f381f6
%{_mandir}/*/*
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%files devel
Paul Wouters 5f381f6
%attr(0755,root,root) %dir %{_includedir}/softhsm
Paul Wouters 5f381f6
%{_includedir}/softhsm/*.h
Paul Wouters 5f381f6
Paul Wouters 5f381f6
%pre
012ad0a
getent group ods >/dev/null || groupadd -r ods
012ad0a
getent passwd ods >/dev/null || \
7b82abf
    useradd -r -g ods -d %{_sharedstatedir}/softhsm -s /sbin/nologin \
51a0ed8
    -c "softhsm private keys owner" ods
Paul Wouters 5f381f6
exit 0
Paul Wouters 5f381f6
51a0ed8
%post
51a0ed8
903844f
%triggerpostun -- softhsm < 2.0.0
903844f
if [ -f /var/softhsm/slot0.db ]; then
903844f
      runuser -g ods ods -c 'softhsm2-migrate --db /var/softhsm/slot0.db --pin 1234 --slot 0' || :
903844f
fi
903844f
Paul Wouters 5f381f6
%changelog
f2398ec
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5.6
f2398ec
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
f2398ec
e77d1d2
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5.5
e77d1d2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
e77d1d2
8916864
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5.4
8916864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8916864
d68ea45
* Wed Nov 10 2021 Alexander Bokovoy <abokovoy@redhat.com> - 2.6.1-6
d68ea45
- Resolves: rhbz#2021906 - softhsm: FTBFS with OpenSSL 3.0.0
d68ea45
a99b501
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2.6.1-5.3
a99b501
- Rebuilt with OpenSSL 3.0.0
a99b501
9e27d17
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5.2
9e27d17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
9e27d17
fa8f533
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-5.1
fa8f533
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
fa8f533
93a9103
* Tue Dec  8 20:45:53 EST 2020 Paul Wouters <pwouters@redhat.com> - 2.6.1-5
93a9103
- rebuilt to fixup numbering clobbered by automatic bumps
93a9103
3826df3
* Mon Aug 11 2020 Jeff Law <law@redhat.org> - 2.6.1-3.4
3826df3
- Disable LTO
3826df3
f83d819
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3.3
f83d819
- Second attempt - Rebuilt for
f83d819
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
f83d819
8b22a00
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3.2
8b22a00
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8b22a00
dd27c9e
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2.6.1-3.1
dd27c9e
- Use make macros
dd27c9e
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
dd27c9e
1e209fc
* Wed May 13 2020 David Woodhouse <dwmw2@infradead.org> - 2.6.1-3
1e209fc
- Resolves: rhbz#1831086 softhsm use-after-free on process exit
1e209fc
  Fix crash introduced by initial patch
1e209fc
c2ee7fd
* Tue May 12 2020 Paul Wouters <pwouters@redhat.com> - 2.6.1-2
c2ee7fd
- Resolves: rhbz#1831086 softhsm use-after-free on process exit
c2ee7fd
0d171ac
* Thu Apr 30 2020 Paul Wouters <pwouters@redhat.com> - 2.6.1-1
0d171ac
- Resolves: rhbz#1814324 -softhsm-2.6.1 is available
0d171ac
376c52c
* Mon Mar 30 2020 Alexander Bokovoy <abokovoy@redhat.com> - 2.6.0-1
1443e5c
- Resolves: rhbz#1814324 softhsm-2.6.0 is available
376c52c
fffe45f
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-4.3
fffe45f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
fffe45f
8864003
* Sat Dec 14 2019 Jeff Law <law@redhat.com> - 2.5.0-4.2
8864003
- Fix missing #includes for gcc-10
8864003
6c26d50
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-4.1
6c26d50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
6c26d50
dc30315
* Fri May 31 2019 Paul Wouters <pwouters@redhat.com> - 2.5.0-4
dc30315
- Pull in git master fixes to address assertion failure in make check
dc30315
- Re-enable testing
dc30315
74f70ea
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-3.1
74f70ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
74f70ea
Nikos Mavrogiannopoulos 240c566
* Wed Nov 14 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.5.0-3
Nikos Mavrogiannopoulos 240c566
- Removed dependency on NSS; it was not necessary.
Nikos Mavrogiannopoulos 240c566
Nikos Mavrogiannopoulos 0eeee27
* Mon Nov 05 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.5.0-2
Nikos Mavrogiannopoulos 0eeee27
- Rebuilt to match f29 version
Nikos Mavrogiannopoulos 0eeee27
Simo Sorce 9d2db65
* Mon Oct 29 2018 Simo Sorce <simo@redhat.com> - 2.5.0-1
Simo Sorce 9d2db65
- Updated to latest upstream release
Simo Sorce 9d2db65
Nikos Mavrogiannopoulos 07855fe
* Sat Aug 11 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.4.0-1
Nikos Mavrogiannopoulos 07855fe
- Updated to latest upstream release
Nikos Mavrogiannopoulos 07855fe
33844e4
* Tue Jul 31 2018 Alexander Bokovoy <abokovoy@redhat.com> - 2.3.0-4
33844e4
- Fix crash when used via p11-kit (#1607635)
33844e4
df0a006
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-3.2
df0a006
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
df0a006
c45fd13
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-3.1
c45fd13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
c45fd13
Nikos Mavrogiannopoulos 74b20f5
* Fri Feb 02 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.3.0-3
Nikos Mavrogiannopoulos 74b20f5
- Remove softhsm2-pk11install. Software modules are to be registered with
Nikos Mavrogiannopoulos 74b20f5
  p11-kit as in https://fedoraproject.org/wiki/PackagingDrafts/Pkcs11Support (#1541095).
Nikos Mavrogiannopoulos 74b20f5
eebab4e
* Tue Dec 05 2017 Jakub Jelen <jjelen@redhat.com> - 2.3.0-2
eebab4e
- Add support for RSA-PSS from upstrem PR#335
eebab4e
3bfd9fc
* Tue Dec 05 2017 Jakub Jelen <jjelen@redhat.com> - 2.3.0-1
3bfd9fc
- New upstream release (#1467329)
3bfd9fc
887c8ea
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2.2
887c8ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
887c8ea
e6c3690
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2.1
e6c3690
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
e6c3690
Nikos Mavrogiannopoulos 8dc59c6
* Tue Jun 27 2017 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.2.0-2
Nikos Mavrogiannopoulos 8dc59c6
- Increased the level of messages that go to syslog, thus softhsm
Nikos Mavrogiannopoulos 8dc59c6
  will no longer write on syslog when it cannot open the shared DB (#1425135)
Nikos Mavrogiannopoulos 8dc59c6
- Allow users in the 'ods' group to store their keys in /var/lib/softhsm/tokens/
Nikos Mavrogiannopoulos 8dc59c6
  while at the same time disallow deleting other users' keys (using the
Nikos Mavrogiannopoulos 8dc59c6
  sticky bit). Prevent users in the 'ods' group from writing in /var/lib/softhsm.
Nikos Mavrogiannopoulos 8dc59c6
Nikos Mavrogiannopoulos 5f6815c
* Thu Jun 22 2017 Nikos Mavrogiannopoulos <nmav@redhat.com> - 2.2.0-1
Nikos Mavrogiannopoulos 5f6815c
- Rebased to latest upstream release
Nikos Mavrogiannopoulos 5f6815c
ad5c5f2
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2.1
ad5c5f2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
ad5c5f2
dcb427a
* Fri Sep 23 2016 Paul Wouters <pwouters@redhat.com> - 2.1.0-2
dcb427a
- Resolves: rhbz#1378800 Module cleanup crash
dcb427a
f5fea46
* Mon May 16 2016 Paul Wouters <pwouters@redhat.com> - 2.1.0-1
f5fea46
- Resolves: rhbz#1244461 Updated to 2.1.0
f5fea46
- Resolves: rhbz#1272423 Softhsm PKCS#11 module not visible to NSS becasue it is not in the search path
a8e85f9
- Resolves: rhbz#1177086 A marked as trusted certificate cannot be written in a softhsmv2 db
a8e85f9
- Resolves: rhbz#1272453 - A marked as CA certificate cannot be written in a softhsmv2 db
f5fea46
- Removed merged in bug#162 patch
82f91fe
- Temporarily disable make check because cppunit is broken
f5fea46
13f38c5
* Thu Feb 25 2016 Paul Wouters <pwouters@redhat.com> - 2.0.0-2
13f38c5
- Resolves: rhbz#1272453 A marked as CA certificate cannot be written in a softhsmv2 db
13f38c5
a46b16b
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-1.1
a46b16b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
a46b16b
7b82abf
* Wed Sep 02 2015 Paul Wouters <pwouters@redhat.com> - 2.0.0-1
7b82abf
- Resolves: rhbz#1244461 Update to softhsm-2.0.0
7b82abf
- Resolves: rhbz#1177086 A marked as trusted certificate cannot be written in a softhsmv2 db
7b82abf
- Resolves: rhbz#1159827 Typo in homedir in /etc/passwd
7b82abf
- Added global prever to toggle snapshot vs full release build changes
7b82abf
Petr Spacek 45ba122
* Fri Jun 26 2015 Petr Spacek <pspacek@redhat.com> - 2.0.0rc1-3
Petr Spacek 45ba122
- Add dependency on OpenSSL with fixed AES wrapping support
Petr Spacek 45ba122
4f4fb9a
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0rc1-2
4f4fb9a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
4f4fb9a
Petr Spacek 8b7d8e2
* Mon Jun 01 2015 Petr Spacek <pspacek@redhat.com> - 2.0.0rc1-1
Petr Spacek 8b7d8e2
- Rebase to latest upstream release
Petr Spacek 8b7d8e2
cfc3a79
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.0.0b1-4
cfc3a79
- Rebuilt for GCC 5 C++11 ABI change
cfc3a79
903844f
* Tue Sep 30 2014 Paul Wouters <pwouters@redhat.com> - 2.0.0b1-3
242c1e6
- Add support for CKM_RSA_PKCS_OAEP key un/wrapping [Petr Spacek]
242c1e6
- Use OpenSSL EVP interface for AES key wrapping [Petr Spacek]
903844f
- Fix softhsm2-pk11install buid and post call
903844f
- Do not use --with-objectstore-backend-db (causes issues on i686)
903844f
- Change install directory to /usr/lib*/pkcs11/
903844f
- Install pkcs11 module file
903844f
- Use official upstream tar ball
903844f
- Create ods user to own softhsm/token files
903844f
- Enable migration tools (for softhsm-v1 installs)
903844f
- Add softlink for softhsm-v1 .so (needed for opendnssec's conf.xml)
903844f
- Require p11-kit, nss-tools, for SoftHSM PKCS #11 Module file
903844f
- Copy pk11install.c from coolkey package
903844f
- Enable hardened build
903844f
- Add upstream official source url
903844f
0348ae7
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.6-3
0348ae7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
0348ae7
6731e85
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.6-2
6731e85
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
6731e85
51a0ed8
* Fri Apr 18 2014 Paul Wouters <pwouters@redhat.com> - 1.3.6-1
51a0ed8
- Updated to 1.3.6 (rhbz#1070196)
51a0ed8
- Provide a p11-kit module file (rhbz#1085327)
51a0ed8
d46dcc3
* Sun Nov 03 2013 Paul Wouters <pwouters@redhat.com> - 1.3.5-1
d46dcc3
- Updated to 1.3.5 (rhbz#987721)
d46dcc3
edc43bf
* Tue Jul 30 2013 Paul Wouters <pwouters@redhat.com> - 1.3.3-4
edc43bf
- Rebuilt for new botan - requires --with-botan argument
edc43bf
f75ee3c
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.3-3
f75ee3c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
f75ee3c
4cbd405
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.3-2
4cbd405
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
4cbd405
fe5293d
* Mon Jun 04 2012 Paul Wouters <pwouters@redhat.com> - 1.3.3-1
fe5293d
- Updated to 1.3.3
fe5293d
012ad0a
* Tue Apr 03 2012 Paul Wouters <pwouters@redhat.com> - 1.3.2-1
012ad0a
- Updated to 1.3.2.
012ad0a
- Changed user from opendnssec to ods, as used in the opendnssec package
012ad0a
009e6c6
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-4
009e6c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
009e6c6
Paul Wouters 5f381f6
* Thu Oct 27 2011 Paul Wouters <paul@xelerance.com> - 1.3.0-3
Paul Wouters 5f381f6
- Initial Fedora package
Paul Wouters 5f381f6
- Do not install the .a file
Paul Wouters 5f381f6
- Use a separate "opendnssec" user to own /var/sofhsm
Paul Wouters 5f381f6
Paul Wouters 5f381f6
* Tue Oct 25 2011 Paul Wouters <paul@xelerance.com> - 1.3.0-2
Paul Wouters 5f381f6
- Fix description texts w.r.t. include files
Paul Wouters 5f381f6
Paul Wouters 5f381f6
* Wed Oct 05 2011 Paul Wouters <paul@xelerance.com> - 1.3.0-1
Paul Wouters 5f381f6
- Upgraded to 1.3.0
Paul Wouters 5f381f6
Paul Wouters 5f381f6
* Thu Mar  3 2011 Paul Wouters <paul@xelerance.com> - 1.2.0-1
Paul Wouters 5f381f6
- Initial package for Fedora