Hello community,

here is the log from the commit of package pcsc-ccid for openSUSE:Factory 
checked in at 2017-05-22 18:08:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pcsc-ccid (Old)
 and      /work/SRC/openSUSE:Factory/.pcsc-ccid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pcsc-ccid"

Mon May 22 18:08:32 2017 rev:51 rq:497143 version:1.4.27

Changes:
--------
--- /work/SRC/openSUSE:Factory/pcsc-ccid/pcsc-ccid.changes      2017-01-09 
11:01:53.579422695 +0100
+++ /work/SRC/openSUSE:Factory/.pcsc-ccid.new/pcsc-ccid.changes 2017-05-22 
18:08:34.876731970 +0200
@@ -1,0 +2,31 @@
+Mon May 22 05:55:58 UTC 2017 - [email protected]
+
+- Updated to version 1.4.27
+  * Add support of
+    ACS ACR1255U-J1
+    ACS CryptoMate (T2)
+    ANCUD CCID USB Reader & RNG
+    DUALi DE-620 Combi
+    FT CCID
+    FT CCID KB
+    FT U2F CCID KB
+    FT U2F CCID KBOARD
+    HID Global OMNIKEY 5422 Smartcard Reader
+    InfoThink IT-102MU Reader
+    Kapsch TrafficCom USB SAM reader
+    MK Technology KeyPass S1
+    Mulann PVT
+    Regula RFID Reader
+    Spyrus Inc PocketVault P-3X
+    Unicept GmbH AirID USB
+  * Add Microchip SEC1210 UART support (when connected on a serial port)
+  * Add Zero Length Packet (ZLP) support for Gemalto IDBridge CT30 and K30
+    enable the patch using ./configure --enable-zlp
+  * Add support of HID Omnikey 5422 as multi slot reader (for macOS)
+  * Escape command: signals buffer overflow instead of silently
+    truncating the buffer
+  * Fix a bug with multi readers and pcscd uses hotplug_libusb
+    (not the recommended configuration)
+  * Some minor improvements
+
+-------------------------------------------------------------------

Old:
----
  ccid-1.4.26.tar.bz2
  ccid-1.4.26.tar.bz2.asc

New:
----
  ccid-1.4.27.tar.bz2
  ccid-1.4.27.tar.bz2.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pcsc-ccid.spec ++++++
--- /var/tmp/diff_new_pack.AODyFl/_old  2017-05-22 18:08:35.488645717 +0200
+++ /var/tmp/diff_new_pack.AODyFl/_new  2017-05-22 18:08:35.500644026 +0200
@@ -24,7 +24,7 @@
 
 Name:           pcsc-ccid
 %define _name ccid
-Version:        1.4.26
+Version:        1.4.27
 Release:        0
 Summary:        PCSC Driver for CCID Based Smart Card Readers and GemPC Twin 
Serial Reader
 License:        LGPL-2.1+
@@ -74,6 +74,7 @@
 #./bootstrap
 %configure\
        --enable-twinserial \
+       --enable-zlp \
        --enable-serialconfdir=%{_sysconfdir}/reader.conf.d/
 make %{?_smp_mflags}
 

