1 diff -pu a/nss/lib/ssl/sslimpl.h b/nss/lib/ssl/sslimpl.h 2 --- a/nss/lib/ssl/sslimpl.h 2013-07-31 14:10:35.113325316 -0700 3 +++ b/nss/lib/ssl/sslimpl.h 2013-07-31 14:13:25.995834521 -0700 4 @@ -1293,6 +1293,15 @@ extern sslSessionIDUncacheFunc ssl_sid_u 5 6 SEC_BEGIN_PROTOS 7 8 +/* Functions for handling SECItemArrays, added in NSS 3.15 */ 9 +extern SECItemArray *SECITEM_AllocArray(PLArenaPool *arena, 10 + SECItemArray *array, 11 + unsigned int len); 12 +extern SECItemArray *SECITEM_DupArray(PLArenaPool *arena, 13 + const SECItemArray *from); 14 +extern void SECITEM_FreeArray(SECItemArray *array, PRBool freeit); 15 +extern void SECITEM_ZfreeArray(SECItemArray *array, PRBool freeit); 16 + 17 /* Internal initialization and installation of the SSL error tables */ 18 extern SECStatus ssl_Init(void); 19 extern SECStatus ssl_InitializePRErrorTable(void); 20 diff -pu a/nss/lib/ssl/sslt.h b/nss/lib/ssl/sslt.h 21 --- a/nss/lib/ssl/sslt.h 2013-07-31 14:10:00.342814862 -0700 22 +++ b/nss/lib/ssl/sslt.h 2013-07-31 14:13:25.995834521 -0700 23 @@ -10,6 +10,19 @@ 24 25 #include "prtypes.h" 26 27 +/* SECItemArray is added in NSS 3.15. Define the type if compiling 28 +** against an older version of NSS. 29 +*/ 30 +#include "nssutil.h" 31 +#if NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15 32 +typedef struct SECItemArrayStr SECItemArray; 33 + 34 +struct SECItemArrayStr { 35 + SECItem *items; 36 + unsigned int len; 37 +}; 38 +#endif /* NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15 */ 39 + 40 typedef struct SSL3StatisticsStr { 41 /* statistics from ssl3_SendClientHello (sch) */ 42 long sch_sid_cache_hits; 43