/[pcsclite]/trunk/Drivers/ccid/src/ifdhandler.c
ViewVC logotype

Log of /trunk/Drivers/ccid/src/ifdhandler.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2473 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 12 10:07:35 2007 UTC (6 years, 2 months ago) by rousseau
File length: 40755 byte(s)
Diff to previous 2472 , to selected 1368
move #include of config.h before pcsclite.h and reader.h

Revision 2472 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 8 12:53:18 2007 UTC (6 years, 2 months ago) by rousseau
File length: 40755 byte(s)
Diff to previous 2399 , to selected 1368
In case of error set the received length to 0 in IFDHTransmitToICC() and
IFDHControl() instead of in all the lower level commands

Revision 2399 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 17 14:56:45 2007 UTC (6 years, 3 months ago) by rousseau
File length: 40637 byte(s)
Diff to previous 2258 , to selected 1368
IFDHControl(): log the Rx and Rx buffers

Revision 2258 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 2 17:13:06 2006 UTC (6 years, 5 months ago) by rousseau
File length: 40510 byte(s)
Diff to previous 2223 , to selected 1368
warning: initialization discards qualifiers from pointer target type

Revision 2223 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 17 20:19:17 2006 UTC (6 years, 6 months ago) by rousseau
File length: 40504 byte(s)
Diff to previous 2208 , to selected 1368
set IFSC in the SetParameters argument for T=1 if TAi (i>2) is present: IFSC

Thanks to Stefan Neis for the bug report and patch

Revision 2208 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 15 14:35:21 2006 UTC (6 years, 6 months ago) by rousseau
File length: 40164 byte(s)
Diff to previous 2197 , to selected 1368
IFDHICCPresence(): return the error code returned by CmdGetSlotStatus()
instead of using IFD_COMMUNICATION_ERROR

Revision 2197 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 15 10:04:18 2006 UTC (6 years, 6 months ago) by rousseau
File length: 40175 byte(s)
Diff to previous 2176 , to selected 1368
IFDHGetCapabilities(): add support of SCARD_ATTR_MAXINPUT to get the
maximal APDU size (dwMaxCCIDMessageLength -10)

Revision 2176 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 26 13:32:05 2006 UTC (6 years, 7 months ago) by rousseau
File length: 40001 byte(s)
Diff to previous 2175 , to selected 1368
IFDHICCPresence(): the patch in revision 2150 was not correct.
SCardReconnect(..., SCARD_UNPOWER_CARD, ...) failed since the
card was reported as non present after the power off

Revision 2175 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 26 13:29:57 2006 UTC (6 years, 7 months ago) by rousseau
File length: 39931 byte(s)
Diff to previous 2168 , to selected 1368
IFDHPowerICC(): log the action performed (PowerUp, PowerDown, Reset)

Revision 2168 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 20 14:01:14 2006 UTC (6 years, 7 months ago) by rousseau
File length: 39833 byte(s)
Diff to previous 2166 , to selected 1368
IFDHGetCapabilities(): add support of SCARD_ATTR_VENDOR_NAME

Revision 2166 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 20 13:40:19 2006 UTC (6 years, 7 months ago) by rousseau
File length: 39651 byte(s)
Diff to previous 2152 , to selected 1368
add support for SCARD_ATTR_VENDOR_IFD_VERSION tag used by
SCardGetAttrib()

Revision 2152 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 6 20:06:58 2006 UTC (6 years, 8 months ago) by rousseau
File length: 39360 byte(s)
Diff to previous 2150 , to selected 1368
remove trailing spaces at end of lines

Revision 2150 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 6 13:49:40 2006 UTC (6 years, 8 months ago) by rousseau
File length: 39376 byte(s)
Diff to previous 2130 , to selected 1368
IFDHICCPresence(): correctly support the removal and insertion between
two consecutive IFDHICCPresence() calls

Revision 2130 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 9 07:17:31 2006 UTC (6 years, 9 months ago) by rousseau
File length: 38972 byte(s)
Diff to previous 2122 , to selected 1368
IFDHCreateChannelByName(): add a "warm up" sequence. This sequence is
sometimes needed when pcscd is restarted with the reader already
connected. We get some "usb_bulk_read: Resource temporarily unavailable"
on the first few tries. It is an empirical hack

