libcacard: remove default libcoolkey loading

Use only the modules defined in the NSS database.

Signed-off-by: Marc-André Lureau <mlureau@redhat.com>
Reviewed-by: Alon Levy <alevy@redhat.com>
This commit is contained in:
Marc-André Lureau 2013-03-20 14:07:49 +01:00 committed by Alon Levy
parent 667e0b4b68
commit ad2181f2b6

View file

@ -870,7 +870,7 @@ VCardEmulError
vcard_emul_init(const VCardEmulOptions *options) vcard_emul_init(const VCardEmulOptions *options)
{ {
SECStatus rv; SECStatus rv;
PRBool ret, has_readers = PR_FALSE, need_coolkey_module; PRBool ret, has_readers = PR_FALSE;
VReader *vreader; VReader *vreader;
VReaderEmul *vreader_emul; VReaderEmul *vreader_emul;
SECMODListLock *module_lock; SECMODListLock *module_lock;
@ -983,30 +983,15 @@ vcard_emul_init(const VCardEmulOptions *options)
/* make sure we have some PKCS #11 module loaded */ /* make sure we have some PKCS #11 module loaded */
module_lock = SECMOD_GetDefaultModuleListLock(); module_lock = SECMOD_GetDefaultModuleListLock();
module_list = SECMOD_GetDefaultModuleList(); module_list = SECMOD_GetDefaultModuleList();
need_coolkey_module = !has_readers;
SECMOD_GetReadLock(module_lock); SECMOD_GetReadLock(module_lock);
for (mlp = module_list; mlp; mlp = mlp->next) { for (mlp = module_list; mlp; mlp = mlp->next) {
SECMODModule *module = mlp->module; SECMODModule *module = mlp->module;
if (module_has_removable_hw_slots(module)) { if (module_has_removable_hw_slots(module)) {
need_coolkey_module = PR_FALSE;
break; break;
} }
} }
SECMOD_ReleaseReadLock(module_lock); SECMOD_ReleaseReadLock(module_lock);
if (need_coolkey_module) {
SECMODModule *module;
module = SECMOD_LoadUserModule(
(char *)"library=libcoolkeypk11.so name=Coolkey",
NULL, PR_FALSE);
if (module == NULL) {
return VCARD_EMUL_FAIL;
}
SECMOD_DestroyModule(module); /* free our reference, Module will still
* be on the list.
* until we destroy it */
}
/* now examine all the slots, finding which should be readers */ /* now examine all the slots, finding which should be readers */
/* We should control this with options. For now we mirror out any /* We should control this with options. For now we mirror out any
* removable hardware slot */ * removable hardware slot */