Bug 1432177, land NSS_3_36_RTM, r=franziskus
authorKai Engert <kaie@kuix.de>
Mon, 05 Mar 2018 17:16:06 +0100
changeset 406547 7ced88e883e9fd53d4f387bc87b639f46fbb511f
parent 406546 7aa0c88ffbb04ba284958c39d925f3870def5697
child 406548 66ab96fc4782cbbc7d15ac5f542619a8cb3a407f
push id100463
push userkaie@kuix.de
push dateMon, 05 Mar 2018 16:15:25 +0000
treeherdermozilla-inbound@7ced88e883e9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfranziskus
bugs1432177
milestone60.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1432177, land NSS_3_36_RTM, r=franziskus UPGRADE_NSS_RELEASE
security/nss/TAG-INFO
security/nss/automation/taskcluster/docker-hacl/Dockerfile
security/nss/coreconf/coreconf.dep
security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c
security/nss/lib/freebl/verified/kremlib_base.h
security/nss/lib/nss/nss.h
security/nss/lib/softoken/softkver.h
security/nss/lib/util/nssutil.h
--- a/security/nss/TAG-INFO
+++ b/security/nss/TAG-INFO
@@ -1,1 +1,1 @@
-NSS_3_36_BETA3
+NSS_3_36_RTM
--- a/security/nss/automation/taskcluster/docker-hacl/Dockerfile
+++ b/security/nss/automation/taskcluster/docker-hacl/Dockerfile
@@ -1,20 +1,20 @@
 FROM ubuntu:xenial
 
 MAINTAINER Franziskus Kiefer <franziskuskiefer@gmail.com>
 # Based on the HACL* image from Benjamin Beurdouche and
 # the original F* formula with Daniel Fabian
 
 # Pinned versions of HACL* (F* and KreMLin are pinned as submodules)
-ENV haclrepo https://github.com/mitls/hacl-star.git
+ENV haclrepo https://github.com/franziskuskiefer/hacl-star.git
 
 # Define versions of dependencies
 ENV opamv 4.04.2
-ENV haclversion 104de0fbc83939a5e76012d64e3db2b3c0524bd1
+ENV haclversion 668d6cf274c33bbe2e951e3a84b73f2b6442a51f
 
 # Install required packages and set versions
 ADD setup.sh /tmp/setup.sh
 RUN bash /tmp/setup.sh
 
 # Create user, add scripts.
 RUN useradd -ms /bin/bash worker
 WORKDIR /home/worker
--- a/security/nss/coreconf/coreconf.dep
+++ b/security/nss/coreconf/coreconf.dep
@@ -5,8 +5,9 @@
 
 /*
  * A dummy header file that is a dependency for all the object files.
  * Used to force a full recompilation of NSS in Mozilla's Tinderbox
  * depend builds.  See comments in rules.mk.
  */
 
 #error "Do not include this header file."
+
--- a/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c
+++ b/security/nss/lib/freebl/verified/Hacl_Chacha20_Vec128.c
@@ -220,44 +220,38 @@ Hacl_Impl_Chacha20_Vec128_update_last(ui
     for (uint32_t i = (uint32_t)0U; i < len; i = i + (uint32_t)1U) {
         uint8_t xi = plain[i];
         uint8_t yi = mask[i];
         output[i] = xi ^ yi;
     }
 }
 
 static void