++++++ ccid-1.4.26.tar.bz2 -> ccid-1.4.27.tar.bz2 ++++++
++++ 1618 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/ChangeLog new/ccid-1.4.27/ChangeLog
--- old/ccid-1.4.26/ChangeLog   2016-09-30 10:38:47.000000000 +0200
+++ new/ccid-1.4.27/ChangeLog   2017-05-21 14:45:51.000000000 +0200
@@ -1,4 +1,812 @@
-commit 3da71e26b368b39814618a83c2fc64e492941dc4 (HEAD -> master, tag: 
ccid-1.4.25, origin/master, origin/HEAD)
+commit a7dcbf296492f5056e1ba7abb8388531bb0a6708 (HEAD -> master, tag: 
ccid-1.4.27, origin/master, origin/HEAD, github/master)
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sun May 21 14:41:20 2017 +0200
+
+    Release 1.4.27
+    
+    Signed-off-by: Ludovic Rousseau <[email protected]>
+
+ README       | 29 +++++++++++++++++++++++++++++
+ configure.ac |  2 +-
+ 2 files changed, 30 insertions(+), 1 deletion(-)
+
+commit 647fe54d8b66cabcd8bc13b68ae46fbc4bd05be5
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed May 17 13:26:52 2017 +0200
+
+    ccid_serial: reformat reader detection code
+    
+    The Microchip SEC 1210 does not support the command 0x02 (get firmware
+    version):
+    "03 06 6B 01 00 00 00 00 00 00 00 00 02 6D"
+    returns
+    frame: "83 00 00 00 00 00 00 41 00 00" - "Command not supported."
+    
+    The command 0x06 returns a result, even if I, and Fabio Araujo, don't
+    know what this command does.
+    "03 06 6B 01 00 00 00 00 00 00 00 00 06 69"
+    we received
+    frame: "83 01 00 00 00 00 00 01 00 00 22", "Everything OK."
+
+ src/ccid_serial.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit ec652d249dc81c647bf80d5d3c21665ef00c6d8b
+Author: Fabio Araujo <[email protected]>
+Date:   Mon May 15 09:09:26 2017 -0300
+
+    Add Microchip SEC1210 UART support.
+    
+    The Microchip SEC1210 can be connected on a serial port instead of USB.
+
+ src/ccid.h         |  1 +
+ src/ccid_serial.c  | 23 +++++++++++++++++++++++
+ src/reader.conf.in |  1 +
+ 3 files changed, 25 insertions(+)
+
+commit 582f882bd14b9a35f27348b0b80e571451a626b6
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri May 5 20:03:58 2017 +0200
+
+    Add MK Technology KeyPass S1
+
+ readers/MK_Technology_KeyPass_S1.txt | 72 ++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt        | 13 ++++---
+ 2 files changed, 80 insertions(+), 5 deletions(-)
+
+commit 5eac48f6c7a62b3820b190536d5390efeecb09d4
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Apr 18 18:37:12 2017 +0200
+
+    Add FT U2F CCID KB
+
+ readers/FT_U2F_CCID_KB.txt    | 56 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  1 +
+ 2 files changed, 57 insertions(+)
+
+commit f28ad399ec87a57efa06169599a7347f30df8a63
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Apr 18 18:36:04 2017 +0200
+
+    Upgrade FT_U2F_CCID.txt
+    
+    New firmware.
+
+ readers/FT_U2F_CCID.txt       | 8 ++++----
+ readers/supported_readers.txt | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 8f9a773149cf26aedc9beefb0bfabbd3213e4999
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Apr 18 18:34:44 2017 +0200
+
+    Rename FT_U2F_CCID.txt
+
+ readers/{FT_U2F_CCID_KBOARD.txt => FT_U2F_CCID.txt} | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+commit 0db790a5c6c5be9647fded4868e2d8b7bc99728d
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Apr 18 18:26:19 2017 +0200
+
+    Add FT CCID
+
+ readers/FT_CCID.txt           | 56 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  1 +
+ 2 files changed, 57 insertions(+)
+
+commit e7a7784cb17527458a2bc96fa16129097b1bb7fa
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Apr 18 18:24:50 2017 +0200
+
+    Add FT CCID KB
+
+ readers/FT_CCID_KB.txt        | 56 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  3 ++-
+ 2 files changed, 58 insertions(+), 1 deletion(-)
+
+commit af00591a4a3c437045cc9923f6477e6f2e467bf4
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Apr 5 18:33:05 2017 +0200
+
+    configure.ac: fix error message for SCardEstablishContext
+    
+    Do not specify a version any more. pcsc-lite 1.2.9-beta9 was released in
+    February 2006.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c84acab1a27326edf5e833e94a25e5856e5726c1
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Mar 31 17:39:34 2017 +0200
+
+    Add InfoThink IT-102MU Reader
+
+ readers/InfoThink_IT-102MU_Reader.txt | 310 ++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt         |   5 +-
+ 2 files changed, 314 insertions(+), 1 deletion(-)
+
+commit 59380a8dd99357963b8842548131873d3427d6f9
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Mar 23 15:06:36 2017 +0100
+
+    scardcontrol: fix bmPINBlockString value
+    
+    The sample code uses a (default) maximum PIN size of 8 digits.
+    
+    bmPINBlockString is defined as "Defines the length in bytes of the PIN
+    block to present in the APDU command" so shoudl also be 8.
+    
+    Thanks to Martin Elshuber for the bug report
+    "[#315675] scardcontrol.c - bmPINBlockString - shouldn't it be 8?"
+    
https://alioth.debian.org/tracker/?func=detail&atid=410085&aid=315675&group_id=30105
+
+ examples/scardcontrol.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9f06f630ec4ce8502613fd18cffd28430478e8e1
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Mar 22 20:17:24 2017 +0100
+
+    Add ACS CryptoMate (T2)
+
+ readers/ACS_CryptoMate_(T2).txt | 54 +++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt   |  3 ++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+commit 7e20d8d978d92194e05ab5e6dd51a2d3415f4487
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Mar 21 18:26:51 2017 +0100
+
+    ZLP: enable the patch only if --enable-zlp is used
+    
+    The Zero Length Packet patch has issues with some non-bogus readers. So
+    the patch is _disabled_ by default.
+    
+    If your Gemalto reader suffer from the ZLP problem then recompile the CCID
+    reader with:
+    $ ./configure --enable-zlp
+
+ configure.ac      | 9 +++++++++
+ src/ccid.c        | 2 ++
+ src/ccid.h        | 2 ++
+ src/ccid_serial.c | 2 ++
+ src/ccid_usb.c    | 4 ++++
+ 5 files changed, 19 insertions(+)
+
+commit 0b557087017e27e13356a6455cad1e94b9620a00
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Jan 26 13:29:38 2017 +0100
+
+    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. Only the readers with firmware 2.00 have the problem.
+    
+    The solution is to use a short read before every USB write.
+    This patch uses a timeout of 10 ms instead of 1 ms in the original patch.
+
+ src/ccid.c        | 13 +++++++++++++
+ src/ccid.h        |  5 +++++
+ src/ccid_serial.c |  1 +
+ src/ccid_usb.c    | 11 +++++++++++
+ 4 files changed, 30 insertions(+)
+
+commit 467fe3681306ddcbb2fe131d370bf096e2ebf0e8
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Mar 21 18:12:46 2017 +0100
+
+    Add Kapsch TrafficCom USB SAM reader
+
+ readers/Kapsch_TrafficCom_USB_SAM_reader.txt | 45 ++++++++++++++++++++++++++++
+ readers/supported_readers.txt                |  5 +++-
+ 2 files changed, 49 insertions(+), 1 deletion(-)
+
+commit 7a6f5af88a462ce3734a947734fda8e6b449e2ab
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Mar 17 18:22:33 2017 +0100
+
+    Add ACS ACR1255U-J1
+
+ readers/ACS_ACR1255U-J1.txt   | 48 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  3 ++-
+ 2 files changed, 50 insertions(+), 1 deletion(-)
+
+commit 2866e535d1bf01909b42d53fe8a29e827e5982d4
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Mar 16 21:42:58 2017 +0100
+
+    Add ANCUD CCID USB Reader & RNG
+
+ readers/ANCUD_CCID_USB_Reader_RNG.txt | 52 +++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt         |  5 +++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+commit 120d81d2c4e4ca28889b352476cabf1f0884792a
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Mar 14 20:44:49 2017 +0100
+
+    Add Spyrus Inc PocketVault P-3X
+
+ readers/Spyrus_PocketVault_P-3X.txt | 49 +++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt       |  5 +++-
+ 2 files changed, 53 insertions(+), 1 deletion(-)
+
+commit b59ba6321c9dcafae2cb153ce3c8bee6d31b39f1
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Mar 11 11:57:05 2017 +0100
+
+    Add HID Global OMNIKEY 5422 Smartcard Reader
+
+ readers/HID_OMNIKEY_5422.txt  | 322 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |   3 +-
+ 2 files changed, 324 insertions(+), 1 deletion(-)
+
+commit b3f88d9596c6379f11e52119d931876539e012df
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Mar 10 18:22:33 2017 +0100
+
+    Add support of HID Omnikey 5422 as multi slot
+    
+    The HID Omnikey 5422 device is a composite device with 2 CCID
+    interfaces.
+    This device can be seen as a multi-slot device if
+    USE_COMPOSITE_AS_MULTISLOT is used.
+
+ src/ccid.h       |  1 +
+ src/ccid_usb.c   | 13 ++++++++++++-
+ src/ifdhandler.c |  6 +++++-
+ 3 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 4349e40dd8c2e37a19f2b85b59b98b4ec584695e
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Mar 10 17:58:55 2017 +0100
+
+    OpenUSBByName(): simplify USE_COMPOSITE_AS_MULTISLOT code
+    
+    The code do not hardcode the interface number of the first CCID interface.
+    The first CCID interface found will be used on the first call.
+    
+    The code to reset the interface number for the next reader is then much
+    simpler: set to -1.
+
+ src/ccid_usb.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit b15c8f96ca80005c3da024c031e9607051a9fe1a
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Feb 28 16:46:20 2017 +0100
+
+    CmdEscapeCheck(): signals buffer overflow
+    
+    If the RxBuffer[] buffer is too small to contain the reader response
+    then IFD_ERROR_INSUFFICIENT_BUFFER is returned.
+    
+    Before the patch the returned buffer was silently truncated and
+    IFD_SUCCESS was returned.
+    
+    Thanks to Maximilian Stein for the bug report
+    "[Pcsclite-muscle] libccid IFDHControl() / CmdEscape() might truncate 
reader response"
+    
http://lists.alioth.debian.org/pipermail/pcsclite-muscle/Week-of-Mon-20170213/000816.html
+
+ src/commands.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 8c57dcc5f73009359dcdaa0decba7f703172e9df
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Feb 16 17:14:14 2017 +0100
+
+    OpenUSBByName(): the device bus & addr must match
+    
+    Patch similar to 8b9f6f33b16e808a5769dbc4193e5f107a09a693 but for
+    libusb-1.0 instead of libudev.
+    
+    "In Linux, before this change, if there were multiple card readers of
+    the same model connected, a new Reader could be initialized by opening
+    the wrong USB device."
+    
+    Thanks to Maximilian Stein for the patch
+    "[Pcsclite-muscle] Apply fix "OpenUSBByName(): the device bus & addr
+    must match" (8b9f6f33) for libusb"
+    
https://lists.alioth.debian.org/pipermail/pcsclite-muscle/Week-of-Mon-20170213/000812.html
+
+ src/ccid_usb.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit bf2b3f73c051e15be6bc5563766bb74c7dd66dcc
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Feb 15 16:05:16 2017 +0100
+
+    Makefile.am: do not display udev message in red
+    
+    The src/92_pcscd_ccid.rules file is not mandatory since pcscd is started
+    by systemd (pcsc-lite 1.8.0, November 2011).
+    
+    This udev file is now only used to enable selective suspend.
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d7adceca5bfe2a5bd64163f9fac784ae323bf50a
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Feb 1 09:27:29 2017 +0100
+
+    Add Morpho ypsID Key E in the Disabled list
+    
+    This device is not a real CCID device. You need to patch my CCID driver.
+    Contact Morpho for support.
+
+ readers/Morpho_ypsID_Key_E.txt | 49 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt  |  5 ++++-
+ 2 files changed, 53 insertions(+), 1 deletion(-)
+
+commit 3aff5f95ce6efc8d7f76f4194f4098e1da4638d0
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Jan 28 17:28:25 2017 +0100
+
+    Add FT U2F CCID KBOARD
+
+ readers/FT_U2F_CCID_KBOARD.txt | 56 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt  |  3 ++-
+ 2 files changed, 58 insertions(+), 1 deletion(-)
+
+commit 980e2afbeb2ec2b5daabb1b02dc4c58e6bd2d0cb
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Jan 21 15:42:11 2017 +0100
+
+    Add Regula RFID Reader
+
+ readers/Regula_RFID_Reader.txt | 50 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt  | 13 ++++++-----
+ 2 files changed, 58 insertions(+), 5 deletions(-)
+
+commit cd1e76fa4ff44aa6f4240fa8990e78328b443a05
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Jan 18 18:56:08 2017 +0100
+
+    ccid_usb.c: document CCID composite devices
+    
+    Document how the Gemalto Prox-DU/SU and Feitian R502 devices are
+    architectured. These devices are composite CCID devices (2 or 3 CCID
+    devices in the same USB device) and are simulated as a multi slot reader
+    if USE_COMPOSITE_AS_MULTISLOT is defined (macOS for example).
+
+ src/ccid_usb.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit fef7e851b81897d4e44fb887708daf4ca988de5b
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Jan 18 17:40:48 2017 +0100
+
+    scardcontrol.c: remove extra space at end of line
+
+ examples/scardcontrol.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 627f356e8800144f2661069de92195efcc7f2637
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Jan 17 18:34:21 2017 +0100
+
+    Add Mulann PVT
+
+ readers/Mulann_PVT.txt        | 104 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |   5 +-
+ 2 files changed, 108 insertions(+), 1 deletion(-)
+
+commit e5697f33cc8dfa89d562c8abf859024bfe9e95a8
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Jan 12 17:32:54 2017 +0100
+
+    InterruptRead(): return a valid IFDHandler code
+    
+    If libusb reports an error then return IFD_COMMUNICATION_ERROR instead
+    of the libusb error code.
+    
+    That should not be a problem since pcsc-lite only check for the value
+    IFD_SUCCESS and anything else, including a libusb error code, is an error.
+
+ src/ccid_usb.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 09025bb4044f7992d9ad70483086a8c63d4d54d2
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Jan 11 16:58:55 2017 +0100
+
+    Add Unicept GmbH AirID USB
+
+ readers/Unicept_AirID_USB.txt | 51 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  5 ++++-
+ 2 files changed, 55 insertions(+), 1 deletion(-)
+
+commit 167dfa6b578ab8bebfff076cfbb7336a2a8b7621
+Author: Petr Vaněk <[email protected]>
+Date:   Tue Jan 10 15:00:06 2017 +0100
+
+    README: fix typos
+
+ README | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 52f796f6e6882ae9791d5c578956f0077a8eb848
+Author: Petr Vaněk <[email protected]>
+Date:   Tue Jan 10 15:00:05 2017 +0100
+
+    README: fix links for USB CCID and ICCD documentation
+
+ README | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b5870d85d891fab0445d8b9b1a150de1c44c2b33
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Jan 10 17:55:09 2017 +0100
+
+    OMNIKEY 5321 CLi USB is NOT supported
+    
+    This reader is contactless only and is NOT A CCID DEVICE.
+
+ readers/OMNIKEY_5321_CLi_USB.txt | 172 +++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt    |   5 +-
+ 2 files changed, 176 insertions(+), 1 deletion(-)
+
+commit 569b257d64ccd50c6e6b60a2e74549e07c87d7dd
+Author: Ludovic Rousseau <[email protected]>
+Date:   Mon Jan 9 10:27:36 2017 +0100
+
+    Add DUALi DE-620 Combi
+
+ readers/DUALi_DE-620_Combi.txt | 59 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt  |  3 ++-
+ 2 files changed, 61 insertions(+), 1 deletion(-)
+
+commit a421896644f6439a453fb313a8c3efaa8b7cbcc5
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Jan 7 16:04:17 2017 +0100
+
+    README: remove extra line
+
+ README | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 666a72c342f433fda1b77ff815fdfe728afc3ce7 (tag: ccid-1.4.26)
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Jan 7 15:44:45 2017 +0100
+
+    Release 1.4.26
+
+ README       | 19 +++++++++++++++++--
+ configure.ac |  2 +-
+ 2 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 7f71007a47f77620b2ed50c9298c94fe01b6aaf1
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Jan 6 18:55:20 2017 +0100
+
+    Add appidkey GmbH ID60-USB
+
+ readers/appidkey_ID60-USB.txt | 51 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  1 +
+ 2 files changed, 52 insertions(+)
+
+commit 62756a636c6991d9c9c36f01923823e7230de732
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Jan 6 18:50:55 2017 +0100
+
+    Update appidkey ID100L-USB-SC-Reader firmware
+
+ readers/appidkey_ID100-USB_SC_Reader.txt | 4 ++--
+ readers/supported_readers.txt            | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit e05426c6c426fc46ef18c7bd17cfb7ad74cabd1c
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Jan 4 13:41:34 2017 +0100
+
+    FreeChannel(): release reader_index only after use
+    
+    Call ReleaseReaderIndex() to free the reader_index only after it is no
+    more used.
+    
+    It was not problematic since the complete code block is protected by the
+    ifdh_context_mutex, but this may change.
+
+ src/ifdhandler.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit d1a15209f818b5de139d691841e56613bbca9727
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Jan 4 13:34:41 2017 +0100
+
+    ifdhandler: only GetNewReaderIndex() has to be thread protected
+    
+    Once a new reader_index has been attribuyed the functions are thread
+    safe. Only the call to GetNewReaderIndex() need to be protected.
+    
+    The mutex was introduced in 8c6ed32fa1649a3648eb768d7c692e0e1e67f2ed
+    "add support of thread safe (APDU multiplexing on different readers)" in
+    September 2003 and, at that time, GetNewReaderIndex() was not yet used
+    or implemented.
+
+ src/ifdhandler.c | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+commit eea7b5835a7b91cb26d52bf3b9548afc322e83d9
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Dec 16 10:35:35 2016 +0100
+
+    MacOSX/configure: check for UB only on Mavericks and less
+    
+    On Yosemite (10.10) and later we will provide only a 64-bit driver.
+    So no need to check if a Universal Binary libusb is available.
+    
+    Support of 32-bits computers has been droped with Lion 10.7.
+
+ MacOSX/configure | 30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+commit 3a7f9b26418991ffff10fc61a8c56ddccbc901aa
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Dec 16 10:30:16 2016 +0100
+
+    MacOSX/configure: move definition of MAC_VERSION
+    
+    MAC_VERSION can now be used by the code checking Universal Binary.
+
+ MacOSX/configure | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 2811a89260bbc4dfabd91dc87c2de991257df755
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Dec 16 10:22:21 2016 +0100
+
+    MacOSX/configure: check static libusb will be used
+    
+    If a _dynamic_ version of libusb is present then it will be used by the
+    linker. This is problematic since we want to use the _static_ version of
+    libusb to avoid an external dependency.
+
+ MacOSX/configure | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+commit f66d361b0ad8346c68afb2e6351e7d1e444d561b
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Dec 16 09:37:17 2016 +0100
+
+    MacOSX/configure: remove reference to libusbx
+    
+    libusbx is a dead project and has been replaced by libusb.
+
+ MacOSX/configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2f89a002a05b2576159e035b368feff3e34d5452
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Dec 3 14:56:13 2016 +0100
+
+    Add Bit4id Digital DNA Key
+
+ readers/Bit4id_Digital_DNA_Key.txt | 54 ++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt      |  1 +
+ 2 files changed, 55 insertions(+)
+
+commit 80f7c5300871c91639b3d50cb4b62e73bf7fce75
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Dec 3 14:52:56 2016 +0100
+
+    Add Bit4id tokenME FIPS v3
+
+ readers/Bit4id_tokenME_FIPS_v3.txt | 54 ++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt      |  3 ++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+commit 683dd88400cece36da222f93bfa385624c473e52
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Nov 18 17:50:28 2016 +0100
+
+    HID OMNIKEY 5021 CL is NOT supported
+    
+    This reader is contactless only and is NOT A CCID DEVICE.
+
+ readers/HID_5021_CL.txt       | 510 ++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |   5 +-
+ 2 files changed, 514 insertions(+), 1 deletion(-)
+
+commit 05902a01bd9cdcd5a3eab8523d8dc5b85e86bac2
+Author: Ludovic Rousseau <[email protected]>
+Date:   Sat Oct 22 22:12:55 2016 +0200
+
+    Add INGENICO Leo
+
+ readers/Ingenico_Leo.txt      | 76 +++++++++++++++++++++++++++++++++++++++++++
+ readers/supported_readers.txt |  5 ++-
+ 2 files changed, 80 insertions(+), 1 deletion(-)
+
+commit 9ed43b008894ad6984a06400aec4bb2c9b87bce2
+Author: Ludovic Rousseau <[email protected]>
+Date:   Thu Oct 13 11:42:03 2016 +0200
+
+    INSTALL: update documentation for serial readers
+    
+    - Update the documentation
+    - add a reference about the IDBridge CR30 that should use the
+      "GemCoreSIMPro2" configuration argument.
+
+ INSTALL | 35 ++++++++++++++++++++++-------------
+ 1 file changed, 22 insertions(+), 13 deletions(-)
+
+commit 33888a88cdcdf16e98c3d0d42593ebc743719e11
+Author: Ludovic Rousseau <[email protected]>
+Date:   Wed Oct 5 14:57:42 2016 +0200
+
+    Negociate maximum baud rate when bNumDataRatesSupported = 0
+    
+    From CCID 1.1 page 18:
+    " bNumDataRatesSupported
+    The number of data rates that are supported by the CCID.
+    If the value is 00h, all data rates between the default data rate
+    dwDataRate and the maximum data rate dwMaxDataRate are supported. "
+    
+    Before, if the card baud rate was greater than the reader dwMaxDataRate
+    then the driver used the default (lowest) baud rate.
+    
+    Now the driver tries to find the maximal baud rate supported by both the
+    card and the driver.
+    
+    The algorithm was already used when the reader reports a baud rate list
+    but not when the reader reports bNumDataRatesSupported = 0.
+    
+    Thanks to Abraham Macías Paredes for the bug report
+    "[Pcsclite-muscle] Bug in CCID library"
+    
https://lists.alioth.debian.org/pipermail/pcsclite-muscle/Week-of-Mon-20161003/000729.html
+    
+    Thanks to Godfrey Chung for the patch idea
+    "Fix the optimal baud rate problem in IFDHSetProtocolParameters()."
+    
https://github.com/acshk/acsccid/commit/4a7631d014781d36a2d21210b0b8768c07ef8c6d
+
+ src/ifdhandler.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 097436681d554999d125b9fe56bb4a5194a36f92
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Oct 4 15:29:56 2016 +0200
+
+    PowerOn: default value comes from Info.plist
+    
+    The value set in ifdhandler.c is always overwritten by the value
+    extracted from the Info.plist file in init_driver().
+    
+    The change in ea7bedd2b3d30a884f43544c44f87ef779f011ef was useless and
+    had no effect.
+    
+    Since the default value of ifdDriverOptions for voltage selection is
+    0x00 the first voltage used is 5V.
+
+ src/ifdhandler.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit df1173ee2f33ca0cf79090e4eb817b24a15c2d00
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Oct 4 15:05:40 2016 +0200
+
+    PowerOn: always try every possible voltage values
+    
+    The default voltage value is 5V.
+    It is possible to change the driver configuration (ifdDriverOptions in
+    Info.plist) to start at 1.8V or 3V.
+    
+    The algorithms was to try:
+    5V then fail (default)
+    3V then 5V then fail
+    1.8V then 3V then 5V then fail
+    
+    Some cards do not support 5V (like the Coolkey cards, see "Coolkey cards
+    do not work in Fedora" https://bugzilla.redhat.com/show_bug.cgi?id=1380615)
+    It is possible to change the driver configuration to start at 3V or 1.8V
+    but then for cards that work only at 5V we will have 1 or 2 PowerOn
+    commands in error before the card returns the ATR.
+    
+    I made some tests and the SCardConnect() call can take 0.110129 ms when
+    starting at 5V and 0.216057 ms when starting at 1.8V and errors for 1.8V
+    and 3V. That is "speed" factor of x1.96.
+    
+    00000005 ifdhandler.c:1146:IFDHPowerICC() action: PowerUp,
+    usb:08e6/3437:libudev:0:/dev/bus/usb/001/041 (lun: 0)
+    00000007 -> 000000 62 00 00 00 00 00 08 03 00 00
+    00054697 <- 000000 80 00 00 00 00 00 08 41 FE 00
+    00000014 commands.c:249:CmdPowerOn Card absent or mute
+    00000005 commands.c:278:CmdPowerOn() Power up with 1.8V failed. Try with 
3V.
+    00000006 -> 000000 62 00 00 00 00 00 09 02 00 00
+    00054723 <- 000000 80 00 00 00 00 00 09 41 FE 00
+    00000015 commands.c:249:CmdPowerOn Card absent or mute
+    00000004 commands.c:278:CmdPowerOn() Power up with 3V failed. Try with 5V.
+    00000006 -> 000000 62 00 00 00 00 00 0A 01 00 00
+    00037738 <- 000000 80 0C 00 00 00 00 0A 00 00 00 3B 29 00 80 72 A4 45 64 
00 00 87 14
+    
+    The idea is to change the algotithm to start at 5V as that is the
+    standard voltage for a smart card (according to my card collection) but
+    be able to continue with 1.8V and 3V is power on failed at 5V.
+    
+    The default algorithm is now 5V then 1.8V then 3V then fail.
+    
+    It is still possible to change the initial voltage. Now, in any case, all
+    the values are tried before failing.
+    Other possible values are:
+    1.8V then 3V then 5V then fail
+    3V then 5V then 1.8V then fail
+    
+    Thanks to Robert Relyea for the patch, used by RedHat since 2013.
+    
https://git.centos.org/commitdiff/rpms!pcsc-lite-ccid/3dd85f55c8aacfa0704849e7b6cf46d4970b747b
+
+ src/Info.plist.src |  4 ++--
+ src/ccid.h         | 11 +++--------
+ src/commands.c     | 15 ++++++++++++---
+ 3 files changed, 17 insertions(+), 13 deletions(-)
+
+commit a0815cfa7b70d96ae4b793285b92b70f2b95a487
+Author: Ludovic Rousseau <[email protected]>
+Date:   Tue Oct 4 14:56:45 2016 +0200
+
+    PowerOn: move from 1.8V to 5V if 1.8V is not supported
+    
+    If the reader does not support 1.8V we do not move to auto but to 5V and
+    check that 5V is supported by the reader.
+    The reader may not support Automatic Voltage Selection and may not
+    support 1.8V either.
+
+ src/commands.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit ea7bedd2b3d30a884f43544c44f87ef779f011ef
+Author: Ludovic Rousseau <[email protected]>
+Date:   Mon Oct 3 11:50:24 2016 +0200
+
+    PowerOn: change default voltage strategy
+    
+    The CCID 1.1 indicates page 105 in ch. "9.3 Voltage management" that the
+    driver should use growing voltage when supported by the reader.
+    
+    So the default is now to use the sequence 1.8V, 3V and 5V.
+    
+    ISO 7816-3 is not clear about this point. No specific order is given in
+    ch. 6.2.4 "Class selection" of ISO/IEC 7816-3:2006(E).
+    
+    This change should fix RedHat bug 1380615 "Coolkey cards do not work in
+    Fedora" and avoid the RedHat only patch described in RedHat bug 1033788
+    "Safenet SC650 smart cards are not detected"
+    
+    The RedHat patch is
+    
https://git.centos.org/blob/rpms!pcsc-lite-ccid/3dd85f55c8aacfa0704849e7b6cf46d4970b747b/SOURCES!ccid-1.4.10-voltage.patch
+
+ src/ccid.h       | 7 ++++++-
+ src/ifdhandler.c | 2 +-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit 84966dfaae8c37702512774c5e4d510998b0e8b2
+Author: Ludovic Rousseau <[email protected]>
+Date:   Mon Oct 3 11:37:25 2016 +0200
+
+    PowerOn: use automatic voltage selection when needed
+    
+    CCID standard 1.1, page 26, ch 6.1.1 PC_to_RDR_IccPowerOn
+    " For a CCID which features “automatic activation of ICC on inserting”,
+    the bPowerSelect field must be 00h (Automatic Voltage Selection) in the
+    first PC_to_RDR_IccPowerOn message received for a slot which was
+    previously inactive. "
+
+ src/ccid.h     | 1 +
+ src/commands.c | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 64d6ed4a0c6196108f1044ccfd080fbdd9da62ae
+Author: Ludovic Rousseau <[email protected]>
+Date:   Fri Sep 30 10:48:43 2016 +0200
+
+    Fix spelling in log message
+
+ src/ifdhandler.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3da71e26b368b39814618a83c2fc64e492941dc4 (tag: ccid-1.4.25)
 Author: Ludovic Rousseau <[email protected]>
 Date:   Fri Sep 30 10:36:54 2016 +0200
 
@@ -362,7 +1170,7 @@
  readers/supported_readers.txt  |  5 +++-
  2 files changed, 66 insertions(+), 1 deletion(-)
 
-commit 8ea1815745692c38e1c07fc8d460aae85efe123a (github/master)
+commit 8ea1815745692c38e1c07fc8d460aae85efe123a
 Author: Ludovic Rousseau <[email protected]>
 Date:   Fri Jun 24 10:02:24 2016 +0200
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/README new/ccid-1.4.27/README
--- old/ccid-1.4.26/README      2017-01-07 15:50:47.000000000 +0100
+++ new/ccid-1.4.27/README      2017-05-21 14:42:19.000000000 +0200
@@ -6,8 +6,8 @@
 driver. See the USB CCID [1] and ICCD [2] specifications from the USB
 working group.
 
-[1] http://www.usb.org/developers/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf
-[2] 
http://www.usb.org/developers/devclass_docs/DWG_Smart-Card_USB-ICC_ICCD_rev10.pdf
+[1] 
http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf
+[2] 
http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_USB-ICC_ICCD_rev10.pdf
 
 Authors:
 ========
@@ -57,7 +57,7 @@
 or set the environment variable LIBCCID_ifdLogLevel.
 
 The debug level is set in the ifdLogLevel field. It is a binary OR
-combinaison of 4 different levels.
+combination of 4 different levels.
 - 1: critical: important error messages
 - 2: info:     informative messages like what reader was detected
 - 4: comm:     a dump of all the bytes exchanged between the host and the
@@ -70,8 +70,8 @@
 
 You have to restart the driver so it read the configuration file again
 and use the new debug level value.  To restart the driver you just need
-to unplug all your CCID readers so the the driver is unloaded and then
-replug your readers. You can also restart pcscd.
+to unplug all your CCID readers so the driver is unloaded and then replug
+your readers. You can also restart pcscd.
 
 
 Voltage selection
@@ -82,7 +82,7 @@
 /usr/local/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
 
 The voltage level is set in the ifdDriverOptions field. It is a binary OR
-combinaison of 4 different levels.
+combination of 4 different levels.
 
 -  0: power on the card at 5V (default value)
 - 16: power on the card at 3V and, if 3V fails then use 5V
@@ -93,8 +93,8 @@
 
 You have to restart the driver so it read the configuration file again
 and use the new debug level value.  To restart the driver you just need
-to unplug all your CCID readers so the the driver is unloaded and then
-replug your readers.  You can also restart pcscd.
+to unplug all your CCID readers so the driver is unloaded and then replug
+your readers.  You can also restart pcscd.
 
 
 Licence:
@@ -118,18 +118,46 @@
 History:
 ========
 
+1.4.27 - 21 May 2017, Ludovic Rousseau
+    - Add support of
+     . ACS ACR1255U-J1
+     . ACS CryptoMate (T2)
+     . ANCUD CCID USB Reader & RNG
+     . DUALi DE-620 Combi
+     . FT CCID
+     . FT CCID KB
+     . FT U2F CCID KB
+     . FT U2F CCID KBOARD
+     . HID Global OMNIKEY 5422 Smartcard Reader
+     . InfoThink IT-102MU Reader
+     . Kapsch TrafficCom USB SAM reader
+     . MK Technology KeyPass S1
+     . Mulann PVT
+     . Regula RFID Reader
+     . Spyrus Inc PocketVault P-3X
+     . Unicept GmbH AirID USB
+    - Add Microchip SEC1210 UART support (when connected on a serial port)
+    - Add Zero Length Packet (ZLP) support for Gemalto IDBridge CT30 and K30
+      enable the patch using ./configure --enable-zlp
+    - Add support of HID Omnikey 5422 as multi slot reader (for macOS)
+    - Escape command: signals buffer overflow instead of silently
+      truncating the buffer
+    - Fix a bug with multi readers and pcscd uses hotplug_libusb (not the
+      recommended configuration)
+    - Some minor improvements
+
+
 1.4.26 - 7 January 2017, Ludovic Rousseau
     - Add support of
       . Bit4id Digital DNA Key
       . Bit4id tokenME FIPS v3
       . INGENICO Leo
       . appidkey GmbH ID60-USB
-    - Add support of
     - PowerOn: the default algorithm is now 5V then 1.8V then 3V then fail.
       It is still possible to change the initial voltage in the
       Info.plist file.  Now, in any case, all the values are tried
       before failing.
-    - Negociate maximum baud rate when bNumDataRatesSupported = 0
+    - Negotiate maximum baud rate when bNumDataRatesSupported = 0
     - Some minor improvements
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/config.h.in new/ccid-1.4.27/config.h.in
--- old/ccid-1.4.26/config.h.in 2017-01-07 15:56:06.000000000 +0100
+++ new/ccid-1.4.27/config.h.in 2017-05-21 14:42:35.000000000 +0200
@@ -3,6 +3,9 @@
 /* bundle directory name */
 #undef BUNDLE
 
+/* Enable Zero Length Packet patch */
+#undef ENABLE_ZLP
+
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/configure.ac new/ccid-1.4.27/configure.ac
--- old/ccid-1.4.26/configure.ac        2017-01-07 15:50:47.000000000 +0100
+++ new/ccid-1.4.27/configure.ac        2017-05-21 14:42:19.000000000 +0200
@@ -4,7 +4,7 @@
 # Require autoconf 2.61
 AC_PREREQ([2.69])
 
-AC_INIT([ccid],[1.4.26])
+AC_INIT([ccid],[1.4.27])
 AC_CONFIG_SRCDIR(src/ifdhandler.c)
 AC_CONFIG_AUX_DIR([.])
 AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip subdir-objects)
