/[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 5389 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 8 14:24:34 2010 UTC (2 years, 7 months ago) by rousseau
File length: 55581 byte(s)
Diff to previous 5330 , to selected 2849
IFDHCreateChannelByName(): increase the timeout from 100ms to 1000ms to
give more time to the reader to setup and answer.

100ms is too short for the Kobil KAAN Base for example.

Revision 5330 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 21 18:54:26 2010 UTC (2 years, 7 months ago) by rousseau
File length: 55579 byte(s)
Diff to previous 5329 , to selected 2849
Use TAG_IFD_POLLING_THREAD_WITH_TIMEOUT instead of
TAG_IFD_POLLING_THREAD to support the auto power off feature introduced
in pcsc-lite revision 5328

Revision 5329 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 21 18:52:48 2010 UTC (2 years, 7 months ago) by rousseau
File length: 55533 byte(s)
Diff to previous 5325 , to selected 2849
Remove two useless static function declarations

Revision 5325 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 19 08:11:41 2010 UTC (2 years, 8 months ago) by rousseau
File length: 55652 byte(s)
Diff to previous 5206 , to selected 2849
get_IFSC(): 0xFF is not a valid value for IFSC according to ISO 7816-3,
CCID and MasterCard standards. The maximum value is 0xFE.

The "TIVU SAT" from ITALY www.tivu.tv card has such an IFSC in its ATR:
3F FF 95 00 FF 91 81 71 FF 47 00 54 49 47 45 52 30 30 33 20 52 65 76 32 35 30 64

Revision 5206 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 31 08:58:10 2010 UTC (2 years, 9 months ago) by rousseau
File length: 55528 byte(s)
Diff to previous 5205 , to selected 2849
ifdhandler.c: In function ‘IFDHPolling’:
ifdhandler.c:328: warning: unused variable ‘ret’

Revision 5205 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 31 08:55:56 2010 UTC (2 years, 9 months ago) by rousseau
File length: 55538 byte(s)
Diff to previous 5188 , to selected 2849
Convert the return value from libusb code to IFD_* in InterruptRead()
instead of IFDHPolling().

We do not return IFD_NO_SUCH_DEVICE any more. This value will be
returned by the next libusb_*() call

Revision 5188 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 26 09:32:41 2010 UTC (2 years, 9 months ago) by rousseau
File length: 55650 byte(s)
Diff to previous 5185 , to selected 2849
IFDHSetCapabilities(): remove dead comments

Revision 5185 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 26 08:58:06 2010 UTC (2 years, 9 months ago) by rousseau
File length: 55745 byte(s)
Diff to previous 5165 , to selected 2849
Include config.h before any other local includes to the configuration
defined in config.h is used.

This is just a preventive change.

Revision 5165 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 19 14:54:47 2010 UTC (2 years, 10 months ago) by rousseau
File length: 55745 byte(s)
Diff to previous 5078 , to selected 2849
Use the new Info.plist parser API

Revision 5078 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 29 13:30:11 2010 UTC (2 years, 10 months ago) by rousseau
File length: 55632 byte(s)
Diff to previous 5028 , to selected 2849
add get_IFSC() to get the IFSC value from the ATR.

IFSC is not just the value of TAi (i>2)
For example "3B 80 81 1F 07 19" has a TA3 but it is not the IFSC since
T=15 is defined in TD2 so before TA3

Revision 5028 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 22 09:27:01 2010 UTC (2 years, 11 months ago) by rousseau
File length: 55403 byte(s)
Diff to previous 5014 , to selected 2849
Add support of TAG_IFD_STOP_POLLING_THREAD and use of the asynchronous
libusb API to be able to stop a transfer.

We are now "polling" for card movements every 1 hour or once an event
is detected on the interrupt endpoint of the device.

Another gain is that the driver will terminate "instantly" after pcscd
request instead of after a maximum of 2 seconds (previous polling
timeout).

Revision 5014 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 17 13:28:24 2010 UTC (3 years ago) by rousseau
File length: 54662 byte(s)
Diff to previous 5013 , to selected 2849
use PROTOCOL_CCID instead of 0 when checking bInterfaceProtocol

Revision 5013 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 17 13:18:42 2010 UTC (3 years ago) by rousseau
File length: 54650 byte(s)
Diff to previous 4987 , to selected 2849
Rename ICCD_A in PROTOCOL_ICCD_A, ICCD_B in PROTOCOL_ICCD_B and add
PROTOCOL_CCID for plain CCID

Revision 4987 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 10 14:48:17 2010 UTC (3 years ago) by rousseau
File length: 54614 byte(s)
Diff to previous 4973 , to selected 2849
Use libusb-1.0 instead of libusb-0.1

Revision 4973 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 1 09:43:29 2010 UTC (3 years ago) by rousseau
File length: 54812 byte(s)
Diff to previous 4956 , to selected 2849
update copyright date

Revision 4956 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 20 15:06:48 2010 UTC (3 years, 1 month ago) by rousseau
File length: 54812 byte(s)
Diff to previous 4938 , to selected 2849
Add support of SCARD_ATTR_VENDOR_IFD_SERIAL_NO

Revision 4938 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 09:42:33 2010 UTC (3 years, 1 month ago) by rousseau
File length: 54461 byte(s)
Diff to previous 4937 , to selected 2849
IFDHCreateChannelByName() & IFDHCreateChannel(): use the low level
CmdGetSlotStatus() instead of IFDHICCPresence() to be able to fix the
read timeout.

We use a read timeout of 100 milliseconds instead of 2 secondes. The
maximum wait time is now 200 milliseconds instead of 4 seconds.

This increases the startup time a lot (up to 95%) when pcscd is auto started.

Revision 4937 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 10 09:28:02 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53433 byte(s)
Diff to previous 4928 , to selected 2849
change read timeout from second to millisecond unit to have a sub-second
control

Revision 4928 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 7 12:41:07 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53886 byte(s)
Diff to previous 4926 , to selected 2849
IFDHControl(): set PCSCv2_PART10_PROPERTY_bEntryValidationCondition
specific value only for the Gemalto PC Pinpad V1 & Covadis Véga-Alpha
readers.

Revision 4926 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 7 12:30:24 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53853 byte(s)
Diff to previous 4925 , to selected 2849
IFDHControl(): The Covadis Véga-Alpha share the same firmware with the
Gemalto PC Pinpad V1

Revision 4925 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 7 12:26:20 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53775 byte(s)
Diff to previous 4924 , to selected 2849
IFDHControl(): add comments

Revision 4924 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 7 12:21:30 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53628 byte(s)
Diff to previous 4897 , to selected 2849
IFDHControl(): add support of IOCTL_FEATURE_GET_TLV_PROPERTIES
bMinPINSize & bMaxPINSize for Gemalto Pinpad V1 

Revision 4897 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 25 19:09:15 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53299 byte(s)
Diff to previous 4896 , to selected 2849
IFDHControl(): reuse ccid_descriptor variable when available

Revision 4896 - (view) (download) (annotate) - [select for diffs]
Modified Sun Apr 25 19:05:39 2010 UTC (3 years, 1 month ago) by rousseau
File length: 53395 byte(s)
Diff to previous 4879 , to selected 2849
FEATURE_MCT_READER_DIRECT is also supported by the Kobil mIDentity visual

Revision 4879 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 16 21:20:22 2010 UTC (3 years, 2 months ago) by rousseau
File length: 53323 byte(s)
Diff to previous 4878 , to selected 2849
Fix Studio CC warning
"ifdhandler.c", line 1275: warning: initializer does not fit or is out of range: 248

Revision 4878 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 16 21:19:16 2010 UTC (3 years, 2 months ago) by rousseau
File length: 53314 byte(s)
Diff to previous 4847 , to selected 2849
Fix Sun Studio CC warnings
"ifdhandler.c", line 910: warning: initializer does not fit or is out of range: 250
"ifdhandler.c", line 910: warning: initializer does not fit or is out of range: 255
"ifdhandler.c", line 910: warning: initializer does not fit or is out of range: 129
"ifdhandler.c", line 911: warning: initializer does not fit or is out of range: 128
"ifdhandler.c", line 911: warning: initializer does not fit or is out of range: 193
"ifdhandler.c", line 911: warning: initializer does not fit or is out of range: 192
"ifdhandler.c", line 912: warning: initializer does not fit or is out of range: 144
"ifdhandler.c", line 912: warning: initializer does not fit or is out of range: 177

Revision 4847 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 30 09:48:04 2010 UTC (3 years, 2 months ago) by rousseau
File length: 53305 byte(s)
Diff to previous 4844 , to selected 2849
add support of FEATURE_GET_TLV_PROPERTIES

Revision 4844 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 27 14:59:59 2010 UTC (3 years, 2 months ago) by rousseau
File length: 51826 byte(s)
Diff to previous 4638 , to selected 2849
remove spaces and tabs at end of line

Revision 4638 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 4 13:53:49 2010 UTC (3 years, 5 months ago) by rousseau
File length: 51831 byte(s)
Diff to previous 4614 , to selected 2849
ifdhandler.c: In function ‘IFDHSetCapabilities’:
ifdhandler.c:553: warning: unused parameter ‘Length’
ifdhandler.c:553: warning: unused parameter ‘Value’
ifdhandler.c: In function ‘IFDHTransmitToICC’:
ifdhandler.c:1171: warning: unused parameter ‘RecvPci’

Revision 4614 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 15 09:18:39 2009 UTC (3 years, 6 months ago) by rousseau
File length: 51784 byte(s)
Diff to previous 4508 , to selected 2849
rename FEATURE_MCT_READERDIRECT in FEATURE_MCT_READER_DIRECT

Revision 4508 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 25 17:43:52 2009 UTC (3 years, 7 months ago) by rousseau
File length: 51781 byte(s)
Diff to previous 4499 , to selected 2849
FDHPowerICC(): use the exact length for the PowerOn output buffer

Revision 4499 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 18 10:03:32 2009 UTC (3 years, 8 months ago) by rousseau
File length: 51779 byte(s)
Diff to previous 4498 , to selected 2849
FDHGetCapabilities(): add support of SCARD_ATTR_ICC_PRESENCE

Required to support the Windows middleware that's used for French
Healthcar cards.

Thanks to David Markowitz for the patch.

Revision 4498 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 18 09:58:52 2009 UTC (3 years, 8 months ago) by rousseau
File length: 51284 byte(s)
Diff to previous 4450 , to selected 2849
FDHGetCapabilities(): add support of SCARD_ATTR_ICC_INTERFACE_STATUS

Required to support the Windows middleware that's used for French
Healthcar cards.

Thanks to David Markowitz for the patch.

Revision 4450 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 8 08:46:02 2009 UTC (3 years, 8 months ago) by rousseau
File length: 51036 byte(s)
Diff to previous 4449 , to selected 2849
IFDHControl(): do not check if FEATURE_IFD_PIN_PROPERTIES is defined
since we now require pcsc-lite >= 1.5.6 (with FEATURE_IFD_PIN_PROPERTIES
defined) 

Revision 4449 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 8 08:41:36 2009 UTC (3 years, 8 months ago) by rousseau
File length: 51118 byte(s)
Diff to previous 4417 , to selected 2849
IFDHGetCapabilities() & IFDHControl(): return
IFD_ERROR_INSUFFICIENT_BUFFER when appropriate

Revision 4417 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 2 12:40:06 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50669 byte(s)
Diff to previous 4414 , to selected 2849
revert change in revision 4414. It is a bug in the reader not the driver

Revision 4414 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 2 11:43:18 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50882 byte(s)
Diff to previous 4411 , to selected 2849
IFDHSetProtocolParameters(): with a T=1 card, do not try to negociate
IFSD if the reader works in APDU mode

Revision 4411 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 1 14:48:14 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50669 byte(s)
Diff to previous 4410 , to selected 2849
IFDHControl(): typo in comment

Revision 4410 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 30 13:47:30 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50668 byte(s)
Diff to previous 4397 , to selected 2849
IFDHControl(): PIN_PROPERTIES_STRUCTURE structure do not have the
wLcdMaxCharacters and wLcdMaxLines fields anymore. Conform with Revision
2.02.06, April 2009 of PCSCv2 part 10.

Modified in pcsc-lite > 1.5.5 (revision 4378, 2009-09-08)

Revision 4397 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 25 14:55:46 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50740 byte(s)
Diff to previous 4366 , to selected 2849
IFDHPowerICC(): remove a useless ;

Revision 4366 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 27 13:16:46 2009 UTC (3 years, 9 months ago) by rousseau
File length: 50741 byte(s)
Diff to previous 4358 , to selected 2849
IFDHControl(): return IFD_ERROR_NOT_SUPPORTED instead of
IFD_COMMUNICATION_ERROR if the dwControlCode value is not supported

Revision 4358 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 31 09:33:22 2009 UTC (3 years, 10 months ago) by rousseau
File length: 50730 byte(s)
Diff to previous 4356 , to selected 2849
IFDHControl(): the (proprietary) switch interface escape command is
allowed on the Gemalto GemProx DU

Revision 4356 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 31 08:45:34 2009 UTC (3 years, 10 months ago) by rousseau
File length: 50305 byte(s)
Diff to previous 4346 , to selected 2849
IFDHControl(): the (proprietary) get firmware version escape command is
allowed with a Gemalto reader

Revision 4346 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 28 13:39:37 2009 UTC (3 years, 10 months ago) by rousseau
File length: 50062 byte(s)
Diff to previous 4295 , to selected 2849
change InterruptRead() to add a timeout parameter. We need a short
timeout in ccid_open_hack_pre()

Revision 4295 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 3 12:48:36 2009 UTC (3 years, 11 months ago) by rousseau
File length: 50038 byte(s)
Diff to previous 4282 , to selected 2849
If the driver fails to open a device (wrong interface number in the
libhal scheme for example) then return IFD_NO_SUCH_DEVICE instead of the
generic error IFD_COMMUNICATION_ERROR

Revision 4282 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 26 15:03:55 2009 UTC (3 years, 11 months ago) by rousseau
File length: 49929 byte(s)
Diff to previous 4255 , to selected 2849
IFDHControl(): add support of FEATURE_MCT_READERDIRECT

Only the Kobil TriB@nk reader supports this feature for now. This is
used for the Secoder functionality in connected mode.

Revision 4255 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 14 11:15:10 2009 UTC (4 years ago) by rousseau
File length: 48697 byte(s)
Diff to previous 3416 , to selected 2849
IFDHControl(): use the correct return size for
IOCTL_FEATURE_IFD_PIN_PROPERTIES

Revision 3416 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 9 12:42:34 2009 UTC (4 years, 2 months ago) by rousseau
File length: 48710 byte(s)
Diff to previous 3403 , to selected 2849
IFDHCreateChannelByname() & IFDHCreateChannel(): do not call
ccid_open_hack_post() if the 3 IFDHICCPresence() failed and we closed
the reader

Revision 3403 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 30 08:55:59 2009 UTC (4 years, 2 months ago) by rousseau
File length: 48693 byte(s)
Diff to previous 3395 , to selected 2849
split ccid_open_hack() in ccid_open_hack_pre() and ccid_open_hack_post()
before and after the empirical "warm up" sequence

The problem is the USB toggle bit. I could not find a simple way to
reset it. So when the driver is started again the reader and the host
may not be in sync. The few first CCID commands may fail.

Revision 3395 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 27 16:13:59 2009 UTC (4 years, 2 months ago) by rousseau
File length: 48481 byte(s)
Diff to previous 3378 , to selected 2849
IFDHCreateChannel(): use the same empirical hack as in
IFDHCreateChannelByName() to recover the reader after pcscd is
restarted.

The problem is that USB frames have a toggle bit

Revision 3378 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 26 14:34:35 2009 UTC (4 years, 2 months ago) by rousseau
File length: 47843 byte(s)
Diff to previous 3356 , to selected 2849
add support of a composite device as multi-slots device

Revision 3356 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 21 14:07:54 2009 UTC (4 years, 2 months ago) by rousseau
File length: 47499 byte(s)
Diff to previous 3337 , to selected 2849
add support of PIN_PROPERTIES_STRUCTURE structure and
FEATURE_IFD_PIN_PROPERTIES

Thanks to Martin Paljak for the patch

Revision 3337 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 7 14:30:17 2009 UTC (4 years, 3 months ago) by rousseau
File length: 46487 byte(s)
Diff to previous 3330 , to selected 2849
IFDHSetProtocolParameters(): rename atr in openpgp_atr

ifdhandler.c:822: warning: declaration of ‘atr’ shadows a previous local
ifdhandler.c:527: warning: shadowed declaration is here

Revision 3330 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 1 12:49:31 2009 UTC (4 years, 3 months ago) by rousseau
File length: 46471 byte(s)
Diff to previous 3322 , to selected 2849
IFDHSetProtocolParameters(): add a hack to support the bogus OpenGPG
card. The card declares a BWI=4 (1.4s) but, sometimes, do not send a WTX
(time request) in time and the on board key generation then fails. The
patch uses BWI=7 (11s)

Thanks to Jan Suhr for helping tracking the bug

Revision 3322 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 21 13:59:54 2009 UTC (4 years, 3 months ago) by rousseau
File length: 45944 byte(s)
Diff to previous 3319 , to selected 2849
typo in comment

Revision 3319 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 18 07:31:34 2009 UTC (4 years, 4 months ago) by rousseau
File length: 45946 byte(s)
Diff to previous 3292 , to selected 2849
IFDHSetProtocolParameters(): correct parameter Protocol documentation

Thanks to Joachim Breitner for the bug report

Revision 3292 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 26 13:02:58 2009 UTC (4 years, 4 months ago) by rousseau
File length: 45931 byte(s)
Diff to previous 3284 , to selected 2849
rename t1_negociate_ifsd() in t1_negotiate_ifsd() to be in sync with
OpenCT

Revision 3284 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 19 15:28:04 2009 UTC (4 years, 4 months ago) by rousseau
File length: 45931 byte(s)
Diff to previous 3280 , to selected 2849
ICCD devices do not use usb_interrupt_read() but sleep(). So there is no
problem killing the polling thread and sleep for 10 minutes instead of
just 5 seconds

Revision 3280 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 13 19:30:21 2009 UTC (4 years, 5 months ago) by rousseau
File length: 45536 byte(s)
Diff to previous 3268 , to selected 2849
disable support of the contcatless part of SDI010 and SCR331DI

Revision 3268 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 5 14:28:26 2009 UTC (4 years, 5 months ago) by rousseau
File length: 45523 byte(s)
Diff to previous 3226 , to selected 2849
explicitly cast result in void when not used (reported by the splint tool)

Revision 3226 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 26 14:16:40 2008 UTC (4 years, 6 months ago) by rousseau
File length: 45359 byte(s)
Diff to previous 3199 , to selected 2849
IFDHSetProtocolParameters(): convert protocol from ATR_PROTOCOL_TYPE_T?
to SCARD_PROTOCOL_T? in case of O2MICRO_OZ776_PATCH

Thanks to Jim Dawson for the bug report

Revision 3199 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 10 12:12:25 2008 UTC (4 years, 7 months ago) by rousseau
File length: 45221 byte(s)
Diff to previous 3144 , to selected 2849
defs.h: add readerName field
ifdhandler.c: also log reader name instead of just Lun

Revision 3144 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 23 16:14:15 2008 UTC (4 years, 8 months ago) by rousseau
File length: 44303 byte(s)
Diff to previous 3126 , to selected 2849
IFDHCreateChannelByName(): call ClosePort() to release resources if
the 3 IFDHICCPresence() fails

Revision 3126 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 12 15:14:23 2008 UTC (4 years, 9 months ago) by rousseau
File length: 44272 byte(s)
Diff to previous 3096 , to selected 2849
IFDHPowerICC(): use a very long timeout for PowerUp since the card can
be very slow to send the full ATR (up to 30 seconds at 4 MHz)

Revision 3096 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 18 09:46:46 2008 UTC (4 years, 10 months ago) by rousseau
File length: 43612 byte(s)
Diff to previous 3025 , to selected 2849
IFDHSleep(): just sleep for 5 seconds since the polling thread is NOT
killable so pcscd event thread must loop to exit cleanly

Once the driver (libusb in fact) will support
TAG_IFD_POLLING_THREAD_KILLABLE then we could use a much longer delay
and be killed before pcscd exits

Revision 3025 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 26 13:38:50 2008 UTC (4 years, 11 months ago) by rousseau
File length: 43321 byte(s)
Diff to previous 3024 , to selected 2849
IFDHPolling(): log only if DEBUG_LEVEL_PERIODIC is set

Revision 3024 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 26 13:20:43 2008 UTC (4 years, 11 months ago) by rousseau
File length: 43234 byte(s)
Diff to previous 2974 , to selected 2849
do not include the release number in the Info.plist to avoid a diff of a
configuration file when upgrading the package.

Thanks to Benoit Gonzalvo for the bug report

Revision 2974 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 28 18:32:52 2008 UTC (5 years ago) by rousseau
File length: 43192 byte(s)
Diff to previous 2911 , to selected 2849
update Free Software Foundation mail address

Revision 2911 - (view) (download) (annotate) - [select for diffs]
Modified Fri Apr 25 07:28:02 2008 UTC (5 years, 1 month ago) by rousseau
File length: 43196 byte(s)
Diff to previous 2871 , to selected 2849
init_driver(): use the environment variable LIBCCID_ifdLogLevel to
overwrite the value of ifdLogLevel read from the Info.plist file

Thanks to Alon Bar-Lev for the idea

Revision 2871 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 8 09:34:13 2008 UTC (5 years, 2 months ago) by rousseau
File length: 42955 byte(s)
Diff to previous 2857 , to selected 2849
Simulate card absence for the GemCore SIM Pro

Revision 2857 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 29 15:12:39 2008 UTC (5 years, 2 months ago) by rousseau
File length: 42698 byte(s)
Diff to previous 2854 , to selected 2849
use defined(USE_USB_INTERRUPT) instead of just USE_USB_INTERRUPT

ifdhandler.c:60:66: warning: "USE_USB_INTERRUPT" is not defined

Revision 2854 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 24 12:26:48 2008 UTC (5 years, 2 months ago) by rousseau
File length: 42671 byte(s)
Diff to previous 2849
IFDHSetProtocolParameters(): store the protocol used in
ccid_desc->cardProtocol even if the reader has CCID_CLASS_AUTO_PPS_PROP.
Correct a potential bug in SecurePINVerify()/SecurePINModify().

Thanks to Jim Dawson for the bug report

Revision 2849 - (view) (download) (annotate) - [selected]
Modified Fri Mar 14 08:29:04 2008 UTC (5 years, 3 months ago) by rousseau
File length: 42676 byte(s)
Diff to previous 2825
IFDHSetProtocolParameters(): O2Micro OZ776 does not support a protocol
change to T=1 for dual protocol cards

https://www.opensc-project.org/opensc/ticket/172
https://bugs.launchpad.net/ubuntu/+bug/163072

Revision 2825 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 15 15:55:01 2008 UTC (5 years, 4 months ago) by rousseau
File length: 42417 byte(s)
Diff to previous 2810 , to selected 2849
use usb_interrupt_read() only if libusb > 0.1.12 or
--enable-usb-interrupt is used

Revision 2810 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 8 14:58:08 2008 UTC (5 years, 4 months ago) by rousseau
File length: 42354 byte(s)
Diff to previous 2806 , to selected 2849
IFDHPolling() and IFDHPolling() are defined if TWIN_SERIAL is not
defined and also if HAVE_DECL_TAG_IFD_POLLING_THREAD is set to 1

Revision 2806 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 7 13:55:08 2008 UTC (5 years, 4 months ago) by rousseau
File length: 42270 byte(s)
Diff to previous 2801 , to selected 2849
do not declare IFDHPolling() and IFDHSleep() when building for the
serial reader

Revision 2801 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 7 07:49:12 2008 UTC (5 years, 4 months ago) by rousseau
File length: 42243 byte(s)
Diff to previous 2788 , to selected 2849
IFDHSleep(): add a log call

Revision 2788 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 4 14:01:22 2008 UTC (5 years, 4 months ago) by rousseau
File length: 42213 byte(s)
Diff to previous 2783 , to selected 2849
on an ICCD device the card is always inserted so no card movement will
ever happen: just do nothing in the TAG_IFD_POLLING_THREAD thread

Revision 2783 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 2 15:18:21 2008 UTC (5 years, 4 months ago) by rousseau
File length: 41714 byte(s)
Diff to previous 2781 , to selected 2849
HAVE_DECL_TAG_IFD_POLLING_THREAD is always defined but is set to 0 or 1

Revision 2781 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 10:00:25 2008 UTC (5 years, 4 months ago) by rousseau
File length: 41723 byte(s)
Diff to previous 2777 , to selected 2849
add a prototype for IFDHPolling()

Revision 2777 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 09:31:58 2008 UTC (5 years, 4 months ago) by rousseau
File length: 41681 byte(s)
Diff to previous 2754 , to selected 2849
add support of TAG_IFD_POLLING_THREAD using IFDHPolling() to detect
asynchronous card movements

Revision 2754 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 22 10:22:09 2008 UTC (5 years, 4 months ago) by rousseau
File length: 40855 byte(s)
Diff to previous 2648 , to selected 2849
add support for Mac OS X Leopard (10.5.1)

Revision 2648 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 11 13:41:35 2007 UTC (5 years, 8 months ago) by rousseau
File length: 40757 byte(s)
Diff to previous 2473 , to selected 2849
typo in log message

Revision 2473 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 12 10:07:35 2007 UTC (6 years, 3 months ago) by rousseau
File length: 40755 byte(s)
Diff to previous 2472 , to selected 2849
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, 3 months ago) by rousseau
File length: 40755 byte(s)
Diff to previous 2399 , to selected 2849
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, 4 months ago) by rousseau
File length: 40637 byte(s)
Diff to previous 2258 , to selected 2849
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, 6 months ago) by rousseau
File length: 40510 byte(s)
Diff to previous 2223 , to selected 2849
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, 7 months ago) by rousseau
File length: 40504 byte(s)
Diff to previous 2208 , to selected 2849
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, 7 months ago) by rousseau
File length: 40164 byte(s)
Diff to previous 2197 , to selected 2849
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, 7 months ago) by rousseau
File length: 40175 byte(s)
Diff to previous 2176 , to selected 2849
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, 8 months ago) by rousseau
File length: 40001 byte(s)
Diff to previous 2175 , to selected 2849
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, 8 months ago) by rousseau
File length: 39931 byte(s)
Diff to previous 2168 , to selected 2849
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, 8 months ago) by rousseau
File length: 39833 byte(s)
Diff to previous 2166 , to selected 2849
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, 8 months ago) by rousseau
File length: 39651 byte(s)
Diff to previous 2152 , to selected 2849
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, 9 months ago) by rousseau
File length: 39360 byte(s)
Diff to previous 2150 , to selected 2849
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, 9 months ago) by rousseau
File length: 39376 byte(s)
Diff to previous 2130 , to selected 2849
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, 10 months ago) by rousseau
File length: 38972 byte(s)
Diff to previous 2122 , to selected 2849
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, 10 months ago) by rousseau
File length: 38365 byte(s)
Diff to previous 2116 , to selected 2849
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, 10 months ago) by rousseau
File length: 38220 byte(s)
Diff to previous 2109 , to selected 2849
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, 11 months ago) by rousseau
File length: 38183 byte(s)
Diff to previous 2019 , to selected 2849
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, 2 months ago) by rousseau
File length: 38184 byte(s)
Diff to previous 2013 , to selected 2849
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, 2 months ago) by rousseau
File length: 38092 byte(s)
Diff to previous 1950 , to selected 2849
#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, 3 months ago) by rousseau
File length: 38074 byte(s)
Diff to previous 1886 , to selected 2849
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, 3 months ago) by rousseau
File length: 38031 byte(s)
Diff to previous 1855 , to selected 2849
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, 4 months ago) by rousseau
File length: 38034 byte(s)
Diff to previous 1806 , to selected 2849
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, 5 months ago) by rousseau
File length: 37918 byte(s)
Diff to previous 1797 , to selected 2849
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, 5 months ago) by rousseau
File length: 37901 byte(s)
Diff to previous 1790 , to selected 2849
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, 5 months ago) by rousseau
File length: 36490 byte(s)
Diff to previous 1780 , to selected 2849
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, 6 months ago) by rousseau
File length: 36144 byte(s)
Diff to previous 1774 , to selected 2849
typo in a comment