Revision 2122 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 3 13:14:27 2006 UTC (6 years, 9 months ago) by rousseau
File length: 38365 byte(s)
Diff to previous 2116 , to selected 1368
IFDHICCPresence(): check the value returned by CmdEscape() in the
SCR331-DI contactless reader familly code.

Byg detected by using __attribute__((warn_unused_result)) also used as
__must_check by the Linux kernel

Revision 2116 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 31 15:10:48 2006 UTC (6 years, 9 months ago) by rousseau
File length: 38220 byte(s)
Diff to previous 2109 , to selected 1368
use ntohl/htonl from arpa/inet.h since the tag value for
IOCTL_FEATURE_VERIFY_PIN_DIRECT and IOCTL_FEATURE_MODIFY_PIN_DIRECT
_shall_ be encoded in big endian as documented in PCSC v2 part 10 ch 2.2
page 2.

The applications using this feature shall be updated (to respect the
PCSC specification)

Thanks to Ulrich Vogl for the bug report

Revision 2109 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 12 08:30:26 2006 UTC (6 years, 10 months ago) by rousseau
File length: 38183 byte(s)
Diff to previous 2019 , to selected 1368
use LPSTR instead of LPTSTR (deprecated)

Revision 2019 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 20 18:57:14 2006 UTC (7 years, 1 month ago) by rousseau
File length: 38184 byte(s)
Diff to previous 2013 , to selected 1368
declare the functions to export as EXTERNAL

Revision 2013 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 18 15:04:58 2006 UTC (7 years, 1 month ago) by rousseau
File length: 38092 byte(s)
Diff to previous 1950 , to selected 1368
#include "misc.h" so that ifdhandler.h functions are declared EXTERNAL

Revision 1950 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 21 08:48:09 2006 UTC (7 years, 2 months ago) by rousseau
File length: 38074 byte(s)
Diff to previous 1886 , to selected 1368
add support for SCM SDI 010 contactless reader

thanks to Oleg Makarenko for the patch

Revision 1886 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 28 08:39:08 2006 UTC (7 years, 2 months ago) by rousseau
File length: 38031 byte(s)
Diff to previous 1855 , to selected 1368
IFDHSetProtocolParameters(): if the card is in specific mode and request
a speed not supported by the reader we return IFD_COMMUNICATION_ERROR
instead of IFD_PROTOCOL_NOT_SUPPORTED so that pcsc-lite do not try to
talk to the card

Revision 1855 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 6 15:08:10 2006 UTC (7 years, 3 months ago) by rousseau
File length: 38034 byte(s)
Diff to previous 1806 , to selected 1368
IFDHSetProtocolParameters(): store the card protocol in
ccid_desc->cardProtocol

Revision 1806 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 18 09:24:15 2006 UTC (7 years, 4 months ago) by rousseau
File length: 37918 byte(s)
Diff to previous 1797 , to selected 1368
IFDHSetProtocolParameters(): exit the while if you find a correct speed
in the case of a card too fast

Revision 1797 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 15:32:37 2006 UTC (7 years, 4 months ago) by rousseau
File length: 37901 byte(s)
Diff to previous 1790 , to selected 1368
IFDHSetProtocolParameters(): if the card is faster than the reader
(TA1=97 for example) we try to use a no so bad speed (corresponding to
TA1=96, 95 or 94) instead of the default speed of TA1=11

Revision 1790 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 11 07:51:13 2006 UTC (7 years, 4 months ago) by rousseau
File length: 36490 byte(s)
Diff to previous 1780 , to selected 1368
allow to select the power on voltage using Info.plist instead of
recompiling the source code

Revision 1780 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 8 09:32:36 2005 UTC (7 years, 5 months ago) by rousseau
File length: 36144 byte(s)
Diff to previous 1774 , to selected 1368
typo in a comment

Revision 1774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 29 13:54:07 2005 UTC (7 years, 5 months ago) by rousseau
File length: 36143 byte(s)
Diff to previous 1771 , to selected 1368
Avoid a possible division by 0 if f or d parameter is null.
This could happen only with non-ISO cards with TA1=0x00 or other
undefined values

Revision 1771 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 29 12:21:00 2005 UTC (7 years, 5 months ago) by rousseau
File length: 35695 byte(s)
Diff to previous 1752 , to selected 1368
remove PCSC/ from the pcsc-lite #include header files since the PCSC/
part is already given by `pkg-config --cflags libpcsclite`