@@ -227,7 +227,7 @@
        AC_MSG_CHECKING([for SCardEstablishContext])
        AC_TRY_LINK_FUNC(SCardEstablishContext,
            [ AC_MSG_RESULT([yes]) ],
-               [ AC_MSG_ERROR([SCardEstablishContext() not found, install 
pcsc-lite 1.2.9-beta9 or later,or use PCSC_LIBS=...  ./configure]) ])
+               [ AC_MSG_ERROR([SCardEstablishContext() not found, install 
pcsc-lite, or use PCSC_LIBS=...  ./configure]) ])
        LIBS="$OLD_LIBS"
        CFLAGS="$OLD_CFLAGS"
 
@@ -265,6 +265,15 @@
   AC_DEFINE(NO_LOG, 1, [Disable logging support])
 fi
 
+# --enable-zlp
+AC_ARG_ENABLE(zlp,
+  AS_HELP_STRING([--enable-zlp],[enable the Zero Length Packet patch for some 
Gemalto readers]),
+  [ use_zlp="${enableval}" ])
+
+if test x$use_zlp = xyes; then
+  AC_DEFINE(ENABLE_ZLP, 1, [Enable Zero Length Packet patch])
+fi
+
 # Setup dist stuff
 AC_SUBST(ac_aux_dir)
 AC_SUBST(bundle)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/examples/scardcontrol.c new/ccid-1.4.27/examples/scardcontrol.c