Revision 1774 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 29 13:54:07 2005 UTC (7 years, 6 months ago) by rousseau
File length: 36143 byte(s)
Diff to previous 1771 , to selected 2849
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, 6 months ago) by rousseau
File length: 35695 byte(s)
Diff to previous 1752 , to selected 2849
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, 6 months ago) by rousseau
File length: 35710 byte(s)
Diff to previous 1745 , to selected 2849
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, 6 months ago) by rousseau
File length: 35710 byte(s)
Diff to previous 1630 , to selected 2849
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, 9 months ago) by rousseau
File length: 35660 byte(s)
Diff to previous 1570 , to selected 2849
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, 11 months ago) by rousseau
File length: 34450 byte(s)
Diff to previous 1559 , to selected 2849
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 (8 years ago) by rousseau
File length: 34474 byte(s)
Diff to previous 1511 , to selected 2849
 #include <PCSC/reader.h>

Revision 1511 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 5 10:05:02 2005 UTC (8 years, 1 month ago) by rousseau
File length: 34449 byte(s)
Diff to previous 1510 , to selected 2849
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, 1 month ago) by rousseau
File length: 34467 byte(s)
Diff to previous 1509 , to selected 2849
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, 1 month ago) by rousseau
File length: 34173 byte(s)
Diff to previous 1507 , to selected 2849
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, 1 month ago) by rousseau
File length: 33917 byte(s)
Diff to previous 1505 , to selected 2849
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, 1 month ago) by rousseau
File length: 32551 byte(s)
Diff to previous 1495 , to selected 2849
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, 1 month ago) by rousseau
File length: 32498 byte(s)
Diff to previous 1487 , to selected 2849
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, 1 month ago) by rousseau
File length: 32456 byte(s)
Diff to previous 1477 , to selected 2849
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, 1 month ago) by rousseau
File length: 32225 byte(s)
Diff to previous 1452 , to selected 2849
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, 1 month ago) by rousseau
File length: 32319 byte(s)
Diff to previous 1451 , to selected 2849
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, 1 month ago) by rousseau
File length: 31162 byte(s)
Diff to previous 1448 , to selected 2849
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, 1 month ago) by rousseau
File length: 29836 byte(s)
Diff to previous 1442 , to selected 2849
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, 1 month ago) by rousseau
File length: 29000 byte(s)
Diff to previous 1441 , to selected 2849
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, 1 month ago) by rousseau
File length: 28940 byte(s)
Diff to previous 1440 , to selected 2849
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, 1 month ago) by rousseau
File length: 28888 byte(s)
Diff to previous 1439 , to selected 2849
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, 1 month ago) by rousseau
File length: 28923 byte(s)
Diff to previous 1438 , to selected 2849
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, 1 month ago) by rousseau
File length: 28919 byte(s)
Diff to previous 1437 , to selected 2849
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, 1 month ago) by rousseau
File length: 26927 byte(s)
Diff to previous 1408 , to selected 2849
light code reformating