Revision 1752 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 24 16:16:33 2005 UTC (7 years, 5 months ago) by rousseau
File length: 35710 byte(s)
Diff to previous 1745 , to selected 1368
IFDHGetCapabilities(): use info instead of comm debug level to print the
number of slots supported by the reader

Revision 1745 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 24 15:46:21 2005 UTC (7 years, 5 months ago) by rousseau
File length: 35710 byte(s)
Diff to previous 1630 , to selected 1368
IFDHControl(): use sizeof(PCSC_TLV_STRUCTURE) instead of 6

Revision 1630 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 1 09:11:30 2005 UTC (7 years, 8 months ago) by rousseau
File length: 35660 byte(s)
Diff to previous 1570 , to selected 1368
add support of PC/SC v2 part 10 CM_IOCTL_GET_FEATURE_REQUEST
add support of FEATURE_VERIFY_PIN_DIRECT and FEATURE_MODIFY_PIN_DIRECT

remove support of IOCTL_SMARTCARD_VENDOR_VERIFY_PIN (now obsoleted)

Revision 1570 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 4 10:17:50 2005 UTC (7 years, 10 months ago) by rousseau
File length: 34450 byte(s)
Diff to previous 1559 , to selected 1368
IFDHControl(): having a NULL RxBuffer is not an error since it is enough
to send the code in dwControlCode

Thanks to Martin Paljak for the patch

Revision 1559 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 15 12:55:45 2005 UTC (7 years, 11 months ago) by rousseau
File length: 34474 byte(s)
Diff to previous 1511 , to selected 1368
 #include <PCSC/reader.h>

Revision 1511 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 5 10:05:02 2005 UTC (8 years ago) by rousseau
File length: 34449 byte(s)
Diff to previous 1510 , to selected 1368
do not #include <math.h> since we now use +1 instead of ceil() to round
the calculated timeouts to the upper integer
- we do not need an mathematical exact value. the {usb,serial}read must
  just not timeout before the reader firmware timeouts
- we avoid a dependency/link on the math library

Revision 1510 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 5 10:01:17 2005 UTC (8 years ago) by rousseau
File length: 34467 byte(s)
Diff to previous 1509 , to selected 1368
T0_card_timeout(): use intermediate variables EGT, BWT, CWT, etu to
improve code readability

Revision 1509 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 5 09:59:21 2005 UTC (8 years ago) by rousseau
File length: 34173 byte(s)
Diff to previous 1507 , to selected 1368
T0_card_timeout(): declare EGT, WWT as double instead of int to have
some precision
We also calculate EGT and WWT in milliseconds instead of seconds

Revision 1507 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 4 10:11:28 2005 UTC (8 years ago) by rousseau
File length: 33917 byte(s)
Diff to previous 1505 , to selected 1368
IFDHCreateChannelByName(), T0_card_timeout(), T1_card_timeout(): also
include other card parameters (TC1 for T=0, TC1 and CWI for T=1) in the
timeout formula

Revision 1505 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 4 06:16:49 2005 UTC (8 years ago) by rousseau
File length: 32551 byte(s)
Diff to previous 1495 , to selected 1368
IFDHICCPresence(): add support of SCR331-DI NTTCom

Thanks to Takuto Matsuu fro the patch

Revision 1495 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 13:28:30 2005 UTC (8 years ago) by rousseau
File length: 32498 byte(s)
Diff to previous 1487 , to selected 1368
T0_card_timeout()/T1_card_timeout(): use ceil() to round the timeout

Revision 1487 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 2 09:21:56 2005 UTC (8 years ago) by rousseau
File length: 32456 byte(s)
Diff to previous 1477 , to selected 1368
IFDHSetProtocolParameters(): check if the baud rate is present in the
baud rates list only if the list is present. Otherwise we use the old
behavior.

Revision 1477 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 27 14:08:35 2005 UTC (8 years ago) by rousseau
File length: 32225 byte(s)
Diff to previous 1452 , to selected 1368
IFDHSetProtocolParameters(): we do not check if (card_baudrate <=
ccid_desc->dwMaxDataRate) since find_baud_rate() will tell us if the
speed is supported or not by the reader

Revision 1452 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 14:33:43 2005 UTC (8 years ago) by rousseau
File length: 32319 byte(s)
Diff to previous 1451 , to selected 1368
calculate and store the read timeout according to the card ATR instead
of using a fixed value of 60 seconds

