/[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, 6 months ago) by rousseau
File length: 55581 byte(s)
Diff to previous 5330
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
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
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, 7 months ago) by rousseau
File length: 55652 byte(s)
Diff to previous 5206
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, 8 months ago) by rousseau
File length: 55528 byte(s)
Diff to previous 5205
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, 8 months ago) by rousseau
File length: 55538 byte(s)
Diff to previous 5188
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, 8 months ago) by rousseau
File length: 55650 byte(s)
Diff to previous 5185
IFDHSetCapabilities(): remove dead comments

Revision 5185 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 26 08:58:06 2010 UTC (2 years, 8 months ago) by rousseau
File length: 55745 byte(s)
Diff to previous 5165
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, 9 months ago) by rousseau
File length: 55745 byte(s)
Diff to previous 5078
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, 9 months ago) by rousseau
File length: 55632 byte(s)
Diff to previous 5028
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
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 (2 years, 11 months ago) by rousseau
File length: 54662 byte(s)
Diff to previous 5013
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 (2 years, 11 months ago) by rousseau
File length: 54650 byte(s)
Diff to previous 4987
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 (2 years, 11 months ago) by rousseau
File length: 54614 byte(s)
Diff to previous 4973
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 (2 years, 11 months ago) by rousseau
File length: 54812 byte(s)
Diff to previous 4956
update copyright date

Revision 4956 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 20 15:06:48 2010 UTC (3 years ago) by rousseau
File length: 54812 byte(s)
Diff to previous 4938
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 ago) by rousseau
File length: 54461 byte(s)
Diff to previous 4937
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 ago) by rousseau
File length: 53433 byte(s)
Diff to previous 4928
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 ago) by rousseau
File length: 53886 byte(s)
Diff to previous 4926
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 ago) by rousseau
File length: 53853 byte(s)
Diff to previous 4925
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 ago) by rousseau
File length: 53775 byte(s)
Diff to previous 4924
IFDHControl(): add comments

Revision 4924 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 7 12:21:30 2010 UTC (3 years ago) by rousseau
File length: 53628 byte(s)
Diff to previous 4897
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 ago) by rousseau
File length: 53299 byte(s)
Diff to previous 4896
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 ago) by rousseau
File length: 53395 byte(s)
Diff to previous 4879
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, 1 month ago) by rousseau
File length: 53323 byte(s)
Diff to previous 4878
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, 1 month ago) by rousseau
File length: 53314 byte(s)
Diff to previous 4847
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, 1 month ago) by rousseau
File length: 53305 byte(s)
Diff to previous 4844
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, 1 month ago) by rousseau
File length: 51826 byte(s)
Diff to previous 4638
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, 4 months ago) by rousseau
File length: 51831 byte(s)
Diff to previous 4614
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, 5 months ago) by rousseau
File length: 51784 byte(s)
Diff to previous 4508
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, 6 months ago) by rousseau
File length: 51781 byte(s)
Diff to previous 4499
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, 7 months ago) by rousseau
File length: 51779 byte(s)
Diff to previous 4498
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, 7 months ago) by rousseau
File length: 51284 byte(s)
Diff to previous 4450
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, 7 months ago) by rousseau
File length: 51036 byte(s)
Diff to previous 4449
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, 7 months ago) by rousseau
File length: 51118 byte(s)
Diff to previous 4417
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, 7 months ago) by rousseau
File length: 50669 byte(s)
Diff to previous 4414
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, 7 months ago) by rousseau
File length: 50882 byte(s)
Diff to previous 4411
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, 7 months ago) by rousseau
File length: 50669 byte(s)
Diff to previous 4410
IFDHControl(): typo in comment

Revision 4410 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 30 13:47:30 2009 UTC (3 years, 7 months ago) by rousseau
File length: 50668 byte(s)
Diff to previous 4397
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, 7 months ago) by rousseau
File length: 50740 byte(s)
Diff to previous 4366
IFDHPowerICC(): remove a useless ;