Revision 1408 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 17 10:22:18 2005 UTC (8 years, 3 months ago) by rousseau
File length: 26951 byte(s)
Diff to previous 1399 , to selected 2849
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, 3 months ago) by rousseau
File length: 27034 byte(s)
Diff to previous 1368 , to selected 2849
change licence from GNU GPL to GNU LGPL

Revision 1368 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 28 09:35:56 2005 UTC (8 years, 3 months ago) by rousseau
File length: 27012 byte(s)
Diff to previous 1354 , to selected 2849
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, 3 months ago) by rousseau
File length: 27010 byte(s)
Diff to previous 1352 , to selected 2849
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, 3 months ago) by rousseau
File length: 26833 byte(s)
Diff to previous 1351 , to selected 2849
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, 3 months ago) by rousseau
File length: 26925 byte(s)
Diff to previous 1261 , to selected 2849
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, 8 months ago) by rousseau
File length: 26924 byte(s)
Diff to previous 1213 , to selected 2849
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, 9 months ago) by rousseau
File length: 26850 byte(s)
Diff to previous 1196 , to selected 2849
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, 9 months ago) by rousseau
File length: 26824 byte(s)
Diff to previous 1195 , to selected 2849
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, 9 months ago) by rousseau
File length: 26824 byte(s)
Diff to previous 1156 , to selected 2849
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, 10 months ago) by rousseau
File length: 26675 byte(s)
Diff to previous 1155 , to selected 2849
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, 10 months ago) by rousseau
File length: 26587 byte(s)
Diff to previous 1154 , to selected 2849
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, 10 months ago) by rousseau
File length: 26714 byte(s)
Diff to previous 1153 , to selected 2849
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, 10 months ago) by rousseau
File length: 26686 byte(s)
Diff to previous 1152 , to selected 2849
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, 10 months ago) by rousseau
File length: 26682 byte(s)
Diff to previous 1146 , to selected 2849
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, 10 months ago) by rousseau
File length: 26508 byte(s)
Diff to previous 1107 , to selected 2849
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, 10 months ago) by rousseau
File length: 26746 byte(s)
Diff to previous 1094 , to selected 2849
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, 11 months ago) by rousseau
File length: 25891 byte(s)
Diff to previous 1085 , to selected 2849
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, 11 months ago) by rousseau
File length: 24507 byte(s)
Diff to previous 1084 , to selected 2849
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, 11 months ago) by rousseau
File length: 24508 byte(s)
Diff to previous 1078 , to selected 2849
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, 11 months ago) by rousseau
File length: 24503 byte(s)
Diff to previous 1077 , to selected 2849
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, 11 months ago) by rousseau
File length: 24499 byte(s)
Diff to previous 1059 , to selected 2849
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, 11 months ago) by rousseau
File length: 24493 byte(s)
Diff to previous 1058 , to selected 2849
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, 11 months ago) by rousseau
File length: 24481 byte(s)
Diff to previous 1053 , to selected 2849
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, 11 months ago) by rousseau
File length: 24373 byte(s)
Diff to previous 1043 , to selected 2849
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, 11 months ago) by rousseau
File length: 24334 byte(s)
Diff to previous 999 , to selected 2849
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, 11 months ago) by rousseau
File length: 24325 byte(s)
Diff to previous 998 , to selected 2849
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, 11 months ago) by rousseau
File length: 24006 byte(s)
Diff to previous 900 , to selected 2849
- 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 (9 years ago) by rousseau
File length: 21276 byte(s)
Diff to previous 892 , to selected 2849
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 (9 years ago) by rousseau
File length: 21097 byte(s)
Diff to previous 891 , to selected 2849
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 (9 years ago) by rousseau
File length: 21103 byte(s)
Diff to previous 882 , to selected 2849
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, 1 month ago) by rousseau
File length: 20739 byte(s)
Diff to previous 880 , to selected 2849
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, 1 month ago) by rousseau
File length: 20725 byte(s)
Diff to previous 840 , to selected 2849
- 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, 1 month ago) by rousseau
File length: 19856 byte(s)
Diff to previous 807 , to selected 2849
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, 2 months ago) by rousseau
File length: 19846 byte(s)
Diff to previous 804 , to selected 2849
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, 2 months ago) by rousseau
File length: 19444 byte(s)
Diff to previous 795 , to selected 2849
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, 2 months ago) by rousseau
File length: 19390 byte(s)
Diff to previous 773 , to selected 2849
new IFDHControl() API

