diff options
author | wtchang%redhat.com <devnull@localhost> | 2005-03-28 20:45:37 +0000 |
---|---|---|
committer | wtchang%redhat.com <devnull@localhost> | 2005-03-28 20:45:37 +0000 |
commit | 627a598c1f20456d01ec4d9d034735da0227a4ac (patch) | |
tree | 5d4adb4b0e6964f159d8ec17e82856123c8ca289 /security/nss/lib/pk11wrap | |
parent | e03b9c8cefce17235b9877f94c5f9bb73df22e29 (diff) | |
download | nss-hg-627a598c1f20456d01ec4d9d034735da0227a4ac.tar.gz |
Bugzilla Bug 286439: Removed PKCS11_USE_THREADS and PK11_USE_THREADS.
r=relyea,nelsonb.
Modified Files:
pk11wrap/pk11list.c pk11wrap/pk11pars.c pk11wrap/pk11skey.c
pk11wrap/pk11slot.c pk11wrap/pk11util.c pk11wrap/secmod.h
pk11wrap/secmodi.h pk11wrap/secmodt.h pk11wrap/secmodti.h
softoken/pkcs11.c softoken/pkcs11i.h softoken/pkcs11u.c
Diffstat (limited to 'security/nss/lib/pk11wrap')
-rw-r--r-- | security/nss/lib/pk11wrap/pk11list.c | 16 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/pk11pars.c | 6 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/pk11skey.c | 8 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/pk11slot.c | 43 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/pk11util.c | 14 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/secmod.h | 2 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/secmodi.h | 6 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/secmodt.h | 8 | ||||
-rw-r--r-- | security/nss/lib/pk11wrap/secmodti.h | 9 |
9 files changed, 36 insertions, 76 deletions
diff --git a/security/nss/lib/pk11wrap/pk11list.c b/security/nss/lib/pk11wrap/pk11list.c index 3baaef921..24885b832 100644 --- a/security/nss/lib/pk11wrap/pk11list.c +++ b/security/nss/lib/pk11wrap/pk11list.c @@ -50,11 +50,7 @@ */ SECMODListLock *SECMOD_NewListLock() { -#ifdef PKCS11_USE_THREADS - return (SECMODListLock *) NSSRWLock_New( 10, "moduleListLock"); -#else - return (SECMODListLock *) 1; -#endif + return NSSRWLock_New( 10, "moduleListLock"); } /* @@ -62,7 +58,7 @@ SECMODListLock *SECMOD_NewListLock() */ void SECMOD_DestroyListLock(SECMODListLock *lock) { - PK11_USE_THREADS(NSSRWLock_Destroy((NSSRWLock *)lock);) + NSSRWLock_Destroy(lock); } @@ -72,7 +68,7 @@ void SECMOD_DestroyListLock(SECMODListLock *lock) */ void SECMOD_GetReadLock(SECMODListLock *modLock) { - PK11_USE_THREADS(NSSRWLock_LockRead((NSSRWLock *)modLock);) + NSSRWLock_LockRead(modLock); } /* @@ -80,7 +76,7 @@ void SECMOD_GetReadLock(SECMODListLock *modLock) */ void SECMOD_ReleaseReadLock(SECMODListLock *modLock) { - PK11_USE_THREADS(NSSRWLock_UnlockRead((NSSRWLock *)modLock);) + NSSRWLock_UnlockRead(modLock); } @@ -89,7 +85,7 @@ void SECMOD_ReleaseReadLock(SECMODListLock *modLock) */ void SECMOD_GetWriteLock(SECMODListLock *modLock) { - PK11_USE_THREADS(NSSRWLock_LockWrite((NSSRWLock *)modLock);) + NSSRWLock_LockWrite(modLock); } @@ -99,7 +95,7 @@ void SECMOD_GetWriteLock(SECMODListLock *modLock) */ void SECMOD_ReleaseWriteLock(SECMODListLock *modLock) { - PK11_USE_THREADS(NSSRWLock_UnlockWrite((NSSRWLock *)modLock);) + NSSRWLock_UnlockWrite(modLock); } diff --git a/security/nss/lib/pk11wrap/pk11pars.c b/security/nss/lib/pk11wrap/pk11pars.c index 9797d6084..10d4bc127 100644 --- a/security/nss/lib/pk11wrap/pk11pars.c +++ b/security/nss/lib/pk11wrap/pk11pars.c @@ -98,15 +98,11 @@ secmod_NewModule(void) newMod->trustOrder = 0; newMod->cipherOrder = 0; newMod->evControlMask = 0; -#ifdef PKCS11_USE_THREADS - newMod->refLock = (void *)PZ_NewLock(nssILockRefLock); + newMod->refLock = PZ_NewLock(nssILockRefLock); if (newMod->refLock == NULL) { PORT_FreeArena(arena,PR_FALSE); return NULL; } -#else - newMod->refLock = NULL; -#endif return newMod; } diff --git a/security/nss/lib/pk11wrap/pk11skey.c b/security/nss/lib/pk11wrap/pk11skey.c index 836963e75..d177a267b 100644 --- a/security/nss/lib/pk11wrap/pk11skey.c +++ b/security/nss/lib/pk11wrap/pk11skey.c @@ -74,13 +74,13 @@ static PK11SymKey * pk11_getKeyFromList(PK11SlotInfo *slot) { PK11SymKey *symKey = NULL; - PK11_USE_THREADS(PZ_Lock(slot->freeListLock);) + PZ_Lock(slot->freeListLock); if (slot->freeSymKeysHead) { symKey = slot->freeSymKeysHead; slot->freeSymKeysHead = symKey->next; slot->keyCount--; } - PK11_USE_THREADS(PZ_Unlock(slot->freeListLock);) + PZ_Unlock(slot->freeListLock); if (symKey) { symKey->next = NULL; if ((symKey->series != slot->series) || (!symKey->sessionOwner)) @@ -169,7 +169,7 @@ PK11_FreeSymKey(PK11SymKey *symKey) PORT_Free(symKey->data.data); } slot = symKey->slot; - PK11_USE_THREADS(PZ_Lock(slot->freeListLock);) + PZ_Lock(slot->freeListLock); if (slot->keyCount < slot->maxKeyCount) { symKey->next = slot->freeSymKeysHead; slot->freeSymKeysHead = symKey; @@ -177,7 +177,7 @@ PK11_FreeSymKey(PK11SymKey *symKey) symKey->slot = NULL; freeit = PR_FALSE; } - PK11_USE_THREADS(PZ_Unlock(slot->freeListLock);) + PZ_Unlock(slot->freeListLock); if (freeit) { pk11_CloseSession(symKey->slot, symKey->session, symKey->sessionOwner); diff --git a/security/nss/lib/pk11wrap/pk11slot.c b/security/nss/lib/pk11wrap/pk11slot.c index fdbdcff93..201959f18 100644 --- a/security/nss/lib/pk11wrap/pk11slot.c +++ b/security/nss/lib/pk11wrap/pk11slot.c @@ -133,15 +133,11 @@ PK11_NewSlotList(void) if (list == NULL) return NULL; list->head = NULL; list->tail = NULL; -#ifdef PKCS11_USE_THREADS list->lock = PZ_NewLock(nssILockList); if (list->lock == NULL) { PORT_Free(list); return NULL; } -#else - list->lock = NULL; -#endif return list; } @@ -154,11 +150,11 @@ pk11_FreeListElement(PK11SlotList *list, PK11SlotListElement *le) { PRBool freeit = PR_FALSE; - PK11_USE_THREADS(PZ_Lock((PZLock *)(list->lock));) + PZ_Lock(list->lock); if (le->refCount-- == 1) { freeit = PR_TRUE; } - PK11_USE_THREADS(PZ_Unlock((PZLock *)(list->lock));) + PZ_Unlock(list->lock); if (freeit) { PK11_FreeSlot(le->slot); PORT_Free(le); @@ -179,7 +175,7 @@ PK11_FreeSlotList(PK11SlotList *list) next = le->next; pk11_FreeListElement(list,le); } - PK11_USE_THREADS(PZ_DestroyLock((PZLock *)(list->lock));) + PZ_DestroyLock(list->lock); PORT_Free(list); } @@ -197,11 +193,11 @@ PK11_AddSlotToList(PK11SlotList *list,PK11SlotInfo *slot) le->slot = PK11_ReferenceSlot(slot); le->prev = NULL; le->refCount = 1; - PK11_USE_THREADS(PZ_Lock((PZLock *)(list->lock));) + PZ_Lock(list->lock); if (list->head) list->head->prev = le; else list->tail = le; le->next = list->head; list->head = le; - PK11_USE_THREADS(PZ_Unlock((PZLock *)(list->lock));) + PZ_Unlock(list->lock); return SECSuccess; } @@ -212,11 +208,11 @@ PK11_AddSlotToList(PK11SlotList *list,PK11SlotInfo *slot) SECStatus PK11_DeleteSlotFromList(PK11SlotList *list,PK11SlotListElement *le) { - PK11_USE_THREADS(PZ_Lock((PZLock *)(list->lock));) + PZ_Lock(list->lock); if (le->prev) le->prev->next = le->next; else list->head = le->next; if (le->next) le->next->prev = le->prev; else list->tail = le->prev; le->next = le->prev = NULL; - PK11_USE_THREADS(PZ_Unlock((PZLock *)(list->lock));) + PZ_Unlock(list->lock); pk11_FreeListElement(list,le); return SECSuccess; } @@ -276,10 +272,10 @@ PK11_GetFirstSafe(PK11SlotList *list) { PK11SlotListElement *le; - PK11_USE_THREADS(PZ_Lock((PZLock *)(list->lock));) + PZ_Lock(list->lock); le = list->head; if (le != NULL) (le)->refCount++; - PK11_USE_THREADS(PZ_Unlock((PZLock *)(list->lock));) + PZ_Unlock(list->lock); return le; } @@ -292,7 +288,7 @@ PK11SlotListElement * PK11_GetNextSafe(PK11SlotList *list, PK11SlotListElement *le, PRBool restart) { PK11SlotListElement *new_le; - PK11_USE_THREADS(PZ_Lock((PZLock *)(list->lock));) + PZ_Lock(list->lock); new_le = le->next; if (le->next == NULL) { /* if the prev and next fields are NULL then either this element @@ -303,7 +299,7 @@ PK11_GetNextSafe(PK11SlotList *list, PK11SlotListElement *le, PRBool restart) } } if (new_le) new_le->refCount++; - PK11_USE_THREADS(PZ_Unlock((PZLock *)(list->lock));) + PZ_Unlock(list->lock); pk11_FreeListElement(list,le); return new_le; } @@ -338,9 +334,8 @@ PK11_NewSlotInfo(SECMODModule *mod) slot = (PK11SlotInfo *)PORT_Alloc(sizeof(PK11SlotInfo)); if (slot == NULL) return slot; -#ifdef PKCS11_USE_THREADS slot->sessionLock = mod->isThreadSafe ? - PZ_NewLock(nssILockSession) : (PZLock *)mod->refLock; + PZ_NewLock(nssILockSession) : mod->refLock; if (slot->sessionLock == NULL) { PORT_Free(slot); return slot; @@ -353,10 +348,6 @@ PK11_NewSlotInfo(SECMODModule *mod) PORT_Free(slot); return slot; } -#else - slot->sessionLock = NULL; - slot->freeListLock = NULL; -#endif slot->freeSymKeysHead = NULL; slot->keyCount = 0; slot->maxKeyCount = 0; @@ -424,7 +415,6 @@ PK11_DestroySlot(PK11SlotInfo *slot) if (slot->mechanismList) { PORT_Free(slot->mechanismList); } -#ifdef PKCS11_USE_THREADS if (slot->isThreadSafe && slot->sessionLock) { PZ_DestroyLock(slot->sessionLock); } @@ -433,7 +423,6 @@ PK11_DestroySlot(PK11SlotInfo *slot) PZ_DestroyLock(slot->freeListLock); slot->freeListLock = NULL; } -#endif /* finally Tell our parent module that we've gone away so it can unload */ if (slot->module) { @@ -722,11 +711,7 @@ PK11_RestoreROSession(PK11SlotInfo *slot,CK_SESSION_HANDLE rwsession) static void pk11_initSlotList(PK11SlotList *list) { -#ifdef PKCS11_USE_THREADS list->lock = PZ_NewLock(nssILockList); -#else - list->lock = NULL; -#endif list->head = NULL; } @@ -740,11 +725,9 @@ pk11_freeSlotList(PK11SlotList *list) next = le->next; pk11_FreeListElement(list,le); } -#ifdef PK11_USE_THREADS if (list->lock) { - PZ_DestroyLock((PZLock *)(list->lock)); + PZ_DestroyLock(list->lock); } -#endif list->lock = NULL; list->head = NULL; } diff --git a/security/nss/lib/pk11wrap/pk11util.c b/security/nss/lib/pk11wrap/pk11util.c index fd7008a08..de63ab1a4 100644 --- a/security/nss/lib/pk11wrap/pk11util.c +++ b/security/nss/lib/pk11wrap/pk11util.c @@ -726,11 +726,11 @@ SECMODModuleList *SECMOD_NewModuleListElement(void) SECMODModule * SECMOD_ReferenceModule(SECMODModule *module) { - PK11_USE_THREADS(PZ_Lock((PZLock *)module->refLock);) + PZ_Lock(module->refLock); PORT_Assert(module->refCount > 0); module->refCount++; - PK11_USE_THREADS(PZ_Unlock((PZLock*)module->refLock);) + PZ_Unlock(module->refLock); return module; } @@ -743,12 +743,12 @@ SECMOD_DestroyModule(SECMODModule *module) int slotCount; int i; - PK11_USE_THREADS(PZ_Lock((PZLock *)module->refLock);) + PZ_Lock(module->refLock); if (module->refCount-- == 1) { willfree = PR_TRUE; } PORT_Assert(willfree || (module->refCount > 0)); - PK11_USE_THREADS(PZ_Unlock((PZLock *)module->refLock);) + PZ_Unlock(module->refLock); if (!willfree) { return; @@ -790,12 +790,12 @@ SECMOD_SlotDestroyModule(SECMODModule *module, PRBool fromSlot) PRBool willfree = PR_FALSE; if (fromSlot) { PORT_Assert(module->refCount == 0); - PK11_USE_THREADS(PZ_Lock((PZLock *)module->refLock);) + PZ_Lock(module->refLock); if (module->slotCount-- == 1) { willfree = PR_TRUE; } PORT_Assert(willfree || (module->slotCount > 0)); - PK11_USE_THREADS(PZ_Unlock((PZLock *)module->refLock);) + PZ_Unlock(module->refLock); if (!willfree) return; } @@ -806,7 +806,7 @@ SECMOD_SlotDestroyModule(SECMODModule *module, PRBool fromSlot) if (module->loaded) { SECMOD_UnloadModule(module); } - PK11_USE_THREADS(PZ_DestroyLock((PZLock *)module->refLock);) + PZ_DestroyLock(module->refLock); PORT_FreeArena(module->arena,PR_FALSE); secmod_PrivateModuleCount--; } diff --git a/security/nss/lib/pk11wrap/secmod.h b/security/nss/lib/pk11wrap/secmod.h index 18b737772..83545f5e3 100644 --- a/security/nss/lib/pk11wrap/secmod.h +++ b/security/nss/lib/pk11wrap/secmod.h @@ -39,8 +39,6 @@ #include "secmodt.h" #include "prinrval.h" -#define PKCS11_USE_THREADS - /* These mechanisms flags are visible to all other libraries. */ /* They must be converted to internal SECMOD_*_FLAG */ /* if used inside the functions of the security library */ diff --git a/security/nss/lib/pk11wrap/secmodi.h b/security/nss/lib/pk11wrap/secmodi.h index 8dda6467f..d8c4b1d3a 100644 --- a/security/nss/lib/pk11wrap/secmodi.h +++ b/security/nss/lib/pk11wrap/secmodi.h @@ -48,12 +48,6 @@ #include "secmodt.h" #include "keyt.h" -#ifdef PKCS11_USE_THREADS -#define PK11_USE_THREADS(x) x -#else -#define PK11_USE_THREADS(x) -#endif - SEC_BEGIN_PROTOS /* proto-types */ diff --git a/security/nss/lib/pk11wrap/secmodt.h b/security/nss/lib/pk11wrap/secmodt.h index a2c032ba4..7a07f5302 100644 --- a/security/nss/lib/pk11wrap/secmodt.h +++ b/security/nss/lib/pk11wrap/secmodt.h @@ -36,6 +36,8 @@ #ifndef _SECMODT_H_ #define _SECMODT_H_ 1 +#include "nssrwlkt.h" +#include "nssilckt.h" #include "secoid.h" #include "secasn1.h" @@ -52,7 +54,7 @@ extern SEC_ASN1TemplateChooser NSS_Get_SECKEY_PointerToPrivateKeyInfoTemplate; /* PKCS11 needs to be included */ typedef struct SECMODModuleStr SECMODModule; typedef struct SECMODModuleListStr SECMODModuleList; -typedef struct SECMODListLockStr SECMODListLock; /* defined in secmodi.h */ +typedef NSSRWLock SECMODListLock; typedef struct PK11SlotInfoStr PK11SlotInfo; /* defined in secmodti.h */ typedef struct PK11PreSlotInfoStr PK11PreSlotInfo; /* defined in secmodti.h */ typedef struct PK11SymKeyStr PK11SymKey; /* defined in secmodti.h */ @@ -76,7 +78,7 @@ struct SECMODModuleStr { void *library; /* pointer to the library. opaque. used only by * pk11load.c */ void *functionList; /* The PKCS #11 function table */ - void *refLock; /* only used pk11db.c */ + PZLock *refLock; /* only used pk11db.c */ int refCount; /* Module reference count */ PK11SlotInfo **slots; /* array of slot points attached to this mod*/ int slotCount; /* count of slot in above array */ @@ -121,7 +123,7 @@ struct SECMODModuleListStr { struct PK11SlotListStr { PK11SlotListElement *head; PK11SlotListElement *tail; - void *lock; + PZLock *lock; }; struct PK11SlotListElementStr { diff --git a/security/nss/lib/pk11wrap/secmodti.h b/security/nss/lib/pk11wrap/secmodti.h index 828b308e0..a338e7b6d 100644 --- a/security/nss/lib/pk11wrap/secmodti.h +++ b/security/nss/lib/pk11wrap/secmodti.h @@ -63,15 +63,6 @@ typedef struct pk11TraverseSlotStr { } pk11TraverseSlot; -/* structure to allow us to implement the read/write locks for our - * module lists */ -struct SECMODListLockStr { - PZLock *mutex; /*general mutex to protect this data structure*/ - PZMonitor *monitor; /* monitor to allow us to signal */ - int state; /* read/write/waiting state */ - int count; /* how many waiters on this lock */ -}; - /* represent a pkcs#11 slot reference counted. */ struct PK11SlotInfoStr { /* the PKCS11 function list for this slot */ |