summaryrefslogtreecommitdiff
path: root/security/nss/lib/pk11wrap
diff options
context:
space:
mode:
authorwtchang%redhat.com <devnull@localhost>2005-03-28 20:45:37 +0000
committerwtchang%redhat.com <devnull@localhost>2005-03-28 20:45:37 +0000
commit627a598c1f20456d01ec4d9d034735da0227a4ac (patch)
tree5d4adb4b0e6964f159d8ec17e82856123c8ca289 /security/nss/lib/pk11wrap
parente03b9c8cefce17235b9877f94c5f9bb73df22e29 (diff)
downloadnss-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.c16
-rw-r--r--security/nss/lib/pk11wrap/pk11pars.c6
-rw-r--r--security/nss/lib/pk11wrap/pk11skey.c8
-rw-r--r--security/nss/lib/pk11wrap/pk11slot.c43
-rw-r--r--security/nss/lib/pk11wrap/pk11util.c14
-rw-r--r--security/nss/lib/pk11wrap/secmod.h2
-rw-r--r--security/nss/lib/pk11wrap/secmodi.h6
-rw-r--r--security/nss/lib/pk11wrap/secmodt.h8
-rw-r--r--security/nss/lib/pk11wrap/secmodti.h9
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 */