Overview
Comment: | Updated transaction support |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | c2e40da09518390724a6452449e529a6c9332336 |
User & Date: | rkeene on 2010-05-14 03:32:15 |
Other Links: | manifest | tags |
Context
2010-05-14
| ||
06:08 |
Updated to decompress certificates
Updated to correctly process TLV elements -- fixes bug where iterated past them when processing Updated to correclty process TLV element total length check-in: b9e3c7741b user: rkeene tags: trunk | |
03:32 | Updated transaction support check-in: c2e40da095 user: rkeene tags: trunk | |
03:28 | Updated transactional support to recursive transactions check-in: 43170e1dd9 user: rkeene tags: trunk | |
Changes
Modified cackey.c from [0fee951b43] to [884439a73b].
611 612 613 614 615 616 617 618 619 620 621 622 623 624 .... 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 .... 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 |
if (cackey_slots[idx].pcsc_card_connected) { CACKEY_DEBUG_PRINTF("SCardDisconnect(%lu) called", (unsigned long) idx); SCardDisconnect(cackey_slots[idx].pcsc_card, SCARD_LEAVE_CARD); } cackey_slots[idx].pcsc_card_connected = 0; } CACKEY_DEBUG_PRINTF("Returning"); return; } ................................................................................ for (idx = 0; idx < (sizeof(cackey_sessions) / sizeof(cackey_sessions[0])); idx++) { cackey_sessions[idx].active = 0; } for (idx = 0; idx < (sizeof(cackey_slots) / sizeof(cackey_slots[0])); idx++) { cackey_slots[idx].active = 0; cackey_slots[idx].pcsc_reader = NULL; } cackey_initialized = 1; if (!cackey_biglock_init) { mutex_init_ret = cackey_mutex_create(&cackey_biglock); ................................................................................ CACKEY_DEBUG_PRINTF("Found reader: %s", pcsc_readers); /* Only update the list of slots if we are actually being supply the slot information */ if (pSlotList) { cackey_slots[currslot].active = 1; cackey_slots[currslot].pcsc_reader = strdup(pcsc_readers); cackey_slots[currslot].pcsc_card_connected = 0; } currslot++; pcsc_readers += curr_reader_len + 1; } if (currslot > 0) { |
> > > |
611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 .... 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 .... 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 |
if (cackey_slots[idx].pcsc_card_connected) { CACKEY_DEBUG_PRINTF("SCardDisconnect(%lu) called", (unsigned long) idx); SCardDisconnect(cackey_slots[idx].pcsc_card, SCARD_LEAVE_CARD); } cackey_slots[idx].pcsc_card_connected = 0; cackey_slots[idx].transaction_depth = 0; } CACKEY_DEBUG_PRINTF("Returning"); return; } ................................................................................ for (idx = 0; idx < (sizeof(cackey_sessions) / sizeof(cackey_sessions[0])); idx++) { cackey_sessions[idx].active = 0; } for (idx = 0; idx < (sizeof(cackey_slots) / sizeof(cackey_slots[0])); idx++) { cackey_slots[idx].active = 0; cackey_slots[idx].pcsc_reader = NULL; cackey_slots[idx].transaction_depth = 0; } cackey_initialized = 1; if (!cackey_biglock_init) { mutex_init_ret = cackey_mutex_create(&cackey_biglock); ................................................................................ CACKEY_DEBUG_PRINTF("Found reader: %s", pcsc_readers); /* Only update the list of slots if we are actually being supply the slot information */ if (pSlotList) { cackey_slots[currslot].active = 1; cackey_slots[currslot].pcsc_reader = strdup(pcsc_readers); cackey_slots[currslot].pcsc_card_connected = 0; cackey_slots[currslot].transaction_depth = 0; } currslot++; pcsc_readers += curr_reader_len + 1; } if (currslot > 0) { |