Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libgcrypt for openSUSE:Factory 
checked in at 2024-07-24 15:29:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgcrypt (Old)
 and      /work/SRC/openSUSE:Factory/.libgcrypt.new.1869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgcrypt"

Wed Jul 24 15:29:19 2024 rev:103 rq:1183830 version:1.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libgcrypt/libgcrypt.changes      2024-01-29 
22:25:50.142528789 +0100
+++ /work/SRC/openSUSE:Factory/.libgcrypt.new.1869/libgcrypt.changes    
2024-07-25 11:55:32.197478957 +0200
@@ -1,0 +2,94 @@
+Thu Jun 20 08:11:07 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+
+- Update to 1.11.0:
+  * New and extended interfaces:
+    - Add an API for Key Encapsulation Mechanism (KEM). [T6755]
+    - Add Streamlined NTRU Prime sntrup761 algorithm. [rCcf9923e1a5]
+    - Add Kyber algorithm according to FIPS 203 ipd 2023-08-24. [rC18e5c0d268]
+    - Add Classic McEliece algorithm. [rC003367b912]
+    - Add One-Step KDF with hash and MAC. [T5964]
+    - Add KDF algorithm HKDF of RFC-5869. [T5964]
+    - Add KDF algorithm X963KDF for use in CMS. [rC3abac420b3]
+    - Add GMAC-SM4 and Poly1305-SM4. [rCd1ccc409d4]
+    - Add ARIA block cipher algorithm. [rC316c6d7715]
+    - Add explicit FIPS indicators for MD and MAC algorithms. [T6376]
+    - Add support for SHAKE as MGF in RSA. [T6557]
+    - Add gcry_md_read support for SHAKE algorithms. [T6539]
+    - Add gcry_md_hash_buffers_ext function. [T7035]
+    - Add cSHAKE hash algorithm. [rC065b3f4e02]
+    - Support internal generation of IV for AEAD cipher mode. [T4873]
+  * Performance:
+    - Add SM3 ARMv8/AArch64/CE assembly implementation. [rCfe891ff4a3]
+    - Add SM4 ARMv8/AArch64 assembly implementation. [rCd8825601f1]
+    - Add SM4 GFNI/AVX2 and GFI/AVX512 implementation. 
[rC5095d60af4,rCeaed633c16]
+    - Add SM4 ARMv9 SVE CE assembly implementation. [rC2dc2654006]
+    - Add PowerPC vector implementation of SM4. [rC0b2da804ee]
+    - Optimize ChaCha20 and Poly1305 for PPC P10 LE. [T6006]
+    - Add CTR32LE bulk acceleration for AES on PPC. [rC84f2e2d0b5]
+    - Add generic bulk acceleration for CTR32LE mode (GCM-SIV) for SM4
+      and Camellia. [rCcf956793af]
+    - Add GFNI/AVX2 implementation of Camellia. [rC4e6896eb9f]
+    - Add AVX2 and AVX512 accelerated implementations for GHASH (GCM)
+      and POLYVAL (GCM-SIV). [rCd857e85cb4, rCe6f3600193]
+    - Add AVX512 implementation for SHA512. [rC089223aa3b]
+    - Add AVX512 implementation for Serpent. [rCce95b6ec35]
+    - Add AVX512 implementation for Poly1305 and ChaCha20. [rCcd3ed49770, 
rC9a63cfd617]
+    - Add AVX512 accelerated implementation for SHA3 and Blake2. 
[rCbeaad75f46,rC909daa700e]
+    - Add VAES/AVX2 accelerated i386 implementation for AES. [rC4a42a042bc]
+    - Add bulk processing for XTS mode of Camellia and SM4. [rC32b18cdb87, 
rCaad3381e93]
+    - Accelerate XTS and ECB modes for Twofish and Serpent. 
[rCd078a928f5,rC8a1fe5f78f]
+    - Add AArch64 crypto/SHA512 extension implementation for SHA512. 
[rCe51d3b8330]
+    - Add AArch64 crypto-extension implementation for Camellia. [rC898c857206]
+    - Accelerate OCB authentication on AMD with AVX2. [rC6b47e85d65]
+  * Bug fixes:
+    - For PowerPC check for missing optimization level for vector register 
usage. [T5785]
+    - Fix EdDSA secret key check. [T6511]
+    - Fix decoding of PKCS#1-v1.5 and OAEP padding. [rC34c2042792]
+    - Allow use of PKCS#1-v1.5 with SHA3 algorithms. [T6976]
+    - Fix AESWRAP padding length check. [T7130]
+  * Other:
+    - Allow empty password for Argon2 KDF. [rCa20700c55f]
+    - Various constant time operation imporvements.
+    - Add "bp256", "bp384", "bp512" aliases for Brainpool curves.
+    - Support for the random server has been removed. [T5811]
+    - The control code GCRYCTL_ENABLE_M_GUARD is deprecated and not
+      supported any more.  Please use valgrind or other tools. [T5822]
+    - Logging is now done via the libgpg-error logging functions. 
[rCab0bdc72c7]
+  * Remove patches fixed upstream:
+    - libgcrypt-no-deprecated-grep-alias.patch
+    - libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
+    - libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
+  * Rebase patches:
+    - libgcrypt-FIPS-jitter-errorcodes.patch
+    - libgcrypt-FIPS-jitter-whole-entropy.patch
+
+-------------------------------------------------------------------
+Wed Mar 20 20:31:40 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+
+- FIPS: Make sure that Libgcrypt makes use of the built-in Jitter RNG
+  for the whole length entropy buffer in FIPS mode. [bsc#1220893]
+  * Add libgcrypt-FIPS-jitter-whole-entropy.patch
+
+-------------------------------------------------------------------
+Wed Mar 20 15:13:04 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+
+- FIPS: Set the FSM into error state if Jitter RNG is returning an
+  error code to the caller when an health test error occurs when
+  random bytes are requested through the jent_read_entropy_safe()
+  function. [bsc#1220895]
+  * Add libgcrypt-FIPS-jitter-errorcodes.patch
+
+-------------------------------------------------------------------
+Mon Mar 11 16:02:55 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+
+- FIPS: Replace the built-in jitter rng with standalone version
+  * Remove the internal jitterentropy copy [bsc#1220896]
+  * Add libgcrypt-FIPS-jitter-standalone.patch
+  * Remove not needed libgcrypt-jitterentropy-3.4.0.patch
+
+-------------------------------------------------------------------
+Mon Feb 26 12:13:56 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+
+- Update upstream libgcrypt.keyring
+
+-------------------------------------------------------------------

Old:
----
  libgcrypt-1.10.3.tar.bz2
  libgcrypt-1.10.3.tar.bz2.sig
  libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
  libgcrypt-jitterentropy-3.4.0.patch
  libgcrypt-no-deprecated-grep-alias.patch
  libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch

New:
----
  libgcrypt-1.11.0.tar.bz2
  libgcrypt-1.11.0.tar.bz2.sig
  libgcrypt-FIPS-jitter-errorcodes.patch
  libgcrypt-FIPS-jitter-standalone.patch
  libgcrypt-FIPS-jitter-whole-entropy.patch

BETA DEBUG BEGIN:
  Old:    - libgcrypt-no-deprecated-grep-alias.patch
    - libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
    - libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
  Old:  * Add libgcrypt-FIPS-jitter-standalone.patch
  * Remove not needed libgcrypt-jitterentropy-3.4.0.patch
  Old:  * Remove patches fixed upstream:
    - libgcrypt-no-deprecated-grep-alias.patch
    - libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
  Old:    - libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
    - libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
  * Rebase patches:
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:  * Rebase patches:
    - libgcrypt-FIPS-jitter-errorcodes.patch
    - libgcrypt-FIPS-jitter-whole-entropy.patch
  New:  * Remove the internal jitterentropy copy [bsc#1220896]
  * Add libgcrypt-FIPS-jitter-standalone.patch
  * Remove not needed libgcrypt-jitterentropy-3.4.0.patch
  New:    - libgcrypt-FIPS-jitter-errorcodes.patch
    - libgcrypt-FIPS-jitter-whole-entropy.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libgcrypt.spec ++++++
--- /var/tmp/diff_new_pack.LVTANq/_old  2024-07-25 11:55:33.241521089 +0200
+++ /var/tmp/diff_new_pack.LVTANq/_new  2024-07-25 11:55:33.245521251 +0200
@@ -20,7 +20,7 @@
 %define libsoname %{name}%{libsover}
 %define hmac_key orboDeJITITejsirpADONivirpUkvarP
 Name:           libgcrypt
-Version:        1.10.3
+Version:        1.11.0
 Release:        0
 Summary:        The GNU Crypto Library
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later
@@ -31,14 +31,12 @@
 Source2:        baselibs.conf
 Source3:        random.conf
 Source4:        hwf.deny
-# https://gnupg.org/signature_key.asc
-Source5:        libgcrypt.keyring
+# https://www.gnupg.org/signature_key.html
+Source5:        https://gnupg.org/signature_key.asc#/%{name}.keyring
 Source99:       libgcrypt.changes
 Patch1:         libgcrypt-1.10.0-allow_FSM_same_state.patch
 #PATCH-FIX-OPENSUSE Do not pull revision info from GIT when autoconf is run
 Patch2:         libgcrypt-nobetasuffix.patch
-# https://dev.gnupg.org/T6964
-Patch3:         libgcrypt-no-deprecated-grep-alias.patch
 # FIPS patches:
 #PATCH-FIX-SUSE bsc#1190700 FIPS: Provide a service-level indicator for PK
 Patch100:       libgcrypt-FIPS-SLI-pk.patch
@@ -46,15 +44,16 @@
 Patch101:       libgcrypt-FIPS-SLI-kdf-leylength.patch
 #PATCH-FIX-SUSE bsc#1190700 FIPS add indicators
 Patch102:       libgcrypt-FIPS-SLI-hash-mac.patch
-#PATCH-FIX-SUSE bsc#1202117 jsc#SLE-24941 FIPS: Port libgcrypt to use 
jitterentropy
-Patch103:       libgcrypt-jitterentropy-3.4.0.patch
 #PATCH-FIX-SUSE bsc#1202117 FIPS: Get most of the entropy from rndjent_poll
 Patch104:       libgcrypt-FIPS-rndjent_poll.patch
-# POWER patches [jsc#PED-5088] POWER performance enhancements for cryptography
-Patch200:       libgcrypt-Chacha20-poly1305-Optimized-chacha20-poly1305.patch
-Patch201:       libgcrypt-ppc-enable-P10-assembly-with-ENABLE_FORCE_SOF.patch
+#PATCH-FIX-SUSE bsc#1220896 FIPS: Replace the built-in jitter rng with 
standalone version
+Patch105:       libgcrypt-FIPS-jitter-standalone.patch
+#PATCH-FIX-SUSE bsc#1220895 FIPS: Enforce the interpretation and use of jitter 
rng
+Patch106:       libgcrypt-FIPS-jitter-errorcodes.patch
+#PATCH-FIX-SUSE bsc#1220893 FIPS: Use Jitter RNG for the whole length entropy 
buffer
+Patch107:       libgcrypt-FIPS-jitter-whole-entropy.patch
 BuildRequires:  automake >= 1.14
-BuildRequires:  libgpg-error-devel >= 1.27
+BuildRequires:  libgpg-error-devel >= 1.49
 BuildRequires:  libtool
 BuildRequires:  makeinfo
 BuildRequires:  pkgconfig
@@ -70,6 +69,8 @@
 Summary:        The GNU Crypto Library
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          System/Libraries
+BuildRequires:  jitterentropy-devel >= 3.4.0
+Requires:       libjitterentropy3 >= 3.4.0
 Provides:       %{libsoname}-hmac = %{version}-%{release}
 Obsoletes:      %{libsoname}-hmac < %{version}-%{release}
 
@@ -83,7 +84,8 @@
 Group:          Development/Libraries/C and C++
 Requires:       %{libsoname} = %{version}
 Requires:       glibc-devel
-Requires:       libgpg-error-devel >= 1.27
+Requires:       jitterentropy-devel >= 3.4.0
+Requires:       libgpg-error-devel >= 1.49
 
 %description devel
 Libgcrypt is a general purpose library of cryptographic building
@@ -100,9 +102,12 @@
 # Rename the internal .hmac file to include the so library version
 sed -i "s/libgcrypt\.so\.hmac/\.libgcrypt\.so\.%{libsover}\.hmac/g" 
src/Makefile.am src/Makefile.in
 
+# Replace the built-in jitter rng with the standalone version [bsc#1220896]
+find . -type f -name "jitterentropy*" -print -delete
+
 %build
 export PUBKEYS="dsa elgamal rsa ecc"
-export CIPHERS="arcfour blowfish cast5 des aes twofish serpent rfc2268 seed 
camellia idea salsa20 gost28147 chacha20 sm4"
+export CIPHERS="arcfour blowfish cast5 des aes twofish serpent rfc2268 seed 
camellia idea salsa20 gost28147 chacha20 sm4 aria"
 export DIGESTS="crc gostr3411-94 md4 md5 rmd160 sha1 sha256 sha512 sha3 tiger 
whirlpool stribog blake2 sm3"
 export KDFS="s2k pkdf2 scrypt"
 
@@ -124,6 +129,7 @@
            --disable-asm \
 %endif
            --enable-random=getentropy \
+           --enable-jent-support \
            %{nil}
 
 %make_build
@@ -140,7 +146,6 @@
 # for a simple reason: the macro strips the binaries and thereby
 # invalidates a HMAC that may have been created earlier.
 # solution: create the hashes _after_ the macro runs.
-
 %define libpath %{buildroot}%{_libdir}/libgcrypt.so.%{libsover}.?.?
 %define __spec_install_post \
     %{?__debug_package:%{__debug_install_post}} \

++++++ libgcrypt-1.10.3.tar.bz2 -> libgcrypt-1.11.0.tar.bz2 ++++++
++++ 96190 lines of diff (skipped)

++++++ libgcrypt-FIPS-SLI-hash-mac.patch ++++++
--- /var/tmp/diff_new_pack.LVTANq/_old  2024-07-25 11:55:34.637577428 +0200
+++ /var/tmp/diff_new_pack.LVTANq/_new  2024-07-25 11:55:34.641577589 +0200
@@ -1,8 +1,8 @@
-Index: libgcrypt-1.10.2/doc/gcrypt.texi
+Index: libgcrypt-1.11.0/doc/gcrypt.texi
 ===================================================================
---- libgcrypt-1.10.2.orig/doc/gcrypt.texi
-+++ libgcrypt-1.10.2/doc/gcrypt.texi
-@@ -985,13 +985,21 @@ certification. If the function is approv
+--- libgcrypt-1.11.0.orig/doc/gcrypt.texi
++++ libgcrypt-1.11.0/doc/gcrypt.texi
+@@ -998,13 +998,21 @@ certification. If the function is approv
  @code{GPG_ERR_NO_ERROR} (other restrictions might still apply).
  Otherwise @code{GPG_ERR_NOT_SUPPORTED} is returned.
  
@@ -28,11 +28,11 @@
  @item GCRYCTL_FIPS_SERVICE_INDICATOR_MD; Arguments: enum gcry_md_algos
  
  Check if the given message digest algorithm is approved under the current
-Index: libgcrypt-1.10.2/src/fips.c
+Index: libgcrypt-1.11.0/src/fips.c
 ===================================================================
---- libgcrypt-1.10.2.orig/src/fips.c
-+++ libgcrypt-1.10.2/src/fips.c
-@@ -377,31 +378,6 @@ _gcry_fips_indicator_cipher (va_list arg
+--- libgcrypt-1.11.0.orig/src/fips.c
++++ libgcrypt-1.11.0/src/fips.c
+@@ -378,31 +378,6 @@ _gcry_fips_indicator_cipher (va_list arg
      }
  }
  
@@ -64,7 +64,7 @@
  /* FIPS approved curves, extracted from:
   *   cipher/ecc-curves.c:curve_aliases[] and domain_parms[]. */
  static const struct
-@@ -598,6 +574,62 @@ _gcry_fips_indicator_pk_flags (va_list a
+@@ -602,6 +577,62 @@ _gcry_fips_indicator_pk_flags (va_list a
    return GPG_ERR_NOT_SUPPORTED;
  }
  
@@ -127,11 +127,11 @@
  
  /* This is a test on whether the library is in the error or
     operational state. */
-Index: libgcrypt-1.10.2/src/g10lib.h
+Index: libgcrypt-1.11.0/src/g10lib.h
 ===================================================================
---- libgcrypt-1.10.2.orig/src/g10lib.h
-+++ libgcrypt-1.10.2/src/g10lib.h
-@@ -456,6 +456,7 @@ void _gcry_fips_signal_error (const char
+--- libgcrypt-1.11.0.orig/src/g10lib.h
++++ libgcrypt-1.11.0/src/g10lib.h
+@@ -469,6 +469,7 @@ void _gcry_fips_signal_error (const char
  #endif
  
  int _gcry_fips_indicator_cipher (va_list arg_ptr);
@@ -139,25 +139,25 @@
  int _gcry_fips_indicator_mac (va_list arg_ptr);
  int _gcry_fips_indicator_md (va_list arg_ptr);
  int _gcry_fips_indicator_kdf (va_list arg_ptr);
-Index: libgcrypt-1.10.2/src/gcrypt.h.in
+Index: libgcrypt-1.11.0/src/gcrypt.h.in
 ===================================================================
---- libgcrypt-1.10.2.orig/src/gcrypt.h.in
-+++ libgcrypt-1.10.2/src/gcrypt.h.in
-@@ -335,7 +335,8 @@ enum gcry_ctl_cmds
-     GCRYCTL_FIPS_SERVICE_INDICATOR_MAC = 85,
+--- libgcrypt-1.11.0.orig/src/gcrypt.h.in
++++ libgcrypt-1.11.0/src/gcrypt.h.in
+@@ -336,7 +336,8 @@ enum gcry_ctl_cmds
      GCRYCTL_FIPS_SERVICE_INDICATOR_MD = 86,
      GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS = 87,
--    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 88
-+    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 88,
-+    GCRYCTL_FIPS_SERVICE_INDICATOR_HASH = 89
+     GCRYCTL_MD_CUSTOMIZE = 88,
+-    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 89
++    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 89,
++    GCRYCTL_FIPS_SERVICE_INDICATOR_HASH = 90
    };
  
  /* Perform various operations defined by CMD. */
-Index: libgcrypt-1.10.2/src/global.c
+Index: libgcrypt-1.11.0/src/global.c
 ===================================================================
---- libgcrypt-1.10.2.orig/src/global.c
-+++ libgcrypt-1.10.2/src/global.c
-@@ -791,6 +791,12 @@ _gcry_vcontrol (enum gcry_ctl_cmds cmd,
+--- libgcrypt-1.11.0.orig/src/global.c
++++ libgcrypt-1.11.0/src/global.c
+@@ -794,6 +794,12 @@ _gcry_vcontrol (enum gcry_ctl_cmds cmd,
        rc = _gcry_fips_indicator_cipher (arg_ptr);
        break;
  

++++++ libgcrypt-FIPS-SLI-pk.patch ++++++
--- /var/tmp/diff_new_pack.LVTANq/_old  2024-07-25 11:55:34.653578073 +0200
+++ /var/tmp/diff_new_pack.LVTANq/_new  2024-07-25 11:55:34.657578234 +0200
@@ -1,7 +1,7 @@
-Index: libgcrypt-1.10.2/src/fips.c
+Index: libgcrypt-1.11.0/src/fips.c
 ===================================================================
---- libgcrypt-1.10.2.orig/src/fips.c
-+++ libgcrypt-1.10.2/src/fips.c
+--- libgcrypt-1.11.0.orig/src/fips.c
++++ libgcrypt-1.11.0/src/fips.c
 @@ -38,6 +38,7 @@
  
  #include "g10lib.h"
@@ -10,7 +10,7 @@
  #include "../random/random.h"
  
  /* The states of the finite state machine used in fips mode.  */
-@@ -399,6 +400,94 @@ _gcry_fips_indicator_mac (va_list arg_pt
+@@ -400,6 +401,94 @@ _gcry_fips_indicator_mac (va_list arg_pt
      default:
        return GPG_ERR_NOT_SUPPORTED;
      }
@@ -105,25 +105,25 @@
  }
  
  int
-Index: libgcrypt-1.10.2/src/gcrypt.h.in
+Index: libgcrypt-1.11.0/src/gcrypt.h.in
 ===================================================================
---- libgcrypt-1.10.2.orig/src/gcrypt.h.in
-+++ libgcrypt-1.10.2/src/gcrypt.h.in
-@@ -334,7 +334,8 @@ enum gcry_ctl_cmds
-     GCRYCTL_FIPS_SERVICE_INDICATOR_FUNCTION = 84,
+--- libgcrypt-1.11.0.orig/src/gcrypt.h.in
++++ libgcrypt-1.11.0/src/gcrypt.h.in
+@@ -335,7 +335,8 @@ enum gcry_ctl_cmds
      GCRYCTL_FIPS_SERVICE_INDICATOR_MAC = 85,
      GCRYCTL_FIPS_SERVICE_INDICATOR_MD = 86,
--    GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS = 87
-+    GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS = 87,
-+    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 88
+     GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS = 87,
+-    GCRYCTL_MD_CUSTOMIZE = 88
++    GCRYCTL_MD_CUSTOMIZE = 88,
++    GCRYCTL_FIPS_SERVICE_INDICATOR_PK = 89
    };
  
  /* Perform various operations defined by CMD. */
-Index: libgcrypt-1.10.2/doc/gcrypt.texi
+Index: libgcrypt-1.11.0/doc/gcrypt.texi
 ===================================================================
---- libgcrypt-1.10.2.orig/doc/gcrypt.texi
-+++ libgcrypt-1.10.2/doc/gcrypt.texi
-@@ -997,6 +997,19 @@ Check if the given message digest algori
+--- libgcrypt-1.11.0.orig/doc/gcrypt.texi
++++ libgcrypt-1.11.0/doc/gcrypt.texi
+@@ -1010,6 +1010,19 @@ Check if the given message digest algori
  FIPS 140-3 certification. If the algorithm is approved, this function returns
  @code{GPG_ERR_NO_ERROR}. Otherwise @code{GPG_ERR_NOT_SUPPORTED} is returned.
  
@@ -143,11 +143,11 @@
  @item GCRYCTL_FIPS_SERVICE_INDICATOR_PK_FLAGS; Arguments: const char *
  
  Check if the given public key operation flag or s-expression object name is
-Index: libgcrypt-1.10.2/src/g10lib.h
+Index: libgcrypt-1.11.0/src/g10lib.h
 ===================================================================
---- libgcrypt-1.10.2.orig/src/g10lib.h
-+++ libgcrypt-1.10.2/src/g10lib.h
-@@ -460,6 +460,7 @@ int _gcry_fips_indicator_mac (va_list ar
+--- libgcrypt-1.11.0.orig/src/g10lib.h
++++ libgcrypt-1.11.0/src/g10lib.h
+@@ -473,6 +473,7 @@ int _gcry_fips_indicator_mac (va_list ar
  int _gcry_fips_indicator_md (va_list arg_ptr);
  int _gcry_fips_indicator_kdf (va_list arg_ptr);
  int _gcry_fips_indicator_function (va_list arg_ptr);
@@ -155,11 +155,11 @@
  int _gcry_fips_indicator_pk_flags (va_list arg_ptr);
  
  int _gcry_fips_is_operational (void);
-Index: libgcrypt-1.10.2/src/global.c
+Index: libgcrypt-1.11.0/src/global.c
 ===================================================================
---- libgcrypt-1.10.2.orig/src/global.c
-+++ libgcrypt-1.10.2/src/global.c
-@@ -825,6 +834,15 @@ _gcry_vcontrol (enum gcry_ctl_cmds cmd,
+--- libgcrypt-1.11.0.orig/src/global.c
++++ libgcrypt-1.11.0/src/global.c
+@@ -828,6 +828,15 @@ _gcry_vcontrol (enum gcry_ctl_cmds cmd,
        rc = _gcry_fips_indicator_pk_flags (arg_ptr);
        break;
  

++++++ libgcrypt-FIPS-jitter-errorcodes.patch ++++++
Index: libgcrypt-1.10.3/random/rndjent.c
===================================================================
--- libgcrypt-1.10.3.orig/random/rndjent.c
+++ libgcrypt-1.10.3/random/rndjent.c
@@ -319,7 +319,10 @@ _gcry_rndjent_poll (void (*add)(const vo
               jent_rng_totalcalls++;
               rc = jent_read_entropy_safe (&jent_rng_collector, buffer, n);
               if (rc < 0)
-                break;
+                {
+                  fips_signal_error ("jitter entropy failed");
+                  break;
+                }
               /* We need to hash the output to conform to the BSI
                * NTG.1 specs.  */
               _gcry_md_hash_buffer (GCRY_MD_SHA256, buffer, buffer, rc);

++++++ libgcrypt-FIPS-jitter-standalone.patch ++++++
Index: libgcrypt-1.10.3/random/Makefile.am
===================================================================
--- libgcrypt-1.10.3.orig/random/Makefile.am
+++ libgcrypt-1.10.3/random/Makefile.am
@@ -21,7 +21,7 @@
 # Need to include ../src in addition to top_srcdir because gcrypt.h is
 # a built header.
 AM_CPPFLAGS = -I../src -I$(top_srcdir)/src
-AM_CFLAGS = $(GPG_ERROR_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) -ljitterentropy
 
 noinst_LTLIBRARIES = librandom.la
 
@@ -45,14 +45,7 @@ rndoldlinux.c \
 rndegd.c \
 rndunix.c \
 rndw32.c  \
-rndw32ce.c \
-jitterentropy-gcd.c jitterentropy-gcd.h \
-jitterentropy-health.c jitterentropy-health.h \
-jitterentropy-noise.c jitterentropy-noise.h \
-jitterentropy-sha3.c jitterentropy-sha3.h \
-jitterentropy-timer.c jitterentropy-timer.h \
-jitterentropy-base.h \
-jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
+rndw32ce.c
 
 # The rndjent module needs to be compiled without optimization.  */
 if ENABLE_O_FLAG_MUNGING
@@ -61,20 +54,8 @@ else
 o_flag_munging = cat
 endif
 
-rndjent.o: $(srcdir)/rndjent.c jitterentropy-base-user.h \
-           $(srcdir)/jitterentropy-gcd.c $(srcdir)/jitterentropy-gcd.h \
-           $(srcdir)/jitterentropy-health.c $(srcdir)/jitterentropy-health.h \
-           $(srcdir)/jitterentropy-noise.c $(srcdir)/jitterentropy-noise.h \
-           $(srcdir)/jitterentropy-sha3.c $(srcdir)/jitterentropy-sha3.h \
-           $(srcdir)/jitterentropy-timer.c $(srcdir)/jitterentropy-timer.h \
-           $(srcdir)/jitterentropy-base.c $(srcdir)/jitterentropy.h
+rndjent.o: $(srcdir)/rndjent.c
        `echo $(COMPILE) -c $(srcdir)/rndjent.c | $(o_flag_munging) `
 
-rndjent.lo: $(srcdir)/rndjent.c jitterentropy-base-user.h \
-           $(srcdir)/jitterentropy-gcd.c $(srcdir)/jitterentropy-gcd.h \
-           $(srcdir)/jitterentropy-health.c $(srcdir)/jitterentropy-health.h \
-           $(srcdir)/jitterentropy-noise.c $(srcdir)/jitterentropy-noise.h \
-           $(srcdir)/jitterentropy-sha3.c $(srcdir)/jitterentropy-sha3.h \
-           $(srcdir)/jitterentropy-timer.c $(srcdir)/jitterentropy-timer.h \
-            $(srcdir)/jitterentropy-base.c $(srcdir)/jitterentropy.h
+rndjent.lo: $(srcdir)/rndjent.c
        `echo $(LTCOMPILE) -c $(srcdir)/rndjent.c | $(o_flag_munging) `
Index: libgcrypt-1.10.3/random/rndjent.c
===================================================================
--- libgcrypt-1.10.3.orig/random/rndjent.c
+++ libgcrypt-1.10.3/random/rndjent.c
@@ -94,17 +94,12 @@
  * jitterentropy-user-base.h file.   */
 
 /* Tell jitterentropy* that all functions shall be static.  */
-#define JENT_PRIVATE_COMPILE 1
+#undef JENT_PRIVATE_COMPILE
 
-#include "jitterentropy-base.c"
 #ifdef JENT_CONF_ENABLE_INTERNAL_TIMER
 #include <pthread.h>
 #endif /* JENT_CONF_ENABLE_INTERNAL_TIMER */
-#include "jitterentropy-gcd.c"
-#include "jitterentropy-health.c"
-#include "jitterentropy-noise.c"
-#include "jitterentropy-sha3.c"
-#include "jitterentropy-timer.c"
+#include <jitterentropy.h>
 
 /* This is the lock we use to serialize access to this RNG.  The extra
  * integer variable is only used to check the locking state; that is,
Index: libgcrypt-1.10.3/random/Makefile.in
===================================================================
--- libgcrypt-1.10.3.orig/random/Makefile.in
+++ libgcrypt-1.10.3/random/Makefile.in
@@ -147,12 +147,7 @@ am__v_at_1 =
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
 am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/jitterentropy-base.Plo \
-       ./$(DEPDIR)/jitterentropy-gcd.Plo \
-       ./$(DEPDIR)/jitterentropy-health.Plo \
-       ./$(DEPDIR)/jitterentropy-noise.Plo \
-       ./$(DEPDIR)/jitterentropy-sha3.Plo \
-       ./$(DEPDIR)/jitterentropy-timer.Plo \
+am__depfiles_remade = \
        ./$(DEPDIR)/random-csprng.Plo ./$(DEPDIR)/random-drbg.Plo \
        ./$(DEPDIR)/random-system.Plo ./$(DEPDIR)/random.Plo \
        ./$(DEPDIR)/rndegd.Plo ./$(DEPDIR)/rndgetentropy.Plo \
@@ -378,7 +373,7 @@ top_srcdir = @top_srcdir@
 # Need to include ../src in addition to top_srcdir because gcrypt.h is
 # a built header.
 AM_CPPFLAGS = -I../src -I$(top_srcdir)/src
-AM_CFLAGS = $(GPG_ERROR_CFLAGS)
+AM_CFLAGS = $(GPG_ERROR_CFLAGS) -ljitterentropy
 noinst_LTLIBRARIES = librandom.la
 GCRYPT_MODULES = @GCRYPT_RANDOM@
 librandom_la_DEPENDENCIES = $(GCRYPT_MODULES)
@@ -398,14 +393,7 @@ rndoldlinux.c \
 rndegd.c \
 rndunix.c \
 rndw32.c  \
-rndw32ce.c \
-jitterentropy-gcd.c jitterentropy-gcd.h \
-jitterentropy-health.c jitterentropy-health.h \
-jitterentropy-noise.c jitterentropy-noise.h \
-jitterentropy-sha3.c jitterentropy-sha3.h \
-jitterentropy-timer.c jitterentropy-timer.h \
-jitterentropy-base.h \
-jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
+rndw32ce.c
 
 @ENABLE_O_FLAG_MUNGING_FALSE@o_flag_munging = cat
 
@@ -465,12 +453,6 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-base.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-gcd.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-health.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-noise.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-sha3.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/jitterentropy-timer.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random-csprng.Plo@am__quote@ 
# am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random-drbg.Plo@am__quote@ # 
am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/random-system.Plo@am__quote@ 
# am--include-marker
@@ -641,12 +623,6 @@ clean-am: clean-generic clean-libtool cl
        mostlyclean-am
 
 distclean: distclean-am
-               -rm -f ./$(DEPDIR)/jitterentropy-base.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-gcd.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-health.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-noise.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-sha3.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-timer.Plo
        -rm -f ./$(DEPDIR)/random-csprng.Plo
        -rm -f ./$(DEPDIR)/random-drbg.Plo
        -rm -f ./$(DEPDIR)/random-system.Plo
@@ -704,12 +680,6 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-               -rm -f ./$(DEPDIR)/jitterentropy-base.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-gcd.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-health.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-noise.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-sha3.Plo
-       -rm -f ./$(DEPDIR)/jitterentropy-timer.Plo
        -rm -f ./$(DEPDIR)/random-csprng.Plo
        -rm -f ./$(DEPDIR)/random-drbg.Plo
        -rm -f ./$(DEPDIR)/random-system.Plo
@@ -759,22 +729,10 @@ uninstall-am:
 .PRECIOUS: Makefile
 
 
-rndjent.o: $(srcdir)/rndjent.c jitterentropy-base-user.h \
-           $(srcdir)/jitterentropy-gcd.c $(srcdir)/jitterentropy-gcd.h \
-           $(srcdir)/jitterentropy-health.c $(srcdir)/jitterentropy-health.h \
-           $(srcdir)/jitterentropy-noise.c $(srcdir)/jitterentropy-noise.h \
-           $(srcdir)/jitterentropy-sha3.c $(srcdir)/jitterentropy-sha3.h \
-           $(srcdir)/jitterentropy-timer.c $(srcdir)/jitterentropy-timer.h \
-           $(srcdir)/jitterentropy-base.c $(srcdir)/jitterentropy.h
+rndjent.o: $(srcdir)/rndjent.c
        `echo $(COMPILE) -c $(srcdir)/rndjent.c | $(o_flag_munging) `
 
-rndjent.lo: $(srcdir)/rndjent.c jitterentropy-base-user.h \
-           $(srcdir)/jitterentropy-gcd.c $(srcdir)/jitterentropy-gcd.h \
-           $(srcdir)/jitterentropy-health.c $(srcdir)/jitterentropy-health.h \
-           $(srcdir)/jitterentropy-noise.c $(srcdir)/jitterentropy-noise.h \
-           $(srcdir)/jitterentropy-sha3.c $(srcdir)/jitterentropy-sha3.h \
-           $(srcdir)/jitterentropy-timer.c $(srcdir)/jitterentropy-timer.h \
-            $(srcdir)/jitterentropy-base.c $(srcdir)/jitterentropy.h
+rndjent.lo: $(srcdir)/rndjent.c
        `echo $(LTCOMPILE) -c $(srcdir)/rndjent.c | $(o_flag_munging) `
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.

++++++ libgcrypt-FIPS-jitter-whole-entropy.patch ++++++
Index: libgcrypt-1.10.3/random/rndgetentropy.c
===================================================================
--- libgcrypt-1.10.3.orig/random/rndgetentropy.c
+++ libgcrypt-1.10.3/random/rndgetentropy.c
@@ -53,16 +53,30 @@ _gcry_rndgetentropy_gather_random (void
 
   /* When using a blocking random generator try to get some entropy
    * from the jitter based RNG.  In this case we take up to 50% of the
-   * remaining requested bytes.  */
+   * remaining requested bytes.  In FIPS mode, we get all the entropy
+   * from the jitter RNG. */
   if (level >= GCRY_VERY_STRONG_RANDOM)
     {
       size_t n;
 
-      n = _gcry_rndjent_poll (add, origin, length/2);
-      if (n > length/2)
-        n = length/2;
-      if (length > 1)
-        length -= n;
+      /* In FIPS mode, use the whole length of the entropy buffer from
+       * Jitter RNG */
+      if (fips_mode ())
+        {
+          n = _gcry_rndjent_poll (add, origin, length);
+          if (n != length)
+            fips_signal_error ("jitter entropy failed");
+          else
+            length = 0;
+        }
+      else
+        {
+          n = _gcry_rndjent_poll (add, origin, length/2);
+          if (n > length/2)
+            n = length/2;
+          if (length > 1)
+            length -= n;
+        }
     }
 
   /* Enter the loop.  */

Reply via email to