--- old/ccid-1.4.26/examples/scardcontrol.c     2016-08-10 20:21:09.000000000 
+0200
+++ new/ccid-1.4.27/examples/scardcontrol.c     2017-03-29 10:20:15.000000000 
+0200
@@ -460,7 +460,7 @@
                if (0 == ret)
                {
                        bEntryValidationCondition = value;
-                       PRINT_GREEN_DEC(" Entry Validation Condition defined", 
+                       PRINT_GREEN_DEC(" Entry Validation Condition defined",
                                bEntryValidationCondition);
                }
 
@@ -605,7 +605,7 @@
        pin_verify -> bTimerOut = 0x00;
        pin_verify -> bTimerOut2 = 0x00;
        pin_verify -> bmFormatString = 0x82;
-       pin_verify -> bmPINBlockString = 0x04;
+       pin_verify -> bmPINBlockString = 0x08;
        pin_verify -> bmPINLengthFormat = 0x00;
        pin_verify -> wPINMaxExtraDigit = (PIN_min_size << 8) + PIN_max_size;
        pin_verify -> bEntryValidationCondition = bEntryValidationCondition;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/readers/supported_readers.txt 
new/ccid-1.4.27/readers/supported_readers.txt
--- old/ccid-1.4.26/readers/supported_readers.txt       2017-01-07 
15:50:47.000000000 +0100
+++ new/ccid-1.4.27/readers/supported_readers.txt       2017-05-21 
14:34:49.000000000 +0200
@@ -1,6 +1,6 @@
 #
 # List of readers supported by the CCID driver
-# Generated: 2017-01-06
+# Generated: 2017-05-05
 #
 # DO NOT EDIT BY HAND
 
@@ -129,11 +129,13 @@
 0x072F:0x1204:ACS ACR101 ICC Reader
 0x072F:0x221A:ACS ACR1251 Dual Reader
 0x072F:0x223B:ACS ACR1252 Dual Reader
+0x072F:0x223F:ACS ACR1255U-J1
 0x072F:0x8201:ACS APG8201 PINhandy 1
 0x072F:0x8202:ACS APG8201 USB Reader
 0x072F:0x90DB:ACS CryptoMate64
 0x072F:0xB000:ACS ACR3901U ICC Reader
 0x072F:0xB100:ACS ACR39U ICC Reader
+0x072F:0xB106:ACS CryptoMate (T2)
 
 # AK910
 0x2021:0x0001:AK910 CKey
@@ -164,6 +166,9 @@
 # Alcor Micro
 0x058F:0x9522:Alcor Micro AU9522
 
+# ANCUD
+0x0483:0xACD1:ANCUD CCID USB Reader & RNG
+
 # appidkey GmbH
 0x2406:0x5003:appidkey GmbH ID50 -USB
 0x2406:0x5004:appidkey GmbH ID100L-USB-SC-Reader
@@ -257,6 +262,7 @@
 0x0982:0x0040:COVADIS Auriga
 
 # DUALi
+0x1DB2:0x0801:DUALi DE-620 Combi
 0x1DB2:0x088B:DUALi DRAGON NFC READER
 
 # eID_R6 001
@@ -290,6 +296,10 @@
 
 # FT
 0x096E:0x080A:FT ePass2003Auto
+0x096E:0x0853:FT U2F CCID KB
+0x096E:0x0855:FT CCID KB
+0x096E:0x0856:FT U2F CCID
+0x096E:0x0859:FT CCID
 
 # Fujitsu
 0x0BF8:0x1024:Fujitsu Smartcard Reader D323
@@ -356,6 +366,7 @@
 0x076B:0x3031:HID Global OMNIKEY 3x21 Smart Card Reader
 0x076B:0x5022:HID Global OMNIKEY 5022 Smart Card Reader
 0x076B:0x5400:HID Global veriCLASS Reader
+0x076B:0x5422:HID Global OMNIKEY 5422 Smartcard Reader
 0x076B:0x6632:HID Global OMNIKEY 6121 Smart Card Reader
 
 # HID OMNIKEY
@@ -404,6 +415,9 @@
 # IIT
 0x03EB:0x9324:IIT E.Key Almaz-1C
 
+# InfoThink
+0x1FC9:0x0102:InfoThink IT-102MU Reader
+
 # Inside Secure
 0x2406:0x6300:Inside Secure VaultIC 420 Smart Object
 0x2406:0x6301:Inside Secure VaultIC 440 Smart Object
@@ -424,6 +438,9 @@
 0x2A18:0x5001:KACST HSID Reader Single Storage
 0x2A18:0x5002:KACST HSID Reader Dual Storage
 
+# Kapsch TrafficCom
+0x28B9:0x0002:Kapsch TrafficCom USB SAM reader
+
 # Kingtrust
 0x0483:0x0007:Kingtrust Multi-Reader
 
@@ -452,6 +469,9 @@
 0x0424:0x1104:Microchip SEC1110
 0x0424:0x1202:Microchip SEC1210
 
+# MK Technology
+0x0416:0xC136:MK Technology KeyPass S1
+
 # Morpho
 0x079B:0x0026:Morpho MSO350/MSO351 Fingerprint Sensor & SmartCard Reader
 0x079B:0x0052:Morpho MSO1350 Fingerprint Sensor & SmartCard Reader
@@ -459,6 +479,9 @@
 # MSI
 0x0BDA:0x0161:MSI StarReader SMART
 
+# Mulann
+0x4D55:0x0010:Mulann PVT
+
 # Neowave
 0x1E0D:0x0013:Neowave Weneo
 0x1E0D:0x0033:Neowave Weneo
@@ -517,6 +540,9 @@
 # Raritan
 0x14DD:0x1006:Raritan D2CIM-DVUSB VM/CCID
 
+# Regula
+0x1C6A:0x7050:Regula RFID Reader
+
 # REINER SCT
 0x0C4B:0x0504:REINER SCT cyberJack go
 0x0C4B:0x0520:REINER SCT tanJack Bluetooth
@@ -572,6 +598,9 @@
 0x1C34:0x91B1:SpringCard H663 Series
 0x1C34:0xA1A1:SpringCard H512 Series
 
+# Spyrus Inc
+0x08DF:0x3201:Spyrus Inc PocketVault P-3X
+
 # SYNNIX
 0x1206:0x2105:SYNNIX STD200
 
@@ -596,6 +625,9 @@
 # udea
 0x2A17:0x0001:udea MILKO V1.
 
+# Unicept GmbH
+0x2DFF:0x1540:Unicept GmbH AirID USB
+
 # Validy
 0x1CF0:0x0001:Validy TokenA sl vt
 
@@ -712,12 +744,18 @@
 # jNet Technology inc.
 #0x0483:0x2010:jNet Technology inc. jToken s1
 
+# Morpho
+#0x1A6F:0x0104:Morpho ypsID Key E
+
 # MX5
 #0x0980:0x902F:MX5 MX5  SMART CCID DRIVER
 
 # OCS ID-One Cosmo Card
 #0x1A74:0x6356:OCS ID-One Cosmo Card USB Smart Chip Device
 
+# OMNIKEY
+#0x076B:0x532A:OMNIKEY 5321 CLi USB
+
 # Precise Biometrics
 #0x08C3:0x0406:Precise Biometrics Precise 200 MC Upgrade
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/Makefile.am new/ccid-1.4.27/src/Makefile.am
--- old/ccid-1.4.26/src/Makefile.am     2016-08-10 20:21:09.000000000 +0200
+++ new/ccid-1.4.27/src/Makefile.am     2017-02-15 16:04:52.000000000 +0100
@@ -78,7 +78,7 @@
 # rule. We do not want to _add_ files to install
 install: $(LIBS_TO_INSTALL)
 
-INSTALL_UDEV_RULE_FILE=@/bin/echo -e "\n\33[01;31m***************\n" ; echo 
"copy the src/92_pcscd_ccid.rules file in udev directory (/etc/udev/rules.d/)" 
; /bin/echo -e "\n***************\n\33[0m"
+INSTALL_UDEV_RULE_FILE=@/bin/echo "***************" ; echo "copy the 
src/92_pcscd_ccid.rules file in udev directory (/etc/udev/rules.d/)" ; 
/bin/echo "***************"
 
 Info.plist: Info.plist.src $(srcdir)/../readers/supported_readers.txt
        $(srcdir)/create_Info_plist.pl 
$(srcdir)/../readers/supported_readers.txt $(srcdir)/Info.plist.src 
--target=$(CCID_LIB) --version=$(VERSION) $(NOCLASS) > Info.plist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/ccid.c new/ccid-1.4.27/src/ccid.c
--- old/ccid-1.4.26/src/ccid.c  2016-06-24 09:58:59.000000000 +0200
+++ new/ccid-1.4.27/src/ccid.c  2017-03-29 10:20:15.000000000 +0200
@@ -67,6 +67,21 @@
                        ccid_descriptor->readTimeout = 60*1000; /* 60 seconds */
                        break;
 
+#ifdef ENABLE_ZLP
+               case GEMPCTWIN:
+               case GEMPCKEY:
+               case DELLSCRK:
+                       /* Only the chipset with firmware version 2.00 is 
"bogus"
+                        * The reader may send packets of 0 bytes when the 
reader is
+                        * connected to a USB 3 port */
+                       if (0x0200 == ccid_descriptor->IFD_bcdDevice)
+                       {
+                               ccid_descriptor->zlp = TRUE;
+                               DEBUG_INFO1("ZLP fixup");
+                       }
+                       break;
+#endif
+
                case OZ776:
                case OZ776_7772:
                        ccid_descriptor->dwMaxDataRate = 9600;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/ccid.h new/ccid-1.4.27/src/ccid.h
--- old/ccid-1.4.26/src/ccid.h  2017-01-07 15:50:47.000000000 +0100
+++ new/ccid-1.4.27/src/ccid.h  2017-05-21 14:34:49.000000000 +0200
@@ -137,6 +137,13 @@
         * Gemalto extra features, if any
         */
        struct GEMALTO_FIRMWARE_FEATURES *gemalto_firmware_features;
+
+#ifdef ENABLE_ZLP
+       /*
+        * Zero Length Packet fixup (boolean)
+        */
+       char zlp;
+#endif
 } _ccid_descriptor;
 
 /* Features from dwFeatures */
