Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mozilla-nss for openSUSE:Factory 
checked in at 2021-08-16 10:08:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mozilla-nss (Old)
 and      /work/SRC/openSUSE:Factory/.mozilla-nss.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mozilla-nss"

Mon Aug 16 10:08:42 2021 rev:176 rq:910950 version:3.68

Changes:
--------
--- /work/SRC/openSUSE:Factory/mozilla-nss/mozilla-nss.changes  2021-07-17 
23:36:28.402046210 +0200
+++ /work/SRC/openSUSE:Factory/.mozilla-nss.new.1899/mozilla-nss.changes        
2021-08-16 10:13:13.922982621 +0200
@@ -1,0 +2,14 @@
+Thu Aug  5 15:21:31 UTC 2021 - Wolfgang Rosenauer <[email protected]>
+
+- update to NSS 3.68
+  * bmo#1713562 - Fix test leak.
+  * bmo#1717452 - NSS 3.68 should depend on NSPR 4.32.
+  * bmo#1693206 - Implement PKCS8 export of ECDSA keys.
+  * bmo#1712883 - DTLS 1.3 draft-43.
+  * bmo#1655493 - Support SHA2 HW acceleration using Intel SHA Extension.
+  * bmo#1713562 - Validate ECH public names.
+  * bmo#1717610 - Add function to get seconds from epoch from pkix::Time.
+- required by Firefox 91.0
+- added nss-fips-fix-missing-nspr.patch (via SLE sync)
+
+-------------------------------------------------------------------

Old:
----
  nss-3.66.tar.gz

New:
----
  nss-3.68.tar.gz
  nss-fips-fix-missing-nspr.patch

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

Other differences:
------------------
++++++ mozilla-nss.spec ++++++
--- /var/tmp/diff_new_pack.96c7fW/_old  2021-08-16 10:13:16.118980045 +0200
+++ /var/tmp/diff_new_pack.96c7fW/_new  2021-08-16 10:13:16.118980045 +0200
@@ -17,14 +17,14 @@
 #
 
 
-%global nss_softokn_fips_version 3.66
-%define NSPR_min_version 4.31
+%global nss_softokn_fips_version 3.68
+%define NSPR_min_version 4.32
 %define nspr_ver %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
 %define nssdbdir %{_sysconfdir}/pki/nssdb
 Name:           mozilla-nss
-Version:        3.66
+Version:        3.68
 Release:        0
-%define underscore_version 3_66
+%define underscore_version 3_68
 Summary:        Network Security Services
 License:        MPL-2.0
 Group:          System/Libraries
@@ -69,6 +69,7 @@
 Patch26:        nss-fips-combined-hash-sign-dsa-ecdsa.patch
 Patch27:        nss-fips-aes-keywrap-post.patch
 Patch28:        nss-btrfs-sqlite.patch
+Patch37:        nss-fips-fix-missing-nspr.patch
 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
 # aarch64 + gcc4.8 fails to build on SLE-12 due to undefined references
 BuildRequires:  gcc9-c++
@@ -225,6 +226,7 @@
 %patch26 -p1
 %patch27 -p1
 %patch28 -p1
+%patch37 -p2
 
 # additional CA certificates
 #cd security/nss/lib/ckfw/builtins



++++++ nss-3.66.tar.gz -> nss-3.68.tar.gz ++++++
/work/SRC/openSUSE:Factory/mozilla-nss/nss-3.66.tar.gz 
/work/SRC/openSUSE:Factory/.mozilla-nss.new.1899/nss-3.68.tar.gz differ: char 
5, line 1

++++++ nss-fips-fix-missing-nspr.patch ++++++
diff --git a/nss/lib/freebl/drbg.c b/nss/lib/freebl/drbg.c
index 3ed1751..65fee9a 100644
--- a/nss/lib/freebl/drbg.c
+++ b/nss/lib/freebl/drbg.c
@@ -6,6 +6,8 @@
 #include "stubs.h"
 #endif
 
+#include <unistd.h>
+
 #include "prerror.h"
 #include "secerr.h"
 
@@ -182,11 +184,30 @@ prng_initEntropy(void)
     PRUint8 block[PRNG_ENTROPY_BLOCK_SIZE];
     SHA256Context ctx;
 
+    /* Don't have NSPR, so can't use the real PR_CallOnce. Implement a stripped
+     * down version. This is similar to freebl_RunLoaderOnce(). */
+    if (coRNGInitEntropy.initialized) {
+        return coRNGInitEntropy.status;
+    }
+    if (__sync_lock_test_and_set(&coRNGInitEntropy.inProgress, 1) != 0) {
+        /* Shouldn't have a lot of takers here, which is good
+         * since we don't have condition variables yet.
+         * 'initialized' only ever gets set (not cleared) so we don't
+         * need the traditional locks. */
+        while (!coRNGInitEntropy.initialized) {
+            sleep(1); /* don't have condition variables, just give up the CPU 
*/
+        }
+        return coRNGInitEntropy.status;
+    }
+
     /* For FIPS 140-2 4.9.2 continuous random number generator test,
      * fetch the initial entropy from the system RNG and keep it for
      * later comparison. */
     length = RNG_SystemRNG(block, sizeof(block));
     if (length == 0) {
+        coRNGInitEntropy.status = PR_FAILURE;
+        __sync_synchronize ();
+        coRNGInitEntropy.initialized = 1;
         return PR_FAILURE; /* error is already set */
     }
     PORT_Assert(length == sizeof(block));
@@ -199,6 +220,10 @@ prng_initEntropy(void)
                sizeof(globalrng->previousEntropyHash));
     PORT_Memset(block, 0, sizeof(block));
     SHA256_DestroyContext(&ctx, PR_FALSE);
+
+    coRNGInitEntropy.status = PR_SUCCESS;
+    __sync_synchronize ();
+    coRNGInitEntropy.initialized = 1;
     return PR_SUCCESS;
 }
 
@@ -211,7 +236,7 @@ prng_getEntropy(PRUint8 *buffer, size_t requestLength)
     SHA256Context ctx;
     SECStatus rv = SECSuccess;
 
-    if (PR_CallOnce(&coRNGInitEntropy, prng_initEntropy) != PR_SUCCESS) {
+    if (prng_initEntropy () != PR_SUCCESS) {
         PORT_SetError(SEC_ERROR_LIBRARY_FAILURE);
         return SECFailure;
     }
@@ -842,7 +867,21 @@ PRNGTEST_Generate(PRUint8 *bytes, unsigned int bytes_len,
     }
     /* replicate reseed test from prng_GenerateGlobalRandomBytes */
     if (testContext.reseed_counter[0] >= RESEED_VALUE) {
-        rv = prng_reseed(&testContext, NULL, 0, NULL, 0);
+        /* We need to supply the entropy so as to avoid use of global RNG */
+        static const PRUint8 reseed_entropy[] = {
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+        };
+        static const PRUint8 additional_input[] = {
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+            0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
+        };
+        rv = prng_reseed(&testContext, reseed_entropy, sizeof reseed_entropy,
+                         additional_input, sizeof additional_input);
         if (rv != SECSuccess) {
             return rv;
         }

Reply via email to