-Hacl_Impl_Chacha20_Vec128_store_4_vec(uint8_t *output, vec v0, vec v1, vec v2, vec v3)
-{
-    uint8_t *o0 = output;
-    uint8_t *o1 = output + (uint32_t)16U;
-    uint8_t *o2 = output + (uint32_t)32U;
-    uint8_t *o3 = output + (uint32_t)48U;
-    vec_store_le(o0, v0);
-    vec_store_le(o1, v1);
-    vec_store_le(o2, v2);
-    vec_store_le(o3, v3);
-}
-
-static void
 Hacl_Impl_Chacha20_Vec128_xor_block(uint8_t *output, uint8_t *plain, vec *st)
 {
     vec p0 = vec_load_le(plain);
     vec p1 = vec_load_le(plain + (uint32_t)16U);
     vec p2 = vec_load_le(plain + (uint32_t)32U);
     vec p3 = vec_load_le(plain + (uint32_t)48U);
     vec k0 = st[0U];
     vec k1 = st[1U];
     vec k2 = st[2U];
     vec k3 = st[3U];
-    vec o0 = vec_xor(p0, k0);
-    vec o1 = vec_xor(p1, k1);
-    vec o2 = vec_xor(p2, k2);
-    vec o3 = vec_xor(p3, k3);
-    Hacl_Impl_Chacha20_Vec128_store_4_vec(output, o0, o1, o2, o3);
+    vec o00 = vec_xor(p0, k0);
+    vec o10 = vec_xor(p1, k1);
+    vec o20 = vec_xor(p2, k2);
+    vec o30 = vec_xor(p3, k3);
+    uint8_t *o0 = output;
+    uint8_t *o1 = output + (uint32_t)16U;
+    uint8_t *o2 = output + (uint32_t)32U;
+    uint8_t *o3 = output + (uint32_t)48U;
+    vec_store_le(o0, o00);
+    vec_store_le(o1, o10);
+    vec_store_le(o2, o20);
+    vec_store_le(o3, o30);
 }
 
 static void
 Hacl_Impl_Chacha20_Vec128_update(uint8_t *output, uint8_t *plain, vec *st)
 {
     KRML_CHECK_SIZE(vec_zero(), (uint32_t)4U);
     vec k[4U];
     for (uint32_t _i = 0U; _i < (uint32_t)4U; ++_i)
--- a/security/nss/lib/freebl/verified/kremlib_base.h
+++ b/security/nss/lib/freebl/verified/kremlib_base.h
@@ -12,16 +12,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef __KREMLIB_BASE_H
 #define __KREMLIB_BASE_H
 
 #include <inttypes.h>
+#include <limits.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
 
 /******************************************************************************/
 /* Some macros to ease compatibility                                          */
--- a/security/nss/lib/nss/nss.h
+++ b/security/nss/lib/nss/nss.h
@@ -17,22 +17,22 @@
 
 /*
  * NSS's major version, minor version, patch level, build number, and whether
  * this is a beta release.
  *
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
  */
-#define NSS_VERSION "3.36" _NSS_CUSTOMIZED " Beta"
+#define NSS_VERSION "3.36" _NSS_CUSTOMIZED
 #define NSS_VMAJOR 3
 #define NSS_VMINOR 36
 #define NSS_VPATCH 0
 #define NSS_VBUILD 0
-#define NSS_BETA PR_TRUE
+#define NSS_BETA PR_FALSE
 
 #ifndef RC_INVOKED
 
 #include "seccomon.h"
 
 typedef struct NSSInitParametersStr NSSInitParameters;
 
 /*
--- a/security/nss/lib/softoken/softkver.h
+++ b/security/nss/lib/softoken/softkver.h
@@ -12,16 +12,16 @@
 
 /*
  * Softoken's major version, minor version, patch level, build number,
  * and whether this is a beta release.
  *
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
  */
-#define SOFTOKEN_VERSION "3.36" SOFTOKEN_ECC_STRING " Beta"
+#define SOFTOKEN_VERSION "3.36" SOFTOKEN_ECC_STRING
 #define SOFTOKEN_VMAJOR 3
 #define SOFTOKEN_VMINOR 36
 #define SOFTOKEN_VPATCH 0
 #define SOFTOKEN_VBUILD 0
-#define SOFTOKEN_BETA PR_TRUE
+#define SOFTOKEN_BETA PR_FALSE
 
 #endif /* _SOFTKVER_H_ */
--- a/security/nss/lib/util/nssutil.h
+++ b/security/nss/lib/util/nssutil.h
@@ -14,22 +14,22 @@
 
 /*
  * NSS utilities's major version, minor version, patch level, build number,
  * and whether this is a beta release.
  *
  * The format of the version string should be
  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]"
  */
-#define NSSUTIL_VERSION "3.36 Beta"
+#define NSSUTIL_VERSION "3.36"
 #define NSSUTIL_VMAJOR 3
 #define NSSUTIL_VMINOR 36
 #define NSSUTIL_VPATCH 0
 #define NSSUTIL_VBUILD 0
-#define NSSUTIL_BETA PR_TRUE
+#define NSSUTIL_BETA PR_FALSE
 
 SEC_BEGIN_PROTOS
 
 /*
  * Returns a const string of the UTIL library version.
  */
 extern const char *NSSUTIL_GetVersion(void);