@@ -187,6 +194,7 @@
 #define SCR331DI       0x04E65111
 #define SCR331DINTTCOM 0x04E65120
 #define SDI010         0x04E65121
+#define SEC1210        0x04241202
 #define CHERRYXX33     0x046A0005
 #define CHERRYST2000   0x046A003E
 #define OZ776          0x0B977762
@@ -213,6 +221,7 @@
 #define ElatecTWN4     0x09D80427
 #define SCM_SCL011 0x04E65293
 #define HID_AVIATOR    0x076B3A21
+#define HID_OMNIKEY_5422 0x076B5422
 
 #define VENDOR_GEMALTO 0x08E6
 #define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/ccid_serial.c new/ccid-1.4.27/src/ccid_serial.c
--- old/ccid-1.4.26/src/ccid_serial.c   2016-08-10 20:21:09.000000000 +0200
+++ new/ccid-1.4.27/src/ccid_serial.c   2017-05-21 14:34:49.000000000 +0200
@@ -525,6 +525,8 @@
                readerID = GEMCORESIMPRO2;
        else if (0 == strcasecmp(reader_name,"GemPCPinPad"))
                readerID = GEMPCPINPAD;
+       else if (0 == strcasecmp(reader_name,"SEC1210"))
+               readerID = SEC1210;
 
        /* check if the same channel is not already used to manage multi-slots 
readers*/
        for (i = 0; i < CCID_DRIVER_MAX_READERS; i++)