Revision 1451 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 14:30:38 2005 UTC (8 years ago) by rousseau
File length: 31162 byte(s)
Diff to previous 1448 , to selected 1368
add T0_card_timeout() and T1_card_timeout()

Revision 1448 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 13:46:07 2005 UTC (8 years ago) by rousseau
File length: 29836 byte(s)
Diff to previous 1442 , to selected 1368
IFDHSetProtocolParameters(): only use a data rate supported by the
reader in the PPS negociation, otherwise we stay at the default speed.

Revision 1442 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 12:29:45 2005 UTC (8 years ago) by rousseau
File length: 29000 byte(s)
Diff to previous 1441 , to selected 1368
extra_egt(): rewrite the function comment

Revision 1441 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 12:16:26 2005 UTC (8 years ago) by rousseau
File length: 28940 byte(s)
Diff to previous 1440 , to selected 1368
extra_egt(): reuse the same baud rate calculation formula

Revision 1440 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 12:07:44 2005 UTC (8 years ago) by rousseau
File length: 28888 byte(s)
Diff to previous 1439 , to selected 1368
extra_egt(): change two if() in one

Revision 1439 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 26 12:06:13 2005 UTC (8 years ago) by rousseau
File length: 28923 byte(s)
Diff to previous 1438 , to selected 1368
change comments: TBi (i>2) is BWI/CWI not BWI/BCI

Revision 1438 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 25 13:34:27 2005 UTC (8 years ago) by rousseau
File length: 28919 byte(s)
Diff to previous 1437 , to selected 1368
extra_egt(): some (bogus) cards require an extra EGT but the ATR does
not say so. We try to detect the bogus cards and set TC1=2

Revision 1437 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 25 13:12:24 2005 UTC (8 years ago) by rousseau
File length: 26927 byte(s)
Diff to previous 1408 , to selected 1368
light code reformating

Revision 1408 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 17 10:22:18 2005 UTC (8 years, 2 months ago) by rousseau
File length: 26951 byte(s)
Diff to previous 1399 , to selected 1368
init_driver(): use DEBUG_INFO2() instead of debug_msg()

Revision 1399 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 14 18:56:53 2005 UTC (8 years, 2 months ago) by rousseau
File length: 27034 byte(s)
Diff to previous 1368
change licence from GNU GPL to GNU LGPL

Revision 1368 - (view) (download) (annotate) - [selected]
Modified Mon Feb 28 09:35:56 2005 UTC (8 years, 2 months ago) by rousseau
File length: 27012 byte(s)
Diff to previous 1354
use ATR_t instead of ATR

Revision 1354 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 25 17:25:44 2005 UTC (8 years, 2 months ago) by rousseau
File length: 27010 byte(s)
Diff to previous 1352 , to selected 1368
IFDHSetProtocolParameters(): return immediately if the reader has the
bit CCID_CLASS_AUTO_PPS_PROP set since he will perform PPS and
SetParameters himself

Revision 1352 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 25 17:19:00 2005 UTC (8 years, 2 months ago) by rousseau
File length: 26833 byte(s)
Diff to previous 1351 , to selected 1368
IFDHSetProtocolParameters(): calculate the value of pps[2] (TA1) even if
CCID_CLASS_AUTO_PPS_CUR bit is set and no PPS will be generated by the
driver since this value is also used later by the SetParameters()

Revision 1351 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 25 17:14:46 2005 UTC (8 years, 2 months ago) by rousseau
File length: 26925 byte(s)
Diff to previous 1261 , to selected 1368
IFDHSetProtocolParameters(): use "card_baudrate <= ccid_desc->dwMaxDataRate"
instead of "card_baudrate < ccid_desc->dwMaxDataRate" to not miss the
maximum speed value

Revision 1261 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 30 14:12:20 2004 UTC (8 years, 7 months ago) by rousseau
File length: 26924 byte(s)
Diff to previous 1213 , to selected 1368
mask bStatus to get the ICC state since bSatus may also indicate
an error in b6-b7

Revision 1213 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 3 19:42:37 2004 UTC (8 years, 8 months ago) by rousseau
File length: 26850 byte(s)
Diff to previous 1196 , to selected 1368
IFDHSetProtocolParameters(): return the result value of SetParameters()
in case of error instead of always IFD_COMMUNICATION_ERROR.

This will allow to return IFD_NOT_SUPPORTED in some cases and avoid a
PTS negociation failure (and card ignored) in pcscd.