Revision 4366 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 27 13:16:46 2009 UTC (3 years, 8 months ago) by rousseau
File length: 50741 byte(s)
Diff to previous 4358
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, 9 months ago) by rousseau
File length: 50730 byte(s)
Diff to previous 4356
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, 9 months ago) by rousseau
File length: 50305 byte(s)
Diff to previous 4346
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, 9 months ago) by rousseau
File length: 50062 byte(s)
Diff to previous 4295
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, 10 months ago) by rousseau
File length: 50038 byte(s)
Diff to previous 4282
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, 10 months ago) by rousseau
File length: 49929 byte(s)
Diff to previous 4255
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 (3 years, 11 months ago) by rousseau
File length: 48697 byte(s)
Diff to previous 3416
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, 1 month ago) by rousseau
File length: 48710 byte(s)
Diff to previous 3403
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, 1 month ago) by rousseau
File length: 48693 byte(s)
Diff to previous 3395
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, 1 month ago) by rousseau
File length: 48481 byte(s)
Diff to previous 3378
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, 1 month ago) by rousseau
File length: 47843 byte(s)
Diff to previous 3356
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
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, 2 months ago) by rousseau
File length: 46487 byte(s)
Diff to previous 3330
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, 2 months ago) by rousseau
File length: 46471 byte(s)
Diff to previous 3322
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, 2 months ago) by rousseau
File length: 45944 byte(s)
Diff to previous 3319
typo in comment

Revision 3319 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 18 07:31:34 2009 UTC (4 years, 3 months ago) by rousseau
File length: 45946 byte(s)
Diff to previous 3292
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, 3 months ago) by rousseau
File length: 45931 byte(s)
Diff to previous 3284
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
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, 4 months ago) by rousseau
File length: 45536 byte(s)
Diff to previous 3268
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, 4 months ago) by rousseau
File length: 45523 byte(s)
Diff to previous 3226
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, 5 months ago) by rousseau
File length: 45359 byte(s)
Diff to previous 3199
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, 6 months ago) by rousseau
File length: 45221 byte(s)
Diff to previous 3144
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, 7 months ago) by rousseau
File length: 44303 byte(s)
Diff to previous 3126
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, 8 months ago) by rousseau
File length: 44272 byte(s)
Diff to previous 3096
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, 9 months ago) by rousseau
File length: 43612 byte(s)
Diff to previous 3025
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, 10 months ago) by rousseau
File length: 43321 byte(s)
Diff to previous 3024
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, 10 months ago) by rousseau
File length: 43234 byte(s)
Diff to previous 2974
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 (4 years, 11 months ago) by rousseau
File length: 43192 byte(s)
Diff to previous 2911
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 ago) by rousseau
File length: 43196 byte(s)
Diff to previous 2871
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, 1 month ago) by rousseau
File length: 42955 byte(s)
Diff to previous 2857
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, 1 month ago) by rousseau
File length: 42698 byte(s)
Diff to previous 2854
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, 1 month 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) - [select for diffs]
Modified Fri Mar 14 08:29:04 2008 UTC (5 years, 2 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, 3 months ago) by rousseau
File length: 42417 byte(s)
Diff to previous 2810
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, 3 months ago) by rousseau
File length: 42354 byte(s)
Diff to previous 2806
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, 3 months ago) by rousseau
File length: 42270 byte(s)
Diff to previous 2801
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, 3 months ago) by rousseau
File length: 42243 byte(s)
Diff to previous 2788
IFDHSleep(): add a log call

Revision 2788 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 4 14:01:22 2008 UTC (5 years, 3 months ago) by rousseau
File length: 42213 byte(s)
Diff to previous 2783
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, 3 months ago) by rousseau
File length: 41714 byte(s)
Diff to previous 2781
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, 3 months ago) by rousseau
File length: 41723 byte(s)
Diff to previous 2777
add a prototype for IFDHPolling()

Revision 2777 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 1 09:31:58 2008 UTC (5 years, 3 months ago) by rousseau
File length: 41681 byte(s)
Diff to previous 2754
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
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, 7 months ago) by rousseau
File length: 40757 byte(s)
Diff to previous 2473
typo in log message

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
#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
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
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
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
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
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
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
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
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
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
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
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
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
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
 #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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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) - [select for diffs]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
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
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
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
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
- 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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