summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2002-05-10 18:36:18 +0000
committerrelyea%netscape.com <devnull@localhost>2002-05-10 18:36:18 +0000
commit197ce93f9bbe67809b3e3e6dcb0c39691d84efed (patch)
tree53987438f7c1d62140299af78cb0a5d198a6ea38
parentc9fdad16cc4fa142631a479a98dd4357932964b9 (diff)
downloadnss-hg-197ce93f9bbe67809b3e3e6dcb0c39691d84efed.tar.gz
Add function to determine if it's safe to delete the internal module.
-rw-r--r--security/nss/lib/nss/nss.def1
-rw-r--r--security/nss/lib/pk11wrap/pk11util.c5
-rw-r--r--security/nss/lib/pk11wrap/secmod.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/security/nss/lib/nss/nss.def b/security/nss/lib/nss/nss.def
index bb9bf3f7b..71ec33b37 100644
--- a/security/nss/lib/nss/nss.def
+++ b/security/nss/lib/nss/nss.def
@@ -676,6 +676,7 @@ CERT_StartCertExtensions;
DER_AsciiToTime;
PK11_ImportCert;
PORT_Strdup;
+SECMOD_CanDeleteInternalModule;
;+ local:
;+ *;
;+};
diff --git a/security/nss/lib/pk11wrap/pk11util.c b/security/nss/lib/pk11wrap/pk11util.c
index 42692eff0..3dc87921b 100644
--- a/security/nss/lib/pk11wrap/pk11util.c
+++ b/security/nss/lib/pk11wrap/pk11util.c
@@ -703,3 +703,8 @@ SECMOD_DestroyModuleList(SECMODModuleList *list) {
for ( lp = list; lp != NULL; lp = SECMOD_DestroyModuleListElement(lp)) ;
}
+PRBool
+SECMOD_CanDeleteInternalModule(void)
+{
+ return (PRBool) pendingModule == NULL;
+}
diff --git a/security/nss/lib/pk11wrap/secmod.h b/security/nss/lib/pk11wrap/secmod.h
index 6e4c4c9b8..64461a112 100644
--- a/security/nss/lib/pk11wrap/secmod.h
+++ b/security/nss/lib/pk11wrap/secmod.h
@@ -117,6 +117,7 @@ extern void SECMOD_ReleaseWriteLock(SECMODListLock *);
extern SECMODModule *SECMOD_FindModule(char *name);
extern SECStatus SECMOD_DeleteModule(char *name, int *type);
extern SECStatus SECMOD_DeleteInternalModule(char *name);
+extern PRBool SECMOD_CanDeleteInternalModule(void);
extern SECStatus SECMOD_AddNewModule(char* moduleName, char* dllPath,
unsigned long defaultMechanismFlags,
unsigned long cipherEnableFlags);