@@ -574,6 +576,11 @@
                                        
serialDevice[reader_index].ccid.dwMaxDataRate = 125000;
                                        break;
 
+                               case SEC1210:
+                                       
serialDevice[reader_index].ccid.arrayOfSupportedDataRates = NULL;
+                                       
serialDevice[reader_index].ccid.dwMaxDataRate = 826000;
+                                       break;
+
                                /* GemPC Twin or GemPC Card */
                                default:
                                        
serialDevice[reader_index].ccid.arrayOfSupportedDataRates = SerialTwinDataRates;
@@ -614,6 +621,9 @@
        serialDevice[reader_index].ccid.dwSlotStatus = IFD_ICC_PRESENT;
        serialDevice[reader_index].ccid.bVoltageSupport = 0x07; /* 1.8V, 3V and 
5V */
        serialDevice[reader_index].ccid.gemalto_firmware_features = NULL;
+#ifdef ENABLE_ZLP
+       serialDevice[reader_index].ccid.zlp = FALSE;
+#endif
        serialDevice[reader_index].echo = TRUE;
 
        /* change some values depending on the reader */
@@ -646,6 +656,16 @@
                        
serialDevice[reader_index].ccid.arrayOfSupportedDataRates = 
SerialExtendedDataRates;
                        serialDevice[reader_index].ccid.dwMaxDataRate = 500000;
                        break;
