commit pcsc-ccid for openSUSE:Factory

Hello community, here is the log from the commit of package pcsc-ccid for openSUSE:Factory checked in at 2016-05-31 12:24:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pcsc-ccid (Old) and /work/SRC/openSUSE:Factory/.pcsc-ccid.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "pcsc-ccid" Changes: -------- --- /work/SRC/openSUSE:Factory/pcsc-ccid/pcsc-ccid.changes 2016-04-22 16:26:04.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.pcsc-ccid.new/pcsc-ccid.changes 2016-05-31 12:24:51.000000000 +0200 @@ -1,0 +2,14 @@ +Mon May 30 06:36:05 UTC 2016 - wr@rosenauer.org + +- Updated to version 1.4.24 + * Add support of + Generic USB Smart Card Reader + Giesecke & Devrient GmbH StarSign CUT S + HID AVIATOR Generic + * better support of Elatec TWN4 SmartCard NFC + * better support of SCM SCL011 + * fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO attribute size + * fix a race condition on card events with multiple readers + * Some minor improvements + +------------------------------------------------------------------- Old: ---- ccid-1.4.23.tar.bz2 ccid-1.4.23.tar.bz2.asc New: ---- ccid-1.4.24.tar.bz2 ccid-1.4.24.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pcsc-ccid.spec ++++++ --- /var/tmp/diff_new_pack.A7AwFJ/_old 2016-05-31 12:24:52.000000000 +0200 +++ /var/tmp/diff_new_pack.A7AwFJ/_new 2016-05-31 12:24:52.000000000 +0200 @@ -24,7 +24,7 @@ Name: pcsc-ccid %define _name ccid -Version: 1.4.23 +Version: 1.4.24 Release: 0 Summary: PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader License: LGPL-2.1+ ++++++ ccid-1.4.23.tar.bz2 -> ccid-1.4.24.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/ChangeLog new/ccid-1.4.24/ChangeLog --- old/ccid-1.4.23/ChangeLog 2016-04-20 10:06:39.000000000 +0200 +++ new/ccid-1.4.24/ChangeLog 2016-05-22 17:09:51.000000000 +0200 @@ -1,4 +1,177 @@ -commit d636d54fdd07b416f591f28d84c6f0e3f4bda4f9 (HEAD -> master, tag: ccid-1.4.23, origin/master, origin/HEAD) +commit a1197c49cee479f4187dfd05c900224b99127e17 (HEAD -> master, tag: ccid-1.4.24, origin/master, origin/HEAD) +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Sun May 22 17:07:03 2016 +0200 + + Release 1.4.24 + + README | 12 ++++++++++++ + configure.ac | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) + +commit b4c2cae5f311eef313777124937520c780d002fd +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Fri May 20 15:19:05 2016 +0200 + + IFDHGetCapabilities: fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO size + + We use strlcpy() to copy the IFD (reader) serial number string. So we + must must take into account the terminating NUL byte. + + Without the patch the size was "correctly" reported on the first call + (without including the final NUL byte). So the application allocates a + buffer for this size and the next strlcpy() tuncates the string to add + the NUL byte. + + Thanks to Daniel Kucera for the bug report. + + src/ifdhandler.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5eaa22bbaac16ca3e20e49418c37291ac128c3ad +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Thu May 19 21:16:48 2016 +0200 + + Add Giesecke & Devrient GmbH StarSign CUT S + + readers/GnD_StarSign_CUT_S.txt | 56 ++++++++++++++++++++++++++++++++++++++++++ + readers/supported_readers.txt | 1 + + 2 files changed, 57 insertions(+) + +commit b3eedaf7873e5438f5f2e8b163b2c0362099e318 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Thu May 19 20:56:13 2016 +0200 + + Add Generic USB Smart Card Reader + + This reader is the same as the "HID AVIATOR Generic" except that it + supports "Short and Extended APDU level exchange" instead of "Short APDU + level exchange". + + readers/Generic_USB_Smart_Card_Reader.txt | 161 ++++++++++++++++++++++++++++++ + readers/supported_readers.txt | 9 +- + 2 files changed, 168 insertions(+), 2 deletions(-) + +commit e039760f0ab57a0e66e2f6dabebfdf6ba3134b14 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Mon May 9 10:05:45 2016 +0200 + + Fix support of HID Aviator generic + + This reader firmware is bogus: + - it declares pinpad support but as no keyboard + - it declares short APDU but uses chaining as for extended APDU + + Thanks to Martin Paljak for the bug report + https://github.com/LudovicRousseau/CCID/pull/16 + + src/ccid.c | 7 +++++++ + src/ccid.h | 1 + + 2 files changed, 8 insertions(+) + +commit c18293616c834362555a61b3d84624ec24522bb3 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Mon May 9 20:10:13 2016 +0200 + + Add HID AVIATOR Generic + + readers/HID_Aviator.txt | 161 ++++++++++++++++++++++++++++++++++++++++++ + readers/supported_readers.txt | 5 +- + 2 files changed, 165 insertions(+), 1 deletion(-) + +commit b5673dfae8ab054557938abea864e5c34f61d2ed +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Mon May 9 09:53:35 2016 +0200 + + Update c.sh link + + The c.sh script is used call ./configure with "correct" parameter for + me (maintainer). + This file comes from PCSC and is a symbolic link. + + Thanks to Martin Paljak for the bug report + https://github.com/LudovicRousseau/CCID/pull/15 + + c.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 5c9dbb25abb9fed9882b7c28b65fe55d4d7924fb +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Sat May 7 12:12:28 2016 +0200 + + SCM SCL011: use a 400 ms timeout instead of 100 ms + + The SCM SCL011 reader is a contactless reader that needs 350 ms to + answer to the PC_to_RDR_GetSlotStatus CCID command when no card is in + the field. + + We use the same patch as for the ElatecTWN4. + + Thanks to Chris Calvesbert for the bug report. + + src/ccid.c | 3 +++ + src/ccid.h | 1 + + 2 files changed, 4 insertions(+) + +commit 5bea205f085a6b5ddd263843f410abab728550b7 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Wed May 4 18:31:57 2016 +0200 + + ElatecTWN4: use a 400 ms timeout instead of 100 ms + + The ElatecTWN4 reader is a contactless reader that needs 280 ms to + answer to the PC_to_RDR_GetSlotStatus CCID command when no card is in + the field. + + src/ccid.c | 12 ++++++++++++ + src/ccid.h | 1 + + 2 files changed, 13 insertions(+) + +commit 1e3c6c14683e3b5a9bc27fed55ae32b7dc2ee157 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Wed May 4 18:20:13 2016 +0200 + + CreateChannel: allow to use a non default timeout + + By default the read timeout is set to 100 ms for the double call of + CmdGetSlotStatus() in CreateChannelByNameOrChannel() use to resync the + USB toggle bits. + This is a short delay so that a failing reader will not block for too + long. The defaut timeout value is 3 seconds so a total of 6 seconds + would be lost is the reader is not responding. + + Unfortunately some readers (in particular contactless readers) are very + long to anwser to the PC_to_RDR_GetSlotStatus CCID command. I guess it + is to be sure no contactless card is present in the field. + + It is now possible to change the 100 ms timeout to something else for a + specific reader by adding code in ccid_open_hack_pre() and + ccid_open_hack_post(). + + src/ifdhandler.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit 2c8ffab9962484653b6445a6c85a6c690a5948b3 +Author: Ludovic Rousseau <ludovic.rousseau@free.fr> +Date: Fri Apr 22 14:59:21 2016 +0200 + + ccid_usb.c: fix a race condition on multi reader + + When using multiple threads we shall use libusb function + libusb_handle_events_completed() instead of libusb_handle_events() as + documented in http://libusb.sourceforge.net/api-1.0/mtasync.html#Using + + Problems may occur when using more than one reader. In that case a card + movement notification may be missed and reported only after a 60 seconds + timeout. + + Thanks to Maksim Ivanov for the bug report + "CCID handling of multiple devices" + http://lists.alioth.debian.org/pipermail/pcsclite-muscle/Week-of-Mon-2016041... + + src/ccid_usb.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +commit d636d54fdd07b416f591f28d84c6f0e3f4bda4f9 (tag: ccid-1.4.23) Author: Ludovic Rousseau <ludovic.rousseau@free.fr> Date: Wed Apr 20 10:04:45 2016 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/README new/ccid-1.4.24/README --- old/ccid-1.4.23/README 2016-04-20 10:05:43.000000000 +0200 +++ new/ccid-1.4.24/README 2016-05-22 17:08:59.000000000 +0200 @@ -118,6 +118,18 @@ History: ======== +1.4.24 - 22 May 2016, Ludovic Rousseau + - Add support of + . Generic USB Smart Card Reader + . HID AVIATOR Generic + - better support of Elatec TWN4 SmartCard NFC + - better support of SCM SCL011 + - betetr support of HID Aviator generic + - fix SCARD_ATTR_VENDOR_IFD_SERIAL_NO attribute size + - fix a race condition on card events with multiple readers + - Some minor improvements + + 1.4.23 - 20 April 2016, Ludovic Rousseau - Add support of . ACS ACR3901U ICC Reader diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/configure new/ccid-1.4.24/configure --- old/ccid-1.4.23/configure 2016-04-20 10:05:47.000000000 +0200 +++ new/ccid-1.4.24/configure 2016-05-22 17:09:05.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ccid 1.4.23. +# Generated by GNU Autoconf 2.69 for ccid 1.4.24. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='ccid' PACKAGE_TARNAME='ccid' -PACKAGE_VERSION='1.4.23' -PACKAGE_STRING='ccid 1.4.23' +PACKAGE_VERSION='1.4.24' +PACKAGE_STRING='ccid 1.4.24' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1377,7 +1377,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ccid 1.4.23 to adapt to many kinds of systems. +\`configure' configures ccid 1.4.24 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1448,7 +1448,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ccid 1.4.23:";; + short | recursive ) echo "Configuration of ccid 1.4.24:";; esac cat <<\_ACEOF @@ -1590,7 +1590,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ccid configure 1.4.23 +ccid configure 1.4.24 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2009,7 +2009,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ccid $as_me 1.4.23, which was +It was created by ccid $as_me 1.4.24, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2873,7 +2873,7 @@ # Define the identity of the package. PACKAGE='ccid' - VERSION='1.4.23' + VERSION='1.4.24' cat >>confdefs.h <<_ACEOF @@ -14695,7 +14695,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ccid $as_me 1.4.23, which was +This file was extended by ccid $as_me 1.4.24, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14761,7 +14761,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ccid config.status 1.4.23 +ccid config.status 1.4.24 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/configure.ac new/ccid-1.4.24/configure.ac --- old/ccid-1.4.23/configure.ac 2016-04-20 10:05:43.000000000 +0200 +++ new/ccid-1.4.24/configure.ac 2016-05-22 17:08:59.000000000 +0200 @@ -4,7 +4,7 @@ # Require autoconf 2.61 AC_PREREQ([2.69]) -AC_INIT([ccid],[1.4.23]) +AC_INIT([ccid],[1.4.24]) AC_CONFIG_SRCDIR(src/ifdhandler.c) AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip subdir-objects) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/readers/supported_readers.txt new/ccid-1.4.24/readers/supported_readers.txt --- old/ccid-1.4.23/readers/supported_readers.txt 2016-04-19 21:11:16.000000000 +0200 +++ new/ccid-1.4.24/readers/supported_readers.txt 2016-05-22 16:57:47.000000000 +0200 @@ -1,6 +1,6 @@ # # List of readers supported by the CCID driver -# Generated: 2016-04-19 +# Generated: 2016-05-19 # # DO NOT EDIT BY HAND @@ -67,6 +67,7 @@ # Giesecke & Devrient GmbH 0x1059:0x0017:Giesecke & Devrient GmbH StarSign Crypto USB Token +0x1059:0x0019:Giesecke & Devrient GmbH StarSign CUT S # id3 Semiconductors 0x0B81:0x0200:id3 Semiconductors CL1356T @@ -305,6 +306,9 @@ 0x0BDA:0x0169:Generic USB2.0-CRW 0x048D:0x1366:Generic MultiCard Device +# Generic USB +0x076B:0x3A21:Generic USB Smart Card Reader + # German Privacy Foundation 0x20A0:0x4107:German Privacy Foundation Crypto Stick v1.2 @@ -328,6 +332,8 @@ # Hewlett-Packard 0x03F0:0x581D:Hewlett-Packard HP lt4112 Gobi 4G Module +# HID + # HID Global 0x076B:0x3031:HID Global OMNIKEY 3x21 Smart Card Reader 0x076B:0x5022:HID Global OMNIKEY 5022 Smart Card Reader @@ -757,6 +763,9 @@ #0x076B:0x3021:OMNIKEY AG CardMan 3021 (CardMan3021.txt) #0x076B:0x3021:OMNIKEY AG CardMan 3121 (CardMan3121.txt) +#0x076B:0x3A21:Generic USB Smart Card Reader (Generic_USB_Smart_Card_Reader.txt) +#0x076B:0x3A21:HID AVIATOR Generic (HID_Aviator.txt) + #0x076B:0xA022:Precise Biometrics Sense MC (Precise_Sense_MC.txt) #0x076B:0xA022:XIRING Teo (Teo.txt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid.c new/ccid-1.4.24/src/ccid.c --- old/ccid-1.4.23/src/ccid.c 2016-04-19 21:11:16.000000000 +0200 +++ new/ccid-1.4.24/src/ccid.c 2016-05-22 16:57:47.000000000 +0200 @@ -71,6 +71,15 @@ case OZ776_7772: ccid_descriptor->dwMaxDataRate = 9600; break; + + case ElatecTWN4: + /* use a timeout of 400 ms instead of 100 ms in CmdGetSlotStatus() + * used by CreateChannelByNameOrChannel() + * The reader answers after 280 ms if no tag is present */ + case SCM_SCL011: + /* The SCM SCL011 reader needs 350 ms to answer */ + ccid_descriptor->readTimeout = DEFAULT_COM_READ_TIMEOUT * 4; + break; } /* CCID */ @@ -458,6 +467,13 @@ */ ccid_descriptor->bPINSupport = 0; break; + case HID_AVIATOR: + /* The chip advertises pinpad but actually doesn't have one */ + ccid_descriptor->bPINSupport = 0; + /* Firmware uses chaining */ + ccid_descriptor->dwFeatures &= ~CCID_CLASS_EXCHANGE_MASK; + ccid_descriptor->dwFeatures |= CCID_CLASS_EXTENDED_APDU; + break; #if 0 /* SCM SCR331-DI contactless */ @@ -511,6 +527,12 @@ ccid_descriptor->dwFeatures |= CCID_CLASS_EXTENDED_APDU; } break; + + case ElatecTWN4: + case SCM_SCL011: + /* restore default timeout (modified in ccid_open_hack_pre()) */ + ccid_descriptor->readTimeout = DEFAULT_COM_READ_TIMEOUT; + break; } /* Gemalto readers may report additional information */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid.h new/ccid-1.4.24/src/ccid.h --- old/ccid-1.4.23/src/ccid.h 2016-01-10 14:26:09.000000000 +0100 +++ new/ccid-1.4.24/src/ccid.h 2016-05-22 16:57:47.000000000 +0200 @@ -209,6 +209,9 @@ #define FEITIANR502DUAL 0x096E060D #define MICROCHIP_SEC1100 0x04241104 #define CHERRY_KC1000SC 0x046A00A1 +#define ElatecTWN4 0x09D80427 +#define SCM_SCL011 0x04E65293 +#define HID_AVIATOR 0x076B3A21 #define VENDOR_GEMALTO 0x08E6 #define GET_VENDOR(readerID) ((readerID >> 16) & 0xFFFF) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ccid_usb.c new/ccid-1.4.24/src/ccid_usb.c --- old/ccid-1.4.23/src/ccid_usb.c 2016-04-19 21:11:16.000000000 +0200 +++ new/ccid-1.4.24/src/ccid_usb.c 2016-04-23 16:12:07.000000000 +0200 @@ -1251,14 +1251,14 @@ while (!completed) { - ret = libusb_handle_events(ctx); + ret = libusb_handle_events_completed(ctx, &completed); if (ret < 0) { if (ret == LIBUSB_ERROR_INTERRUPTED) continue; libusb_cancel_transfer(transfer); while (!completed) - if (libusb_handle_events(ctx) < 0) + if (libusb_handle_events_completed(ctx, &completed) < 0) break; libusb_free_transfer(transfer); DEBUG_CRITICAL2("libusb_handle_events failed: %s", @@ -1378,7 +1378,7 @@ completed = 0; while (!completed && !msExt->terminated) { - rv = libusb_handle_events(ctx); + rv = libusb_handle_events_completed(ctx, &completed); if (rv < 0) { DEBUG_COMM2("libusb_handle_events err %d", rv); @@ -1390,7 +1390,7 @@ while (!completed && !msExt->terminated) { - if (libusb_handle_events(ctx) < 0) + if (libusb_handle_events_completed(ctx, &completed) < 0) break; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.23/src/ifdhandler.c new/ccid-1.4.24/src/ifdhandler.c --- old/ccid-1.4.23/src/ifdhandler.c 2016-01-10 14:26:09.000000000 +0100 +++ new/ccid-1.4.24/src/ifdhandler.c 2016-05-22 16:57:47.000000000 +0200 @@ -177,7 +177,10 @@ oldReadTimeout = ccid_descriptor->readTimeout; /* 100 ms just to resync the USB toggle bits */ - ccid_descriptor->readTimeout = 100; + /* Do not use a fixed 100 ms value but compute it from the + * default timeout. It is now possible to use a different value + * by changing readTimeout in ccid_open_hack_pre() */ + ccid_descriptor->readTimeout = ccid_descriptor->readTimeout * 100.0 / DEFAULT_COM_READ_TIMEOUT; if ((IFD_COMMUNICATION_ERROR == CmdGetSlotStatus(reader_index, pcbuffer)) && (IFD_COMMUNICATION_ERROR == CmdGetSlotStatus(reader_index, pcbuffer))) @@ -593,7 +596,7 @@ if (ccid_desc->sIFD_serial_number) { strlcpy((char *)Value, ccid_desc->sIFD_serial_number, *Length); - *Length = strlen((char *)Value); + *Length = strlen((char *)Value)+1; } else {
participants (1)
-
root@hilbert.suse.de