summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
Diffstat (limited to 'security')
-rw-r--r--security/nss/lib/certdb/certdb.c1
-rw-r--r--security/nss/lib/certdb/certt.h3
-rw-r--r--security/nss/lib/certdb/secname.c2
-rw-r--r--security/nss/lib/certdb/stanpcertdb.c9
-rw-r--r--security/nss/lib/crmf/asn1cmn.c8
-rw-r--r--security/nss/lib/crmf/cmmfi.h1
-rw-r--r--security/nss/lib/crmf/crmfcont.c4
-rw-r--r--security/nss/lib/crmf/crmftmpl.c19
-rw-r--r--security/nss/lib/crmf/respcmn.c2
-rw-r--r--security/nss/lib/cryptohi/seckey.c1
-rw-r--r--security/nss/lib/nss/nss.def60
-rw-r--r--security/nss/lib/pk11wrap/pk11func.h3
-rw-r--r--security/nss/lib/pk11wrap/pk11skey.c10
-rw-r--r--security/nss/lib/smime/config.mk35
-rw-r--r--security/nss/lib/smime/manifest.mn1
-rw-r--r--security/nss/lib/smime/smime.def13
-rw-r--r--security/nss/lib/softoken/pcertt.h1
-rw-r--r--security/nss/lib/ssl/config.mk36
-rw-r--r--security/nss/lib/ssl/manifest.mn1
-rw-r--r--security/nss/lib/util/secasn1.h3
-rw-r--r--security/nss/lib/util/secasn1d.c5
21 files changed, 131 insertions, 87 deletions
diff --git a/security/nss/lib/certdb/certdb.c b/security/nss/lib/certdb/certdb.c
index 29ecbae45..f4c0701c2 100644
--- a/security/nss/lib/certdb/certdb.c
+++ b/security/nss/lib/certdb/certdb.c
@@ -213,6 +213,7 @@ const SEC_ASN1Template CERT_CertKeyTemplate[] = {
};
SEC_ASN1_CHOOSER_IMPLEMENT(CERT_CertificateTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(SEC_SignedCertificateTemplate)
SECStatus
CERT_KeyFromIssuerAndSN(PRArenaPool *arena, SECItem *issuer, SECItem *sn,
diff --git a/security/nss/lib/certdb/certt.h b/security/nss/lib/certdb/certt.h
index 1feb34479..d921fae6e 100644
--- a/security/nss/lib/certdb/certt.h
+++ b/security/nss/lib/certdb/certt.h
@@ -821,8 +821,11 @@ SEC_ASN1_CHOOSER_DECLARE(CERT_CertificateRequestTemplate)
SEC_ASN1_CHOOSER_DECLARE(CERT_CertificateTemplate)
SEC_ASN1_CHOOSER_DECLARE(CERT_CrlTemplate)
SEC_ASN1_CHOOSER_DECLARE(CERT_IssuerAndSNTemplate)
+SEC_ASN1_CHOOSER_DECLARE(CERT_NameTemplate)
SEC_ASN1_CHOOSER_DECLARE(CERT_SetOfSignedCrlTemplate)
SEC_ASN1_CHOOSER_DECLARE(CERT_SignedDataTemplate)
+SEC_ASN1_CHOOSER_DECLARE(CERT_SubjectPublicKeyInfoTemplate)
+SEC_ASN1_CHOOSER_DECLARE(SEC_SignedCertificateTemplate)
SEC_END_PROTOS
diff --git a/security/nss/lib/certdb/secname.c b/security/nss/lib/certdb/secname.c
index b8924d63f..9296fd86d 100644
--- a/security/nss/lib/certdb/secname.c
+++ b/security/nss/lib/certdb/secname.c
@@ -372,6 +372,8 @@ const SEC_ASN1Template CERT_NameTemplate[] = {
offsetof(CERTName,rdns), CERT_RDNTemplate, sizeof(CERTName) }
};
+SEC_ASN1_CHOOSER_IMPLEMENT(CERT_NameTemplate)
+
CERTName *
CERT_CreateName(CERTRDN *rdn0, ...)
{
diff --git a/security/nss/lib/certdb/stanpcertdb.c b/security/nss/lib/certdb/stanpcertdb.c
index 0ec0d00df..6010dd875 100644
--- a/security/nss/lib/certdb/stanpcertdb.c
+++ b/security/nss/lib/certdb/stanpcertdb.c
@@ -126,7 +126,7 @@ done:
}
SECStatus
-CERT_AddTempCertToPerm(CERTCertificate *cert, char *nickname,
+__CERT_AddTempCertToPerm(CERTCertificate *cert, char *nickname,
CERTCertTrust *trust)
{
NSSCertificate *c = STAN_GetNSSCertificate(cert);
@@ -156,6 +156,13 @@ CERT_AddTempCertToPerm(CERTCertificate *cert, char *nickname,
return SECFailure;
}
+SECStatus
+CERT_AddTempCertToPerm(CERTCertificate *cert, char *nickname,
+ CERTCertTrust *trust)
+{
+ return __CERT_AddTempCertToPerm(cert, nickname, trust);
+}
+
CERTCertificate *
__CERT_NewTempCertificate(CERTCertDBHandle *handle, SECItem *derCert,
char *nickname, PRBool isperm, PRBool copyDER)
diff --git a/security/nss/lib/crmf/asn1cmn.c b/security/nss/lib/crmf/asn1cmn.c
index 0cb0c3c41..de7152e1c 100644
--- a/security/nss/lib/crmf/asn1cmn.c
+++ b/security/nss/lib/crmf/asn1cmn.c
@@ -37,6 +37,7 @@
SEC_ASN1_MKSUB(SECOID_AlgorithmIDTemplate)
SEC_ASN1_MKSUB(SEC_AnyTemplate)
SEC_ASN1_MKSUB(SEC_IntegerTemplate)
+SEC_ASN1_MKSUB(SEC_SignedCertificateTemplate)
static const SEC_ASN1Template CMMFCertResponseTemplate[] = {
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(CMMFCertResponse)},
@@ -80,7 +81,8 @@ const SEC_ASN1Template CMMFPKIStatusInfoTemplate[] = {
};
const SEC_ASN1Template CMMFSequenceOfCertsTemplate[] = {
- { SEC_ASN1_SEQUENCE_OF, 0, SEC_SignedCertificateTemplate}
+ { SEC_ASN1_SEQUENCE_OF| SEC_ASN1_XTRN, 0,
+ SEC_ASN1_SUB(SEC_SignedCertificateTemplate)}
};
const SEC_ASN1Template CMMFRandTemplate[] = {
@@ -106,9 +108,9 @@ const SEC_ASN1Template CMMFCertOrEncCertEncryptedCertTemplate[] = {
};
const SEC_ASN1Template CMMFCertOrEncCertCertificateTemplate[] = {
- { SEC_ASN1_CONTEXT_SPECIFIC | 0,
+ { SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 0,
0,
- SEC_SignedCertificateTemplate},
+ SEC_ASN1_SUB(SEC_SignedCertificateTemplate)},
{ 0 }
};
diff --git a/security/nss/lib/crmf/cmmfi.h b/security/nss/lib/crmf/cmmfi.h
index 0a476badd..ddd82810c 100644
--- a/security/nss/lib/crmf/cmmfi.h
+++ b/security/nss/lib/crmf/cmmfi.h
@@ -41,6 +41,7 @@
#define _CMMFI_H_
#include "cmmfit.h"
#include "crmfi.h"
+#include "nssrenam.h"
#define CMMF_MAX_CHALLENGES 10
#define CMMF_MAX_KEY_PAIRS 50
diff --git a/security/nss/lib/crmf/crmfcont.c b/security/nss/lib/crmf/crmfcont.c
index c4381e9da..3b4b9a98b 100644
--- a/security/nss/lib/crmf/crmfcont.c
+++ b/security/nss/lib/crmf/crmfcont.c
@@ -361,7 +361,7 @@ crmf_create_arch_rem_gen_privkey(PRBool archiveRemGenPrivKey)
}
dummy = SEC_ASN1EncodeItem(NULL,
&newArchOptions->option.archiveRemGenPrivKey,
- &value, SEC_BooleanTemplate);
+ &value, SEC_ASN1_GET(SEC_BooleanTemplate));
PORT_Assert (dummy == &newArchOptions->option.archiveRemGenPrivKey);
if (dummy != &newArchOptions->option.archiveRemGenPrivKey) {
SECITEM_FreeItem (dummy, PR_TRUE);
@@ -999,7 +999,7 @@ crmf_get_pkiarchiveoptions_subtemplate(CRMFControl *inControl)
switch (inControl->tag) {
case SEC_OID_PKIX_REGCTRL_REGTOKEN:
case SEC_OID_PKIX_REGCTRL_AUTHENTICATOR:
- retTemplate = SEC_UTF8StringTemplate;
+ retTemplate = SEC_ASN1_GET(SEC_UTF8StringTemplate);
break;
case SEC_OID_PKIX_REGCTRL_PKI_ARCH_OPTIONS:
retTemplate = crmf_get_pkiarchive_subtemplate(inControl);
diff --git a/security/nss/lib/crmf/crmftmpl.c b/security/nss/lib/crmf/crmftmpl.c
index 7dffb6e80..a65a074a1 100644
--- a/security/nss/lib/crmf/crmftmpl.c
+++ b/security/nss/lib/crmf/crmftmpl.c
@@ -39,10 +39,13 @@
SEC_ASN1_MKSUB(SECOID_AlgorithmIDTemplate)
SEC_ASN1_MKSUB(SEC_AnyTemplate)
+SEC_ASN1_MKSUB(SEC_NullTemplate)
SEC_ASN1_MKSUB(SEC_BitStringTemplate)
SEC_ASN1_MKSUB(SEC_IntegerTemplate)
SEC_ASN1_MKSUB(SEC_OctetStringTemplate)
SEC_ASN1_MKSUB(SEC_UTCTimeTemplate)
+SEC_ASN1_MKSUB(CERT_SubjectPublicKeyInfoTemplate)
+SEC_ASN1_MKSUB(CERT_NameTemplate)
/*
* It's all implicit tagging.
@@ -85,7 +88,7 @@ static const SEC_ASN1Template CRMFOptionalValidityTemplate[] = {
};
static const SEC_ASN1Template crmfPointerToNameTemplate[] = {
- { SEC_ASN1_POINTER, 0, CERT_NameTemplate},
+ { SEC_ASN1_POINTER | SEC_ASN1_XTRN, 0, SEC_ASN1_SUB(CERT_NameTemplate)},
{ 0 }
};
@@ -110,9 +113,10 @@ static const SEC_ASN1Template CRMFCertTemplateTemplate[] = {
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONTEXT_SPECIFIC |
SEC_ASN1_EXPLICIT | SEC_ASN1_CONSTRUCTED | 5,
offsetof (CRMFCertTemplate, subject), crmfPointerToNameTemplate },
- { SEC_ASN1_OPTIONAL | SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_POINTER | 6,
+ { SEC_ASN1_OPTIONAL | SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_POINTER |
+ SEC_ASN1_XTRN | 6,
offsetof (CRMFCertTemplate, publicKey),
- CERT_SubjectPublicKeyInfoTemplate },
+ SEC_ASN1_SUB(CERT_SubjectPublicKeyInfoTemplate) },
{ SEC_ASN1_NO_STREAM | SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_OPTIONAL |
SEC_ASN1_XTRN | 7,
offsetof (CRMFCertTemplate, issuerUID),
@@ -170,15 +174,16 @@ static const SEC_ASN1Template CRMFPOPOSigningKeyInputTemplate[] = {
offsetof(CRMFPOPOSigningKeyInput, authInfo.sender) },
{ SEC_ASN1_BIT_STRING | SEC_ASN1_OPTIONAL | 1,
offsetof (CRMFPOPOSigningKeyInput, authInfo.publicKeyMAC) },
- { SEC_ASN1_INLINE, offsetof(CRMFPOPOSigningKeyInput, publicKey),
- CERT_SubjectPublicKeyInfoTemplate },
+ { SEC_ASN1_INLINE | SEC_ASN1_XTRN,
+ offsetof(CRMFPOPOSigningKeyInput, publicKey),
+ SEC_ASN1_SUB(CERT_SubjectPublicKeyInfoTemplate) },
{ 0 }
};
const SEC_ASN1Template CRMFRAVerifiedTemplate[] = {
- { SEC_ASN1_CONTEXT_SPECIFIC | 0,
+ { SEC_ASN1_CONTEXT_SPECIFIC | 0 | SEC_ASN1_XTRN,
0,
- SEC_NullTemplate },
+ SEC_ASN1_SUB(SEC_NullTemplate) },
{ 0 }
};
diff --git a/security/nss/lib/crmf/respcmn.c b/security/nss/lib/crmf/respcmn.c
index 66d55a9c3..5fa017a05 100644
--- a/security/nss/lib/crmf/respcmn.c
+++ b/security/nss/lib/crmf/respcmn.c
@@ -147,7 +147,7 @@ static SECItem*
cmmf_encode_certificate(CERTCertificate *inCert)
{
return SEC_ASN1EncodeItem(NULL, NULL, inCert,
- SEC_SignedCertificateTemplate);
+ SEC_ASN1_GET(SEC_SignedCertificateTemplate));
}
CERTCertList*
diff --git a/security/nss/lib/cryptohi/seckey.c b/security/nss/lib/cryptohi/seckey.c
index 076dbc6a6..d55533a46 100644
--- a/security/nss/lib/cryptohi/seckey.c
+++ b/security/nss/lib/cryptohi/seckey.c
@@ -141,6 +141,7 @@ const SEC_ASN1Template SECKEY_KEAParamsTemplate[] = {
SEC_ASN1_CHOOSER_IMPLEMENT(SECKEY_DSAPublicKeyTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SECKEY_RSAPublicKeyTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(CERT_SubjectPublicKeyInfoTemplate)
/* Create an RSA key pair is any slot able to do so.
diff --git a/security/nss/lib/nss/nss.def b/security/nss/lib/nss/nss.def
index 75650ff24..20ef4b743 100644
--- a/security/nss/lib/nss/nss.def
+++ b/security/nss/lib/nss/nss.def
@@ -477,6 +477,7 @@ CERT_ImportCAChainTrusted;
CERT_ImportCRL;
CERT_IsCACert;
CERT_IsCADERCert;
+CERT_KeyFromDERCrl;
CERT_SetOCSPDefaultResponder;
PBE_CreateContext;
PBE_DestroyContext;
@@ -564,7 +565,66 @@ SECMOD_LoadModule;
SECMOD_GetModuleSpecList;
SECMOD_FreeModuleSpecList;
SECMOD_UpdateModule;
+SECMOD_DeleteModule;
+;+# for PKCS #12
PK11_RawPBEKeyGen;
+;+# for PSM
+__CERT_AddTempCertToPerm;
+CERT_AddOKDomainName;
+CERT_CopyName;
+CERT_DecodeAVAValue;
+;+#CERT_DecodeCertFromPackage;
+CERT_DecodeTrustString;
+CERT_DerNameToAscii;
+CERT_FilterCertListByCANames;
+CERT_FilterCertListByUsage;
+CERT_FindUserCertByUsage;
+CERT_FindUserCertsByUsage;
+CERT_GetCertChainFromCert;
+CERT_GetOCSPAuthorityInfoAccessLocation;
+CERT_NicknameStringsFromCertList;
+CERT_MakeCANickname;
+CERT_VerifySignedData;
+DER_Encode;
+HASH_Begin;
+HASH_Create;
+HASH_Destroy;
+HASH_End;
+HASH_ResultLen;
+HASH_Update;
+NSSBase64_DecodeBuffer; # from Stan
+NSSBase64_EncodeItem; # from Stan
+PK11_GetKeyGen;
+PK11_GetMinimumPwdLength;
+PK11_GetNextSafe;
+PK11_GetPadMechanism;
+PK11_GetSlotInfo;
+PK11_HasRootCerts;
+PK11_IsDisabled;
+PK11_LoadPrivKey;
+PK11_LogoutAll;
+PK11_MechanismToAlgtag;
+PK11_ResetToken;
+PK11_TraverseSlotCerts;
+SEC_ASN1Decode;
+SECKEY_CopySubjectPublicKeyInfo;
+SECMOD_CreateModule;
+SECMOD_FindModule;
+SECMOD_FindSlot;
+SECMOD_PubCipherFlagstoInternal;
+SECMOD_PubMechFlagstoInternal;
+;;CERT_NameTemplate DATA ;
+;;CERT_SubjectPublicKeyInfoTemplate DATA ;
+;;SEC_BooleanTemplate DATA ;
+;;SEC_NullTemplate DATA ;
+;;SEC_SignedCertificateTemplate DATA ;
+;;SEC_UTF8StringTemplate DATA ;
+NSS_Get_CERT_NameTemplate;
+NSS_Get_CERT_SubjectPublicKeyInfoTemplate;
+NSS_Get_SEC_BooleanTemplate;
+NSS_Get_SEC_NullTemplate;
+NSS_Get_SEC_SignedCertificateTemplate;
+NSS_Get_SEC_UTF8StringTemplate;
;+ local:
;+ *;
;+};
diff --git a/security/nss/lib/pk11wrap/pk11func.h b/security/nss/lib/pk11wrap/pk11func.h
index 51252f0fc..bc100af26 100644
--- a/security/nss/lib/pk11wrap/pk11func.h
+++ b/security/nss/lib/pk11wrap/pk11func.h
@@ -274,6 +274,9 @@ PK11SymKey *PK11_FindFixedKey(PK11SlotInfo *slot, CK_MECHANISM_TYPE type,
SECItem *keyID, void *wincx);
SECStatus PK11_DeleteTokenPrivateKey(SECKEYPrivateKey *privKey);
SECStatus PK11_DeleteTokenCertAndKey(CERTCertificate *cert,void *wincx);
+SECKEYPrivateKey * PK11_LoadPrivKey(PK11SlotInfo *slot,
+ SECKEYPrivateKey *privKey, SECKEYPublicKey *pubKey,
+ PRBool token, PRBool sensitive);
/* size to hold key in bytes */
unsigned int PK11_GetKeyLength(PK11SymKey *key);
diff --git a/security/nss/lib/pk11wrap/pk11skey.c b/security/nss/lib/pk11wrap/pk11skey.c
index 967389dd5..ae1505aa1 100644
--- a/security/nss/lib/pk11wrap/pk11skey.c
+++ b/security/nss/lib/pk11wrap/pk11skey.c
@@ -1711,6 +1711,16 @@ pk11_loadPrivKey(PK11SlotInfo *slot,SECKEYPrivateKey *privKey,
objectID, privKey->wincx);
}
+/*
+ * export this for PSM
+ */
+SECKEYPrivateKey *
+PK11_LoadPrivKey(PK11SlotInfo *slot,SECKEYPrivateKey *privKey,
+ SECKEYPublicKey *pubKey, PRBool token, PRBool sensitive)
+{
+ return pk11_loadPrivKey(slot,privKey,pubKey,token,sensitive);
+}
+
/*
* Use the token to Generate a key. keySize must be 'zero' for fixed key
diff --git a/security/nss/lib/smime/config.mk b/security/nss/lib/smime/config.mk
index 2d483a789..b700ed6a2 100644
--- a/security/nss/lib/smime/config.mk
+++ b/security/nss/lib/smime/config.mk
@@ -49,7 +49,6 @@ ifeq ($(OS_ARCH), WINNT)
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).lib
-DLLFLAGS += -DEF:smime.def
RES = $(OBJDIR)/smime.res
RESNAME = smime.rc
@@ -92,37 +91,3 @@ EXTRA_SHARED_LIBS += \
-lnspr4 \
$(NULL)
endif
-
-ifeq ($(OS_ARCH),SunOS)
-MAPFILE = $(OBJDIR)/smimemap.sun
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -M $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),AIX)
-MAPFILE = $(OBJDIR)/smimemap.aix
-ALL_TRASH += $(MAPFILE)
-EXPORT_RULES = -bexport:$(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),HP-UX)
-MAPFILE = $(OBJDIR)/nssmap.hp
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -c $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH), OSF1)
-MAPFILE = $(OBJDIR)/smimemap.osf
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -hidden -input $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),Linux)
-MAPFILE = $(OBJDIR)/smimemap.linux
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -Wl,--version-script,$(MAPFILE)
-endif
-
-
-
-
diff --git a/security/nss/lib/smime/manifest.mn b/security/nss/lib/smime/manifest.mn
index 6e526dfb4..328a55e25 100644
--- a/security/nss/lib/smime/manifest.mn
+++ b/security/nss/lib/smime/manifest.mn
@@ -45,6 +45,7 @@ PRIVATE_EXPORTS = \
$(NULL)
MODULE = security
+MAPFILE = $(OBJDIR)/smime.def
CSRCS = \
cmsarray.c \
diff --git a/security/nss/lib/smime/smime.def b/security/nss/lib/smime/smime.def
index d1d9a323b..1657a3061 100644
--- a/security/nss/lib/smime/smime.def
+++ b/security/nss/lib/smime/smime.def
@@ -183,3 +183,16 @@ SEC_PKCS7Encode;
;+ local:
;+ *;
;+};
+;+NSS_3.4 { # NSS 3.4. release
+;+ global:
+;+# FOR PSM
+CERT_DecodeCertFromPackage;
+NSS_CMSSignedData_SetDigestValue;
+NSS_CMSMessage_IsSigned;
+NSS_SMIMESignerInfo_SaveSMIMEProfile;
+SEC_PKCS7CopyContentInfo;
+SEC_PKCS7VerifyDetachedSignature;
+SECMIME_DecryptionAllowed;
+;+ local:
+;+ *;
+;+};
diff --git a/security/nss/lib/softoken/pcertt.h b/security/nss/lib/softoken/pcertt.h
index 808f95fe1..0170de389 100644
--- a/security/nss/lib/softoken/pcertt.h
+++ b/security/nss/lib/softoken/pcertt.h
@@ -163,7 +163,6 @@ typedef char * (*NSSLOWCERTDBNameFunc)(void *arg, int dbVersion);
SEC_BEGIN_PROTOS
extern const SEC_ASN1Template nsslowcert_CertificateTemplate[];
-extern const SEC_ASN1Template SEC_SignedCertificateTemplate[];
extern const SEC_ASN1Template nsslowcert_SignedDataTemplate[];
extern const SEC_ASN1Template NSSLOWKEY_PublicKeyTemplate[];
extern const SEC_ASN1Template nsslowcert_SubjectPublicKeyInfoTemplate[];
diff --git a/security/nss/lib/ssl/config.mk b/security/nss/lib/ssl/config.mk
index 5fffdaa72..f26102698 100644
--- a/security/nss/lib/ssl/config.mk
+++ b/security/nss/lib/ssl/config.mk
@@ -47,7 +47,6 @@ ifeq ($(OS_ARCH), WINNT)
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).lib
-DLLFLAGS += -DEF:ssl.def
RES = $(OBJDIR)/ssl.res
RESNAME = ssl.rc
@@ -70,38 +69,3 @@ EXTRA_SHARED_LIBS += \
-lnspr4 \
$(NULL)
endif
-
-
-ifeq ($(OS_ARCH),SunOS)
-MAPFILE = $(OBJDIR)/sslmap.sun
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -M $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),AIX)
-MAPFILE = $(OBJDIR)/sslmap.aix
-ALL_TRASH += $(MAPFILE)
-EXPORT_RULES = -bexport:$(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),HP-UX)
-MAPFILE = $(OBJDIR)/sslmap.hp
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -c $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH), OSF1)
-MAPFILE = $(OBJDIR)/sslmap.osf
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -hidden -input $(MAPFILE)
-endif
-
-ifeq ($(OS_ARCH),Linux)
-MAPFILE = $(OBJDIR)/sslmap.linux
-ALL_TRASH += $(MAPFILE)
-MKSHLIB += -Wl,--version-script,$(MAPFILE)
-endif
-
-
-
-
diff --git a/security/nss/lib/ssl/manifest.mn b/security/nss/lib/ssl/manifest.mn
index b2195dc43..066c5620c 100644
--- a/security/nss/lib/ssl/manifest.mn
+++ b/security/nss/lib/ssl/manifest.mn
@@ -49,6 +49,7 @@ EXPORTS = \
$(NULL)
MODULE = security
+MAPFILE = $(OBJDIR)/ssl.def
CSRCS = \
emulate.c \
diff --git a/security/nss/lib/util/secasn1.h b/security/nss/lib/util/secasn1.h
index 8e457aac1..4d5c9971c 100644
--- a/security/nss/lib/util/secasn1.h
+++ b/security/nss/lib/util/secasn1.h
@@ -264,13 +264,16 @@ extern const SEC_ASN1Template SEC_SkipTemplate[];
*/
SEC_ASN1_CHOOSER_DECLARE(SEC_AnyTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_BMPStringTemplate)
+SEC_ASN1_CHOOSER_DECLARE(SEC_BooleanTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_BitStringTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_GeneralizedTimeTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_IA5StringTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_IntegerTemplate)
+SEC_ASN1_CHOOSER_DECLARE(SEC_NullTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_ObjectIDTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_OctetStringTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_UTCTimeTemplate)
+SEC_ASN1_CHOOSER_DECLARE(SEC_UTF8StringTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_PointerToAnyTemplate)
SEC_ASN1_CHOOSER_DECLARE(SEC_PointerToOctetStringTemplate)
diff --git a/security/nss/lib/util/secasn1d.c b/security/nss/lib/util/secasn1d.c
index 66bb44abd..ccf24c249 100644
--- a/security/nss/lib/util/secasn1d.c
+++ b/security/nss/lib/util/secasn1d.c
@@ -2965,14 +2965,17 @@ const SEC_ASN1Template SEC_SkipTemplate[] = {
*/
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_AnyTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_BMPStringTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(SEC_BooleanTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_BitStringTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_IA5StringTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_GeneralizedTimeTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_IntegerTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(SEC_NullTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_ObjectIDTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_OctetStringTemplate)
-SEC_ASN1_CHOOSER_IMPLEMENT(SEC_UTCTimeTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_PointerToAnyTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_PointerToOctetStringTemplate)
SEC_ASN1_CHOOSER_IMPLEMENT(SEC_SetOfAnyTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(SEC_UTCTimeTemplate)
+SEC_ASN1_CHOOSER_IMPLEMENT(SEC_UTF8StringTemplate)