Index: patches/nss-static.patch |
diff --git a/patches/nss-static.patch b/patches/nss-static.patch |
index dcdb5f08aa6a4805183aa9b1191e46216ec72cbf..7bbf617540799fb8cebbe9997ce7808865906b90 100644 |
--- a/patches/nss-static.patch |
+++ b/patches/nss-static.patch |
@@ -1,6 +1,7 @@ |
-diff -r db5b7e3c69a5 lib/certhigh/certvfy.c |
---- a/lib/certhigh/certvfy.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/certhigh/certvfy.c Fri May 31 17:44:06 2013 -0700 |
+diff --git a/nss/lib/certhigh/certvfy.c b/nss/lib/certhigh/certvfy.c |
+index 3141163..c9d26f0 100644 |
+--- a/nss/lib/certhigh/certvfy.c |
++++ b/nss/lib/certhigh/certvfy.c |
@@ -13,9 +13,11 @@ |
#include "certdb.h" |
#include "certi.h" |
@@ -61,10 +62,11 @@ diff -r db5b7e3c69a5 lib/certhigh/certvfy.c |
/* |
* Check the validity times of a certificate |
*/ |
-diff -r db5b7e3c69a5 lib/ckfw/nssck.api |
---- a/lib/ckfw/nssck.api Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/ckfw/nssck.api Fri May 31 17:44:06 2013 -0700 |
-@@ -1752,7 +1752,7 @@ |
+diff --git a/nss/lib/ckfw/nssck.api b/nss/lib/ckfw/nssck.api |
+index 55b4351..8364258 100644 |
+--- a/nss/lib/ckfw/nssck.api |
++++ b/nss/lib/ckfw/nssck.api |
+@@ -1752,7 +1752,7 @@ C_WaitForSlotEvent |
} |
#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ |
@@ -73,7 +75,7 @@ diff -r db5b7e3c69a5 lib/ckfw/nssck.api |
__ADJOIN(MODULE_NAME,C_GetFunctionList) |
( |
CK_FUNCTION_LIST_PTR_PTR ppFunctionList |
-@@ -1830,7 +1830,7 @@ |
+@@ -1830,7 +1830,7 @@ __ADJOIN(MODULE_NAME,C_CancelFunction), |
__ADJOIN(MODULE_NAME,C_WaitForSlotEvent) |
}; |
@@ -82,7 +84,7 @@ diff -r db5b7e3c69a5 lib/ckfw/nssck.api |
__ADJOIN(MODULE_NAME,C_GetFunctionList) |
( |
CK_FUNCTION_LIST_PTR_PTR ppFunctionList |
-@@ -1840,6 +1840,7 @@ |
+@@ -1840,6 +1840,7 @@ __ADJOIN(MODULE_NAME,C_GetFunctionList) |
return CKR_OK; |
} |
@@ -90,7 +92,7 @@ diff -r db5b7e3c69a5 lib/ckfw/nssck.api |
/* This one is always present */ |
CK_RV CK_ENTRY |
C_GetFunctionList |
-@@ -1849,6 +1850,7 @@ |
+@@ -1849,6 +1850,7 @@ C_GetFunctionList |
{ |
return __ADJOIN(MODULE_NAME,C_GetFunctionList)(ppFunctionList); |
} |
@@ -98,10 +100,11 @@ diff -r db5b7e3c69a5 lib/ckfw/nssck.api |
#undef __ADJOIN |
-diff -r db5b7e3c69a5 lib/freebl/rsa.c |
---- a/lib/freebl/rsa.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/freebl/rsa.c Fri May 31 17:44:06 2013 -0700 |
-@@ -1559,6 +1559,13 @@ |
+diff --git a/nss/lib/freebl/rsa.c b/nss/lib/freebl/rsa.c |
+index 498cc96..780c3c7 100644 |
+--- a/nss/lib/freebl/rsa.c |
++++ b/nss/lib/freebl/rsa.c |
+@@ -1535,6 +1535,13 @@ void BL_Cleanup(void) |
RSA_Cleanup(); |
} |
@@ -115,10 +118,11 @@ diff -r db5b7e3c69a5 lib/freebl/rsa.c |
PRBool bl_parentForkedAfterC_Initialize; |
/* |
-diff -r db5b7e3c69a5 lib/freebl/shvfy.c |
---- a/lib/freebl/shvfy.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/freebl/shvfy.c Fri May 31 17:44:06 2013 -0700 |
-@@ -273,9 +273,21 @@ |
+diff --git a/nss/lib/freebl/shvfy.c b/nss/lib/freebl/shvfy.c |
+index ad64a26..33714b8 100644 |
+--- a/nss/lib/freebl/shvfy.c |
++++ b/nss/lib/freebl/shvfy.c |
+@@ -273,9 +273,21 @@ readItem(PRFileDesc *fd, SECItem *item) |
return SECSuccess; |
} |
@@ -140,7 +144,7 @@ diff -r db5b7e3c69a5 lib/freebl/shvfy.c |
PRBool result = PR_FALSE; /* if anything goes wrong, |
* the signature does not verify */ |
/* find our shared library name */ |
-@@ -291,11 +303,15 @@ |
+@@ -291,11 +303,15 @@ loser: |
} |
return result; |
@@ -156,7 +160,7 @@ diff -r db5b7e3c69a5 lib/freebl/shvfy.c |
char *checkName = NULL; |
PRFileDesc *checkFD = NULL; |
PRFileDesc *shFD = NULL; |
-@@ -492,6 +508,7 @@ |
+@@ -492,6 +508,7 @@ loser: |
} |
return result; |
@@ -164,10 +168,11 @@ diff -r db5b7e3c69a5 lib/freebl/shvfy.c |
} |
PRBool |
-diff -r db5b7e3c69a5 lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
---- a/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c Fri May 31 17:44:06 2013 -0700 |
-@@ -201,7 +201,10 @@ |
+diff --git a/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c b/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
+index 30aefb8..ac814cd 100755 |
+--- a/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
++++ b/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
+@@ -201,7 +201,10 @@ certCallback(void *arg, SECItem **secitemCerts, int numcerts) |
typedef SECStatus (*pkix_DecodeCertsFunc)(char *certbuf, int certlen, |
CERTImportCertificateFunc f, void *arg); |
@@ -179,7 +184,7 @@ diff -r db5b7e3c69a5 lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
struct pkix_DecodeFuncStr { |
pkix_DecodeCertsFunc func; /* function pointer to the |
-@@ -223,6 +226,11 @@ |
+@@ -223,6 +226,11 @@ static const PRCallOnceType pkix_pristine; |
*/ |
static PRStatus PR_CALLBACK pkix_getDecodeFunction(void) |
{ |
@@ -191,7 +196,7 @@ diff -r db5b7e3c69a5 lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
pkix_decodeFunc.smimeLib = |
PR_LoadLibrary(SHLIB_PREFIX"smime3."SHLIB_SUFFIX); |
if (pkix_decodeFunc.smimeLib == NULL) { |
-@@ -235,7 +243,7 @@ |
+@@ -235,7 +243,7 @@ static PRStatus PR_CALLBACK pkix_getDecodeFunction(void) |
return PR_FAILURE; |
} |
return PR_SUCCESS; |
@@ -200,9 +205,10 @@ diff -r db5b7e3c69a5 lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c |
} |
/* |
-diff -r db5b7e3c69a5 lib/nss/nssinit.c |
---- a/lib/nss/nssinit.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/nss/nssinit.c Fri May 31 17:44:06 2013 -0700 |
+diff --git a/nss/lib/nss/nssinit.c b/nss/lib/nss/nssinit.c |
+index 6218a7e..208e71d 100644 |
+--- a/nss/lib/nss/nssinit.c |
++++ b/nss/lib/nss/nssinit.c |
@@ -20,9 +20,11 @@ |
#include "secerr.h" |
#include "nssbase.h" |
@@ -215,7 +221,7 @@ diff -r db5b7e3c69a5 lib/nss/nssinit.c |
#include "pki3hack.h" |
#include "certi.h" |
-@@ -530,8 +532,10 @@ |
+@@ -530,8 +532,10 @@ nss_Init(const char *configdir, const char *certPrefix, const char *keyPrefix, |
PRBool dontFinalizeModules) |
{ |
SECStatus rv = SECFailure; |
@@ -226,7 +232,7 @@ diff -r db5b7e3c69a5 lib/nss/nssinit.c |
PRBool isReallyInitted; |
char *configStrings = NULL; |
char *configName = NULL; |
-@@ -685,6 +689,7 @@ |
+@@ -685,6 +689,7 @@ nss_Init(const char *configdir, const char *certPrefix, const char *keyPrefix, |
pk11sdr_Init(); |
cert_CreateSubjectKeyIDHashTable(); |
@@ -234,7 +240,7 @@ diff -r db5b7e3c69a5 lib/nss/nssinit.c |
pkixError = PKIX_Initialize |
(PKIX_FALSE, PKIX_MAJOR_VERSION, PKIX_MINOR_VERSION, |
PKIX_MINOR_VERSION, &actualMinorVersion, &plContext); |
-@@ -697,6 +702,7 @@ |
+@@ -697,6 +702,7 @@ nss_Init(const char *configdir, const char *certPrefix, const char *keyPrefix, |
CERT_SetUsePKIXForValidation(PR_TRUE); |
} |
} |
@@ -242,7 +248,7 @@ diff -r db5b7e3c69a5 lib/nss/nssinit.c |
} |
-@@ -1081,7 +1087,9 @@ |
+@@ -1081,7 +1087,9 @@ nss_Shutdown(void) |
cert_DestroyLocks(); |
ShutdownCRLCache(); |
OCSP_ShutdownGlobal(); |
@@ -252,10 +258,11 @@ diff -r db5b7e3c69a5 lib/nss/nssinit.c |
SECOID_Shutdown(); |
status = STAN_Shutdown(); |
cert_DestroySubjectKeyIDHashTable(); |
-diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
---- a/lib/pk11wrap/pk11load.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/pk11wrap/pk11load.c Fri May 31 17:44:06 2013 -0700 |
-@@ -318,6 +318,12 @@ |
+diff --git a/nss/lib/pk11wrap/pk11load.c b/nss/lib/pk11wrap/pk11load.c |
+index 6700180..1811a1a 100644 |
+--- a/nss/lib/pk11wrap/pk11load.c |
++++ b/nss/lib/pk11wrap/pk11load.c |
+@@ -341,6 +341,12 @@ SECMOD_SetRootCerts(PK11SlotInfo *slot, SECMODModule *mod) { |
} |
} |
@@ -268,7 +275,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
static const char* my_shlib_name = |
SHLIB_PREFIX"nss"SHLIB_VERSION"."SHLIB_SUFFIX; |
static const char* softoken_shlib_name = |
-@@ -326,12 +332,14 @@ |
+@@ -349,12 +355,14 @@ static const PRCallOnceType pristineCallOnce; |
static PRCallOnceType loadSoftokenOnce; |
static PRLibrary* softokenLib; |
static PRInt32 softokenLoadCount; |
@@ -283,7 +290,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
/* This function must be run only once. */ |
/* determine if hybrid platform, then actually load the DSO. */ |
static PRStatus |
-@@ -348,6 +356,7 @@ |
+@@ -371,6 +379,7 @@ softoken_LoadDSO( void ) |
} |
return PR_FAILURE; |
} |
@@ -291,7 +298,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
/* |
* load a new module into our address space and initialize it. |
-@@ -366,6 +375,16 @@ |
+@@ -389,6 +398,16 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) { |
/* intenal modules get loaded from their internal list */ |
if (mod->internal && (mod->dllName == NULL)) { |
@@ -308,7 +315,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
/* |
* Loads softoken as a dynamic library, |
* even though the rest of NSS assumes this as the "internal" module. |
-@@ -391,6 +410,7 @@ |
+@@ -414,6 +433,7 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) { |
mod->moduleDBFunc = (CK_C_GetFunctionList) |
PR_FindSymbol(softokenLib, "NSC_ModuleDBFunc"); |
} |
@@ -316,7 +323,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
if (mod->moduleDBOnly) { |
mod->loaded = PR_TRUE; |
-@@ -401,6 +421,15 @@ |
+@@ -424,6 +444,15 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) { |
if (mod->dllName == NULL) { |
return SECFailure; |
} |
@@ -332,7 +339,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
/* load the library. If this succeeds, then we have to remember to |
* unload the library if anything goes wrong from here on out... |
-@@ -423,6 +452,9 @@ |
+@@ -446,6 +475,9 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) { |
mod->moduleDBFunc = (void *) |
PR_FindSymbol(library, "NSS_ReturnModuleSpecData"); |
} |
@@ -342,7 +349,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
if (mod->moduleDBFunc == NULL) mod->isModuleDB = PR_FALSE; |
if (entry == NULL) { |
if (mod->isModuleDB) { |
-@@ -562,6 +594,7 @@ |
+@@ -585,6 +617,7 @@ SECMOD_UnloadModule(SECMODModule *mod) { |
* if not, we should change this to SECFailure and move it above the |
* mod->loaded = PR_FALSE; */ |
if (mod->internal && (mod->dllName == NULL)) { |
@@ -350,7 +357,7 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
if (0 == PR_ATOMIC_DECREMENT(&softokenLoadCount)) { |
if (softokenLib) { |
disableUnload = PR_GetEnv("NSS_DISABLE_UNLOAD"); |
-@@ -573,12 +606,18 @@ |
+@@ -596,12 +629,18 @@ SECMOD_UnloadModule(SECMODModule *mod) { |
} |
loadSoftokenOnce = pristineCallOnce; |
} |
@@ -369,10 +376,11 @@ diff -r db5b7e3c69a5 lib/pk11wrap/pk11load.c |
return SECFailure; |
} |
-diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
---- a/lib/softoken/lgglue.c Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/softoken/lgglue.c Fri May 31 17:44:06 2013 -0700 |
-@@ -23,6 +23,7 @@ |
+diff --git a/nss/lib/softoken/lgglue.c b/nss/lib/softoken/lgglue.c |
+index c7b82bd..64e6415 100644 |
+--- a/nss/lib/softoken/lgglue.c |
++++ b/nss/lib/softoken/lgglue.c |
+@@ -23,6 +23,7 @@ static LGDeleteSecmodFunc legacy_glue_deleteSecmod = NULL; |
static LGAddSecmodFunc legacy_glue_addSecmod = NULL; |
static LGShutdownFunc legacy_glue_shutdown = NULL; |
@@ -380,7 +388,7 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
/* |
* The following 3 functions duplicate the work done by bl_LoadLibrary. |
* We should make bl_LoadLibrary a global and replace the call to |
-@@ -160,6 +161,7 @@ |
+@@ -160,6 +161,7 @@ done: |
return lib; |
} |
@@ -388,7 +396,7 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
/* |
* stub files for legacy db's to be able to encrypt and decrypt |
-@@ -272,6 +274,21 @@ |
+@@ -272,6 +274,21 @@ sftkdbLoad_Legacy(PRBool isFIPS) |
return SECSuccess; |
} |
@@ -410,7 +418,7 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
lib = sftkdb_LoadLibrary(LEGACY_LIB_NAME); |
if (lib == NULL) { |
return SECFailure; |
-@@ -297,11 +314,14 @@ |
+@@ -297,11 +314,14 @@ sftkdbLoad_Legacy(PRBool isFIPS) |
PR_UnloadLibrary(lib); |
return SECFailure; |
} |
@@ -425,7 +433,7 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
return SECFailure; |
} |
legacy_glue_libCheckSucceeded = PR_TRUE; |
-@@ -418,10 +438,12 @@ |
+@@ -418,10 +438,12 @@ sftkdbCall_Shutdown(void) |
#endif |
crv = (*legacy_glue_shutdown)(parentForkedAfterC_Initialize); |
} |
@@ -438,10 +446,11 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.c |
legacy_glue_lib = NULL; |
legacy_glue_open = NULL; |
legacy_glue_readSecmod = NULL; |
-diff -r db5b7e3c69a5 lib/softoken/lgglue.h |
---- a/lib/softoken/lgglue.h Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/softoken/lgglue.h Fri May 31 17:44:06 2013 -0700 |
-@@ -38,6 +38,25 @@ |
+diff --git a/nss/lib/softoken/lgglue.h b/nss/lib/softoken/lgglue.h |
+index b87f756..c8c562f 100644 |
+--- a/nss/lib/softoken/lgglue.h |
++++ b/nss/lib/softoken/lgglue.h |
+@@ -38,6 +38,25 @@ typedef SECStatus (*LGShutdownFunc)(PRBool forked); |
typedef void (*LGSetForkStateFunc)(PRBool); |
typedef void (*LGSetCryptFunc)(LGEncryptFunc, LGDecryptFunc); |
@@ -467,10 +476,11 @@ diff -r db5b7e3c69a5 lib/softoken/lgglue.h |
/* |
* Softoken Glue Functions |
*/ |
-diff -r db5b7e3c69a5 lib/util/secport.h |
---- a/lib/util/secport.h Tue May 28 23:37:46 2013 +0200 |
-+++ b/lib/util/secport.h Fri May 31 17:44:06 2013 -0700 |
-@@ -210,6 +210,7 @@ |
+diff --git a/nss/lib/util/secport.h b/nss/lib/util/secport.h |
+index 5b09b9c..f01eb74 100644 |
+--- a/nss/lib/util/secport.h |
++++ b/nss/lib/util/secport.h |
+@@ -210,6 +210,7 @@ extern int NSS_PutEnv(const char * envVarName, const char * envValue); |
extern int NSS_SecureMemcmp(const void *a, const void *b, size_t n); |
@@ -478,7 +488,7 @@ diff -r db5b7e3c69a5 lib/util/secport.h |
/* |
* Load a shared library called "newShLibName" in the same directory as |
* a shared library that is already loaded, called existingShLibName. |
-@@ -244,6 +245,7 @@ |
+@@ -244,6 +245,7 @@ PRLibrary * |
PORT_LoadLibraryFromOrigin(const char* existingShLibName, |
PRFuncPtr staticShLibFunc, |
const char *newShLibName); |