Revision 1196 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 24 07:58:01 2004 UTC (8 years, 8 months ago) by rousseau
File length: 26824 byte(s)
Diff to previous 1195 , to selected 1368
IFDHSetProtocolParameters(): the bmTCCKST bits shall be _set_ not cleared

Revision 1195 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 24 07:34:10 2004 UTC (8 years, 8 months ago) by rousseau
File length: 26824 byte(s)
Diff to previous 1156 , to selected 1368
IFDHSetProtocolParameters(): we shall indicate the T=1 checksum used
(LRC/CRC) in the SetParameters() command

Revision 1156 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:32:01 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26675 byte(s)
Diff to previous 1155 , to selected 1368
IFDHICCPresence(): periodic debug message indicating the card presence/absence

Revision 1155 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:30:33 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26587 byte(s)
Diff to previous 1154 , to selected 1368
use a much cleaner way to check presence of a contactless card with a
multislot SCR331-DI reader

Revision 1154 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:25:46 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26714 byte(s)
Diff to previous 1153 , to selected 1368
IFDHICCPresence(): call get_ccid_descriptor() on reader_index instead of Lun

Revision 1153 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:23:59 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26686 byte(s)
Diff to previous 1152 , to selected 1368
FDHGetCapabilities() tag TAG_IFD_SLOT_THREAD_SAFE: Can NOT talk to
multiple slots at the same time (at least until it is fully validated)

Revision 1152 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 6 11:21:56 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26682 byte(s)
Diff to previous 1146 , to selected 1368
IFDHCreateChannel()/IFDHCreateChannelByName(): if the OpenPort() call
fails we ReleaseReaderIndex() and do not call ccid_open_hack()

Revision 1146 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 4 21:30:14 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26508 byte(s)
Diff to previous 1107 , to selected 1368
remove defaultFeatures management (was used for SCR331-DI hack)

Revision 1107 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 28 08:36:57 2004 UTC (8 years, 9 months ago) by rousseau
File length: 26746 byte(s)
Diff to previous 1094 , to selected 1368
use reader_index instead of lun as reader identification
allocate (in IFDHCreateChannel*) and release (in IFDHCloseChannel)

Revision 1094 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 21 09:02:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 25891 byte(s)
Diff to previous 1085 , to selected 1368
hack to support the SCR331-DI contactless interface

Revision 1085 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 19 14:58:16 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24507 byte(s)
Diff to previous 1084 , to selected 1368
update IFDHControl() prototype to replace LPVOID by PUCHAR (prototype
changed in pcsc-lite-1.2.9-beta5)

Revision 1084 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 19 13:32:26 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24508 byte(s)
Diff to previous 1078 , to selected 1368
BUG: I forgot to initialise the t1.lun field. It failed to work with
more than one readers and a T=1 card in a TPDU reader.

Revision 1078 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 07:06:14 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24503 byte(s)
Diff to previous 1077 , to selected 1368
init_driver(): use base 0 instead of 16 in strtoul() so that you can
express the decimal value 15 as: 15 (decimal), 0xF (hex) or 017 (octal)

Revision 1077 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 16 06:53:25 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24499 byte(s)
Diff to previous 1059 , to selected 1368
rename PCSCLITE_MAX_READERS in CCID_DRIVER_MAX_READERS

This value is not defined by pcsc-lite but is internal to the CCID
driver. By default pcsc-lite supports the same number of readers (16).

Revision 1059 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 14:08:28 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24493 byte(s)
Diff to previous 1058 , to selected 1368
explicitely cast the returned value as (void) if we don't use it

Revision 1058 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 14:06:58 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24481 byte(s)
Diff to previous 1053 , to selected 1368
IFDHSetProtocolParameters(): test the return value of SetParameters()

Revision 1053 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 13:21:44 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24373 byte(s)
Diff to previous 1043 , to selected 1368
mark unused arguments as /*@unused@*/ for splint

Revision 1043 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 9 07:10:17 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24334 byte(s)
Diff to previous 999 , to selected 1368
lun is (unsigned int) instead of (int)

Avoid a warning by splint in #define LunToReaderIndex(Lun) (Lun>>16)
Left operand of >> may be negative (int): lun >> 16

Revision 999 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 30 13:42:23 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24325 byte(s)
Diff to previous 998 , to selected 1368
if DEBUG_LEVEL_PERIODIC is not set we temporaily remove DEBUG_LEVEL_COMM in
IFDHICCPresence() to avoid having the low level debug every time pcscd
test the card presence

