Compare commits

...

No commits in common. "changed/a9/pcsc-lite-ccid-1.4.36-2.el9_2.alma" and "c8" have entirely different histories.

10 changed files with 317 additions and 406 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/ccid-1.4.36.tar.bz2
SOURCES/ccid-1.4.29.tar.bz2
SOURCES/gpgkey-F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E.gpg

View File

@ -1,2 +1,2 @@
ed76f65c5c48411bf602edd87779bcbd9476720a SOURCES/ccid-1.4.36.tar.bz2
f21605dd2bf82710b69f454b0379ce68fe5aba5e SOURCES/ccid-1.4.29.tar.bz2
13df650b9548b4ef1b24ad11ef6b573af4d48011 SOURCES/gpgkey-F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E.gpg

View File

@ -1,224 +0,0 @@
From c81c512ba7159ad35a41deaf4d294ee4cc399920 Mon Sep 17 00:00:00 2001
From: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue, 22 Nov 2022 17:56:47 +0100
Subject: [PATCH] Alcor Micro AU9560: Remove high speeds
The reader does NOT support high speeds even if it declares so.
We remove all baud rates higher than 200000.
00000026 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 1807 bps
00000005 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 1989 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 2409 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 2487 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 3315 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 3613 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 3978 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 4818 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 4973 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 6631 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 7227 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 7957 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 9635 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 9946 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 13262 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 14453 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 15914 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 19271 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 19892 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 21680 bps
00000007 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 23871 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 26523 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 28906 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 29839 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 31828 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 36133 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 38542 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 39785 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 43359 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 48177 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 49731 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 53047 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 57813 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 59677 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 63656 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 66308 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 72266 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 77083 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 79570 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 86719 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 96354 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 99462 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 106093 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 115625 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 119355 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 132616 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 144531 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 154167 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 159140 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 198925 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 212186 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 231250 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 318280 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 2344 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 2581 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 3125 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 3226 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 4301 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 4688 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 5161 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 5859 bps
00000007 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 6250 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 6452 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 7813 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 8065 bps
00000009 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 8602 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 9375 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 10323 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 10753 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 11719 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 12500 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 12903 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 15625 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 16129 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 17204 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 18750 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 20645 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 21505 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 23438 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 25000 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 25806 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 28125 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 30968 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 31250 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 32258 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 34409 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 37500 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 38710 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 41290 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 43011 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 46875 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 50000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 51613 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 56250 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 62500 bps
00000005 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 64516 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 68817 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 70313 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 75000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 77419 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 82581 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 86022 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 93750 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 96774 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 100000 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 103226 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 112500 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 117188 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 125000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 127312 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 129032 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 137634 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 150000 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 156250 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 161290 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 165161 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 172043 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 187500 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 200000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 206452 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 215054 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 250000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 258065 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 275269 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 300000 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 308333 bps
00000005 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 344086 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 375000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 400000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 412903 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 424373 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 462500 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 500000 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 516129 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 550538 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 600000 bps
00000003 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 636559 bps
00000002 [140214768158720] ccid_usb.c:1412:get_data_rates() declared: 688172 bps
00001534 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 212186
00000015 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 231250
00000004 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 318280
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 206452
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 215054
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 250000
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 258065
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 275269
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 300000
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 308333
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 344086
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 375000
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 400000
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 412903
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 424373
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 462500
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 500000
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 516129
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 550538
00000005 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 600000
00000003 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 636559
00000002 [140214768158720] ccid.c:117:ccid_open_hack_pre() Remove baudrate: 688172
Cards with TA1=0x96 or 0x97 are now working with this reader after
negotiating a lower speed.
---
src/ccid.c | 24 ++++++++++++++++++++++++
src/ccid.h | 1 +
2 files changed, 25 insertions(+)
diff --git a/src/ccid.c b/src/ccid.c
index 8cc5832..e1711db 100644
--- a/src/ccid.c
+++ b/src/ccid.c
@@ -110,6 +110,30 @@ int ccid_open_hack_pre(unsigned int reader_index)
/* The SCM SCL011 reader needs 350 ms to answer */
ccid_descriptor->readTimeout = DEFAULT_COM_READ_TIMEOUT * 4;
break;
+
+ case ALCORMICRO_AU9540:
+ unsigned int *uint_array = ccid_descriptor->arrayOfSupportedDataRates;
+ unsigned int max_speed = 200000;
+ unsigned int *after, current_speed;
+
+ /* keep in the list only the baud rates lower than max_speed */
+ after = uint_array;
+ while ((current_speed = *uint_array++) != 0)
+ {
+ if (current_speed > max_speed)
+ {
+ DEBUG_INFO2("Remove baudrate: %d", current_speed);
+ continue;
+ }
+
+ *after++ = current_speed;
+ }
+ /* terminate the (new) list */
+ *after = 0;
+
+ /* update the max data rate with the new value */
+ ccid_descriptor->dwMaxDataRate = max_speed;
+ break;
}
/* CCID */
diff --git a/src/ccid.h b/src/ccid.h
index 0b2bb09..aadc0a8 100644
--- a/src/ccid.h
+++ b/src/ccid.h
@@ -244,6 +244,7 @@ typedef struct
#define IDENTIV_uTrust4701F 0x04E65724
#define BIT4ID_MINILECTOR 0x25DD3111
#define SAFENET_ETOKEN_5100 0x05290620
+#define ALCORMICRO_AU9540 0x058f9540
#define VENDOR_GEMALTO 0x08E6
#define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)

