Compare commits

...
Sign in to create a new pull request.

215 commits

Author SHA1 Message Date
Jakub Jelen
42572cdcf2 1.11.2-1 2025-11-03 10:29:58 +01:00
Jakub Jelen
baffb13bdc Migrate STI tests to fmf + update the test to actually work
Resolves: #2382944
2025-07-29 12:52:28 +02:00
Fedora Release Engineering
891b7aeee3 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 19:41:03 +00:00
Jakub Jelen
5f28c0a7f0 1.11.1-1 2025-05-13 10:25:59 +02:00
Fedora Release Engineering
2f265169e5 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 11:17:27 +00:00
Jakub Jelen
2e86b5c745 1.11.0-4 2024-10-29 17:39:42 +01:00
Jakub Jelen
9c274d3bde Fix CVE-2024-2236 2024-10-29 17:39:42 +01:00
Jakub Jelen
65c9f9c6a7 Run annocheck as part of build to catch issues early 2024-08-07 10:08:39 +02:00
Jakub Jelen
6582e15a91 Fix PAC/BTI protection on Aarch64 2024-08-07 09:04:08 +02:00
Jakub Jelen
efefee8107 Use upstream commits for CF protection 2024-08-07 09:03:18 +02:00
Jakub Jelen
ebd8acdd2e Unbreak CF protection on the library 2024-07-27 12:31:49 +02:00
Jakub Jelen
98af486ed0 1.11.0-3 2024-07-25 14:00:08 +02:00
Jakub Jelen
0b1eb3742d disable -O flag mnging as the jent support is disabled anyway 2024-07-25 13:53:15 +02:00
Jakub Jelen
493faf840c Remove _lto_cflags override as it should be default 2024-07-25 13:53:15 +02:00
Fedora Release Engineering
b73849fad4 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 13:54:55 +00:00
Jakub Jelen
4949b993a1 Verify tarball signatures 2024-07-03 17:57:05 +02:00
Jakub Jelen
186e09a190 Unbreak s390x build 2024-06-21 11:34:59 +02:00
Jakub Jelen
acfb1a25d8 1.11.0-1 2024-06-19 14:08:35 +02:00
Jakub Jelen
c4f54248a0 1.10.3-4 2024-03-26 09:12:42 +01:00
Jakub Jelen
fb3474ec1b Replace deprecated fgrep (#2271503) 2024-03-26 09:11:49 +01:00
Fedora Release Engineering
e851663be3 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 02:13:24 +00:00
Fedora Release Engineering
9caa9d7824 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 04:08:26 +00:00
Jakub Jelen
f099f466e0 libgcrypt-1.10.3-1 2023-11-14 18:47:06 +01:00
Jakub Jelen
b03e7936f6 update comment about algorithms 2023-11-14 18:38:28 +01:00
Fedora Release Engineering
bc207853a3 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 10:54:57 +00:00
Jakub Jelen
f968cc8fb2 Add SPDX license identifiers 2023-06-12 11:14:17 +02:00
Jakub Jelen
595da4e6ed Disable jitter entropy generator to follow RHEL changes 2023-06-12 10:42:49 +02:00
Jakub Jelen
021f499feb libgcrypt-1.10.2-1
* Remove already-applied patches
 * Avoid using deprecated %patchN
2023-04-11 14:36:14 +02:00
Jakub Jelen
a17db7fa58 Simplify HMAC checksum calculation and avoid using CWD 2023-04-11 14:20:19 +02:00
Fedora Release Engineering
01380c605d Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 16:23:04 +00:00
Florian Weimer
31745f126f libgcrypt-configure-c99.patch: Add upstream patch submission URL 2022-12-05 13:47:38 +01:00
Florian Weimer
1a44ed4636 Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2022-12-03 14:04:59 +01:00
Todd Zullinger
96a092be6b fix sporadic failures generating RSA keys in FIPS mode
The test suite occasionally fails with "error generating RSA key: Number
is not prime" in FIPS mode¹.  Apply the upstream fix, cd30ed3c (cipher:
Change the bounds for RSA key generation round., 2022-04-20).

¹ https://dev.gnupg.org/T5919
2022-11-09 17:53:31 -05:00
Todd Zullinger
9e608ad3fa enable brainpool curves by default
Thanks to the Fedora Legal team, we are now able to include Brainpool
ECC in Fedora.  Matthew Miller notified the Fedora Legal list.

