Check-in [dd81bbaf7e]
Overview
Comment:Updated comments regarding bug in GDM
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: dd81bbaf7e0263e61114ccdcca9389faf3a572b1
User & Date: rkeene on 2010-05-21 22:09:19
Other Links: manifest | tags
Context
2010-05-22
18:33
CACKey 0.5.6

Added RPM Spec file check-in: b5db4e9add user: rkeene tags: trunk, 0.5.6

2010-05-21
22:09
Updated comments regarding bug in GDM check-in: dd81bbaf7e user: rkeene tags: trunk
21:09
Added support for more PC/SC errors check-in: a5be7fbdf0 user: rkeene tags: trunk
Changes

Modified cackey.c from [087ebbfb5f] to [ca30d967da].

3111
3112
3113
3114
3115
3116
3117
3118
3119


3120
3121
3122
3123
3124
3125
3126
3111
3112
3113
3114
3115
3116
3117


3118
3119
3120
3121
3122
3123
3124
3125
3126







-
-
+
+







			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 */
				/* Start with Slot ID 1, to avoid a bug in GDM on RHEL */
				/* Bug 594911: https://bugzilla.redhat.com/show_bug.cgi?id=594911 */
				currslot = 1;
				while (pcsc_readers < pcsc_readers_e) {
					curr_reader_len = strlen(pcsc_readers);

					if ((pcsc_readers + curr_reader_len) > pcsc_readers_e) {
						break;
					}
3148
3149
3150
3151
3152
3153
3154
3155
3156


3157
3158
3159


3160
3161
3162
3163
3164
3165
3166
3148
3149
3150
3151
3152
3153
3154


3155
3156
3157


3158
3159
3160
3161
3162
3163
3164
3165
3166







-
-
+
+

-
-
+
+







						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 */
				/* Start with Slot ID 1, to avoid a bug in GDM on RHEL */
				/* Bug 594911: https://bugzilla.redhat.com/show_bug.cgi?id=594911 */
				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 */
					/* Start with Slot ID 1, to avoid a bug in GDM on RHEL */
					/* Bug 594911: https://bugzilla.redhat.com/show_bug.cgi?id=594911 */
					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);
3188
3189
3190
3191
3192
3193
3194
3195
3196


3197
3198
3199
3200
3201
3202
3203
3188
3189
3190
3191
3192
3193
3194


3195
3196
3197
3198
3199
3200
3201
3202
3203







-
-
+
+







	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 */
		/* Start with Slot ID 1, to avoid a bug in GDM on RHEL */
		/* Bug 594911: https://bugzilla.redhat.com/show_bug.cgi?id=594911 */
		pSlotList[currslot] = currslot + 1;
	}

	*pulCount = slot_count;

	CACKEY_DEBUG_PRINTF("Returning CKR_OK (%i).  Found %lu readers.", CKR_OK, (unsigned long) slot_count);