View File

@ -123,11 +123,11 @@ diff -up ccid-1.4.26/src/commands.c.omnikey ccid-1.4.26/src/commands.c
*rx_length = length;
else
@@ -1581,7 +1630,7 @@ time_request:
return_value = IFD_COMMUNICATION_ERROR;
}
else
if (length)
- memcpy(rx_buffer, cmd+10, length);
+ memcpy(rx_buffer, rx_ptr, length);
- memcpy(rx_buffer, cmd+10, length);
+ memcpy(rx_buffer, rx_ptr, length);
/* Extended case?
* Only valid for RDR_to_PC_DataBlock frames */

View File

@ -0,0 +1,269 @@
diff -up ./readers/supported_readers.txt.ccid-1-4-32 ./readers/supported_readers.txt
--- ./readers/supported_readers.txt.ccid-1-4-32 2020-06-11 14:20:29.227303776 -0700
+++ ./readers/supported_readers.txt 2020-06-11 14:48:09.968252737 -0700
@@ -125,19 +125,29 @@
0x0DB5:0x0138:Access IS ePassport Reader
0x0DB5:0x0160:Access IS NFC Smart Module
0x0DB5:0x0164:Access IS NFC Smart Module
+0x0DB5:0x0170:Access IS ATR210
+0x0DB5:0x0180:Access IS ATR220
# ACS
0x072F:0x1204:ACS ACR101 ICC Reader
0x072F:0x221A:ACS ACR1251 Dual Reader
0x072F:0x223B:ACS ACR1252 Dual Reader
+0x072F:0x223E:ACS ACR1252 Reader
0x072F:0x223F:ACS ACR1255U-J1
0x072F:0x8201:ACS APG8201 PINhandy 1
0x072F:0x8202:ACS APG8201 USB Reader
+0x072F:0x8300:ACS ACR33 ICC Reader
0x072F:0x90DB:ACS CryptoMate64
0x072F:0xB000:ACS ACR3901U ICC Reader
0x072F:0xB100:ACS ACR39U ICC Reader
0x072F:0xB106:ACS CryptoMate (T2)
+# AF Care
+0x1C34:0xAFC0:AF Care One
+0x1C34:0xAFC1:AF Care One
+0x1C34:0xAFC2:AF Care Two
+0x1C34:0xAFC3:AF Care Two
+
# AK910
0x2021:0x0001:AK910 CKey
0x2021:0x0011:AK910 CKey
@@ -161,9 +171,13 @@
0x24DC:0x0201:Aladdin R.D. JCR-770
0x24DC:0x0401:Aladdin R.D. JC-WebPass (JC600)
0x24DC:0x0402:Aladdin R.D. JaCarta
+0x24DC:0x0428:Aladdin R.D. JaCartaReader
0x24DC:0x0501:Aladdin R.D. JaCarta U2F (JC602)
0x24DC:0x100F:Aladdin R.D. JaCarta Flash
+# Alcor Link
+0x2CE3:0x9563:Alcor Link AK9563
+
# Alcor Micro
0x058F:0x9522:Alcor Micro AU9522
@@ -192,9 +206,13 @@
0x03EB:0x6012:ATMEL VaultIC420 Smart Object
0x03EB:0x6014:ATMEL VaultIC440
+# AvestUA
+0xC1A6:0x0131:AvestUA AvestKey
+
# Avtor
0x15CF:0x0019:Avtor SecureToken
0x15CF:0x001D:Avtor SC Reader 371
+0x15CF:0x0020:Avtor SecureToken
# Axalto
0x04E6:0x511C:Axalto Reflex USB v3
@@ -203,6 +221,7 @@
0x23A0:0x0001:BIFIT USB-Token iBank2key
0x23A0:0x0002:BIFIT iBank2Key
0x23A0:0x0003:BIFIT iToken
+0x23A0:0x0008:BIFIT ANGARA
# Bit4id
0x25DD:0x1101:Bit4id miniLector-s
@@ -213,7 +232,10 @@
0x25DD:0x2351:Bit4id Digital DNA Key
0x25DD:0x2361:Bit4id Digital-DNA Key BT
0x25DD:0x2362:Bit4id Digital-DNA Key
+0x25DD:0x2371:Bit4id TokenME EVO v2
0x25DD:0x3111:Bit4id miniLector
+0x25DD:0x3211:Bit4id miniLector AIR EVO
+0x25DD:0xB001:Bit4id miniLector Blue
# Bluink Ltd.
0x2ABE:0x1003:Bluink Ltd. Bluink CCID
@@ -227,6 +249,10 @@
0x0A5C:0x5832:Broadcom Corp 5880
0x0A5C:0x5833:Broadcom Corp 5880
0x0A5C:0x5834:Broadcom Corp 5880
+0x0A5C:0x5842:Broadcom Corp 58200
+0x0A5C:0x5843:Broadcom Corp 58200
+0x0A5C:0x5844:Broadcom Corp 58200
+0x0A5C:0x5845:Broadcom Corp 58200
# C3PO
0x0783:0x0007:C3PO TLTC2USB
@@ -240,6 +266,10 @@
# CCB
0x8829:0xCCB2:CCB eSafeLD
+# Certgate GmbH
+0x2DFF:0xB601:Certgate GmbH AirID 2 USB
+0x2DFF:0xB602:Certgate GmbH ONEKEY ID 2 USB
+
# charismathics
0x19E7:0x0002:charismathics plug'n'crypt CCID token
@@ -257,6 +287,7 @@
0x046A:0x005B:Cherry GmbH SmartBoard XX1X
0x046A:0x0070:Cherry GmbH SmartTerminal XX1X
0x046A:0x0072:Cherry GmbH SmartTerminal ST-1275
+0x046A:0x01A2:Cherry GmbH CHERRY SECURE BOARD 1.0
# Chicony
0x04F2:0x0967:Chicony USB Smart Card Keyboard
@@ -268,6 +299,15 @@
0x0982:0x0008:COVADIS VEGA-ALPHA
0x0982:0x0040:COVADIS Auriga
+# DC.Ltd
+0x257B:0xC305:DC.Ltd DC4 5CCID READER
+
+# Doctolib
+0x1C34:0xAFD0:Doctolib SR
+0x1C34:0xAFD1:Doctolib SR
+0x1C34:0xAFD2:Doctolib SR
+0x1C34:0xAFD3:Doctolib SR
+
# DUALi
0x1DB2:0x0801:DUALi DE-620 Combi
0x1DB2:0x088B:DUALi DRAGON NFC READER
@@ -282,6 +322,9 @@
# ESMART
0x2CE4:0x7479:ESMART Token GOST
+# F-Secure Foundry
+0x1209:0x2702:F-Secure Foundry USB Armory Mk II
+
# FEITIAN
0x096E:0x0619:FEITIAN iR301
0x096E:0x061A:FEITIAN bR301
@@ -326,6 +369,7 @@
0x08E6:0x3440:GEMALTO CT1100
# Gemalto
+0x0898:0x0101:Gemalto RF CR5400
0x08E6:0x2202:Gemalto Gem e-Seal Pro USB Token
0x08E6:0x34C1:Gemalto Ezio Shield Secure Channel
0x08E6:0x34C2:Gemalto Ezio Shield
@@ -345,6 +389,10 @@
# Generic USB
0x076B:0x3A21:Generic USB Smart Card Reader
+# Genesys Logic
+0x05E3:0x0757:Genesys Logic CCID Card Reader
+0x05E3:0x0758:Genesys Logic Combo Card Reader
+
# German Privacy Foundation
0x20A0:0x4107:German Privacy Foundation Crypto Stick v1.2
@@ -371,6 +419,10 @@
# HID
# HID Global
+0x09C3:0x0028:HID Global Crescendo Key
+0x09C3:0x0029:HID Global Crescendo Key
+0x09C3:0x002B:HID Global Crescendo Key
+0x09C3:0x002D:HID Global Crescendo Key
0x076B:0x3031:HID Global OMNIKEY 3x21 Smart Card Reader
0x076B:0x5022:HID Global OMNIKEY 5022 Smart Card Reader
0x076B:0x5023:HID Global OMNIKEY 5023 Smart Card Reader
@@ -409,6 +461,7 @@
0x04E6:0x581A:Identiv uTrust 3522 embd SE RFID Token
0x04E6:0x581B:Identiv uTrust 2910 R Taglio SC Reader
0x04E6:0x581C:Identiv SCR35xx USB Smart Card Reader
+0x04E6:0x581D:Identiv SCR3500 C Contact Reader
# Identive
0x04E6:0x5710:Identive CLOUD 2700 F Smart Card Reader
@@ -428,8 +481,12 @@
0x03EB:0x9308:IIT E.Key Crystal-1
0x03EB:0x9324:IIT E.Key Almaz-1C
+# InfoCert
+0x2FD2:0x0100:InfoCert WirelessKey
+
# InfoThink
0x1FC9:0x0102:InfoThink IT-102MU Reader
+0x1403:0x7506:InfoThink IT-500U Reader
# Inside Secure
0x2406:0x6300:Inside Secure VaultIC 420 Smart Object
@@ -475,6 +532,7 @@
# Ledger
0x2C97:0x0001:Ledger Nano S
+0x2C97:0x0004:Ledger Nano X
# Lenovo
0x17EF:0x6007:Lenovo Lenovo USB Smartcard Keyboard
@@ -526,6 +584,7 @@
# NXP
0x1FC9:0x0107:NXP Pegoda 2 N
0x1FC9:0x010B:NXP PR533
+0x1FC9:0x0117:NXP PN7462AU CCID
# OBERTHUR TECHNOLOGIES
0x1A74:0xB111:OBERTHUR TECHNOLOGIES ID-ONE TOKEN SLIM v2
@@ -563,6 +622,9 @@
# Planeta
0x21AB:0x0010:Planeta RC700-NFC CCID
+# Purism, SPC
+0x316D:0x4C4B:Purism, SPC Librem Key
+
# Raritan
0x14DD:0x1006:Raritan D2CIM-DVUSB VM/CCID
@@ -579,6 +641,9 @@
# Rocketek
0x14CD:0x8166:Rocketek RT-SCR1
+# Route1
+0x13FE:0xC831:Route1 MobiKEY Fusion3
+
# SafeNet
0x0529:0x0602:SafeNet eToken 7300
0x0529:0x0620:SafeNet eToken 5100
@@ -618,7 +683,21 @@
# Softforum Co., Ltd
0x04E8:0x0007:Softforum Co., Ltd XecureHSM
+# SPECINFOSYSTEMS
+0x316E:0x0001:SPECINFOSYSTEMS DIAMOND token
+0x316E:0x0002:SPECINFOSYSTEMS DIAMOND PRO token
+0x316E:0x0003:SPECINFOSYSTEMS DIAMOND PLUS token
+0x316E:0x0010:SPECINFOSYSTEMS DIAMOND HSM
+
# SpringCard
+0x1C34:0x6012:SpringCard SpringCore
+0x1C34:0x601A:SpringCard SpringCore
+0x1C34:0x6112:SpringCard E518
+0x1C34:0x611A:SpringCard E518
+0x1C34:0x6122:SpringCard H518
+0x1C34:0x612A:SpringCard H518
+0x1C34:0x6132:SpringCard Puck
+0x1C34:0x613A:SpringCard Puck
0x1C34:0x7113:SpringCard CrazyWriter
0x1C34:0x7121:SpringCard CSB6 Basic
0x1C34:0x7123:SpringCard CSB6 Secure
@@ -633,11 +712,15 @@
# Spyrus Inc
0x08DF:0x0004:Spyrus Inc Rosetta USB
0x08DF:0x3115:Spyrus Inc WorkSafe Pro
+0x08DF:0x3117:Spyrus Inc WorkSafe Pro
0x08DF:0x3201:Spyrus Inc PocketVault P-3X
# SYNNIX
0x1206:0x2105:SYNNIX STD200
+# Sysking
+0x0E6A:0x5083:Sysking MII136C
+
# Teridian Semiconductors
0x1862:0x0000:Teridian Semiconductors TSC12xxFV.09
@@ -858,6 +941,7 @@
#0x076B:0xA022:XIRING Teo (Teo.txt)
#0x08E6:0x3437:Gemalto PC Twin Reader (GemPCTwin.txt)
+#0x08E6:0x3437:Gemalto PC Twin Reader (serial) (GemPCTwinSerial.txt)
#0x08E6:0x3437:Gemalto IDBridge CT30 (Gemalto_IDBridge_CT30.txt)
#0x08E6:0x3437:Gemalto K50 (Gemalto_K50.txt)

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE9eEbn/6REUb0HZU9eKG03+j5xX4FAlqNMrsACgkQeKG03+j5
xX40SQ//aKOwy7IlntVNrLhD0udAjPHXJZuKjAg7PSxnNxUXhFl8m9RXbF/NHvHF
lIDda6iq7fBaXLwOwSSOMRTQyQoMsRT6eBcjeJnhBzT06DwTcgajvQyOBBEJOJDh
5kjsPBSOb0w92C+VxArpZO78Mz5Ifo0P+2p8Xy2l8/QcrYG2yJEHfNI1kq37BSBI
nZJCMMknQrkADi88cyArwUT6+Pf6HUKssyw1ug7JR3qDmBc7NaUHVfHi8zPBsOnh
Ln27RAZZMiG0ikDpze06y++vIgifDVn2vuUGE2OJFXnst6R3yarFQ0AM2d7+x7a7
BWPgFVFuPbxDOBHeqDQsU/CzM6TmhXz9vB7fwBpObfiqJ5WIEwE0vo5Ym/wroIEc
7u2cFXhJMhywaepv3ZuPgDgg5NH0uF+2MQgRADDbczNFLUv7RoizdL0VEKlrBhba
ogpVE9/+Yci4MeArrFLu4XCH1VJSorBoagZgD9Ur+oNEfC4p9LQQpABZUPUmU2IC
frkScS2R5TLSNtalgCtytOYvdOrwtm3m5+LArBwBixS7jlFVnSU3z05Guujajrth
Bfzca9n7Bv51XtbkI9NRFObFLuYWTBPXTkjof7NnD5W+N8wvsBXxa5KJ8qxgeNEV
TMWNmTocmJN3EM/dzoaT8pR327OD8lRL0d2f8N1MFefChO2pPDE=
=pLJ7
-----END PGP SIGNATURE-----