Revision 773 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 6 13:14:02 2004 UTC (9 years, 2 months ago) by rousseau
File length: 19307 byte(s)
Diff to previous 770 , to selected 2849
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, 2 months ago) by rousseau
File length: 18499 byte(s)
Diff to previous 769 , to selected 2849
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, 2 months ago) by rousseau
File length: 18436 byte(s)
Diff to previous 768 , to selected 2849
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, 2 months ago) by rousseau
File length: 18356 byte(s)
Diff to previous 766 , to selected 2849
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, 2 months ago) by rousseau
File length: 18436 byte(s)
Diff to previous 716 , to selected 2849
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, 3 months ago) by rousseau
File length: 18236 byte(s)
Diff to previous 696 , to selected 2849
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, 4 months ago) by rousseau
File length: 18335 byte(s)
Diff to previous 692 , to selected 2849
huge rework of CardUp()

Revision 692 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 11 14:36:59 2004 UTC (9 years, 4 months ago) by rousseau
File length: 16916 byte(s)
Diff to previous 687 , to selected 2849
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, 4 months ago) by rousseau
File length: 16708 byte(s)
Diff to previous 673 , to selected 2849
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, 4 months ago) by rousseau
File length: 16628 byte(s)
Diff to previous 663 , to selected 2849
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, 4 months ago) by rousseau
File length: 14863 byte(s)
Diff to previous 649 , to selected 2849
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, 4 months ago) by rousseau
File length: 14900 byte(s)
Diff to previous 616 , to selected 2849
add support of IFDHCreateChannelByName

