[Pcsclite-git-commit] [CCID] 01/01: Fix non-pinpad HID global devices

Ludovic Rousseau rousseau at moszumanska.debian.org
Mon Aug 21 18:10:27 UTC 2017


This is an automated email from the git hooks/post-receive script.

rousseau pushed a commit to branch master
in repository CCID.

commit 3b29cc5afbbe27bb5421d334623bbd07c574bbf8
Author: Ludovic Rousseau <ludovic.rousseau at free.fr>
Date:   Sat Aug 19 23:20:09 2017 +0200

    Fix non-pinpad HID global devices
    
    The HID Aviator is not the only reader that declares pinpad support in
    the USB descriptor but that has no physical keyboard to enter a PIN.
    The USB descriptor is bogus.
    
    The readers also support Extended APDU even if they declare Short APDU.
    
    Bogus readers are:
    - OMNIKEY Generic
    - OMNIKEY 3121 or 3021 or 1021
    - OMNIKEY 6121
    - Cherry Smart Terminal xx44
    - Fujitsu Smartcard Reader D323
    
    Thanks to hidglobal.com for the patch.
---
 src/ccid.c | 7 ++++++-
 src/ccid.h | 4 ++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/ccid.c b/src/ccid.c
index d71ed11..5279fbb 100644
--- a/src/ccid.c
+++ b/src/ccid.c
@@ -486,7 +486,12 @@ int ccid_open_hack_post(unsigned int reader_index)
 			 */
 			ccid_descriptor->bPINSupport = 0;
 			break;
-		case HID_AVIATOR:
+
+		case HID_AVIATOR:      /* OMNIKEY Generic */
+		case HID_OMNIKEY_3X21: /* OMNIKEY 3121 or 3021 or 1021 */
+		case HID_OMNIKEY_6121: /* OMNIKEY 6121 */
+		case CHERRY_XX44:      /* Cherry Smart Terminal xx44 */
+		case FUJITSU_D323:     /* Fujitsu Smartcard Reader D323 */
 			/* The chip advertises pinpad but actually doesn't have one */
 			ccid_descriptor->bPINSupport = 0;
 			/* Firmware uses chaining */
diff --git a/src/ccid.h b/src/ccid.h
index ca0c2a1..eed0eca 100644
--- a/src/ccid.h
+++ b/src/ccid.h
@@ -223,6 +223,10 @@ typedef struct
 #define SCM_SCL011 0x04E65293
 #define HID_AVIATOR	0x076B3A21
 #define HID_OMNIKEY_5422 0x076B5422
+#define HID_OMNIKEY_3X21 0x076B3031 /* OMNIKEY 3121 or 3021 or 1021 */
+#define HID_OMNIKEY_6121 0x076B6632 /* OMNIKEY 6121 */
+#define CHERRY_XX44	0x046A00A7 /* Cherry Smart Terminal xx44 */
+#define FUJITSU_D323 0x0BF81024 /* Fujitsu Smartcard Reader D323 */
 
 #define VENDOR_GEMALTO 0x08E6
 #define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pcsclite/CCID.git



More information about the Pcsclite-cvs-commit mailing list