Revision 998 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 30 13:40:12 2004 UTC (8 years, 10 months ago) by rousseau
File length: 24006 byte(s)
Diff to previous 900 , to selected 1368
- removed CardUp() and CardDown()
- all the reader initialisation/negotiation is now done in
  IFDHSetProtocolParameters() (that's why you need pcsc-lite-1.2.9beta3)

Revision 900 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 14:46:02 2004 UTC (8 years, 11 months ago) by rousseau
File length: 21276 byte(s)
Diff to previous 892 , to selected 1368
add support for SCardGetAttrib(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)
to know if the reader supports SCardControl(.., IOCTL_SMARTCARD_VENDOR_VERIFY_PIN, ..)

Revision 892 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 24 12:58:43 2004 UTC (8 years, 11 months ago) by rousseau
File length: 21097 byte(s)
Diff to previous 891 , to selected 1368
recompile using gcc -pedantic and correct:
- some C++ syntax comments
- many signedness "problems"

Revision 891 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 24 10:02:48 2004 UTC (8 years, 11 months ago) by rousseau
File length: 21103 byte(s)
Diff to previous 882 , to selected 1368
add support for Secure PIN through SCardControl() (see sample code in examples/)

Revision 882 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 18 14:02:55 2004 UTC (9 years ago) by rousseau
File length: 20739 byte(s)
Diff to previous 880 , to selected 1368
in CardUp():SetParameters() the default TA1 is 0x11

Revision 880 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 17 14:45:44 2004 UTC (9 years ago) by rousseau
File length: 20725 byte(s)
Diff to previous 840 , to selected 1368
- add support of IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE in IFDHControl()
- read ifdDriverOptions from Info.plist to limit the use of
  IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE (idea from Peter Williams)

Revision 840 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 07:52:57 2004 UTC (9 years ago) by rousseau
File length: 19856 byte(s)
Diff to previous 807 , to selected 1368
in IFDHPowerICC() IFD_POWER_DOWN is just power down without a power up.
Changed to be compliant with IFD Handler specifications.

Revision 807 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 19 16:18:43 2004 UTC (9 years, 1 month ago) by rousseau
File length: 19846 byte(s)
Diff to previous 804 , to selected 1368
reset ATR string (length = 0) when the card is powered down or not present

Revision 804 - (view) (download) (annotate) - [select for diffs]
Modified Mon Apr 19 16:09:24 2004 UTC (9 years, 1 month ago) by rousseau
File length: 19444 byte(s)
Diff to previous 795 , to selected 1368
add SCARD_ATTR_ATR_STRING in addition to TAG_IFD_ATR in IFDHGetCapabilities()

Revision 795 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 16 15:22:02 2004 UTC (9 years, 1 month ago) by rousseau
File length: 19390 byte(s)
Diff to previous 773 , to selected 1368
new IFDHControl() API

Revision 773 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 13:14:02 2004 UTC (9 years, 1 month ago) by rousseau
File length: 19307 byte(s)
Diff to previous 770 , to selected 1368
during the first IFDHCreateChannel*() init_debug() is called to read the
value of ifdLogLevel from the Info.plist

Revision 770 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 08:59:26 2004 UTC (9 years, 1 month ago) by rousseau
File length: 18499 byte(s)
Diff to previous 769 , to selected 1368
do not return before pthread_mutex_unlock() in IFDHCreateChannelByName()

Revision 769 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 08:53:05 2004 UTC (9 years, 1 month ago) by rousseau
File length: 18436 byte(s)
Diff to previous 768 , to selected 1368
also call ccid_open_hack() in IFDHCreateChannelByName()

Revision 768 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 08:51:34 2004 UTC (9 years, 1 month ago) by rousseau
File length: 18356 byte(s)
Diff to previous 766 , to selected 1368
T=1 context is initialized in CardUp(), not in IFDHCreateChannel()

Revision 766 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 06:52:34 2004 UTC (9 years, 1 month ago) by rousseau
File length: 18436 byte(s)
Diff to previous 716 , to selected 1368
revert to nearly previous version.
- IFD_POWER_DOWN is power down and power up (cold reset)
- IFD_RESET is power up (warm reset)
- IFD_POWER_UP is power up

Revision 716 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 18 10:35:53 2004 UTC (9 years, 2 months ago) by rousseau
File length: 18236 byte(s)
Diff to previous 696 , to selected 1368
Reset action is power off and power on, not just power on

Revision 696 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 12 16:11:45 2004 UTC (9 years, 3 months ago) by rousseau
File length: 18335 byte(s)
Diff to previous 692 , to selected 1368
huge rework of CardUp()

Revision 692 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 11 14:36:59 2004 UTC (9 years, 3 months ago) by rousseau
File length: 16916 byte(s)
Diff to previous 687 , to selected 1368
Perform PPS and IFSD only if the reader does not do it automatically

Revision 687 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 11 10:12:00 2004 UTC (9 years, 3 months ago) by rousseau
File length: 16708 byte(s)
Diff to previous 673 , to selected 1368
use Protocol_T1_Negociate_IFSD() in CardUp()

Revision 673 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 3 15:44:52 2004 UTC (9 years, 3 months ago) by rousseau
File length: 16628 byte(s)
Diff to previous 663 , to selected 1368
add CardUp() and CardDown() for PowerOn and PowerOff actions

Revision 663 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 29 13:37:35 2004 UTC (9 years, 3 months ago) by rousseau
File length: 14863 byte(s)
Diff to previous 649 , to selected 1368
removed useless function name in debug messages since we use __FUNCTION__

Revision 649 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 27 13:32:55 2004 UTC (9 years, 3 months ago) by rousseau
File length: 14900 byte(s)
Diff to previous 616 , to selected 1368
add support of IFDHCreateChannelByName

Revision 616 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 14:10:13 2004 UTC (9 years, 4 months ago) by rousseau
File length: 14175 byte(s)
Diff to previous 612 , to selected 1368
add support of T=1 in TPDU mode

Revision 612 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 13:45:37 2004 UTC (9 years, 4 months ago) by rousseau
File length: 14020 byte(s)
Diff to previous 611 , to selected 1368
call ccid_open_hack() in IFDHCreateChannel() instead of in each OpenPort()

Revision 611 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 13:41:01 2004 UTC (9 years, 4 months ago) by rousseau
File length: 13940 byte(s)
Diff to previous 609 , to selected 1368
use an (int *) instead of a PDWORD for rx_length argument

Revision 609 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 08:34:20 2004 UTC (9 years, 4 months ago) by rousseau
File length: 13966 byte(s)
Diff to previous 608 , to selected 1368
add get_ccid_slot() function

Revision 608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 08:30:31 2004 UTC (9 years, 4 months ago) by rousseau
File length: 13864 byte(s)
Diff to previous 569 , to selected 1368
remove function name from debug message since __FUNCTION__ is now used in
DEBUG_* macro definition

Revision 569 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 12 09:38:25 2003 UTC (9 years, 5 months ago) by rousseau
File length: 14124 byte(s)
Diff to previous 568 , to selected 1368
return IFD_NOT_SUPPORTED instead of IFD_SUCCESS in functions doing
nothing (yet) (IFDHSetCapabilities, IFDHSetProtocolParameters,
IFDHControl);

Revision 568 - (view) (download) (annotate) - [select for diffs]
Modified Thu Dec 11 21:19:46 2003 UTC (9 years, 5 months ago) by rousseau
File length: 14105 byte(s)
Diff to previous 563 , to selected 1368
set the result buffer length to 0 in IFDHControl()

Revision 563 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 25 22:55:58 2003 UTC (9 years, 5 months ago) by rousseau
File length: 14020 byte(s)
Diff to previous 463 , to selected 1368
use a updated version of acx_pthread.m4 needed for FreeBSD

Revision 463 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 22 14:25:19 2003 UTC (9 years, 7 months ago) by rousseau
File length: 14006 byte(s)
Diff to previous 410 , to selected 1368
add support of thread safe (APDU multiplexing on different readers)

Revision 410 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 10 09:12:20 2003 UTC (9 years, 8 months ago) by rousseau
File length: 13423 byte(s)
Diff to previous 269 , to selected 1368
use OpenPort instead of OpenUSB. move the complex TPDU management in
commands.c (and use it only if reader does not support APDU mode)

Revision 269 - (view) (download) (annotate) - [select for diffs]
Added Tue Aug 12 12:40:23 2003 UTC (9 years, 9 months ago) by rousseau
File length: 16194 byte(s)
Diff to selected 1368
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.5