Revision 616 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 14:10:13 2004 UTC (9 years, 5 months ago) by rousseau
File length: 14175 byte(s)
Diff to previous 612 , to selected 2849
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, 5 months ago) by rousseau
File length: 14020 byte(s)
Diff to previous 611 , to selected 2849
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, 5 months ago) by rousseau
File length: 13940 byte(s)
Diff to previous 609 , to selected 2849
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, 5 months ago) by rousseau
File length: 13966 byte(s)
Diff to previous 608 , to selected 2849
add get_ccid_slot() function

Revision 608 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 15 08:30:31 2004 UTC (9 years, 5 months ago) by rousseau
File length: 13864 byte(s)
Diff to previous 569 , to selected 2849
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, 6 months ago) by rousseau
File length: 14124 byte(s)
Diff to previous 568 , to selected 2849
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, 6 months ago) by rousseau
File length: 14105 byte(s)
Diff to previous 563 , to selected 2849
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, 6 months ago) by rousseau
File length: 14020 byte(s)
Diff to previous 463 , to selected 2849
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, 8 months ago) by rousseau
File length: 14006 byte(s)
Diff to previous 410 , to selected 2849
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, 9 months ago) by rousseau
File length: 13423 byte(s)
Diff to previous 269 , to selected 2849
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, 10 months ago) by rousseau
File length: 16194 byte(s)
Diff to selected 2849
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