blob: d40e7ca3407051fb3d48b3640e14e507b7a9ea8f [file] [log] [blame]
diff --git a/lib/ssl/sslimpl.h b/lib/ssl/sslimpl.h
index 976330e..60dd243 100644
--- a/lib/ssl/sslimpl.h
+++ b/lib/ssl/sslimpl.h
@@ -1403,6 +1403,15 @@ extern sslSessionIDUncacheFunc ssl_sid_uncache;
SEC_BEGIN_PROTOS
+/* Functions for handling SECItemArrays, added in NSS 3.15 */
+extern SECItemArray *SECITEM_AllocArray(PLArenaPool *arena,
+ SECItemArray *array,
+ unsigned int len);
+extern SECItemArray *SECITEM_DupArray(PLArenaPool *arena,
+ const SECItemArray *from);
+extern void SECITEM_FreeArray(SECItemArray *array, PRBool freeit);
+extern void SECITEM_ZfreeArray(SECItemArray *array, PRBool freeit);
+
/* Internal initialization and installation of the SSL error tables */
extern SECStatus ssl_Init(void);
extern SECStatus ssl_InitializePRErrorTable(void);
diff --git a/lib/ssl/sslt.h b/lib/ssl/sslt.h
index b6616e2..5593579 100644
--- a/lib/ssl/sslt.h
+++ b/lib/ssl/sslt.h
@@ -11,6 +11,19 @@
#include "prtypes.h"
+/* SECItemArray is added in NSS 3.15. Define the type if compiling
+** against an older version of NSS.
+*/
+#include "nssutil.h"
+#if NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15
+typedef struct SECItemArrayStr SECItemArray;
+
+struct SECItemArrayStr {
+ SECItem *items;
+ unsigned int len;
+};
+#endif /* NSSUTIL_VMAJOR == 3 && NSSUTIL_VMINOR < 15 */
+
typedef struct SSL3StatisticsStr {
/* statistics from ssl3_SendClientHello (sch) */
long sch_sid_cache_hits;