+
+               case SEC1210:
+                       serialDevice[reader_index].ccid.dwFeatures = 0x000100B2;
+                       serialDevice[reader_index].ccid.dwDefaultClock = 4800;
+                       serialDevice[reader_index].ccid.dwMaxDataRate = 826000;
+                       
serialDevice[reader_index].ccid.arrayOfSupportedDataRates = NULL;
+                       serialDevice[reader_index].ccid.bMaxSlotIndex = 1;      
/* 2 slots */
+                       serialDevice[reader_index].echo = FALSE;
+                       break;
+
        }
 
 end:
@@ -827,10 +847,15 @@
        /* perform a command to be sure a Gemalto reader is connected
         * get the reader firmware */
        {
-               unsigned char tx_buffer[] = { 0x02 };
+               unsigned char tx_buffer[1];
                unsigned char rx_buffer[50];
                unsigned int rx_length = sizeof(rx_buffer);
 
+               if (0 == strcasecmp(reader_name,"SEC1210"))
+                       tx_buffer[0] = 0x06; // unknown but supported command
+               else
+                       tx_buffer[0] = 0x02; // get reader firmware
+
                /* 2 seconds timeout to not wait too long if no reader is 
connected */
                if (IFD_SUCCESS != CmdEscape(reader_index, tx_buffer, 
sizeof(tx_buffer),
                        rx_buffer, &rx_length, 2*1000))
@@ -847,6 +872,7 @@
        /* perform a command to configure GemPC Twin reader card movement
         * notification to synchronous mode: the card movement is notified 
_after_
         * the host command and _before_ the reader anwser */
+       if (0 != strcasecmp(reader_name,"SEC1210"))
        {
                unsigned char tx_buffer[] = { 0x01, 0x01, 0x01};
                unsigned char rx_buffer[50];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/ccid_usb.c new/ccid-1.4.27/src/ccid_usb.c
--- old/ccid-1.4.26/src/ccid_usb.c      2016-09-30 09:54:29.000000000 +0200
+++ new/ccid-1.4.27/src/ccid_usb.c      2017-03-29 10:20:15.000000000 +0200
@@ -270,6 +270,21 @@
                                DEBUG_COMM3("usb bus/device: %d/%d", 
device_bus, device_addr);
                        }
                }
