-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathChangeLog
More file actions
8145 lines (6153 loc) · 298 KB
/
ChangeLog
File metadata and controls
8145 lines (6153 loc) · 298 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2014-03-23 Ludovic Rousseau
* [r6880] README, configure.ac: Release 1.4.16
* [r6879] src/commands.c: Fix compiler warning
commands.c: In function `SecurePINVerify': commands.c:529:9:
warning: variable `n' set but not used
[-Wunused-but-set-variable] int n, oldReadTimeout; ^
* [r6878] src/commands.c: Fix compiler warning
commands.c:511:19: warning: | has lower precedence than ==; ==
will be evaluated first [-Wparentheses] if (T1_S_BLOCK | T1_S_WTX
== RxBuffer[PCB]) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ commands.c:511:19:
note: place parentheses around the '==' expression to silence
this warning if (T1_S_BLOCK | T1_S_WTX == RxBuffer[PCB]) ^
~~~~~~~~~~~~~~~~~~~~~~~~~ commands.c:511:19: note: place
parentheses around the | expression to evaluate it first if
(T1_S_BLOCK | T1_S_WTX == RxBuffer[PCB]) ~~~~~~~~~~~^~~~~~~~~~ 1
warning generated.
* [r6877] src/commands.c: SecurePINVerify: add support of WTX
received before SW
The Swiss health care card sends a WTX request before returning
the SW code. If the reader is in TPDU and the card is in T=1 the
driver must manage the request itself.
* [r6876] src/ccid_ifdhandler.h: Add
DRIVER_OPTION_DISABLE_PIN_RETRIES definition
This is a missing for revision 6875
2014-03-22 Ludovic Rousseau
* [r6875] src/Info.plist.src, src/ccid.c: Add support of
DRIVER_OPTION_DISABLE_PIN_RETRIES
The Gemalto pinpad reader sends a VERIFY command with no PIN
value in order to retreive the remaining retries from the card.
Some cards (like the OpenPGP card) do not support this.
It is now possible to disable this behavior from the Gemalto
Pinpad and Covadis Véga Alpha.
Closes Alioth bug
https://alioth.debian.org/tracker/index.php?func=detail&aid=314005&group_id=30105&atid=410088
* [r6874] src/ccid_usb.c: InterruptRead(): log the libusb errors
Allow an easier debug
2014-03-11 Ludovic Rousseau
* [r6873] readers/IID_AT90S064_CCID_READER.txt,
readers/supported_readers.txt: Add IID AT90S064 CCID READER
2014-03-09 Ludovic Rousseau
* [r6871] readers/Watchdata_W5181.txt,
readers/supported_readers.txt: Add Watchdata W5181
2014-03-08 Ludovic Rousseau
* [r6869] src/openct/proto-t1.c: t1_transceive(): add a new test on
retries
The driver should not send R-blocks infinitely.
The problem was detected by a T=1 card on a TPDU pinpad reader
with a VERIFY command that send a WTX request before returning
the SW code.
* [r6868] src/openct/proto-t1.c: t1_transceive(): check retries is
is positive
The test was "retries == 0" but it may happen that retries
becomes negative. Then the counter will be decreasing
"indefinitely".
The new test is "retries <= 0" to also get the negative values
and resync if needed.
The problem was detected by a T=1 card on a TPDU pinpad reader
with a VERIFY command that send a WTX request before returning
the SW code.
2014-03-07 Ludovic Rousseau
* [r6866] readers/INSIDE_Secure_VaultIC_441_Smart_Object.txt,
readers/supported_readers.txt: Add INSIDE Secure VaultIC 441
Smart Object
* [r6865] readers/INSIDE_Secure_VaultIC_405_Smart_Object.txt,
readers/supported_readers.txt: Add INSIDE Secure VaultIC 405
Smart Object
* [r6864] readers/supported_readers.txt: Replace HP by Hewlett
Packard
2014-02-26 Ludovic Rousseau
* [r6862] NEWS: Indicates the changes are in README.
2014-02-23 Ludovic Rousseau
* [r6860] readers/Chicony_HP_USB_Smartcard_CCID_Keyboard.txt,
readers/supported_readers.txt: Add HP USB Smartcard CCID Keyboard
2014-02-18 Ludovic Rousseau
* [r6857] readers/Microchip_SEC1210.txt,
readers/supported_readers.txt: Add Microchip SEC1210
* [r6856] readers/Microchip_SEC1110.txt,
readers/supported_readers.txt: Add Microchip SEC1110
* [r6855] readers/Crypto_Stick_Crypto_Stick_v1.4.txt,
readers/supported_readers.txt: Add Crypto Stick Crypto Stick v1.4
2014-02-14 Ludovic Rousseau
* [r6846] README, configure.ac: Release 1.4.15
* [r6845] src/ccid.c, src/ccid.h: Disable pinpad for Fujitsu
SmartCase KB SCR eSIG
Thanks to Maarten for the bug report and patch.
2014-02-08 Ludovic Rousseau
* [r6839] readers/Feitian_bR301.txt, readers/supported_readers.txt:
Add Feitian bR301
2014-02-03 Ludovic Rousseau
* [r6835] readers/Gemalto_Ezio_Shield_Pro_SC.txt,
readers/supported_readers.txt: Add Gemalto Ezio Shield Pro SC
2014-01-28 Ludovic Rousseau
* [r6833] src/reader.conf.in: Remove the optional CHANNELID
Use DEVICENAME only instead.
* [r6832] src/ccid.h, src/ccid_serial.c, src/reader.conf.in: Add
support of Gemalto CR30 reader in serial communication
The Gemalto CR30 reader is a dual slot reader. The reader can be
connected with a USB cable (normal CCID protocol) or using a
serial cable.
The serial configuration is made using a special name in
/etc/reader.conf DEVICENAME field like: DEVICENAME
/dev/ttyS0:GemCoreSIMPro2
* [r6831] src/ccid_serial.c: set_ccid_descriptor(): initialize
.ccid.readTimeout
The read timeout was not initialized. I don't know how it was
working.
2014-01-21 Ludovic Rousseau
* [r6829] readers/Vasco_DIGIPASS_870.txt,
readers/supported_readers.txt: Add VASCO DIGIPASS 870
* [r6828] src/ccid_usb.c: get_end_points(): be more strict for
bInterfaceClass = 255
If the bInterfaceClass is 255 (proprietary) and then not, but
possibly, a CCID interface (on an old reader) we also check the
extra_length is valid for a CCID device.
The problem was with a composite device with 2 interfaces: one
non-CCID interface with bInterfaceClass = 255 and a CCID
interface with bInterfaceClass = 11. The first non-CCID interface
must be skipped.
* [r6827] readers/Aladdin_eToken_PRO_USB_72K_Java.txt: Small update
2014-01-07 Ludovic Rousseau
* [r6820] src/ccid.c: ccid_open_hack_post(): use default read
timeout for CmdEscape
Use the default read timeout (DEFAULT_COM_READ_TIMEOUT at 3
seconds) instead of the current value of 100 ms (set in
CreateChannelByNameOrChannel) that is too short to load the l10n
strings in a pinpad reader.
* [r6819] src/ifdhandler.c: Support Gemalto features for pinpad
readers
MinimumPINSize, MaximumPINSize and bEntryValidationCondition are
fetched from the reader firmware. No need to hardcode specific
values anymore.
* [r6818] examples/scardcontrol.c: Fix typo in text
* [r6817] src/ifdhandler.c: Set specific value of
bEntryValidationCondition for known readers
Gemalto Pinpad, Covadis Véga-Alpha and Cherry ST2000 readers only
support validation by key pressed.
* [r6816] examples/scardcontrol.c: Retrieve
bEntryValidationCondition from the driver
Use PCSCv2_PART10_PROPERTY_bEntryValidationCondition to know what
validation conditions aer supported by the pinpad.
Default value is 7 (as before).
* [r6815] examples/scardcontrol.c: Check value returned by gets(3)
Fix compiler warning: scardcontrol.c:649:4: warning: ignoring
return value of ‘fgets’, declared with attribute
warn_unused_result [-Wunused-result]
* [r6814] examples/scardcontrol.c: Retrieve min and max PIN sizes
from the driver
Use PCSCv2_PART10_PROPERTY_bMinPINSize and
PCSCv2_PART10_PROPERTY_bMaxPINSize to know the min and max PIN
sizes.
If not defined by the driver the default values are 4 for min and
8 for max (as before).
* [r6813] examples/scardcontrol.c: Do a PIN verify instead of PIN
modify
2014-01-06 Ludovic Rousseau
* [r6812] examples/scardcontrol.c: Parse codes returned by a pinpad
(as SW1/SW2).
Known codes for now are: 0x9000: Success 0x6400: Timeout 0x6401:
Cancelled by user 0x6402: PIN mismatch 0x6403: Too short or too
long PIN
* [r6811] src/ifdhandler.c: Add specific PIN min & max sizes for
SmartTerminal ST-2xxx
The Cherry GmbH SmartTerminal ST-2xxx reader has a min PIN size
of 0 digits and a max PIN size of 25 (0x19) digits.
Thanks to Dominik Heidler for the bug report
https://github.com/OpenSC/OpenSC/issues/199
2013-12-17 Ludovic Rousseau
* [r6809] examples/scardcontrol.c: Fix calculation of the command
length
Since pcsc-lite 1.8.9 (October 2013) the structures
PIN_MODIFY_STRUCTURE and PIN_VERIFY_STRUCTURE are different and
now use a C99 flexible array member when available for abData
field. uint8_t abData[];
The the sizeof(PIN_VERIFY_STRUCTURE) is one byte smaller and the
calculation of the complete command is now simpler.
2013-12-12 Ludovic Rousseau
* [r6806] readers/IIT_E.Key_Almaz-1C.txt,
readers/supported_readers.txt: Add IIT E.Key Almaz-1C
2013-12-06 Ludovic Rousseau
* [r6805] readers/DUALi_DRAGON_NFC_READER.txt,
readers/supported_readers.txt: Add DUALi DRAGON NFC READER
2013-11-26 Ludovic Rousseau
* [r6801] src/ccid_usb.c: Do not get the data rates if
bNumDataRatesSupported = 0
According to CCID spec 1.1: " If the value is 00h, all data rates
between the default data rate dwDataRate and the maximum data
rate dwMaxDataRate are supported. "
Some readers do not support control request 0x03 GET_DATA_RATES
if they declare bNumDataRatesSupported = 0. That should not
generate a critical error.
This change will fix bug [#314516] Do not log
ccid_usb.c:1142:ControlUSB() control failed (1/4): -9 Success
https://alioth.debian.org/tracker/index.php?func=detail&aid=314516&group_id=30105&atid=410088
and also fix bug [#313651] Do not call get_data_rates() if
bNumDataRatesSupported is 0
https://alioth.debian.org/tracker/index.php?func=detail&aid=313651&group_id=30105&atid=410088
* [r6800] src/ccid_usb.c: Revert revision 6799
We will use a better way to solve the bug.
* [r6799] src/ccid_usb.c: Failing to get the data rates from the
reader is not a critical error
The reader may not respond to control request 0x03 GET_DATA_RATES
In such a case the CCID driver should not report a critical
error.
The driver will now report a info level error.o
Closes alioth bug [#314516] Do not log
ccid_usb.c:1142:ControlUSB() control failed (1/4): -9 Success
https://alioth.debian.org/tracker/index.php?func=detail&aid=314516&group_id=30105&atid=410088
* [r6798] src/debug.h: Add DEBUG_INFO5() macro
2013-11-25 Ludovic Rousseau
* [r6795] README, configure.ac: Release 1.4.14
* [r6794] README: Reformat the list of readers in the "add support
for" section
* [r6793] src/ccid_usb.c: Generalize the management of readers with
bDeviceClass = 0xFF
Some early Gemalto Ezio CB+ readers have bDeviceClass,
bDeviceSubClass and bDeviceProtocol set to 0xFF (proprietary)
instead of 0x00.
So on Mac OS X the reader configuration is not done by the
OS/kernel and we do it ourself.
The code is no more limited to the GEMALTO_EZIO_CBP
(0x08E6/0x34C3) but to any reader with the problem, like the
Todos Argos Mini II CCID.
* [r6792] MacOSX/configure: Set Xcode SDK to version 10.8
With Xcode 5.x the minimum SDK version is 10.8 (Mountain Lion)
even on Mountain Lion.
* [r6791] readers/Gemalto_Ezio_Shield_Secure_Channel.txt,
readers/supported_readers.txt: Add Gemalto ING Shield Pro SC
* [r6790] src/ifdhandler.c: IFDHControl(): report
FEATURE_IFD_PIN_PROPERTIES only for pinpad readers
Some (bogus) applications use the presence of
FEATURE_IFD_PIN_PROPERTIES to know if the reader is a pinpad
reader or not. The application should use
FEATURE_VERIFY_PIN_DIRECT and FEATURE_MODIFY_PIN_DIRECT instead.
Reporting FEATURE_IFD_PIN_PROPERTIES for a non-pinpad reader is
useless so it should not harm to remove it from
CM_IOCTL_GET_FEATURE_REQUEST.
2013-10-24 Ludovic Rousseau
* [r6784] src/ccid_usb.c, src/ifdhandler.c: Add support of Gemalto
GemCore SIM Pro firmware 2.0
The new firmware of the Gemalto GemCore SIM Pro removes a
limitation of the firmware 1.0. The 2 slots now supports the same
data rates. The second slot is no more limited to some values
only.
* [r6783] src/ccid.c, src/ccid_serial.c, src/commands.c,
src/commands.h, src/ifdhandler.c: Add a timeout parameter to
CmdEscape()
Not all commands need the same timeout. For example the
CmdEscape() used in ccid_serial.c to check if the reader is alive
should have a short timeout. The timeout was forced to 30 seconds
inside CmdEscape() so it was not possible to use a different
value. The patch fixes this.
* [r6782] src/ifdhandler.c: Limit GemCore SIM PRO hack to only the
specific reader
If the ATR fails we should mark the card as absent only for the
GemCore SIM PRO. This reader do not manage slot status for the
second slot and a corresponding hack is present in function
IFDHICCPresence() around line 1713.
2013-10-19 Ludovic Rousseau
* [r6781]
readers/extra_features/Gemalto_Ezio_Shield_PinPad_Martin_features.txt:
CT710 parse from Martin Paljak
http://archives.neohapsis.com/archives/dev/muscle/2013-q4/0040.html
https://sourceforge.net/p/opensc/mailman/message/31538801/
2013-10-18 Ludovic Rousseau
* [r6776] readers/extra_features/GemPCPinpadv2_features.txt,
readers/extra_features/Gemalto_Ezio_Shield_PinPad_features.txt:
Add reader name, Pid and Vid
* [r6774] readers/extra_features,
readers/extra_features/GemPCPinpadv2_features.txt,
readers/extra_features/Gemalto_Ezio_Shield_PinPad_features.txt,
readers/extra_features/README.txt: This directory contains extra
information about a reader
For example the result of the
PCSC/UnitaryTests/FEATURE_CCID_ESC_COMMAND_Gemalto_features.py
command on some Gemalto readers.
2013-10-09 Ludovic Rousseau
* [r6766] README, configure.ac: release 1.4.13
2013-10-02 Ludovic Rousseau
* [r6762] MacOSX/configure: Simplify the code for a NON generic
driver
- do not build a class driver (not yet used by pcsc-lite on Mac
OS X) using --disable-class
- use a specific bundle name to NOT overwrite the official CCID
driver using --enable-bundle=ifd-ccid-$BUNDLE_ID.bundle
- differentiate each libccid library by the dynamic linker using
--prefix=/fake/$BUNDLE_ID
* [r6761] MacOSX/configure: Document the use of --disable-class
2013-10-01 Ludovic Rousseau
* [r6760] src/ccid_usb.c, src/debug.c: Use the COUNT_OF macro
2013-09-30 Ludovic Rousseau
* [r6757] src/ccid_usb.c: Multislot support: do not crash on exit
The field multislot_extension should be set to NULL only _after_
the multi-slot thread management is stopped. This entry is used
by the Multi_PollingProc thread.
2013-09-23 Ludovic Rousseau
* [r6755] readers/Access_IS_ePassport_Reader.txt,
readers/supported_readers.txt: Add Access IS ePassport Reader
* [r6754] ylwrap: Update from automake 1.14
2013-09-21 Ludovic Rousseau
* [r6753] src/ifdhandler.c: CreateChannelByNameOrChannel(): reset
ccid_descriptor->readTimeout in all cases
The value was not restored in the error case. So it was not a
bug. But the Coverity tool complained:
CID 1090609 (#1 of 1): Failure to restore non-local value
(MISSING_RESTORE)20. end_of_scope: Value of non-local
"ccid_descriptor->readTimeout" that was saved in "oldReadTimeout"
is not restored as it was along other paths.
2013-09-16 Ludovic Rousseau
* [r6752] src/Makefile.am: Revert change in revision 6735
We can't use install-exec-local since we want to overwrite the
install rule. We do not want to _add_ files to install
* [r6751] MacOSX/configure: Display the warning "No Universal
Binary build" in red
2013-09-05 Ludovic Rousseau
* [r6746] configure.ac: Set LIBUSB_* even if the libusb-1.0 version
is too old
If PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >=
$LIBUSB_NEEDED_VERSION,...) fails then LIBUSB_CFLAGS and
LIBUSB_LIBS are not set. This is problematic since it just
displays a warning. So we recall PKG_CHECK_MODULES(LIBUSB,
libusb-1.0) with not version test
Problem discovered with Debian GNU/kFreeBSD where libusb-1.0 is
at version 1.0.6 (it is not the _real_ libusb).
./configure failed with: [...] checking for LIBUSB... no
configure: WARNING: install libusb 1.0.8 or later checking
libusb.h usability... yes checking libusb.h presence... yes
checking for libusb.h... yes configure: error: libusb not found,
use ./configure LIBUSB_LIBS=...
2013-08-24 Ludovic Rousseau
* [r6740] configure.ac: Use subdir-objects option
src/Makefile.am:36: warning: source file 'towitoko/atr.c' is in a
subdirectory, src/Makefile.am:36: but option 'subdir-objects' is
disabled
automake-1.14: warning: possible forward-incompatibility.
automake-1.14: At least a source file is in a subdirectory, but
the 'subdir-objects' automake-1.14: automake option hasn't been
enabled. For now, the corresponding output automake-1.14: object
file(s) will be placed in the top-level directory. However,
automake-1.14: this behaviour will change in future Automake
versions: they will automake-1.14: unconditionally cause object
files to be placed in the same subdirectory automake-1.14: of the
corresponding sources. automake-1.14: You are advised to start
using 'subdir-objects' option throughout your automake-1.14:
project, to avoid future incompatibilities.
2013-08-23 Ludovic Rousseau
* [r6739] src/ifdhandler.c: IFDHControl(): Add support of Windows
value for CM_IOCTL_GET_FEATURE_REQUEST
Windows uses 0x313520 for SCARD_CTL_CODE(3400) pcsc-lite uses
0x42000D48 for SCARD_CTL_CODE(3400)
RDP aplications (like rdesktop) will convert SCardControl()
commands from a Windows application (so using 0x313520) to
pcsc-lite.
* [r6738] src/commands.c: Silence a "clang --analyze" warning
commands.c:1936:12: warning: The right operand of '==' is a
garbage value if (0x10 == pcbuffer[0]) ^ ~~~~~~~~~~~
* [r6737] src/ccid_usb.c: Fix "clang --analyze" warning
ccid_usb.c:1095:14: warning: Result of 'calloc' is converted to a
pointer of type 'unsigned int', which is incompatible with sizeof
operand type 'int' int_array = calloc(n+1, sizeof(int)); ^~~~~~
~~~~~~~~~~~
- Change variable name int_array -> uint_array since the type is
"unsigned int" - Use sizeof(uint_array[0]) to always get the
correct type of a uint_array[] element
* [r6736] src/Makefile.am: Uninstall libccidtwin in the uninstall
rule
If libccidtwin is installed in install rule we should also remove
it in the uninstall rule
* [r6735] src/Makefile.am: Use the -local versions for install and
uninstall rules
autoreconf: running: automake --add-missing --no-force
--warnings=all src/Makefile.am:76: warning: user target 'install'
defined here ... /usr/share/automake-1.13/am/install.am: ...
overrides Automake target 'install' defined here
src/Makefile.am:99: warning: user target 'uninstall' defined here
... /usr/share/automake-1.13/am/install.am: ... overrides
Automake target 'uninstall' defined here src/Makefile.am:99:
consider using uninstall-local instead of uninstall
See
http://www.gnu.org/software/automake/manual/html_node/Extending.html
2013-08-20 Ludovic Rousseau
* [r6732] readers/Planeta_RC700-NFC_CCID.txt,
readers/supported_readers.txt: Add Planeta RC700-NFC CCID
2013-08-12 Ludovic Rousseau
* [r6729] README, configure.ac: Release 1.4.12
* [r6728] readers/SecuTech_Token.txt,
readers/supported_readers.txt: Add SecuTech SecuTech Token
2013-08-08 Ludovic Rousseau
* [r6720] readers/HID_OMNIKEY_5427_CK.txt,
readers/supported_readers.txt: Add HID OMNIKEY 5427 CK
2013-08-05 Ludovic Rousseau
* [r6715] readers/Ingenico_WITEO_badge.txt,
readers/Ingenico_WITEO_base.txt, readers/supported_readers.txt:
Add Ingenico WITEO USB Smart Card Reader (Base and Badge)
* [r6714] readers/supported_readers.txt: Regenerate without the
duplicates as entries
2013-08-02 Ludovic Rousseau
* [r6705] readers/Lenovo2.txt, readers/supported_readers.txt: Add
Lenovo Lenovo USB Smartcard Keyboard
2013-07-28 Ludovic Rousseau
* [r6689] readers/HID_OMNIKEY_5326_DFR.txt,
readers/supported_readers.txt: Add HID OMNIKEY 5326 DFR
2013-07-06 Ludovic Rousseau
* [r6688] readers/ACR122U_PICC.txt: Firmware upgrade
* [r6686] readers/Omnikey_5127_CK.txt,
readers/supported_readers.txt: Add HID OMNIKEY 5127 CK
2013-07-05 Ludovic Rousseau
* [r6685] src/ifdhandler.c: CreateChannelByNameOrChannel():
correctly fails if the reader disapears
If we get the error IFD_NO_SUCH_DEVICE then we must exit using
the error path and not directly with a return. We need to unlock
a mutex and free allocated resources.
Thanks to coverity.
* [r6684] src/towitoko/atr.c: ATR_InitFromArray(): avoid a possible
buffer overflow
Increment the protocol index _before_ checking it is too big.
2013-07-01 Ludovic Rousseau
* [r6682] src/ccid_usb.c: Code factorisation
* [r6681] src/ccid_usb.c: CloseUSB(): free
arrayOfSupportedDataRates on the last slot close
Do free .ccid.arrayOfSupportedDataRates array only when the last
slot is closed.
Multi-slot readers share the same .ccid.arrayOfSupportedDataRates
array.
The GEMCOREPOSPRO and GEMCORESIMPRO are an exception and are not
correctly managed by this patch (memory may leak).
2013-06-30 Ludovic Rousseau
* [r6678] src/ccid_usb.c, src/ifdhandler.c: Add support of
multi-slot readers
Thanks to Johann Dantant for the initial patch
* [r6677] src/ccid_usb.c: ReadUSB(): check libusb return value for
LIBUSB_ERROR_NO_DEVICE
Same change as in revision 6676 but for ReadUSB().
* [r6676] src/ccid_usb.c: WriteUSB(): check return value for
LIBUSB_ERROR_NO_DEVICE
If the device is removed we check for ENODEV == errno and now
also for LIBUSB_ERROR_NO_DEVICE == rv (libusb_bulk_transfer()
return value)
Only the value returned by libusb_bulk_transfer() should be used
in the futur.
2013-06-28 Ludovic Rousseau
* [r6675] src/ccid_usb.c: close_libusb_if_needed(): Reset ctx value
to NULL
Make sure libusb_init() will be called for the next reader.
This was not a real problem since pcscd will unload the driver
when no more reader is using it.
* [r6674] src/ccid_usb.c: Call libusb_exit() when needed
Starting with libusbx 1.0.16 a hotplug thread is created by
libusb. We must cleanly stop the thread or bad thing can happen
(crash on Mac OS X for exampple)
* [r6673] configure.ac: Check libusb is at least at version 1.0.8
The driver will need to use libusb_exit() for libusbx >= 1.0.16
because of the libusb hotplug thread.
libusb_exit() was not working correctly in libusb < 1.0.8.
So we check the libusb library used will at least provide a
working libusb_exit() function.
* [r6672] configure.ac: Remove libusb-config use
libusb-config was provided by libusb-0.1. We do not use this
version of the libusb API since version libccid 1.4.0 (August
2010)
2013-06-20 Ludovic Rousseau
* [r6667] MacOSX/configure: Update the bundle name template to
include the vendor name
The bundle name template is now ifd-ccid-vendor-reader.bundle
* [r6666] MacOSX/configure: Disable class driver on Mac OS X
- we are building for a specific reader - pcsc-lite on Mac OS X
do not yet support "class" driver
2013-06-18 Ludovic Rousseau
* [r6664] configure.ac, src/Makefile.am: Use serialconfdir from
pcsc-lite
Get the serialconfdir value from pcsc-lite pkg config instead of
using $(DESTDIR)/$(sysconfdir)/reader.conf.d/
2013-06-12 Ludovic Rousseau
* [r6661] ylwrap: Update from automake 1.13
* [r6659] README, configure.ac: Release 1.4.11
2013-06-11 Ludovic Rousseau
* [r6658] readers/supported_readers.txt: Move Gemalto IDBridge
K3000 from "should work" to "supported"
2013-06-10 Ludovic Rousseau
* [r6656] readers/supported_readers.txt: Move Gemalto IDBridge CT30
from "unsupported" to "should work" list
* [r6655] readers/supported_readers.txt: Add Gemalto IDBridge K30
* [r6652] readers/Gemalto_IDBridge_K30.txt: New firmware and new
name of the Gemalto USB Shell Token V2
* [r6651] readers/DellSCRK.txt: New firmware (2.0)
* [r6650] src/ccid.c, src/ccid.h, src/ccid_serial.c,
src/ccid_usb.c: Add Zero Length Packet (ZLP) support for Gemalto
IDBridge CT30 and K30
The Gemalto IDBridge CT30 and IDBridge K30 readers may send a ZLP
after some commands when connected on a USB3 bus. Only the
readers with firmware 2.00 have the problem.
The solution is to use a short read before every USB write.
2013-06-03 Ludovic Rousseau
* [r6646] src/debug.c: Reset color after time value
Fix a bug introduced in revision 6644.
* [r6645] src/debug.c: Do not do colorization when not available.
Check code was missing in revision 6644.
* [r6644] src/debug.c: Add colorization of logs
This log API is used when pcsc-lite do not provide it i.e. on Mac
OS X.
The colorization should happen only when the logs are displayed
on a terminal and not when sent in a log file. The main use is
with the handler_test application.
2013-05-31 Ludovic Rousseau
* [r6643] src/ccid_usb.c: get_ccid_device_descriptor(): check
endpoint[] before access
Some non-CCID devices with bInterfaceClass = 0xFF may make the
code crash because they do not have endpoints.
This may happens using 'parse -p' to parse non CCID devices.
* [r6641] readers/ACR122U.txt, readers/ACR122U_PICC.txt,
readers/ACR38U-CCID.txt, readers/ACS_ACR100.txt,
readers/ACS_ACR101.txt, readers/ACS_ACR38_plugin.txt,
readers/ACS_AET65.txt, readers/ACS_APG8201.txt,
readers/ACS_APG8201_v2.txt, readers/ACS_CryptoMate64.txt,
readers/ASEDrive_IIIe_KB.txt, readers/ASE_IIIe.txt,
readers/ATMEL_AT90SCR050.txt, readers/ATMEL_AT90SCR100.txt,
readers/ATMEL_AT91SC192192CT-USB.txt, readers/ATMEL_AT91SO.txt,
readers/ATMEL_AT98SC032CT.txt, readers/ATMEL_VaultIC420.txt,
readers/ATMEL_VaultIC440.txt, readers/ATMEL_VaultIC460.txt,
readers/AU9520.txt, readers/AU9540.txt, readers/ActivCardV2.txt,
readers/ActivCardV3.txt, readers/ActivkeySim.txt,
readers/Akasa_AK-CR-03.txt, readers/Aktiv_Rutoken_ECP.txt,
readers/Aktiv_Rutoken_Lite.txt,
readers/Aktiv_Rutoken_Magistra.txt,
readers/Aladdin_eToken_PRO_USB_72K_Java.txt,
readers/AlcorMicro_AU9522.txt, readers/Alcor_SCR001.txt,
readers/Alya.txt, readers/Ask_CPL108.txt,
readers/Athena_IDProtect_Key.txt,
readers/Avtor_SC_Reader_371.txt, readers/Avtor_SecureToken.txt,
readers/AxaltoV3.txt, readers/BIFIT_USB-Token_iBank2key.txt,
readers/BIFIT_iBank2key.txt, readers/BZH_uKeyCI800-K1.txt,
readers/BludriveII.txt, readers/Broadcom_5880.txt,
readers/Broadcom_5880v2.txt, readers/Broadcom_5880v3.txt,
readers/Broadcom_5880v4.txt, readers/C3PO_KBR36.txt,
readers/C3PO_LTC32_USBv2.txt, readers/C3PO_TLTC2USB.txt,
readers/CCB_eSafeLD.txt, readers/CardMan1021.txt,
readers/CardMan3021.txt, readers/CardMan3121.txt,
readers/CardMan3621.txt, readers/CardMan3821.txt,
readers/CardMan4321.txt, readers/CardMan5121.txt,
readers/CardMan5125.txt, readers/CardMan5321.txt,
readers/CardMan6121.txt, readers/Charismathics.txt,
readers/CherryST1044U.txt, readers/CherrySmartBoardXX1X.txt,
readers/CherrySmartTerminalST2XXX.txt,
readers/CherrySmartTerminalXX1X.txt,
readers/CherrySmartTerminalXX7X.txt, readers/CherryXX33.txt,
readers/CherryXX44.txt, readers/Covadis_Auriga.txt,
readers/CryptoIdentity.txt, readers/Dectel_CI692.txt,
readers/DellSCRK.txt, readers/DellSK-3106.txt,
readers/Eutron_CryptoIdentity.txt,
readers/Eutron_Digipass_860.txt,
readers/Eutron_SIM_Pocket_Combo_(Card_Reader).txt,
readers/Eutron_SIM_Pocket_Combo_(SIM_Reader).txt,
readers/Eutron_Smart_Pocket.txt, readers/Feitian_SCR301.txt,
readers/Feitian_SCR310.txt, readers/Feitian_ePass2003_PKI.txt,
readers/Fsij_gnuk.txt,
readers/FujitsuSiemens_SmartCard_Keyboard_USB_2A.txt,
readers/FujitsuSiemens_SmartCard_USB_2A.txt,
readers/FujitsuTechnologySolutions_SmartCase_KB_SCR_eSIG.txt,
readers/GIS_SmartMouse.txt, readers/GPFCryptoStick.txt,
readers/GemCorePOSPro.txt, readers/GemCoreSIMPro.txt,
readers/GemPC433_SL.txt, readers/GemPCKey.txt,
readers/GemPCPinpad.txt, readers/GemPCPinpadv2.txt,
readers/GemPCTwin.txt, readers/GemPC_Express.txt,
readers/GemProxDU.txt, readers/GemProxSU.txt,
readers/Gem_e-SealPro.txt,
readers/GemaltoSmartEnterpriseGuardian.txt,
readers/Gemalto_Ezio_Branch.txt, readers/Gemalto_Ezio_CB+.txt,
readers/Gemalto_Ezio_Shield.txt,
readers/Gemalto_Ezio_Shield_PinPad.txt,
readers/Gemalto_HybridSmartcardReader.txt,
readers/Gemalto_IDBridge_CT30.txt,
readers/Gemalto_IDBridge_K3000.txt, readers/Gemalto_PDT.txt,
readers/Gemalto_SA_dotNet_Dual.txt, readers/Gemalto_SG.txt,
readers/GnD_StarSignCardToken350.txt,
readers/GnD_StarSignCardToken550.txt,
readers/GnD_StarSign_CUT.txt, readers/GoldKey_PIV_Token.txt,
readers/HPUSBSmartCardKeyboard.txt,
readers/HPUSBSmartCardReader.txt,
readers/HP_MFP_SmartCardReader.txt, readers/HP_kus-0133.txt,
readers/Identive_CLOUD_2700_F.txt,
readers/Identive_CLOUD_2700_R.txt,
readers/Identive_CLOUD_4500_F.txt,
readers/Identive_CLOUD_4510_F.txt,
readers/Identive_CLOUD_4700_F.txt,
readers/Identive_CLOUD_4710_F.txt,
readers/Inside_Secure_AT90SCR050.txt,
readers/Inside_Secure_AT90SCR100.txt,
readers/Inside_Secure_AT90SCR200.txt,
readers/Inside_Secure_VaultIC_420.txt,
readers/Inside_Secure_VaultIC_440.txt,
readers/Inside_Secure_VaultIC_460_Smart_Object.txt,
readers/JCOP41V221.txt, readers/KAAN_Advanced.txt,
readers/KAAN_Base.txt, readers/KAAN_SIM_III.txt,
readers/KEBTechnology_KONA_USB_SmartCard.txt,
readers/Kingtrust_Multi-Reader.txt, readers/Kobil_EMV_CAP.txt,
readers/Kobil_IDToken.txt, readers/Kobil_Smart_Token.txt,
readers/Kobil_mIDentity_4smart.txt,
readers/Kobil_mIDentity_4smart_AES.txt,
readers/Kobil_mIDentity_fullsize.txt,
readers/Kobil_mIDentity_fullsize_AES.txt,
readers/Kobil_mIDentity_visual.txt, readers/LTC31.txt,
readers/LTC31v2.txt, readers/LTC36.txt, readers/Lenovo.txt,
readers/MSI_StarReader_SMART.txt,
readers/MX5_SMART_CCID_DRIVER.txt,
readers/Macally_NFC_CCID_eNetPad.txt, readers/Morpho_MSO1350.txt,
readers/Morpho_MSO350.txt, readers/MySmartPad.txt,
readers/NXP_PR533.txt, readers/Neowave_Weneo.txt,
readers/Neowave_Weneo2.txt, readers/Neowave_Weneo3.txt,
readers/Neowave_Weneo4.txt, readers/Oberthur-CosmoCard.txt,
readers/Oberthur-CosmoCard1.txt,
readers/Oberthur-ID-ONE_token_slim_v2.txt,
readers/Omnikey_6321.txt, readers/Omnikey_noname1.txt,
readers/Oz776S.txt, readers/Oz776_7772.txt,
readers/Panasonic_USB_Smart_Card_Reader_7A-Smart.txt,
readers/Philips_SmartMX.txt, readers/Precise_200_MC.txt,
readers/Precise_250_MC.txt, readers/Precise_Sense_MC.txt,
readers/Raritan_D2CIM-DVUSB.txt, readers/ReinerSCT.txt,
readers/ReinerSCT_cyberJack_RFID_basis.txt,
readers/ReinerSCT_cyberJack_go.txt,
readers/Rutoken_PINPad_ex.txt, readers/Rutoken_PINPad_in.txt,
readers/SCL010.txt, readers/SCL01x.txt, readers/SCM_SCL010.txt,
readers/SCM_SCL011.txt, readers/SCM_SDI011.txt,
readers/SCM_SDI011_512C.txt, readers/SCR331-DI-NTTCom.txt,
readers/SCR331-DI.txt, readers/SCR331.txt,
readers/SCR3310-NTTCom.txt, readers/SCR3310.txt,
readers/SCR3310_2.txt, readers/SCR3311.txt, readers/SCR3320.txt,
readers/SCR333.txt, readers/SCR3340.txt, readers/SCR335.txt,
readers/SCR3500.txt, readers/SCR355.txt, readers/SDI010.txt,
readers/SDS4ID_DominoKeyPro_100.txt, readers/SPR532.txt,
readers/SafeTech_SafeTouch.txt, readers/Sitecom_MD-010.txt,
readers/Smart_SBV280.txt, readers/Softforum_XecureHSM.txt,
readers/SpringCard_CSB6_Basic.txt,
readers/SpringCard_CSB6_Secure.txt,
readers/SpringCard_CSB6_Ultimate.txt,
readers/SpringCard_CrazyWriter.txt,
readers/SpringCard_EasyFinger_Standard.txt,
readers/SpringCard_EasyFinger_Ultimate.txt,
readers/SpringCard_H512_Series.txt,
readers/SpringCard_H663_Series.txt,
readers/SpringCard_NFC_Roll.txt,
readers/SpringCard_Prox_N_Roll.txt, readers/Synnix_STD200.txt,
readers/Teo.txt, readers/Teridian_TSC12xxFV.09.txt,
readers/TianYu_CCID_SmartKey.txt,
readers/Tianyu_Smart_Card_Reader.txt,
readers/Todos_AGM2_CCID.txt, readers/Todos_Cx00.txt,
readers/Ubisys_RFID.txt, readers/VMware_Virtual_USB_CCID.txt,
readers/Validy_TokenA.txt,
readers/Vasco_DIGIPASS_KEY_202_0120.txt,
readers/Vasco_DIGIPASS_KEY_202_0122.txt, readers/Vasco_DP200.txt,
readers/Vasco_DP855.txt, readers/Vasco_DP860.txt,
readers/Vasco_DP865.txt, readers/Vasco_DP905.txt,
readers/Vasco_DPKey101.txt, readers/Vasco_DPKey200.txt,
readers/Vasco_DPKey860.txt, readers/Vasco_Digipass920.txt,
readers/Vega-Alpha.txt,
readers/Verisign_secure_storage_token.txt,
readers/Verisign_secure_token.txt, readers/Winbond.txt,
readers/Xiring_Leov2.txt, readers/Xiring_MyLeo.txt,
readers/Xiring_XI-SIGN.txt, readers/Xiring_XI-SIGN_6000.txt,
readers/Yubico_Yubikey_neo.txt,
readers/Yubico_Yubikey_neo_otp.txt, readers/bit4id_cryptokey.txt,
readers/bit4id_iam.txt, readers/bit4id_key4.txt,
readers/bit4id_minilector-s.txt, readers/bit4id_minilector.txt,
readers/e-gate.txt, readers/iDream.txt, readers/iMONO.txt,
readers/id3_CL1356A_HID.txt, readers/id3_CL1356T.txt,
readers/id3_CL1356T5.txt, readers/jNet_jToken_s1.txt,
readers/mIDentity.txt, readers/mIDentityXL.txt,
readers/sid800.txt: Fix typo
bClassEnveloppe: -> bClassEnvelope: only one 'p'
2013-05-30 Ludovic Rousseau
* [r6640] src/ccid_usb.c: Fix typo in comment
2013-05-24 Ludovic Rousseau
* [r6635] src/ccid_usb.c: CloseUSB(): free the
gemalto_firmware_features only on the last slot
All the slots of a same reader use the same
gemalto_firmware_features structure. We should only free the
structure when the last slot is closing.
* [r6634] src/ccid_usb.c: Replace doubles spaces by tabulations
2013-05-22 Ludovic Rousseau
* [r6633] src/parse.c: Fix typo in field name
bClassEnveloppe -> bClassEnvelope (only 1 'p')
2013-05-17 Ludovic Rousseau
* [r6632] readers/SCM_SDI011_512C.txt,
readers/supported_readers.txt: Add SCM Microsystems Inc. SDI011
Contactless Reader
This SDI011 has a new idProduct: 0x512C
2013-05-16 Ludovic Rousseau
* [r6631] src/ccid_usb.c: ReadUSB: Zero Length Packet (ZLP) support
The Gemalto IDBridge CT30 and IDBridge K30 readers may send a ZLP
after some commands when connected on a USB3 bus
2013-05-15 Ludovic Rousseau
* [r6630] src/parse.c: Do not exit if a device with class 0xFF is
not accessible
Maybe the device is NOT a CCID reader and the parsing should
continue.
Thanks to Jaidev Bhattacharjee for the bug report
2013-05-13 Ludovic Rousseau
* [r6627] src/parse.c: parse: make the use of -p argument more
explicit
The error message now displays: "use ./parse -p" (or whatever the
program name is)
2013-05-11 Ludovic Rousseau
* [r6626] readers/SCM_SCL010.txt, readers/supported_readers.txt,
src/ccid_usb.c: Add SCM Microsystems Inc. SCL010 Contactless
Reader
A new firmware version 1.12 seems to make the reader usable as a
CCID readers in contacless mode.
2013-05-08 Ludovic Rousseau
* [r6624] src/ifdhandler.c: CreateChannelByNameOrChannel(): fix
clang warning
ifdhandler.c:142:26: warning: comparison of constant 617 with
expression of type 'status_t' is always false
[-Wtautological-constant-out-of-range-compare] if
(IFD_NO_SUCH_DEVICE == ret) ~~~~~~~~~~~~~~~~~~ ^ ~~~
Do not mix ret of type status_t with CmdGetSlotStatus() returning
a RESPONSECODE
2013-05-07 Ludovic Rousseau
* [r6623] src/92_pcscd_ccid.rules: udev rule file: remove support
of Linux kernel < 2.6.35
USB power management is now only working on Linux kernel >=
2.6.35 Older kernels will just not suspend the smart card reader.
* [r6622] src/92_pcscd_ccid.rules: udev rule file: Remove setting
group to pcscd
Since pcsc-lite 1.8.0 (November 2011) the auto start of pcscd
from the library has been removed. Use systemd instead
This action in the udev rule file is then useless.
2013-05-04 Ludovic Rousseau
* [r6620] readers/supported_readers.txt: THRC Smart Card Reader
moved from disabled to unsupported list
* [r6618] readers/iDream.txt, src/ccid_usb.c: New firmware of the
THRC reader
This new firmware _may_ work. Firmware older than 1.02 are marked
as bogus.
The reader was in the disabled list so old readers will continue
to _not_ work with the driver.
* [r6617] src/commands.c: CCID_Receive(): better management of time
extension requests
The driver now uses the value returned in the time extension
frame to multiply the timeout value. The timeout value may be
bigger than needed but the goal is to timeout _after_ the reader.
Thanks to Henryk Plötz for the bug report
2013-05-03 Ludovic Rousseau
* [r6616] readers/GemPCTwin.txt, readers/Gemalto_IDBridge_CT30.txt,
readers/supported_readers.txt: Add Gemalto IDBridge CT30 in the
Unsupported list
This reader is an GemPC Twin with a new chipset and firmware
(version E)
2013-04-26 Ludovic Rousseau
* [r6614] readers/Broadcom_5880v2.txt: Update with contactless
interface enabled
http://ridrix.wordpress.com/2009/10/13/how-to-enable-pcsc-support-for-dell-contactless-reader/
2013-04-16 Ludovic Rousseau