View File

@ -1,94 +0,0 @@
From b48e1e697010431b7f03d4ecfe917ceee95e2c64 Mon Sep 17 00:00:00 2001
From: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue, 7 Sep 2021 14:06:46 +0200
Subject: [PATCH] Fix SafeNet eToken 5110 SC issue
Some SafeNet eToken 5100 (but not all) have issues when IFSD is negotiated.
For some APDU the communication stops and the token returns 0 bytes.
It is the case with the SafeNet eToken 5110 SC with
ATR: 3B D5 18 00 81 31 3A 7D 80 73 C8 21 10 30
and PC/SC name "SafeNet eToken 5100 [eToken 5110 SC]"
Another SafeNet eToken 5100 with
ATR: 3B D5 18 00 81 31 FE 7D 80 73 C8 21 10 F4
and PC/SC name "SafeNet eToken 5100 [Main Interface]"
does NOT have problems with the the IFSD negotiation.
This fixes Debian bug #993647
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993647
---
src/ccid.c | 7 +++++++
src/ccid.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/src/ccid.c b/src/ccid.c
index efef240..0d7ba54 100644
--- a/src/ccid.c
+++ b/src/ccid.c
@@ -576,6 +576,13 @@ int ccid_open_hack_post(unsigned int reader_index)
* have one */
ccid_descriptor->bPINSupport = 0;
break;
+
+ case SAFENET_ETOKEN_5100:
+ /* the old SafeNet eToken 5110 SC (firmware 0.12) does not
+ * like IFSD negotiation. So disable it. */
+ if (0x0012 == ccid_descriptor->IFD_bcdDevice)
+ ccid_descriptor->dwFeatures |= CCID_CLASS_AUTO_IFSD;
+ break;
}
/* Gemalto readers may report additional information */
diff --git a/src/ccid.h b/src/ccid.h
index b28f0c1..00ce07a 100644
--- a/src/ccid.h
+++ b/src/ccid.h
@@ -239,6 +239,7 @@ typedef struct
#define IDENTIV_uTrust3701F 0x04E65791
#define IDENTIV_uTrust4701F 0x04E65724
#define BIT4ID_MINILECTOR 0x25DD3111
+#define SAFENET_ETOKEN_5100 0x05290620
#define VENDOR_GEMALTO 0x08E6
#define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)
--
GitLab
From 26ad96076523472e9d0d383d014e7b1ad241fd5b Mon Sep 17 00:00:00 2001
From: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Wed, 8 Sep 2021 11:28:48 +0200
Subject: [PATCH] Fix SafeNet eToken 5110 SC issue (firmware 0.13)
The SafeNet eToken 5110 SC with firmware 0.13 has the same problem as
the token with firmware 0.12.
We use the same oslution to fix the problem.
Thanks again to Vladimir K for the bug report.
---
src/ccid.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/ccid.c b/src/ccid.c
index 0d7ba54..21a2fe8 100644
--- a/src/ccid.c
+++ b/src/ccid.c
@@ -578,9 +578,10 @@ int ccid_open_hack_post(unsigned int reader_index)
break;
case SAFENET_ETOKEN_5100:
- /* the old SafeNet eToken 5110 SC (firmware 0.12) does not
- * like IFSD negotiation. So disable it. */
- if (0x0012 == ccid_descriptor->IFD_bcdDevice)
+ /* the old SafeNet eToken 5110 SC (firmware 0.12 & 0.13)
+ * does not like IFSD negotiation. So disable it. */
+ if ((0x0012 == ccid_descriptor->IFD_bcdDevice)
+ || (0x0013 == ccid_descriptor->IFD_bcdDevice))
ccid_descriptor->dwFeatures |= CCID_CLASS_AUTO_IFSD;
break;
}
--
GitLab

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE9eEbn/6REUb0HZU9eKG03+j5xX4FAmEsohYACgkQeKG03+j5
xX6Afg//QeixE9OO5UXuFptk+ZFDJz3dKzd1YLQ/korWVrdC9QouHJDHdLHqUW/a
ls0aPUg2qupj2uwwidYy58EHXGtDd6BZ27Xu7d1pIJcGm8f6+obWw8RJZmzotvDI
eG+VKtpqXcj4ShCjnDu32QcMZ6XSadeuEzw+Ir8aBHazzb7xcKo1VGsYQ8i1KxPx
8YDUJ8pme43TOyCoOmrrDVlXb96g13fQ6KAyatDwmiGy2uSkXSQXMKNJ3mkEIipe
pzDt7epo3dvXTImhIuDGn+rbnSUEKFcjmlB7LSo7vV8iLfmt490b3RWxuUI0UVh9
FBCuNxUTy58yB9QS8gcqN5ljHC9877H2ACQo/i8AEB1VIP7lahLMS0+9Fn/WWMGo
gBIijeYVTCJ3VeYbnuFNBWLrGfIXQL/lmEzvs2b4DBR1UIOfe32G9xk+hKNBmRrR
Nfs/hZGlL4CMuwHsjQ/ULCh5yuryecaWlzHZyRltZUz9DMJyiWKgGQnbk3/IpvzK
ihiPlp0XRL6ZdrSZnhP8Bydk6g1eHigNzJyzVOZcACIKWKiY+5phhTfsj1L8Z8Rs
T5a6AFrOwFZFJmFAXYYv8WyXGmPVvLfZbbIes/FNJEfXSUrld7wX8qrmK6+NmkPD
hs4GOuLlVygt160edufJCl0ZIeo+9DSqUaKyuuF05u4Ay40KoYc=
=Jttr
-----END PGP SIGNATURE-----

