Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: patches/nss-chacha20-poly1305.patch

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patches/nss-chacha20-poly1305.patch
diff --git a/patches/nss-chacha20-poly1305.patch b/patches/nss-chacha20-poly1305.patch
index e127a62ab44d6fee295ab1b89b7f0715ccc1f575..8fd77bd8f2adc1fbab3fa00a22e65b8872f22fd1 100644
--- a/patches/nss-chacha20-poly1305.patch
+++ b/patches/nss-chacha20-poly1305.patch
@@ -1,7 +1,7 @@
-diff --git a/nss/lib/freebl/blapi.h b/nss/lib/freebl/blapi.h
+diff --git a/lib/freebl/blapi.h b/lib/freebl/blapi.h
index 8324714..682be76 100644
---- a/nss/lib/freebl/blapi.h
-+++ b/nss/lib/freebl/blapi.h
+--- a/lib/freebl/blapi.h
++++ b/lib/freebl/blapi.h
@@ -986,6 +986,38 @@ Camellia_Decrypt(CamelliaContext *cx, unsigned char *output,
unsigned int *outputLen, unsigned int maxOutputLen,
const unsigned char *input, unsigned int inputLen);
@@ -41,10 +41,10 @@ index 8324714..682be76 100644
/******************************************/
/*
-diff --git a/nss/lib/freebl/blapit.h b/nss/lib/freebl/blapit.h
+diff --git a/lib/freebl/blapit.h b/lib/freebl/blapit.h
index 8e172d4..5726dc7 100644
---- a/nss/lib/freebl/blapit.h
-+++ b/nss/lib/freebl/blapit.h
+--- a/lib/freebl/blapit.h
++++ b/lib/freebl/blapit.h
@@ -222,6 +222,7 @@ struct SHA256ContextStr ;
struct SHA512ContextStr ;
struct AESKeyWrapContextStr ;
@@ -61,11 +61,11 @@ index 8e172d4..5726dc7 100644
/***************************************************************************
** RSA Public and Private Key structures
-diff --git a/nss/lib/freebl/chacha20/chacha20.c b/nss/lib/freebl/chacha20/chacha20.c
+diff --git a/lib/freebl/chacha20/chacha20.c b/lib/freebl/chacha20/chacha20.c
new file mode 100644
index 0000000..ca0b1ff
--- /dev/null
-+++ b/nss/lib/freebl/chacha20/chacha20.c
++++ b/lib/freebl/chacha20/chacha20.c
@@ -0,0 +1,108 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -175,11 +175,11 @@ index 0000000..ca0b1ff
+ }
+ }
+}
-diff --git a/nss/lib/freebl/chacha20/chacha20.h b/nss/lib/freebl/chacha20/chacha20.h
+diff --git a/lib/freebl/chacha20/chacha20.h b/lib/freebl/chacha20/chacha20.h
new file mode 100644
index 0000000..6336ba7
--- /dev/null
-+++ b/nss/lib/freebl/chacha20/chacha20.h
++++ b/lib/freebl/chacha20/chacha20.h
@@ -0,0 +1,22 @@
+/*
+ * chacha20.h - header file for ChaCha20 implementation.
@@ -203,11 +203,11 @@ index 0000000..6336ba7
+ uint64_t counter);
+
+#endif /* FREEBL_CHACHA20_H_ */
-diff --git a/nss/lib/freebl/chacha20/chacha20_vec.c b/nss/lib/freebl/chacha20/chacha20_vec.c
+diff --git a/lib/freebl/chacha20/chacha20_vec.c b/lib/freebl/chacha20/chacha20_vec.c
new file mode 100644
index 0000000..c3573b3
--- /dev/null
-+++ b/nss/lib/freebl/chacha20/chacha20_vec.c
++++ b/lib/freebl/chacha20/chacha20_vec.c
@@ -0,0 +1,281 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -490,11 +490,11 @@ index 0000000..c3573b3
+ }
+ }
+}
-diff --git a/nss/lib/freebl/chacha20poly1305.c b/nss/lib/freebl/chacha20poly1305.c
+diff --git a/lib/freebl/chacha20poly1305.c b/lib/freebl/chacha20poly1305.c
new file mode 100644
index 0000000..6fa5c4b
--- /dev/null
-+++ b/nss/lib/freebl/chacha20poly1305.c
++++ b/lib/freebl/chacha20poly1305.c
@@ -0,0 +1,169 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -665,11 +665,11 @@ index 0000000..6fa5c4b
+
+ return SECSuccess;
+}
-diff --git a/nss/lib/freebl/chacha20poly1305.h b/nss/lib/freebl/chacha20poly1305.h
+diff --git a/lib/freebl/chacha20poly1305.h b/lib/freebl/chacha20poly1305.h
new file mode 100644
index 0000000..c77632a
--- /dev/null
-+++ b/nss/lib/freebl/chacha20poly1305.h
++++ b/lib/freebl/chacha20poly1305.h
@@ -0,0 +1,15 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -686,11 +686,11 @@ index 0000000..c77632a
+};
+
+#endif /* _CHACHA20_POLY1305_H_ */
-diff --git a/nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c b/nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c
+diff --git a/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c b/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c
new file mode 100644
index 0000000..38cbf35
--- /dev/null
-+++ b/nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c
++++ b/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c
@@ -0,0 +1,623 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1315,11 +1315,11 @@ index 0000000..38cbf35
+ U64TO8_LE(mac + 0, ((h0 ) | (h1 << 44)));
+ U64TO8_LE(mac + 8, ((h1 >> 20) | (h2 << 24)));
+}
-diff --git a/nss/lib/freebl/poly1305/poly1305.c b/nss/lib/freebl/poly1305/poly1305.c
+diff --git a/lib/freebl/poly1305/poly1305.c b/lib/freebl/poly1305/poly1305.c
new file mode 100644
index 0000000..d86048a
--- /dev/null
-+++ b/nss/lib/freebl/poly1305/poly1305.c
++++ b/lib/freebl/poly1305/poly1305.c
@@ -0,0 +1,254 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1575,11 +1575,11 @@ index 0000000..d86048a
+ U32TO8_LE(&mac[ 8], (uint32_t)f2); f3 += (f2 >> 32);
+ U32TO8_LE(&mac[12], (uint32_t)f3);
+}
-diff --git a/nss/lib/freebl/poly1305/poly1305.h b/nss/lib/freebl/poly1305/poly1305.h
+diff --git a/lib/freebl/poly1305/poly1305.h b/lib/freebl/poly1305/poly1305.h
new file mode 100644
index 0000000..4beb172
--- /dev/null
-+++ b/nss/lib/freebl/poly1305/poly1305.h
++++ b/lib/freebl/poly1305/poly1305.h
@@ -0,0 +1,31 @@
+/*
+ * poly1305.h - header file for Poly1305 implementation.
@@ -1612,10 +1612,10 @@ index 0000000..4beb172
+ unsigned char mac[16]);
+
+#endif /* FREEBL_POLY1305_H_ */
-diff --git a/nss/lib/pk11wrap/pk11mech.c b/nss/lib/pk11wrap/pk11mech.c
-index b7a7296..edc7a9b 100644
---- a/nss/lib/pk11wrap/pk11mech.c
-+++ b/nss/lib/pk11wrap/pk11mech.c
+diff --git a/lib/pk11wrap/pk11mech.c b/lib/pk11wrap/pk11mech.c
+index 29e86e6..0ebb075 100644
+--- a/lib/pk11wrap/pk11mech.c
++++ b/lib/pk11wrap/pk11mech.c
@@ -152,6 +152,8 @@ PK11_GetKeyMechanism(CK_KEY_TYPE type)
return CKM_SEED_CBC;
case CKK_CAMELLIA:
@@ -1634,7 +1634,7 @@ index b7a7296..edc7a9b 100644
case CKM_AES_ECB:
case CKM_AES_CBC:
case CKM_AES_CCM:
-@@ -429,6 +433,8 @@ PK11_GetKeyGenWithSize(CK_MECHANISM_TYPE type, int size)
+@@ -431,6 +435,8 @@ PK11_GetKeyGenWithSize(CK_MECHANISM_TYPE type, int size)
case CKM_CAMELLIA_CBC_PAD:
case CKM_CAMELLIA_KEY_GEN:
return CKM_CAMELLIA_KEY_GEN;
@@ -1643,10 +1643,10 @@ index b7a7296..edc7a9b 100644
case CKM_AES_ECB:
case CKM_AES_CBC:
case CKM_AES_CCM:
-diff --git a/nss/lib/softoken/pkcs11.c b/nss/lib/softoken/pkcs11.c
-index bd7c4bd..716922f 100644
---- a/nss/lib/softoken/pkcs11.c
-+++ b/nss/lib/softoken/pkcs11.c
+diff --git a/lib/softoken/pkcs11.c b/lib/softoken/pkcs11.c
+index 97d6d3f..75c9e8e 100644
+--- a/lib/softoken/pkcs11.c
++++ b/lib/softoken/pkcs11.c
@@ -370,6 +370,9 @@ static const struct mechanismList mechanisms[] = {
{CKM_SEED_MAC, {16, 16, CKF_SN_VR}, PR_TRUE},
{CKM_SEED_MAC_GENERAL, {16, 16, CKF_SN_VR}, PR_TRUE},
@@ -1657,11 +1657,11 @@ index bd7c4bd..716922f 100644
/* ------------------------- Hashing Operations ----------------------- */
{CKM_MD2, {0, 0, CKF_DIGEST}, PR_FALSE},
{CKM_MD2_HMAC, {1, 128, CKF_SN_VR}, PR_TRUE},
-diff --git a/nss/lib/softoken/pkcs11c.c b/nss/lib/softoken/pkcs11c.c
-index fc050f3..955d4c9 100644
---- a/nss/lib/softoken/pkcs11c.c
-+++ b/nss/lib/softoken/pkcs11c.c
-@@ -663,6 +663,97 @@ sftk_RSADecryptOAEP(SFTKOAEPDecryptInfo *info, unsigned char *output,
+diff --git a/lib/softoken/pkcs11c.c b/lib/softoken/pkcs11c.c
+index 8755f24..992fba4 100644
+--- a/lib/softoken/pkcs11c.c
++++ b/lib/softoken/pkcs11c.c
+@@ -664,6 +664,97 @@ sftk_RSADecryptOAEP(SFTKOAEPDecryptInfo *info, unsigned char *output,
return rv;
}
@@ -1759,7 +1759,7 @@ index fc050f3..955d4c9 100644
/** NSC_CryptInit initializes an encryption/Decryption operation.
*
* Always called by NSC_EncryptInit, NSC_DecryptInit, NSC_WrapKey,NSC_UnwrapKey.
-@@ -1056,6 +1147,35 @@ finish_des:
+@@ -1057,6 +1148,35 @@ finish_des:
context->destroy = (SFTKDestroy) AES_DestroyContext;
break;
@@ -1795,7 +1795,7 @@ index fc050f3..955d4c9 100644
case CKM_NETSCAPE_AES_KEY_WRAP_PAD:
context->doPad = PR_TRUE;
/* fall thru */
-@@ -3609,6 +3729,10 @@ nsc_SetupBulkKeyGen(CK_MECHANISM_TYPE mechanism, CK_KEY_TYPE *key_type,
+@@ -3654,6 +3774,10 @@ nsc_SetupBulkKeyGen(CK_MECHANISM_TYPE mechanism, CK_KEY_TYPE *key_type,
*key_type = CKK_AES;
if (*key_length == 0) crv = CKR_TEMPLATE_INCOMPLETE;
break;
@@ -1806,7 +1806,7 @@ index fc050f3..955d4c9 100644
default:
PORT_Assert(0);
crv = CKR_MECHANISM_INVALID;
-@@ -3854,6 +3978,7 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
+@@ -3900,6 +4024,7 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
case CKM_SEED_KEY_GEN:
case CKM_CAMELLIA_KEY_GEN:
case CKM_AES_KEY_GEN:
@@ -1814,10 +1814,10 @@ index fc050f3..955d4c9 100644
#if NSS_SOFTOKEN_DOES_RC5
case CKM_RC5_KEY_GEN:
#endif
-diff --git a/nss/lib/softoken/pkcs11i.h b/nss/lib/softoken/pkcs11i.h
-index 9a00273..175bb78 100644
---- a/nss/lib/softoken/pkcs11i.h
-+++ b/nss/lib/softoken/pkcs11i.h
+diff --git a/lib/softoken/pkcs11i.h b/lib/softoken/pkcs11i.h
+index 1023a00..4e8601b 100644
+--- a/lib/softoken/pkcs11i.h
++++ b/lib/softoken/pkcs11i.h
@@ -14,6 +14,7 @@
#include "pkcs11t.h"
@@ -1851,10 +1851,10 @@ index 9a00273..175bb78 100644
/*
* Template based on SECItems, suitable for passing as arrays
*/
-diff --git a/nss/lib/util/pkcs11n.h b/nss/lib/util/pkcs11n.h
-index a1a0ebb..d48cef6 100644
---- a/nss/lib/util/pkcs11n.h
-+++ b/nss/lib/util/pkcs11n.h
+diff --git a/lib/util/pkcs11n.h b/lib/util/pkcs11n.h
+index 5e13784..86a396f 100644
+--- a/lib/util/pkcs11n.h
++++ b/lib/util/pkcs11n.h
@@ -51,6 +51,8 @@
#define CKK_NSS_JPAKE_ROUND1 (CKK_NSS + 2)
#define CKK_NSS_JPAKE_ROUND2 (CKK_NSS + 3)
@@ -1864,17 +1864,17 @@ index a1a0ebb..d48cef6 100644
/*
* NSS-defined certificate types
*
-@@ -214,6 +216,9 @@
- #define CKM_NSS_TLS_KEY_AND_MAC_DERIVE_SHA256 (CKM_NSS + 23)
- #define CKM_NSS_TLS_MASTER_KEY_DERIVE_DH_SHA256 (CKM_NSS + 24)
+@@ -218,6 +220,9 @@
+ #define CKM_NSS_TLS_EXTENDED_MASTER_KEY_DERIVE (CKM_NSS + 25)
+ #define CKM_NSS_TLS_EXTENDED_MASTER_KEY_DERIVE_DH (CKM_NSS + 26)
-+#define CKM_NSS_CHACHA20_KEY_GEN (CKM_NSS + 25)
-+#define CKM_NSS_CHACHA20_POLY1305 (CKM_NSS + 26)
++#define CKM_NSS_CHACHA20_KEY_GEN (CKM_NSS + 27)
++#define CKM_NSS_CHACHA20_POLY1305 (CKM_NSS + 28)
+
/*
* HISTORICAL:
* Do not attempt to use these. They are only used by NETSCAPE's internal
-@@ -281,6 +286,14 @@ typedef struct CK_NSS_MAC_CONSTANT_TIME_PARAMS {
+@@ -285,6 +290,14 @@ typedef struct CK_NSS_MAC_CONSTANT_TIME_PARAMS {
CK_ULONG ulHeaderLen; /* in */
} CK_NSS_MAC_CONSTANT_TIME_PARAMS;

Powered by Google App Engine
This is Rietveld 408576698