Overview
Comment: | Worked around bug in GDM (619297) that rejects a slotid of 0 |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
78b2c8546f2f6be1be73590aaae078b2 |
User & Date: | rkeene on 2010-05-21 15:43:50 |
Other Links: | manifest | tags |
Context
2010-05-21
| ||
15:44 | CACKey 0.5.5 check-in: c97d596fa2 user: rkeene tags: 0.5.5, trunk | |
15:43 | Worked around bug in GDM (619297) that rejects a slotid of 0 check-in: 78b2c8546f user: rkeene tags: trunk | |
15:43 | Updated to make target directory tree check-in: 627054cdf0 user: rkeene tags: trunk | |
Changes
Modified cackey.c from [1aac84790e] to [a529afaf0b].
︙ | ︙ | |||
3107 3108 3109 3110 3111 3112 3113 | pcsc_readers = malloc(pcsc_readers_len); pcsc_readers_s = pcsc_readers; scard_listreaders_ret = SCardListReaders(*cackey_pcsc_handle, NULL, pcsc_readers, &pcsc_readers_len); if (scard_listreaders_ret == SCARD_S_SUCCESS) { pcsc_readers_e = pcsc_readers + pcsc_readers_len; | > > | | 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 | pcsc_readers = malloc(pcsc_readers_len); pcsc_readers_s = pcsc_readers; scard_listreaders_ret = SCardListReaders(*cackey_pcsc_handle, NULL, pcsc_readers, &pcsc_readers_len); if (scard_listreaders_ret == SCARD_S_SUCCESS) { pcsc_readers_e = pcsc_readers + pcsc_readers_len; /* Start with Slot ID 1, to avoid a bug in GDM */ /* Bug 619297: https://bugzilla.gnome.org/show_bug.cgi?id=619297 */ currslot = 1; while (pcsc_readers < pcsc_readers_e) { curr_reader_len = strlen(pcsc_readers); if ((pcsc_readers + curr_reader_len) > pcsc_readers_e) { break; } |
︙ | ︙ | |||
3142 3143 3144 3145 3146 3147 3148 | cackey_slots[currslot].label = NULL; } currslot++; pcsc_readers += curr_reader_len + 1; } | > > | > > | | 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 | cackey_slots[currslot].label = NULL; } currslot++; pcsc_readers += curr_reader_len + 1; } /* Start with Slot ID 1, to avoid a bug in GDM */ /* Bug 619297: https://bugzilla.gnome.org/show_bug.cgi?id=619297 */ if (currslot > 1) { /* Start with Slot ID 1, to avoid a bug in GDM */ /* Bug 619297: https://bugzilla.gnome.org/show_bug.cgi?id=619297 */ slot_count = currslot - 1; } } else { CACKEY_DEBUG_PRINTF("Second call to SCardListReaders failed, return %s/%li", CACKEY_DEBUG_FUNC_SCARDERR_TO_STR(scard_listreaders_ret), (long) scard_listreaders_ret); } free(pcsc_readers_s); } else { |
︙ | ︙ | |||
3178 3179 3180 3181 3182 3183 3184 | if (count < slot_count) { CACKEY_DEBUG_PRINTF("Error. User allocated %lu entries, but we have %lu entries.", count, slot_count); return(CKR_BUFFER_TOO_SMALL); } for (currslot = 0; currslot < slot_count; currslot++) { | > > | | 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 | if (count < slot_count) { CACKEY_DEBUG_PRINTF("Error. User allocated %lu entries, but we have %lu entries.", count, slot_count); return(CKR_BUFFER_TOO_SMALL); } for (currslot = 0; currslot < slot_count; currslot++) { /* Start with Slot ID 1, to avoid a bug in GDM */ /* Bug 619297: https://bugzilla.gnome.org/show_bug.cgi?id=619297 */ pSlotList[currslot] = currslot + 1; } *pulCount = slot_count; CACKEY_DEBUG_PRINTF("Returning CKR_OK (%i). Found %lu readers.", CKR_OK, (unsigned long) slot_count); return(CKR_OK); |
︙ | ︙ |