View File

@ -1,24 +1,22 @@
%global dropdir %(pkg-config libpcsclite --variable usbdropdir 2>/dev/null)
%global pcsc_lite_ver 1.8.9
%global upstream_build 4238
Name: pcsc-lite-ccid
Version: 1.4.36
Release: 2%{?dist}.alma
Version: 1.4.29
Release: 5.1%{?dist}
Summary: Generic USB CCID smart card reader driver
Group: System Environment/Libraries
License: LGPLv2+
URL: https://ccid.apdu.fr/files
Source0: https://ccid.apdu.fr/files/ccid-%{version}.tar.bz2
Source1: https://ccid.apdu.fr/files/ccid-%{version}.tar.bz2.asc
Source2: gpgkey-F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E.gpg
Patch0: ccid-1.4.26-omnikey-3121.patch
Patch1: ccid-1.4.34-maxreaders.patch
Patch2: ccid-1.4.36-etoken.patch
# Patch was taken from and modify for 1.4.36
# https://salsa.debian.org/rousseau/CCID/-/commit/c81c512ba7159ad35a41deaf4d294ee4cc399920
Patch1001: 0001-Alcor-Micro-AU9560-Remove-high-speeds.patch
URL: http://pcsclite.alioth.debian.org/ccid.html
Source0: https://alioth.debian.org/frs/download.php/file/%{upstream_build}/ccid-%{version}.tar.bz2
Source1: ccid-%{version}.tar.bz2.asc
Source2: gpgkey-F5E11B9FFE911146F41D953D78A1B4DFE8F9C57E.gpg
Patch0: ccid-1.4.26-omnikey-3121.patch
Patch1: ccid-1.4.29-maxreaders.patch
Patch2: ccid-1.4.29-add-ccid-1.4.32-readers.patch
BuildRequires: make
BuildRequires: perl-interpreter
BuildRequires: perl-Getopt-Long
BuildRequires: libusb1-devel
@ -31,8 +29,6 @@ Provides: pcsc-ifd-handler
# Provide upgrade path from 'ccid' package
Obsoletes: ccid < 1.4.0-3
Provides: ccid = %{version}-%{release}
# This is bundled from pcsc-lite upstream
Provides: bundled(simclist) = 1.6
%description
Generic USB CCID (Chip/Smart Card Interface Devices) driver for use with the
@ -44,16 +40,15 @@ gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%setup -q -n ccid-%{version}
%patch0 -p1 -b .omnikey
%patch1 -p0 -b .maxreaders
%patch2 -p1 -b .etoken
%patch1001 -p1 -b .alcor-micro
%patch2 -p1 -b .ccid-1-4-32
%build
%configure --enable-twinserial
%make_build
make %{?_smp_mflags}
%install
%make_install
make install DESTDIR=$RPM_BUILD_ROOT
cp -p src/openct/LICENSE LICENSE.openct
@ -65,65 +60,30 @@ cp -p src/openct/LICENSE LICENSE.openct
%files
%doc AUTHORS ChangeLog README.md
%license COPYING LICENSE.openct
%doc AUTHORS ChangeLog COPYING LICENSE.openct README
%{dropdir}/ifd-ccid.bundle/
%{dropdir}/serial/
%config(noreplace) %{_sysconfdir}/reader.conf.d/libccidtwin
%changelog
* Thu Aug 03 2023 Eduard Abdullin <eabdullin@almalinux.org> - 1.4.36-2.alma
- Apply 0001-Alcor-Micro-AU9560-Remove-high-speeds.patch
* Thu Jun 17 2021 Bob Relyea <rrelyea@redhat.com> - 1.4.29-5.1
- rebuild to retrigger CI
* Thu Nov 18 2021 Jakub Jelen <jjelen@redhat.com> - 1.4.36-1
- Rebase to current version from Fedora (#2017830)
* Thu Jun 17 2021 Bob Relyea <rrelyea@redhat.com> - 1.4.29-5
- Increase readers from 32 to 48.
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.34-5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jun 11 2020 Bob Relyea <rrelyea@redhat.com> - 1.4.29-4
- update the reader list from new readers added to upstream ccid 1.4.32
* Fri Jun 25 2021 Jakub Jelen <jjelen@redhat.com> - 1.4.34-4
- Increase the maximum readers count (#1975424)
* Fri Sep 7 2018 Bob Relyea <rrelyea@redhat.com> - 1.4.29-3.1
- Test gating
* Fri Apr 21 2021 Bob Relyea <rrelyea@redhat.com> - 1.4.34-3
- fix %{?dist} tag in Release: line (was missing the ?)
* Fri Sep 7 2018 Bob Relyea <rrelyea@redhat.com> - 1.4.29-3
- fix broken dist variable in spec file.
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.34-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Fri Feb 05 2021 Jakub Jelen <jjelen@redhat.com> - 1.4.34-1
- New upstream release
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.33-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.33-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jun 25 2020 Jakub Jelen <jjelen@redhat.com> - 1.4.33-1
- New upstream release (#1851217)
* Wed Apr 22 2020 Jakub Jelen <jjelen@redhat.com> - 1.4.32-1
- New upstream release (#1826675)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.31-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Aug 19 2019 Jakub Jelen <jjelen@redhat.com> - 1.4.31-1
- New upstream release (#1742657)
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.30-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.30-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 20 2018 Jakub Jelen <jjelen@redhat.com> - 1.4.30-1
- New upstream release (#1651350)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.29-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Aug 24 2018 Bob Relyea <rrelyea@redhat.com> - 1.4.29-2
- Increase readers from 16 to 32.
* Wed Feb 21 2018 Jakub Jelen <jjelen@redhat.com> - 1.4.29-1
- New upstream release (#1547482)