References:
https://bugzilla.redhat.com/1413618
https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/message/752Z34MTHB6B4XRUW2TTAPEIUUK4O2LA/
2022-11-08 21:52:38 -05:00
Fedora Release Engineering
2fe61ab47d Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 17:51:35 +00:00
Jakub Jelen
491a0e733e Fix annobin flags (#2016349) 2022-06-14 17:03:49 +02:00
Todd Zullinger
6571417ff4 use %bcond_with to disable brainpool curves
The `%bcond_with` macro allows others to rebuild the package with the
brainpool curves enabled by passing `--with brainpool` to `rpmbuild`.
2022-05-29 18:10:15 -04:00
Todd Zullinger
9140219786 improve --disable-brainpool configure output
The configure output from the --disable-brainpool option is confusing:

    checking whether we want to disable the use of brainpool curves... no

Reword the message to make it clearer and match the nearby
configure checks for other `--disable-*` options:

    checking whether brainpool curves support is requested... no
2022-05-29 18:09:33 -04:00
Jakub Jelen
040bc4d9b9 1.10.1-2 2022-04-08 17:13:08 +02:00
Jakub Jelen
e7354685a2 Adjust integrity check creation to match upstream (#2073018) 2022-04-08 17:12:14 +02:00
Jakub Jelen
7b71c161dd Sync the FIPS module name version with RHEL 2022-04-01 11:25:41 +02:00
Jakub Jelen
0b1d9d2b6d libgcrypt-1.10.1-1 2022-03-29 11:18:05 +02:00
Jakub Jelen
559b903aa2 Update test to work again 2022-02-02 13:13:00 +01:00
Jakub Jelen
364af5a451 libgcrypt-1.10.0-1 2022-02-02 12:58:55 +01:00
Fedora Release Engineering
aff6b907cf - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 16:16:00 +00:00
Jakub Jelen
4b1e516cd7 Removed unused CAVS patch 2021-10-27 11:52:10 +02:00
Jakub Jelen
02e6d9b5f1 Remove a no longer needed patch 2021-10-27 11:46:31 +02:00
Jakub Jelen
ef01d2c6d0 libgcrypt-1.9.4-1 2021-08-23 14:07:36 +02:00
Jakub Jelen
21fe8b5f71 Aggregate FIPS test patches for upstream submission and backport whats already in 2021-08-23 14:07:12 +02:00
Fedora Release Engineering
af286f213c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 11:25:34 +00:00
Jakub Jelen
dcaae6dd48 Skip the x448 test in FIPS mode 2021-07-09 09:46:42 +02:00
Jakub Jelen
0fd2314056 libgcrypt-1.9.3-3 2021-06-15 13:35:35 +02:00
Jakub Jelen
b67b214174 Fix for CVE-2021-33560 (#1970098]) 2021-06-15 13:34:41 +02:00
Jakub Jelen
ecb230f861 libgcrypt-1.9.3-2 2021-04-28 09:12:52 +02:00
Jakub Jelen
ca49edafdd Restore Intel CET support after upstream release (#1954049) 2021-04-27 20:32:31 +02:00
Jakub Jelen
b9da031d08 Reupload sources without bogus build artifacts 2021-04-20 11:48:05 +02:00
Jakub Jelen
7f23c523ef forgotten sources 2021-04-20 11:38:50 +02:00
Jakub Jelen
e8a3eea434 libgcrypt-1.9.3-1 2021-04-20 11:35:10 +02:00
Jakub Jelen
a8c423ec7b libgcrypt-1.9.2-3 2021-04-15 10:59:36 +02:00
Jakub Jelen
2e2a35ecb3 Fix coverity reports 2021-04-15 10:58:31 +02:00
Jakub Jelen
643055c06d libgcrypt-1.9.2-2 2021-03-29 19:47:55 +02:00
Jakub Jelen
713d2850dd Fix OCB tag creation on s390x 2021-03-29 19:45:14 +02:00
Jakub Jelen
af59e404ea libgcrypt-1.9.2-1 2021-02-17 13:01:19 +01:00
Jakub Jelen
93ba00ab6f libgcrypt-1.9.1-1 2021-01-29 14:11:06 +01:00
Jakub Jelen
e12a034946 Unbreak builds on non-intel architectures 2021-01-26 12:54:20 +01:00
Jakub Jelen
b661d80e2f libgcrypt-1.9.0-1 2021-01-20 01:34:36 +01:00
Robert Scheck
c3f576ebd7 Update source URLs to HTTPS 2021-01-18 01:16:45 +00:00
Tom Stellard
30dbcc9e60 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 01:51:09 +00:00
Robert Scheck
45da8f74c1 Spec file cleanup
Remove instructions no longer needed on any active branch
2020-12-24 10:23:45 +00:00
Jakub Jelen
3f76a6d4b7 Replace version in comments with x.y.z to prevent copy&paste errors 2020-11-24 16:50:18 +01:00
Jakub Jelen
762053927e 1.8.7-1 2020-11-24 15:09:21 +01:00
Jeff Law
42e8971b64 Re-enable LTO 2020-08-21 16:34:01 -06:00
Tomas Mraz
b49c0d6908 Fix warnings introduced by aes-perf patch 2020-08-03 19:10:44 +02:00
Fedora Release Engineering
0bb7c38613 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 04:41:49 +00:00
Tom Stellard
a87016377d Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-21 20:26:48 +00:00
Tomas Mraz
31bc02d1fa new upstream version 1.8.6 2020-07-20 16:41:19 +02:00
Tomas Mraz
0a37c41ff7 use the hmac256 tool to calculate the library hmac 2020-07-01 13:49:13 +02:00
Jeff Law
5cbca409ee Disable LTO. 2020-06-30 13:42:31 -06:00
Tomas Mraz
4b43d13b58 Revert "Temporary hack to workaround fipshmac incompatibility"
This reverts commit 26769c9e86.
2020-04-23 15:31:46 +02:00
Tomas Mraz
26769c9e86 Temporary hack to workaround fipshmac incompatibility 2020-04-23 13:13:57 +02:00
Tomas Mraz
a51c9f8187 Fix regression - missing -ldl linkage 2020-04-23 10:22:16 +02:00
Tomas Mraz
618a71d4e9 AES performance improvements backported from master branch 2020-04-22 19:00:26 +02:00
Tomas Mraz
c9dfa19c5f Updated the getrandom patch 2020-04-20 19:37:11 +02:00
Tomas Mraz
d7ce942d74 FIPS selftest is run directly from the constructor
FIPS module is implicit with kernel FIPS flag
2020-04-20 19:36:34 +02:00
Tomas Mraz
4dfc42c2d2 fix the build on ARMv7 2020-01-30 17:30:20 +01:00
Tomas Mraz
95e0a34ad5 fix the build on ARMv7 2020-01-30 17:29:55 +01:00
Fedora Release Engineering
e6a86d0e91 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 09:11:09 +00:00
Tomas Mraz
8c18517a25 Intel CET support by H. J. Lu 2020-01-23 15:47:41 +01:00
Tomas Mraz
402a3b5f2e new upstream version 1.8.5
add CMAC selftest for FIPS POST
add continuous FIPS entropy test
disable non-approved FIPS hashes in the enforced FIPS mode
2019-09-03 14:12:27 +02:00
Fedora Release Engineering
24a8b93dca - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 13:18:59 +00:00
Tomas Mraz
3b24cd465f fix the build tests to pass in the FIPS mode 2019-02-12 14:37:45 +01:00
Fedora Release Engineering
1bdd0f0858 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 07:11:04 +00:00
Igor Gnatenko
31f411aab3 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:11 +01:00
Igor Gnatenko
2aacaf900f
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 19:05:26 +01:00
Igor Gnatenko
736889c246
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:39:43 +01:00
Tomas Mraz
abc0e95a20 new upstream version 1.8.4 2018-11-20 16:22:10 +01:00
Tomas Mraz
911a1f2955 Modify comment in the fips-ctor patch to reflect the patched situation. 2018-07-17 19:17:27 +02:00
Fedora Release Engineering
66ba0d50ee - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 08:08:04 +00:00
Tomas Mraz
6b6d4b0dbd Improve situation with libgcrypt blocking when getting kernel entropy on boot
make only_urandom a default in non-presence of configuration file
run the full FIPS selftests only when the library is called from
  application
2018-07-12 15:45:03 +02:00
Jason Tibbitts
1aa209e7a1 Remove needless use of %defattr 2018-07-10 01:39:53 -05:00
Bruno Goncalves
040115104f remove yum-utils dependency from test 2018-06-15 10:50:06 +02:00
Tomas Mraz
297f7867bf new upstream version 1.8.3 2018-06-14 16:33:23 +02:00
Tomas Mraz
088a628978 Add gcc to BuildRequires 2018-02-21 15:08:25 +01:00
Tomas Mraz
e4efa24217 fix behavior when getrandom syscall is not present (#1542453) 2018-02-06 16:37:17 +01:00
Tomas Mraz
ff389a60e8 new upstream version 1.8.2 2017-12-21 11:31:50 +01:00
Tomas Mraz
ea4d1dc728 Typo in the getrandom patch. 2017-12-06 09:04:48 +01:00
Tomas Mraz
ed535bbc52 do not try to access() /dev/urandom either if getrandom() works 2017-12-05 11:54:01 +01:00
Tomas Mraz
e16cfed1d6 do not try to open /dev/urandom if getrandom() works (#1380866) 2017-12-04 09:53:29 +01:00
Bruno Goncalves
f1706aee32 Add CI tests using the standard test interface 2017-09-29 09:06:32 +02:00
Tomas Mraz
32333cbd3a new upstream version 1.8.1 2017-09-05 14:47:03 +02:00
Tomas Mraz
66671a43b4 new upstream version 1.8.1 2017-09-05 14:35:26 +02:00
Tomas Mraz
6c13b08816 Fix the t-secmem on PPC64 2017-08-16 15:15:51 +02:00
Tomas Mraz
64437a1a3c new upstream version 1.8.0 2017-08-16 11:36:51 +02:00
Tomas Mraz
0c8865f0b9 new upstream version 1.8.0 2017-08-16 10:55:16 +02:00
Fedora Release Engineering
2f0819346c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 01:29:36 +00:00
Fedora Release Engineering
7518a93c42 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 18:52:56 +00:00
Pádraig Brady
73dab95fa7 make compilation valid independent of configure options
I.E. ensure the package still compiles even without
the --enable-hmac-binary-check configure option being specified
2017-07-15 21:12:09 -07:00
Tomas Mraz
0b4ad5ed69 new upstream version 1.7.8 2017-06-29 11:17:10 +02:00
Tomas Mraz
2aa8a11e2c We now have 14 EC curves supported. 2017-06-02 16:05:40 +02:00
Tomas Mraz
0a0dd31666 new upstream version 1.7.7
GOST is now enabled
2017-06-02 15:58:46 +02:00
Fedora Release Engineering
396c70cd7a - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 18:41:27 +00:00
Tomas Mraz
1c953f2503 new upstream version 1.7.6 2017-01-30 18:05:13 +01:00
Tomas Mraz
0aa4874598 new upstream version 1.7.5 2016-12-16 16:12:33 +01:00
Tomas Mraz
2c8c02279a new upstream version 1.7.3 2016-11-23 09:59:17 +01:00
Tomas Mraz
055651971a new upstream version with important security fix (CVE-2016-6316) 2016-08-17 22:45:22 +02:00
Tomas Mraz
8edb81fb56 Update the leak patch. 2016-07-21 11:23:26 +02:00
Tomas Mraz
69a497f079 new upstream version fixing low impact issue CVE-2015-7511 2016-07-21 10:59:48 +02:00
Dennis Gilmore
8ac557bc57 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 03:11:35 +00:00
Tomas Mraz
4ae7a5a6ff new upstream version 2015-09-09 16:35:09 +02:00
Tomas Mraz
e72757d73b Fix a leftover define without GCRY_ prefix in drbg. 2015-08-06 08:56:37 +02:00
Dennis Gilmore
f2b1f203bc - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 15:18:45 +00:00
Tomas Mraz
ab1d80feb6 deinitialize the RNG after the selftest is run 2015-04-03 16:47:34 +02:00
Tomas Mraz
376991d05a Two selftest bug fixes.
- touch only urandom in the selftest and when /dev/random is
  unavailable for example by SELinux confinement
- fix the RSA selftest key (p q swap) (#1204517)
2015-03-24 09:57:39 +01:00
Tomas Mraz
f56a95f03b do not use strict aliasing for bufhelp functions (#1201219) 2015-03-13 15:07:21 +01:00
Tomas Mraz
064f602690 Merge branch 'master' into f21 2015-03-06 18:31:40 +01:00
Tomas Mraz
69ded97bb9 new upstream version 2015-03-06 17:30:30 +01:00
Tomas Mraz
da1d9089b5 Fix forward port of the patch. 2015-02-25 16:33:37 +01:00
Tomas Mraz
eea2829999 do not initialize secure memory during the selftest (#1195850) 2015-02-25 14:22:30 +01:00
Till Maas
e731723f38 Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
2015-02-21 22:16:54 +01:00
Tomas Mraz
6898eaa051 fix buildability of programs using gcrypt.h with -ansi (#1182200) 2015-01-14 17:02:08 +01:00
Tomas Mraz
040c39b7c3 new upstream version 2014-12-08 17:29:08 +01:00
Peter Robinson
892ffb3629 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 03:24:18 +00:00
Peter Robinson
7dc558c93f - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 03:24:07 +00:00
Tom Callaway
c5ea1db092 fix license handling 2014-07-17 14:40:23 -04:00
Tom Callaway
4b3e944276 fix license handling 2014-07-17 14:40:00 -04:00
Dennis Gilmore
147485e2a2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-06 22:26:35 -05:00
Kyle McMartin
45283d138c Re-enable below algos, apply patch from upstream list to make that code -fPIC friendly. (rhbz#1069792) 2014-05-22 13:28:35 -04:00
Kyle McMartin
4df13ba77f disable rijndael, cast5, camellia ARM assembly
as it's non-PIC as presently written, which results in .text relocations
in the shared library.

Resolves: rhbz#1069792
2014-05-19 16:57:04 -04:00
Tomas Mraz
85a7dd9dad drop the temporary compat shared library version
- fix the soname version in -use-fipscheck.patch
2014-04-24 16:41:24 +02:00
Tomas Mraz
45af5b745b new upstream version breaking ABI compatibility
- this release temporarily includes old compatibility .so
2014-02-28 16:33:18 +01:00
Tomas Mraz
247b2115d1 new upstream version breaking ABI compatibility
- this release temporarily includes old compatibility .so
2014-02-28 16:32:41 +01:00
Tomas Mraz
a2cb9937d8 We now support 3 EC curves. 2014-01-21 16:26:32 +01:00
Tomas Mraz
1e4987983a Fix bogus dates in changelog 2014-01-21 16:11:17 +01:00
Tomas Mraz
1725d42356 add back the nistp521r1 EC curve
- fix a bug in the Whirlpool hash implementation
- speed up the PBKDF2 computation
2014-01-21 16:05:07 +01:00
Tom Callaway
5eab7fdca5 add cleared ECC support 2013-10-21 17:50:29 +01:00
Tomas Mraz
0551bce381 new upstream version fixing cache side-channel attack on RSA private keys 2013-07-26 14:27:50 +02:00
Tomas Mraz
03c131f7fa silence false error detected by valgrind (#968288) 2013-06-20 11:51:19 +02:00
Tomas Mraz
b5413f756a silence strict aliasing warning in Rijndael
- apply UsrMove
- spec file cleanups
2013-04-25 21:59:33 +02:00
Tomas Mraz
771f7f2ed7 new upstream version 2013-04-19 10:34:04 +02:00
Tomas Mraz
d7bb823f85 AUTHORS file is now UTF-8 upstream. 2013-03-20 19:34:46 +01:00
Tomas Mraz
1aafe14181 new upstream version 2013-03-20 16:38:05 +01:00
Tomas Mraz
6fb8d4d1e6 use poll() instead of select() when gathering randomness (#913773) 2013-03-05 14:27:20 +01:00
Dennis Gilmore
8df0581f5a - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-13 22:22:29 -06:00
Tomas Mraz
02a80de472 allow empty passphrase in PBKDF2 needed for cryptsetup (=891266) 2013-01-03 14:54:02 +01:00
Tomas Mraz
07b385d5db And also apply the patch. 2012-12-03 16:45:37 +01:00
Tomas Mraz
c907a55cb5 fix minor memory leaks and other bugs found by Coverity scan 2012-12-03 15:43:32 +01:00
Tomas Mraz
da4e639781 fix minor memory leaks and other bugs found by Coverity scan 2012-12-03 15:42:53 +01:00
Tomas Mraz
d630de2f61 fix multilib conflict in libgcrypt-config 2012-12-03 13:44:00 +01:00
Dennis Gilmore
f98619e858 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 14:49:18 -05:00
Tomas Mraz
4e2e7e9367 Correctly rebuild the info documentation 2012-04-05 23:35:22 +02:00
Tomas Mraz
92db45d693 Add GCRYCTL_SET_ENFORCED_FIPS_FLAG command 2012-04-04 15:28:35 +02:00
Dennis Gilmore
01a0c8d733 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 01:42:32 -06:00
Kalev Lember
4c532c0904 Rebuilt for rpm bug #728707 2011-08-15 08:03:55 +03:00
Tomas Mraz
b5054585fe new upstream version 2011-07-21 15:57:57 +02:00
Tomas Mraz
9371d8c5fa Always xor seed from /dev/urandom over /etc/gcrypt/rngseed 2011-06-20 21:40:03 +02:00
Tomas Mraz
b0d0a7fac3 Make the FIPS-186-3 DSA implementation CAVS testable
add configurable source of RNG seed /etc/gcrypt/rngseed
in the FIPS mode (#700388)
2011-05-30 15:30:14 +02:00
Tomas Mraz
7082be2ecd Make the FIPS-186-3 DSA implementation CAVS testable
add configurable source of RNG seed /etc/gcrypt/rngseed
in the FIPS mode (#700388)
2011-05-30 15:25:11 +02:00
Tomas Mraz
db9fb5d2e7 Make the FIPS-186-3 DSA implementation CAVS testable 2011-05-30 14:23:11 +02:00
Tomas Mraz
d1e5e2486a - new upstream version with minor changes 2011-02-11 19:53:59 +01:00
Dennis Gilmore
1a76790722 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-07 23:55:13 -06:00
Tomas Mraz
474b273f7d - fix a bug in the fips-186-3 dsa parameter generation code 2011-02-04 10:04:08 +01:00
Tomas Mraz
16991a5be4 - use /dev/urandom for seeding in the FIPS mode
- make the tests to pass in the FIPS mode also fixing
  the FIPS-186-3 DSA keygen
2011-02-01 18:54:42 +01:00
Fedora Release Engineering
76ce03ce82 dist-git conversion 2010-07-28 20:58:58 +00:00
Rex Dieter
6d243f390f - FTBFS libgcrypt-1.4.5-3.fc13: ImplicitDSOLinking (#564973) 2010-02-14 20:32:09 +00:00
Tomáš Mráz
c9eae9797f - drop the S390 build workaround as it is no longer needed
- additional spec file cleanups for merge review (#226008)
2010-02-03 08:23:55 +00:00
Tomáš Mráz
9b6823253d - workaround for build on S390 (#548825)
- spec file cleanups
- upgrade to new minor upstream release
2009-12-21 08:46:43 +00:00
Tomáš Mráz
e56dfebe1c *** empty log message *** 2009-12-21 08:26:28 +00:00
Bill Nottingham
b46cd3c25b Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 23:50:57 +00:00
Tomáš Mráz
c9de6acdac Drop dot from summary 2009-10-27 14:36:08 +00:00
Tomáš Mráz
f235e635ad - fix warning when installed with --excludedocs (#515961) 2009-08-11 12:41:05 +00:00
Jesse Keating
2a6e183e10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild 2009-07-25 05:40:56 +00:00
Tomáš Mráz
06cc870937 - and now really apply the padlock patch 2009-06-18 21:30:12 +00:00
Tomáš Mráz
0d713cca5e - fix VIA padlock RNG inline assembly call (#505724) 2009-06-17 18:17:06 +00:00
Tomáš Mráz
fd11f879ae - we need to patch Makefile.in of course 2009-03-05 10:32:46 +00:00
Tomáš Mráz
e569e43744 - with the integrity verification check the library needs to link to libdl
(#488702)
2009-03-05 10:25:19 +00:00
Tomáš Mráz
4b8542ad6d - add hmac FIPS integrity verification check 2009-03-03 20:32:37 +00:00
Jesse Keating
7de5049932 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-25 15:00:17 +00:00
Tomáš Mráz
0b312a8bb4 - update to 1.4.4
- do not abort when the fips mode kernel flag is inaccessible due to
    permissions (#470219)
- hobble the library to drop the ECC support
2009-01-30 10:53:38 +00:00
Dennis Gilmore
328eebcd5f disable asm on sparc64 2008-10-21 04:51:58 +00:00
Nalin Dahyabhai
0be77fc462 - update to 1.4.3
- own /etc/gcrypt
- fix rpmlint warning about the summary by dropping the final '.'
2008-09-18 15:50:08 +00:00
Nalin Dahyabhai
6e274ad21f - invoke make with %%{?_smp_mflags} to build faster on multi-processor
systems (Steve Grubb)
2008-09-15 19:49:03 +00:00
Nalin Dahyabhai
569a4236d0 update to 1.4.2 2008-09-08 23:05:08 +00:00
Nalin Dahyabhai
cfb3452aec - update to 1.4.1
- bump libgpgerror-devel requirement to 1.4, matching the requirement
    enforced by the configure script
2008-04-29 18:05:46 +00:00
jorton
2a366c8638 - apply patch correctly. 2008-04-03 12:49:19 +00:00
jorton
a562621b74 - add patch from upstream to fix severe performance regression in entropy
gathering
2008-04-03 12:43:26 +00:00
Jesse Keating
dac6bc70cd - Autorebuild for GCC 4.3 2008-02-19 15:52:59 +00:00
Nalin Dahyabhai
665b2f3567 update to 1.4.0 2007-12-10 21:10:52 +00:00
Nalin Dahyabhai
1aebb276b2 - update 2007-12-10 20:37:29 +00:00
Nalin Dahyabhai
9f9b613bc0 - use ldconfig to build the soname symlink for packaging along with the
shared library (#334731))
2007-10-16 17:05:10 +00:00
Bill Nottingham
4b681a494d makefile update to properly grab makefile.common 2007-10-15 19:00:34 +00:00
Nalin Dahyabhai
710edd985e - add missing gawk buildrequirement
- switch from explicitly specifying the /dev/random RNG to just verifying
    that the non-LGPL ones were disabled by the configure script
2007-08-22 21:16:43 +00:00
Nalin Dahyabhai
a88fef1953 - doh, actually bump the revision number 2007-08-16 15:28:29 +00:00
Nalin Dahyabhai
b03ca4732b - clarify license
- force use of the linux /dev/random RNG, to avoid accidentally falling
    back to others which would affect the license of the resulting library
2007-08-16 15:27:13 +00:00
Nalin Dahyabhai
db8737b235 - disable static libraries (part of #249815) 2007-07-30 13:41:49 +00:00
Nalin Dahyabhai
1b380ca340 - move libgcrypt shared library to /%{_lib} (#249815) 2007-07-27 13:54:26 +00:00
15 changed files with 3105 additions and 694 deletions

View file

@ -1,9 +0,0 @@
libgcrypt-1.2.0.tar.gz
libgcrypt-1.2.1.tar.bz2
libgcrypt-1.2.1.tar.bz2.sig
libgcrypt-1.2.2.tar.bz2
libgcrypt-1.2.2.tar.bz2.sig
libgcrypt-1.2.3.tar.bz2
libgcrypt-1.2.3.tar.bz2.sig
libgcrypt-1.2.4.tar.bz2
libgcrypt-1.2.4.tar.bz2.sig

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

44
.gitignore vendored Normal file
View file

@ -0,0 +1,44 @@
libgcrypt-1.4.5-hobbled.tar.bz2
/libgcrypt-1.4.6-hobbled.tar.bz2
/libgcrypt-1.5.0-hobbled.tar.bz2
/libgcrypt-1.5.1-hobbled.tar.xz
/libgcrypt-1.5.2-hobbled.tar.xz
/libgcrypt-1.5.3-hobbled.tar.xz
/libgcrypt-1.6.1-hobbled.tar.xz
/libgcrypt-1.6.2-hobbled.tar.xz
/libgcrypt-1.6.3-hobbled.tar.xz
/libgcrypt-1.6.4-hobbled.tar.xz
/libgcrypt-1.6.5-hobbled.tar.xz
/libgcrypt-1.6.6-hobbled.tar.xz
/libgcrypt-1.7.3-hobbled.tar.xz
/libgcrypt-1.7.5-hobbled.tar.xz
/libgcrypt-1.7.6-hobbled.tar.xz
/libgcrypt-1.7.7-hobbled.tar.xz
/libgcrypt-1.7.8-hobbled.tar.xz
/libgcrypt-1.8.0-hobbled.tar.xz
/libgcrypt-1.8.1-hobbled.tar.xz
/libgcrypt-1.8.2-hobbled.tar.xz
/libgcrypt-1.8.3-hobbled.tar.xz
/libgcrypt-1.8.4-hobbled.tar.xz
/libgcrypt-1.8.5-hobbled.tar.xz
/libgcrypt-1.8.6-hobbled.tar.xz
/libgcrypt-1.8.7-hobbled.tar.xz
/libgcrypt-1.9.0-hobbled.tar.xz
/libgcrypt-1.9.1-hobbled.tar.xz
/libgcrypt-1.9.2-hobbled.tar.xz
/libgcrypt-1.9.3-hobbled.tar.xz
/libgcrypt-1.9.4-hobbled.tar.xz
/libgcrypt-1.10.0.tar.bz2
/libgcrypt-1.10.0.tar.bz2.sig
/libgcrypt-1.10.1.tar.bz2
/libgcrypt-1.10.1.tar.bz2.sig
/libgcrypt-1.10.2.tar.bz2
/libgcrypt-1.10.2.tar.bz2.sig
/libgcrypt-1.10.3.tar.bz2
/libgcrypt-1.10.3.tar.bz2.sig
/libgcrypt-1.11.0.tar.bz2
/libgcrypt-1.11.0.tar.bz2.sig
/libgcrypt-1.11.1.tar.bz2
/libgcrypt-1.11.1.tar.bz2.sig
/libgcrypt-1.11.2.tar.bz2
/libgcrypt-1.11.2.tar.bz2.sig

View file

@ -1,6 +0,0 @@
# Makefile for source rpm: libgcrypt
# $Id$
NAME := libgcrypt
SPECFILE = $(firstword $(wildcard *.spec))
include ../common/Makefile.common

View file

@ -0,0 +1,22 @@
diff -rup libgcrypt.orig/src/Makefile.am libgcrypt-1.8.3/src/Makefile.am
--- libgcrypt.orig/src/Makefile.am 2021-10-18 16:36:20.914025497 +0100
+++ libgcrypt-1.8.3/src/Makefile.am 2021-10-19 12:23:08.652960618 +0100
@@ -108,6 +108,7 @@ endif !HAVE_W32_SYSTEM
libgcrypt_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
+ -Wc,-fplugin=annobin \
$(libgcrypt_version_script_cmd) -version-info \
@LIBGCRYPT_LT_CURRENT@:@LIBGCRYPT_LT_REVISION@:@LIBGCRYPT_LT_AGE@
libgcrypt_la_DEPENDENCIES = \
Only in libgcrypt-1.8.3/src: Makefile.am.annobin
diff -rup libgcrypt.orig/src/Makefile.in libgcrypt-1.8.3/src/Makefile.in
--- libgcrypt.orig/src/Makefile.in 2021-10-18 16:36:20.914025497 +0100
+++ libgcrypt-1.8.3/src/Makefile.in 2021-10-19 12:23:37.791875325 +0100
@@ -483,6 +483,7 @@ gcrypt_hwf_modules = @GCRYPT_HWF_MODULES
@HAVE_W32_SYSTEM_TRUE@gcrypt_deps = $(gcrypt_res) libgcrypt.def
@HAVE_W32_SYSTEM_FALSE@gcrypt_res_ldflag =
libgcrypt_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
+ -Wc,-fplugin=annobin \
$(libgcrypt_version_script_cmd) -version-info \
@LIBGCRYPT_LT_CURRENT@:@LIBGCRYPT_LT_REVISION@:@LIBGCRYPT_LT_AGE@

File diff suppressed because it is too large Load diff

View file

@ -1,14 +0,0 @@
We should suppress an explicit -L on 64-bit arches, too.
--- libgcrypt-1.2.2/src/libgcrypt-config.in 2006-05-16 18:50:43.000000000 -0400
+++ libgcrypt-1.2.2/src/libgcrypt-config.in 2006-05-16 18:50:50.000000000 -0400
@@ -138,7 +138,8 @@
libs_final="$libs"
# Set up `libdirs'.
- if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib"; then
+ if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/lib" -a \
+ "x$libdir" != "x/usr/lib64" -a "x$libdir" != "x/lib64"; then
libdirs="-L$libdir"
fi

View file

@ -1,22 +1,50 @@
# This is taken from gnutls.spec
%define srpmhash() %{lua:
local files = rpm.expand("%_specdir/libgcrypt.spec")
for i, p in ipairs(patches) do
files = files.." "..p
end
for i, p in ipairs(sources) do
files = files.." "..p
end
local sha256sum = assert(io.popen("cat "..files.."| sha256sum"))
local hash = sha256sum:read("*a")
sha256sum:close()
print(string.sub(hash, 0, 16))
}
Name: libgcrypt
Version: 1.2.4
Release: 1
Source0: ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-%{version}.tar.bz2
Source1: ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-%{version}.tar.bz2.sig
Source2: wk@g10code.com
Patch0: libgcrypt-1.2.2-lib64.patch
License: LGPL
Summary: A general-purpose cryptography library.
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libgpg-error-devel pkgconfig
Group: System Environment/Libraries
Version: 1.11.2
Release: 1%{?dist}
URL: https://www.gnupg.org/
Source0: https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-%{version}.tar.bz2
Source1: https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-%{version}.tar.bz2.sig
Source2: https://gnupg.org/signature_key.asc
# Pass the annobin flags to the libgcrypt.so (#2016349)
Patch1: libgcrypt-1.10.1-annobin.patch
# https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror/-/merge_requests/19/
Patch5: libgcrypt-1.11.0-marvin.patch
%global gcrylibdir %{_libdir}
%global gcrysoname libgcrypt.so.20
%global hmackey orboDeJITITejsirpADONivirpUkvarP
License: BSD-3-Clause AND (BSD-3-Clause OR GPL-2.0-only) AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later AND MIT-Modern-Variant
Summary: A general-purpose cryptography library
BuildRequires: gcc
BuildRequires: gawk, libgpg-error-devel >= 1.11, pkgconfig
# This is needed only when patching the .texi doc.
BuildRequires: texinfo
BuildRequires: autoconf, automake, libtool
BuildRequires: make
BuildRequires: gnupg2
BuildRequires: annobin-annocheck binutils
%package devel
Summary: Development files for the %{name} package.
Group: Development/Libraries
PreReq: /sbin/install-info
Summary: Development files for the %{name} package
Requires: libgpg-error-devel
Requires: %{name} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description
Libgcrypt is a general purpose crypto library based on the code used
@ -28,60 +56,573 @@ in GNU Privacy Guard. This package contains files needed to develop
applications using libgcrypt.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q
#%patch0 -p1 -b .lib64
%patch 1 -p1
%patch 5 -p1
%build
%configure --disable-asm
make
# should be all algorithms except SM3 and SM4, aria
export DIGESTS='crc gostr3411-94 md4 md5 rmd160 sha1 sha256 sha512 sha3 tiger whirlpool stribog blake2'
export CIPHERS='arcfour blowfish cast5 des aes twofish serpent rfc2268 seed camellia idea salsa20 gost28147 chacha20'
eval $(sed -n 's/^\(\(NAME\|VERSION_ID\)=.*\)/OS_\1/p' /etc/os-release)
export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name"
autoreconf -f
%configure --disable-static \
%ifarch sparc64
--disable-asm \
%endif
--enable-noexecstack \
--enable-hmac-binary-check=%{hmackey} \
--disable-jent-support \
--disable-O-flag-munging \
--enable-digests="$DIGESTS" \
--enable-ciphers="$CIPHERS" \
--enable-marvin-workaround \
--with-fips-module-version="$FIPS_MODULE_NAME %{version}-%{srpmhash}"
sed -i -e '/^sys_lib_dlsearch_path_spec/s,/lib /usr/lib,/usr/lib /lib64 /usr/lib64 /lib,g' libtool
%make_build
%check
make check
# try in faked FIPS mode too
LIBGCRYPT_FORCE_FIPS_MODE=1 make check
%define libpath $RPM_BUILD_ROOT%{gcrylibdir}/%{gcrysoname}.?.?
PROFILE=%{?dist} annocheck --ignore-unknown --verbose --profile=${PROFILE:1} %{libpath}
# Add generation of HMAC checksums of the final stripped binaries
%define __spec_install_post \
%{?__debug_package:%{__debug_install_post}} \
%{__arch_install_post} \
%{__os_install_post} \
cd src \
sed -i -e 's|FILE=.*|FILE=\\\$1|' gen-note-integrity.sh \
READELF=readelf AWK=awk ECHO_N="-n" bash gen-note-integrity.sh %{libpath} > %{libpath}.hmac \
objcopy --update-section .note.fdo.integrity=%{libpath}.hmac %{libpath} %{libpath}.new \
mv -f %{libpath}.new %{libpath} \
rm -f %{libpath}.hmac
%{nil}
%install
rm -fr $RPM_BUILD_ROOT
%makeinstall
%make_install
# Change /usr/lib64 back to /usr/lib. This saves us from having to patch the
# script to "know" that -L/usr/lib64 should be suppressed, and also removes
# a file conflict between 32- and 64-bit versions of this package.
# Also replace my_host with none.
sed -i -e 's,^libdir="/usr/lib.*"$,libdir="/usr/lib",g' $RPM_BUILD_ROOT/%{_bindir}/libgcrypt-config
sed -i -e 's,^my_host=".*"$,my_host="none",g' $RPM_BUILD_ROOT/%{_bindir}/libgcrypt-config
rm -f ${RPM_BUILD_ROOT}/%{_infodir}/dir ${RPM_BUILD_ROOT}/%{_libdir}/*.la
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_libdir}
%clean
rm -fr $RPM_BUILD_ROOT
%if "%{gcrylibdir}" != "%{_libdir}"
# Relocate the shared libraries to %{gcrylibdir}.
mkdir -p $RPM_BUILD_ROOT%{gcrylibdir}
for shlib in $RPM_BUILD_ROOT%{_libdir}/*.so* ; do
if test -L "$shlib" ; then
rm "$shlib"
else
mv "$shlib" $RPM_BUILD_ROOT%{gcrylibdir}/
fi
done
%post -p /sbin/ldconfig
# Add soname symlink.
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_lib}/
%endif
%postun -p /sbin/ldconfig
# Overwrite development symlinks.
pushd $RPM_BUILD_ROOT/%{gcrylibdir}
for shlib in lib*.so.?? ; do
target=$RPM_BUILD_ROOT/%{_libdir}/`echo "$shlib" | sed -e 's,\.so.*,,g'`.so
%if "%{gcrylibdir}" != "%{_libdir}"
shlib=%{gcrylibdir}/$shlib
%endif
ln -sf $shlib $target
done
popd
%post devel
/sbin/install-info %{_infodir}/gcrypt.info.gz %{_infodir}/dir
exit 0
# Create /etc/gcrypt (hardwired, not dependent on the configure invocation) so
# that _someone_ owns it.
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/gcrypt
%preun devel
if [ $1 = 0 ]; then
/sbin/install-info --delete %{_infodir}/gcrypt.info.gz %{_infodir}/dir
fi
exit 0
%ldconfig_scriptlets
%files
%defattr(-,root,root)
%{_libdir}/*.so.*
#%{_libdir}/%{name}
%dir /etc/gcrypt
%{gcrylibdir}/libgcrypt.so.*.*
%{gcrylibdir}/%{gcrysoname}
%license COPYING.LIB
%doc AUTHORS NEWS THANKS
%files devel
%defattr(-,root,root)
%{_bindir}/%{name}-config
%{_bindir}/dumpsexp
%{_bindir}/hmac256
%{_bindir}/mpicalc
%{_includedir}/*
%{_libdir}/*.a
%{_libdir}/*.so
%{_libdir}/pkgconfig/libgcrypt.pc
%{_datadir}/aclocal/*
#%{_datadir}/%{name}
%{_mandir}/man1/*
%{_infodir}/gcrypt.info*
%license COPYING
%changelog
* Mon Nov 03 2025 Jakub Jelen <jjelen@redhat.com> - 1.11.2-1
- New upstream release (#2406804)
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue May 13 2025 Jakub Jelen <jjelen@redhat.com> - 1.11.1-1
- New upstream release (#2364878)
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Oct 29 2024 Jakub Jelen <jjelen@redhat.com> - 1.11.0-4
- Run annocheck as part of the build
- Use upstream CF protection patches
- Fix PAC/BTI protection for Aarch64
- Fix CVE-2024-2236 (#2274128)
* Thu Jul 25 2024 Jakub Jelen <jjelen@redhat.com> - 1.11.0-3
- Disable -O flag munging and remove needles modification of LTO flags.
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Jakub Jelen <jjelen@redhat.com> - 1.11.0-1
- New upstream release (#2293064)
* Tue Mar 26 2024 Jakub Jelen <jjelen@redhat.com> - 1.10.3-4
- Replace deprecated fgrep (#2271503)
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Nov 14 2023 Jakub Jelen <jjelen@redhat.com> - 1.10.3-1
- New upstream release (#2249639)
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Apr 11 2023 Jakub Jelen <jjelen@redhat.com> - 1.10.2-1
- New upstream release (#2185084)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 3 2022 Florian Weimer <fweimer@redhat.com> - 1.10.1-6
- Port configure script to C99
* Tue Nov 08 2022 Todd Zullinger <tmz@pobox.com> - 1.10.1-5
- enable brainpool by default (#1413618)
- fix sporadic failures generating RSA keys in FIPS mode
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun May 29 2022 Todd Zullinger <tmz@pobox.com> - 1.10.1-3
- improve --disable-brainpool configure output
- use %%bcond_with to disable brainpool curves
* Fri Apr 08 2022 Jakub Jelen <jjelen@redhat.com> - 1.10.1-2
- Adjust integrity check creation to match upstream (#2073018)
* Tue Mar 29 2022 Jakub Jelen <jjelen@redhat.com> - 1.10.1-1
- Final release (#2069263)
* Wed Feb 02 2022 Jakub Jelen <jjelen@redhat.com> - 1.10.0-1
- New upstream release (#2049322)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Aug 23 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.4-1
- New upstream release (#1996467)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 15 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.3-3
- Fix for CVE-2021-33560 (#1970098)
* Wed Apr 28 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.3-2
- Restore the CET protection (#1954049)
* Tue Apr 20 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.3-1
- New upstream release (#1951325)
* Thu Apr 15 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.2-3
- Fix issues reported by coverity
* Mon Mar 29 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.2-2
- Fix OCB tag creation on s390x (failing gnupg2 tests)
* Wed Feb 17 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.2-1
- New upstream release (#1929630)
* Fri Jan 29 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.1-1
- New upstream release (#1922156, #1922097)
* Wed Jan 20 2021 Jakub Jelen <jjelen@redhat.com> - 1.9.0-1
- New upstream release (#1917878)
* Tue Nov 24 2020 Jakub Jelen <jjelen@redhat.com> - 1.8.7-1
- new upstream release (#1891123)
* Fri Aug 21 2020 Jeff Law <law@redhat.com> - 1.8.6-4
- Re-enable LTO
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 21 2020 Tom Stellard <tstellar@redhat.com> - 1.8.6-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Mon Jul 20 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.6-1
- new upstream version 1.8.6
* Wed Jul 1 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-7
- use the hmac256 tool to calculate the library hmac
* Tue Jun 30 2020 Jeff Law <law@redhat.com>
- Disable LTO
* Thu Apr 23 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-6
- Fix regression - missing -ldl linkage
* Wed Apr 22 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-5
- AES performance improvements backported from master branch
* Mon Apr 20 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-4
- FIPS selftest is run directly from the constructor
- FIPS module is implicit with kernel FIPS flag
* Thu Jan 30 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-3
- fix the build on ARMv7
* Thu Jan 23 2020 Tomáš Mráz <tmraz@redhat.com> 1.8.5-2
- Intel CET support by H. J. Lu
* Tue Sep 3 2019 Tomáš Mráz <tmraz@redhat.com> 1.8.5-1
- new upstream version 1.8.5
- add CMAC selftest for FIPS POST
- add continuous FIPS entropy test
- disable non-approved FIPS hashes in the enforced FIPS mode
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 12 2019 Tomáš Mráz <tmraz@redhat.com> 1.8.4-3
- fix the build tests to pass in the FIPS mode
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 20 2018 Tomáš Mráz <tmraz@redhat.com> 1.8.4-1
- new upstream version 1.8.4
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jul 12 2018 Tomáš Mráz <tmraz@redhat.com> 1.8.3-2
- make only_urandom a default in non-presence of configuration file
- run the full FIPS selftests only when the library is called from
application
* Thu Jun 14 2018 Tomáš Mráz <tmraz@redhat.com> 1.8.3-1
- new upstream version 1.8.3
* Tue Feb 6 2018 Tomáš Mráz <tmraz@redhat.com> 1.8.2-2
- fix behavior when getrandom syscall is not present (#1542453)
* Thu Dec 21 2017 Tomáš Mráz <tmraz@redhat.com> 1.8.2-1
- new upstream version 1.8.2
* Tue Dec 5 2017 Tomáš Mráz <tmraz@redhat.com> 1.8.1-3
- do not try to access() /dev/urandom either if getrandom() works
* Mon Dec 4 2017 Tomáš Mráz <tmraz@redhat.com> 1.8.1-2
- do not try to open /dev/urandom if getrandom() works (#1380866)
* Tue Sep 5 2017 Tomáš Mráz <tmraz@redhat.com> 1.8.1-1
- new upstream version 1.8.1
* Wed Aug 16 2017 Tomáš Mráz <tmraz@redhat.com> 1.8.0-1
- new upstream version 1.8.0
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jun 29 2017 Tomáš Mráz <tmraz@redhat.com> 1.7.8-1
- new upstream version 1.7.8
* Fri Jun 2 2017 Tomáš Mráz <tmraz@redhat.com> 1.7.7-1
- new upstream version 1.7.7
- GOST is now enabled
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jan 30 2017 Tomáš Mráz <tmraz@redhat.com> 1.7.6-1
- new upstream version 1.7.6
* Fri Dec 16 2016 Tomáš Mráz <tmraz@redhat.com> 1.7.5-1
- new upstream version 1.7.5
* Wed Nov 23 2016 Tomáš Mráz <tmraz@redhat.com> 1.7.3-1
- new upstream version 1.7.3
* Wed Aug 17 2016 Tomáš Mráz <tmraz@redhat.com> 1.6.6-1
- new upstream version with important security fix (CVE-2016-6316)
* Thu Jul 21 2016 Tomáš Mráz <tmraz@redhat.com> 1.6.5-1
- new upstream version fixing low impact issue CVE-2015-7511
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Sep 9 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.4-1
- new upstream version
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Apr 3 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.3-4
- deinitialize the RNG after the selftest is run
* Tue Mar 24 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.3-3
- touch only urandom in the selftest and when /dev/random is
unavailable for example by SELinux confinement
- fix the RSA selftest key (p q swap) (#1204517)
* Fri Mar 13 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.3-2
- do not use strict aliasing for bufhelp functions (#1201219)
* Fri Mar 6 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.3-1
- new upstream version
* Wed Feb 25 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.2-4
- do not initialize secure memory during the selftest (#1195850)
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 1.6.2-3
- Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
* Wed Jan 14 2015 Tomáš Mráz <tmraz@redhat.com> 1.6.2-2
- fix buildability of programs using gcrypt.h with -ansi (#1182200)
* Mon Dec 8 2014 Tomáš Mráz <tmraz@redhat.com> 1.6.2-1
- new upstream version
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 17 2014 Tom Callaway <spot@fedoraproject.org> - 1.6.1-6
- fix license handling
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 20 2014 Kyle McMartin <kyle@fedoraproject.org> 1.6.1-4
- Re-enable below algos, apply patch from upstream list to make
that code -fPIC friendly. (rhbz#1069792)
* Mon May 19 2014 Kyle McMartin <kyle@fedoraproject.org> 1.6.1-3
- Disable rijndael, cast5, camellia ARM assembly, as it's non-PIC as
presently written, which results in .text relocations in the shared
library. (rhbz#1069792)
* Thu Apr 24 2014 Tomáš Mráz <tmraz@redhat.com> 1.6.1-2
- drop the temporary compat shared library version
- fix the soname version in -use-fipscheck.patch
* Fri Feb 28 2014 Tomáš Mráz <tmraz@redhat.com> 1.6.1-1
- new upstream version breaking ABI compatibility
- this release temporarily includes old compatibility .so
* Tue Jan 21 2014 Tomáš Mráz <tmraz@redhat.com> 1.5.3-3
- add back the nistp521r1 EC curve
- fix a bug in the Whirlpool hash implementation
- speed up the PBKDF2 computation
* Sun Oct 20 2013 Tom Callaway <spot@fedoraproject.org> - 1.5.3-2
- add cleared ECC support
* Fri Jul 26 2013 Tomáš Mráz <tmraz@redhat.com> 1.5.3-1
- new upstream version fixing cache side-channel attack on RSA private keys
* Thu Jun 20 2013 Tomáš Mráz <tmraz@redhat.com> 1.5.2-3
- silence false error detected by valgrind (#968288)
* Thu Apr 25 2013 Tomáš Mráz <tmraz@redhat.com> 1.5.2-2
- silence strict aliasing warning in Rijndael
- apply UsrMove
- spec file cleanups
* Fri Apr 19 2013 Tomáš Mráz <tmraz@redhat.com> 1.5.2-1
- new upstream version
* Wed Mar 20 2013 Tomas Mraz <tmraz@redhat.com> 1.5.1-1
- new upstream version
* Tue Mar 5 2013 Tomas Mraz <tmraz@redhat.com> 1.5.0-11
- use poll() instead of select() when gathering randomness (#913773)
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jan 3 2013 Tomas Mraz <tmraz@redhat.com> 1.5.0-9
- allow empty passphrase in PBKDF2 needed for cryptsetup (=891266)
* Mon Dec 3 2012 Tomas Mraz <tmraz@redhat.com> 1.5.0-8
- fix multilib conflict in libgcrypt-config
- fix minor memory leaks and other bugs found by Coverity scan
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Apr 5 2012 Tomas Mraz <tmraz@redhat.com> 1.5.0-5
- Correctly rebuild the info documentation
* Wed Apr 4 2012 Tomas Mraz <tmraz@redhat.com> 1.5.0-4
- Add GCRYCTL_SET_ENFORCED_FIPS_FLAG command
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> 1.5.0-2
- Rebuilt for rpm bug #728707
* Thu Jul 21 2011 Tomas Mraz <tmraz@redhat.com> 1.5.0-1
- new upstream version
* Mon Jun 20 2011 Tomas Mraz <tmraz@redhat.com> 1.4.6-4
- Always xor seed from /dev/urandom over /etc/gcrypt/rngseed
* Mon May 30 2011 Tomas Mraz <tmraz@redhat.com> 1.4.6-3
- Make the FIPS-186-3 DSA implementation CAVS testable
- add configurable source of RNG seed /etc/gcrypt/rngseed
in the FIPS mode (#700388)
* Fri Feb 11 2011 Tomas Mraz <tmraz@redhat.com> 1.4.6-1
- new upstream version with minor changes
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Feb 4 2011 Tomas Mraz <tmraz@redhat.com> 1.4.5-6
- fix a bug in the fips-186-3 dsa parameter generation code
* Tue Feb 1 2011 Tomas Mraz <tmraz@redhat.com> 1.4.5-5
- use /dev/urandom for seeding in the FIPS mode
- make the tests to pass in the FIPS mode also fixing
the FIPS-186-3 DSA keygen
* Sun Feb 14 2010 Rex Dieter <rdieter@fedoraproject.org> 1.4.5-4
- FTBFS libgcrypt-1.4.5-3.fc13: ImplicitDSOLinking (#564973)
* Wed Feb 3 2010 Tomas Mraz <tmraz@redhat.com> 1.4.5-3
- drop the S390 build workaround as it is no longer needed
- additional spec file cleanups for merge review (#226008)
* Mon Dec 21 2009 Tomas Mraz <tmraz@redhat.com> 1.4.5-1
- workaround for build on S390 (#548825)
- spec file cleanups
- upgrade to new minor upstream release
* Tue Aug 11 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-8
- fix warning when installed with --excludedocs (#515961)
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Jun 18 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-6
- and now really apply the padlock patch
* Wed Jun 17 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-5
- fix VIA padlock RNG inline assembly call (#505724)
* Thu Mar 5 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-4
- with the integrity verification check the library needs to link to libdl
(#488702)
* Tue Mar 3 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-3
- add hmac FIPS integrity verification check
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Fri Jan 30 2009 Tomas Mraz <tmraz@redhat.com> 1.4.4-1
- update to 1.4.4
- do not abort when the fips mode kernel flag is inaccessible
due to permissions (#470219)
- hobble the library to drop the ECC support
* Mon Oct 20 2008 Dennis Gilmore <dennis@ausil.us> 1.4.3-2
- disable asm on sparc64
* Thu Sep 18 2008 Nalin Dahyabhai <nalin@redhat.com> 1.4.3-1
- update to 1.4.3
- own /etc/gcrypt
* Mon Sep 15 2008 Nalin Dahyabhai <nalin@redhat.com>
- invoke make with %%{?_smp_mflags} to build faster on multi-processor
systems (Steve Grubb)
* Mon Sep 8 2008 Nalin Dahyabhai <nalin@redhat.com> 1.4.2-1
- update to 1.4.2
* Tue Apr 29 2008 Nalin Dahyabhai <nalin@redhat.com> 1.4.1-1
- update to 1.4.1
- bump libgpgerror-devel requirement to 1.4, matching the requirement enforced
by the configure script
* Thu Apr 3 2008 Joe Orton <jorton@redhat.com> 1.4.0-3
- add patch from upstream to fix severe performance regression
in entropy gathering
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.4.0-2
- Autorebuild for GCC 4.3
* Mon Dec 10 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.4.0-1
- update to 1.4.0
* Tue Oct 16 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-6
- use ldconfig to build the soname symlink for packaging along with the
shared library (#334731)
* Wed Aug 22 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-5
- add missing gawk buildrequirement
- switch from explicitly specifying the /dev/random RNG to just verifying
that the non-LGPL ones were disabled by the configure script
* Thu Aug 16 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-4
- clarify license
- force use of the linux /dev/random RNG, to avoid accidentally falling back
to others which would affect the license of the resulting library
* Mon Jul 30 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-3
- disable static libraries (part of #249815)
* Fri Jul 27 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-2
- move libgcrypt shared library to /%%{_lib} (#249815)
* Tue Feb 6 2007 Nalin Dahyabhai <nalin@redhat.com> - 1.2.4-1
- update to 1.2.4
@ -162,5 +703,5 @@ exit 0
* Thu Jan 10 2002 Nalin Dahyabhai <nalin@redhat.com> 1.1.5-1
- fix the Source tag so that it's a real URL
* Wed Dec 20 2001 Nalin Dahyabhai <nalin@redhat.com>
* Thu Dec 20 2001 Nalin Dahyabhai <nalin@redhat.com>
- initial package

86
signature_key.asc Normal file
View file

@ -0,0 +1,86 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
eiInsGZ/+h5XYrpXTgA=
=4+Sn
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,2 +1,2 @@
3675d3e74c3a44aed629d9b12a30bb51 libgcrypt-1.2.4.tar.bz2
b6323d3acf8c08ad849e8090fb8986b9 libgcrypt-1.2.4.tar.bz2.sig
SHA512 (libgcrypt-1.11.2.tar.bz2) = b706cea602cc8f0896e57ce979643bf78974b05faec27c1b053b773c57d8b04250e30e95a4ef5899e1df981d01d8d08f0a36e10b5820a5ec4183e74c02e5f1f0
SHA512 (libgcrypt-1.11.2.tar.bz2.sig) = e63d240a9b97aa218c98c5baa72a30321ae85412d4a8748e36578bd9498fe8c8ee2ba84835d1783cdfc1e5dfb66b0a89409d6263e9c06f4cd11e919d4bce0cd2

75
tests/smoke-test/Makefile Normal file
View file

@ -0,0 +1,75 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/libgcrypt/smoke-test
# Description: Test calls upstream test suite.
# Author: Ondrej Moris <omoris@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/libgcrypt/smoke-test
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Ondrej Moris <omoris@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test calls upstream test suite." >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 15m" >> $(METADATA)
@echo "RunFor: libgcrypt" >> $(METADATA)
@echo "Requires: libgcrypt" >> $(METADATA)
@echo "Requires: nfs-utils" >> $(METADATA)
@echo "Requires: rpm-build" >> $(METADATA)
@echo "Requires: autoconf automake libtool" >> $(METADATA)
@echo "Requires: gawk" >> $(METADATA)
@echo "Requires: gcc-c++" >> $(METADATA)
@echo "Requires: libgpg-error-devel" >> $(METADATA)
@echo "Requires: pkgconfig texinfo fipscheck libkcapi-fipscheck" >> $(METADATA)
@echo "Requires: crypto-policies-scripts" >> $(METADATA)
@echo "Requires: bc" >> $(METADATA)
@echo "RhtsRequires: library(distribution/fips)" >> $(METADATA)
@echo "Releases: -RHEL3 -RHEL4" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "Architectures: i386 x86_64 s390x ia64" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

3
tests/smoke-test/PURPOSE Normal file
View file

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/libgcrypt/Sanity/smoke-test
Description: Test calls upstream test suite.
Author: Ondrej Moris <omoris@redhat.com>

25
tests/smoke-test/main.fmf Normal file
View file

@ -0,0 +1,25 @@
summary: Test calls upstream test suite.
test: ./runtest.sh
enabled: true
framework: beakerlib
require:
- library(distribution/fips)
recommend:
- libgcrypt
- nfs-utils
- rpm-build
- autoconf
- automake
- libtool
- gawk
- gcc-c++
- libgpg-error-devel
- pkgconfig
- texinfo
- fipscheck
- libkcapi-fipscheck
- crypto-policies-scripts
- bc
- annobin-annocheck
- gnupg2
duration: 45m

145
tests/smoke-test/runtest.sh Executable file
View file

@ -0,0 +1,145 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/libgcrypt/smoke-test
# Description: Test calls upstream test suite.
# Author: Ondrej Moris <omoris@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. /usr/share/beakerlib/beakerlib.sh
PACKAGE="libgcrypt"
rlJournalStart
rlPhaseStartSetup
rlImport distribution/fips || rlFail "FIPS library needed for some phases"
TmpDir=`mktemp -d`
rlAssertRpm $PACKAGE
rlRun "rlFileBackup --clean /etc/gcrypt/fips_enabled"
if [[ -r /etc/gcrypt/hwf.deny ]]; then
rlRun "rlFileBackup /etc/gcrypt/hwf.deny"
rlRun "rm -f /etc/gcrypt/hwf.deny"
fi
rlRun "pushd $TmpDir" 0
rlRun "rlFetchSrcForInstalled $PACKAGE"
rlRun "rpm -ihv `ls *.rpm`" 0
if grep '1' /proc/sys/crypto/fips_enabled; then
rlRun "echo '1' > /etc/gcrypt/fips_enabled" 0
fi
rlPhaseEnd
rlPhaseStartTest "Package build"
TOPDIR=`rpm --eval %_topdir`
rlRun "pushd $TOPDIR" 0
rlRun "rm -rf BUILD/libgcrypt-*" 0-255
rlRun "rpmbuild -vv -bc SPECS/libgcrypt.spec" 0
libgcrypt_dir="libgcrypt-`rpm -q --qf "%{VERSION}\n" libgcrypt | head -1`"
if [ -d "BUILD/$libgcrypt_dir-build" ]; then
BUILDDIR="BUILD/$libgcrypt_dir-build/$libgcrypt_dir"
else
BUILDDIR="BUILD/$libgcrypt_dir"
fi
rlRun "pushd $BUILDDIR" 0
rlRun "fipshmac src/.libs/libgcrypt.so.??" 0
rlRun "popd"
rlRun "popd"
rlPhaseEnd
rlPhaseStartTest "Upstream testsuite"
rlRun "pushd $TOPDIR/$BUILDDIR" 0
exp_fails=()
rlRun "echo 'Expecting ${#exp_fails[@]} fails'"
exp_exitcode=0
if [[ ${#exp_fails[@]} -gt 0 ]]; then exp_exitcode=2; fi
rlRun "make check &> $TmpDir/make_check.out" $exp_exitcode
rlRun "grep ^FAIL: $TmpDir/make_check.out" 0,1 "Print fails"
if [[ ${#exp_fails[@]} -gt 0 ]]; then
for f in $(grep '^FAIL:' $TmpDir/make_check.out | awk -F ': ' '{print $2}'); do
if [[ "${exp_fails[@]}" =~ "$f" ]]; then
rlLog "$f failure is expected"
else
rlFail "$f failure is not expected"
fi
done
else
rlRun "grep \"All [0-9]\+ tests passed\" $TmpDir/make_check.out" 0 \
"All tests passed"
fi
rlRun "cat $TmpDir/make_check.out"
rlRun "popd"
rlPhaseEnd
if ! (rlIsRHEL '<=8.4' || ([[ $fipsMode = "enabled" ]] && rlIsFedora '<37')); then
# (we are ~expecting to fix HW optimization problem around Fedora-37)
rlPhaseStartTest "Performance with HW optimizations disabled - bz1990059"
# we are gathering more samples, so that this test is robust in shared environments
N_SAMPLES=5
N_MEDIAN=$(echo "$N_SAMPLES/2+1" |bc)
HWF_DENY_FILE="/etc/gcrypt/hwf.deny"
# Disabling via cmdline arguments would need either handpicking
# all the algorithms (variant with ":"), or making "all" work.
# "--disable-hwf all" does not work: https://dev.gnupg.org/T5636
#dis_arg="--disable-hwf all"
dis_arg=""
for x in "cipher:aes256:CBC enc" "hash:sha256:SHA256" "mac:hmac_sha256:HMAC_SHA256"; do
alg_type=$(echo $x |cut -d: -f1)
algorithm=$(echo $x |cut -d: -f2)
alg_line=$(echo $x |cut -d: -f3)
rlRun "rm -f $algorithm.ena $algorithm.dis"
rlLogInfo "Performance measurements started ..."
for i in `seq 1 $N_SAMPLES`; do
# run with HW optimizations ENAbled
rm -f $HWF_DENY_FILE
$TOPDIR/$BUILDDIR/tests/bench-slope $alg_type $algorithm |grep "$alg_line" >>$algorithm.ena
# run with HW optimizations DISabled
# this looks idiotic, but I wasn't able to make --disable-hwf work
echo "all" >$HWF_DENY_FILE
$TOPDIR/$BUILDDIR/tests/bench-slope $dis_arg $alg_type $algorithm |grep "$alg_line" >>$algorithm.dis
done
rlLogInfo "Performance measurements finished"
rlRun "cat $algorithm.ena"
rlRun "cat $algorithm.dis"
dis=$(cat $algorithm.dis |cut -d'|' -f2 |awk '{ print $1 }' |sort -n |sed -n "$N_MEDIAN p")
ena=$(cat $algorithm.ena |cut -d'|' -f2 |awk '{ print $1 }' |sort -n |sed -n "$N_MEDIAN p")
rlRun "echo '$algorithm Time: disabled $dis enabled $ena'"
if (( $(echo "$dis > $ena" |bc -l) )); then
rlPass "HW optimizations work for $algorithm"
else
rlFail "HW optimizations DO NOT work for $algorithm"
fi
done
rlPhaseEnd
fi
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0
rlRun "rlFileRestore"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,624 +0,0 @@
Login: wk Name: Werner Koch
No project.
No plan.
Public key:
pub 1024D/621CC013 1998-07-07 Werner Koch <wk@g10code.com>
uid Werner Koch <werner.koch@guug.de>
uid Werner Koch <wk@gnupg.org>
pub 1024D/5B0358A2 1999-03-15 Werner Koch <wk@gnupg.org>
uid Werner Koch
pub 768R/0C9857A5 1995-09-30 Werner Koch (mein alter key) <wk@computer.org>
uid Werner Koch <werner.koch@guug.de>
pub 1024D/57548DCD 1998-07-07 Werner Koch (gnupg sig) <dd9jn@gnu.org>
621CC013 is my every days working key - use this one!
5B0358A2 is my certification key.
0C9857A5 is my old PGP 2 key - don't use it.
57548DCD is used to sign GNU crypto software.
I use a separate certification key (5B0358A2) to sign my other keys.
This key is stored at a more or less secure place and only used on a
spare laptop which is not connected to any network. If you find a key
certified by this one, you can be sure that I personally met this
person and checked the name part of the user ID against an official
looking passport or another suitable photo id. My signature does not
say anything about the email address (I merely check that the address
looks plausible).
The working key (621cc013) has several subkeys; an OpenPGP
implementation should automagically select the most recent one for
encryption. Note, that the certification and the GNU signature key
can't be used for encryption becuase they are sign-only keys.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.1 (GNU/Linux)
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
=01kM
-----END PGP PUBLIC KEY BLOCK-----