+               else
+               {
+                       /* format usb:%04x/%04x:libusb-1.0:%d:%d:%d */
+                       if ((dirname = strstr(device, "libusb-1.0:")) != NULL)
+                       {
+                               /* convert the interface number, bus and device 
ids */
+                               if (sscanf(dirname + 11, "%d:%d:%d",
+                                       &device_bus, &device_addr, 
&interface_number) == 3)
+                               {
+                                       DEBUG_COMM2("interface_number: %d", 
interface_number);
+                                       DEBUG_COMM3("usb bus/device: %d/%d", 
device_bus,
+                                               device_addr);
+                               }
+                       }
+               }
        }
 #endif
 
@@ -410,11 +425,14 @@
                                int readerID = (vendorID << 16) + productID;
 
 #ifdef USE_COMPOSITE_AS_MULTISLOT
-                               static int static_interface = 1;
+                               /* use the first CCID interface on first call */
+                               static int static_interface = -1;
+                               int max_interface_number = 2;
 
                                /* simulate a composite device as when libudev 
is used */
                                if ((GEMALTOPROXDU == readerID)
                                        || (GEMALTOPROXSU == readerID)
+                                       || (HID_OMNIKEY_5422 == readerID)
                                        || (FEITIANR502DUAL == readerID))
                                {
                                                /*
@@ -437,8 +455,25 @@
        * 1: Gemalto Prox-DU [Prox-DU Contactless_09A00795] (09A00795) 01 00
                                                 */
 
-                                       /* the CCID interfaces are 1 and 2 */
+                                       /* for the Gemalto Prox-DU/SU the 
interfaces are:
+                                        * 0: Prox-DU HID (not used)
+                                        * 1: Prox-DU Contactless (CCID)
+                                        * 2: Prox-DU Contact (CCID)
+                                        *
+                                        * For the Feitian R502 the interfaces 
are:
+                                        * 0: R502 Contactless Reader (CCID)
+                                        * 1: R502 Contact Reader (CCID)
+                                        * 2: R502 SAM1 Reader (CCID)
+                                        *
+                                        * For the HID Omnikey 5422 the 
interfaces are:
+                                        * 0: OMNIKEY 5422CL Smartcard Reader
+                                        * 1: OMNIKEY 5422 Smartcard Reader
+                                        */
                                        interface_number = static_interface;
+
+                                       if (HID_OMNIKEY_5422 == readerID)
+                                               /* only 2 interfaces for this 
device */
+                                               max_interface_number = 1;
                                }
 #endif
                                /* is it already opened? */
@@ -633,14 +668,16 @@
 #ifdef USE_COMPOSITE_AS_MULTISLOT
                                if ((GEMALTOPROXDU == readerID)
                                        || (GEMALTOPROXSU == readerID)
+                                       || (HID_OMNIKEY_5422 == readerID)
                                        || (FEITIANR502DUAL == readerID))
                                {
                                        /* use the next interface for the next 
"slot" */
-                                       static_interface++;
+                                       static_interface = interface + 1;
 
                                        /* reset for a next reader */
-                                       if (static_interface > 2)
-                                               static_interface = 
(FEITIANR502DUAL == readerID) ? 0: 1;
+                                       /* max interface number for all 3 
readers is 2 */
+                                       if (static_interface > 
max_interface_number)
+                                               static_interface = -1;
                                }
 #endif
 
@@ -685,6 +722,9 @@
                                usbDevice[reader_index].ccid.bVoltageSupport = 
device_descriptor[5];
                                usbDevice[reader_index].ccid.sIFD_serial_number 
= NULL;
                                
usbDevice[reader_index].ccid.gemalto_firmware_features = NULL;
+#ifdef ENABLE_ZLP
+                               usbDevice[reader_index].ccid.zlp = FALSE;
+#endif
                                if (desc.iSerialNumber)
                                {
                                        unsigned char serial[128];
@@ -784,6 +824,18 @@
        (void)snprintf(debug_header, sizeof(debug_header), "-> %06X ",
                (int)reader_index);
 
+#ifdef ENABLE_ZLP
+       if (usbDevice[reader_index].ccid.zlp)
+       { /* Zero Length Packet */
+               int dummy_length;
+
+               /* try to read a ZLP so transfer length = 0
+                * timeout of 10 ms */
+               (void)libusb_bulk_transfer(usbDevice[reader_index].dev_handle,
+                       usbDevice[reader_index].bulk_in, NULL, 0, 
&dummy_length, 10);
+       }
+#endif
+
        DEBUG_XXD(debug_header, buffer, length);
 
        rv = libusb_bulk_transfer(usbDevice[reader_index].dev_handle,
@@ -1258,7 +1310,7 @@
                libusb_free_transfer(transfer);
                DEBUG_CRITICAL2("libusb_submit_transfer failed: %s",
                        libusb_error_name(ret));
-               return ret;
+               return IFD_COMMUNICATION_ERROR;
        }
 
        usbDevice[reader_index].polling_transfer = transfer;
@@ -1277,7 +1329,7 @@
                        libusb_free_transfer(transfer);
                        DEBUG_CRITICAL2("libusb_handle_events failed: %s",
                                libusb_error_name(ret));
-                       return ret;
+                       return IFD_COMMUNICATION_ERROR;
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/commands.c new/ccid-1.4.27/src/commands.c
--- old/ccid-1.4.26/src/commands.c      2017-01-07 15:50:47.000000000 +0100
+++ new/ccid-1.4.27/src/commands.c      2017-03-29 10:20:15.000000000 +0200
@@ -1008,7 +1008,10 @@
        /* copy the response */
        length_out = dw2i(cmd_out, 1);
        if (length_out > *RxLength)
+       {
                length_out = *RxLength;
+               return_value = IFD_ERROR_INSUFFICIENT_BUFFER;
+       }
        *RxLength = length_out;
        memcpy(RxBuffer, &cmd_out[10], length_out);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/ifdhandler.c new/ccid-1.4.27/src/ifdhandler.c
--- old/ccid-1.4.26/src/ifdhandler.c    2017-01-07 15:50:47.000000000 +0100
+++ new/ccid-1.4.27/src/ifdhandler.c    2017-03-29 10:20:15.000000000 +0200
@@ -463,9 +463,13 @@
                                         * multi-slot reader */
                                        int readerID =  
get_ccid_descriptor(reader_index) -> readerID;
 
-                                       if ((GEMALTOPROXDU == readerID) || 
(GEMALTOPROXSU == readerID))
+                                       /* 2 CCID interfaces */
+                                       if ((GEMALTOPROXDU == readerID)
+                                               || (GEMALTOPROXSU == readerID)
+                                               || (HID_OMNIKEY_5422 == 
readerID))
                                                *Value = 2;
 
+                                       /* 3 CCID interfaces */
                                        if (FEITIANR502DUAL == readerID)
                                                *Value = 3;
                                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/ccid-1.4.26/src/reader.conf.in new/ccid-1.4.27/src/reader.conf.in
--- old/ccid-1.4.26/src/reader.conf.in  2015-04-10 20:30:23.000000000 +0200
+++ new/ccid-1.4.27/src/reader.conf.in  2017-05-21 14:34:49.000000000 +0200
@@ -7,6 +7,7 @@
 #     GemCoreSIMPro2
 #     GemPCPinPad
 #     GemPCTwin (default value)
+#     SEC1210 (Dual slot Reader)
 # example: /dev/ttyS0:GemPCPinPad
 #DEVICENAME        /dev/ttySn[:reader]
 #FRIENDLYNAME      "GemPCTwin serial"


Reply via email to