Hello,
the 'hide_empty_slot' configuration option seems to not working.
Here is the patch that works for me.
Any objections?
Kind wishes,
Viktor.
Index: src/pkcs11/pkcs11-global.c
===================================================================
--- src/pkcs11/pkcs11-global.c (révision 5411)
+++ src/pkcs11/pkcs11-global.c (copie de travail)
@@ -361,6 +361,7 @@
unsigned int i;
CK_ULONG numMatches;
sc_pkcs11_slot_t *slot;
+ sc_reader_t *prev_reader = NULL;
CK_RV rv;
if (pulCount == NULL_PTR)
@@ -390,11 +391,18 @@
goto out;
}
+ prev_reader = NULL;
numMatches = 0;
for (i=0; i<list_size(&virtual_slots); i++) {
slot = (sc_pkcs11_slot_t *) list_get_at(&virtual_slots, i);
- if (!tokenPresent || (slot->slot_info.flags &
CKF_TOKEN_PRESENT))
+ /* the list of available slots contains:
+ * - if present, virtual hotplug slot;
+ * - without token(s), one empty slot per reader;
+ * - any slot with token.
+ */
+ if (!slot->reader || (!tokenPresent && slot->reader !=
prev_reader) || (slot->slot_info.flags & CKF_TOKEN_PRESENT))
found[numMatches++] = slot->id;
+ prev_reader = slot->reader;
}
if (pSlotList == NULL_PTR) {
_______________________________________________
opensc-devel mailing list
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel