Hello community, here is the log from the commit of package pcsc-ccid for openSUSE:Factory checked in at 2015-10-26 12:49:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-08-05 19:17:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.pcsc-ccid.new/pcsc-ccid.changes 2015-10-26 12:49:16.000000000 +0100 @@ -1,0 +2,45 @@ +Sun Oct 25 09:39:20 UTC 2015 - w...@rosenauer.org + +- Updated to version 1.4.21 + * Add support of + ACS ACR1252 Dual Reader + Chicony HP USB Smartcard CCID Keyboard JP + Chicony HP USB Smartcard CCID Keyboard KR + FT ePass2003Auto + Feitian bR301 BLE + Feitian iR301 (ProductID 0x0619) + Feitian iR301 (ProductID 0x061C) + Identiv @MAXX ID-1 Smart Card Reader + Identiv @MAXX Light2 token + Identiv CLOUD 2980 F Smart Card Reader + Identiv Identiv uTrust 4701 F Dual Interface Reader + Identiv SCR3500 A Contact Reader + Identiv SCR3500 B Contact Reader + Identiv SCR35xx USB Smart Card Reader + Identiv uTrust 2900 R Smart Card Reader + Identiv uTrust 2910 R Smart Card Reader + Identiv uTrust 2910 R Taglio SC Reader + Identiv uTrust 3512 SAM slot Token + Identiv uTrust 3522 embd SE RFID Token + Identiv uTrust 3700 F CL Reader + Identiv uTrust 3701 F CL Reader + Identive Identive CLOUD 4000 F DTC + Liteon HP SC Keyboard - Apollo (Liteon) + Liteon HP SC Keyboard - Apollo JP (Liteon) + Liteon HP SC Keyboard - Apollo KR (Liteon) + Nitrokey Nitrokey HSM + Nitrokey Nitrokey Pro + Nitrokey Nitrokey Start + Rocketek RT-SCR1 + VASCO DIGIPASS 875 + WatchCNPC USB CCID Key + * Remove support of + Crypto Stick Crypto Stick v1.4 is an old version of Nitrokey Nitrokey Pro + Free Software Initiative of Japan Gnuk Token is an old version + of Nitrokey Nitrokey Start + * Add Feitain R502 dual interface (composite) reader on Mac OS X + * display a human readable version of the error code returned by libusb + * Mac OS X: wait until libusb/the reader is ready + * some minor bugs fixed + +------------------------------------------------------------------- Old: ---- ccid-1.4.20.tar.bz2 ccid-1.4.20.tar.bz2.asc New: ---- ccid-1.4.21.tar.bz2 ccid-1.4.21.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pcsc-ccid.spec ++++++ --- /var/tmp/diff_new_pack.r8fxRZ/_old 2015-10-26 12:49:17.000000000 +0100 +++ /var/tmp/diff_new_pack.r8fxRZ/_new 2015-10-26 12:49:17.000000000 +0100 @@ -24,7 +24,7 @@ Name: pcsc-ccid %define _name ccid -Version: 1.4.20 +Version: 1.4.21 Release: 0 Summary: PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader License: LGPL-2.1+ ++++++ ccid-1.4.20.tar.bz2 -> ccid-1.4.21.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/Makefile.in new/ccid-1.4.21/Makefile.in --- old/ccid-1.4.20/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -339,6 +339,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -376,15 +377,15 @@ @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/README new/ccid-1.4.21/README --- old/ccid-1.4.20/README 2015-08-05 13:22:40.000000000 +0200 +++ new/ccid-1.4.21/README 2015-10-21 20:40:07.000000000 +0200 @@ -118,6 +118,50 @@ History: ======== +1.4.21 - 21 October 2015, Ludovic Rousseau + - Add support of + . ACS ACR1252 Dual Reader + . Chicony HP USB Smartcard CCID Keyboard JP + . Chicony HP USB Smartcard CCID Keyboard KR + . FT ePass2003Auto + . Feitian bR301 BLE + . Feitian iR301 (ProductID 0x0619) + . Feitian iR301 (ProductID 0x061C) + . Identiv @MAXX ID-1 Smart Card Reader + . Identiv @MAXX Light2 token + . Identiv CLOUD 2980 F Smart Card Reader + . Identiv Identiv uTrust 4701 F Dual Interface Reader + . Identiv SCR3500 A Contact Reader + . Identiv SCR3500 B Contact Reader + . Identiv SCR35xx USB Smart Card Reader + . Identiv uTrust 2900 R Smart Card Reader + . Identiv uTrust 2910 R Smart Card Reader + . Identiv uTrust 2910 R Taglio SC Reader + . Identiv uTrust 3512 SAM slot Token + . Identiv uTrust 3522 embd SE RFID Token + . Identiv uTrust 3700 F CL Reader + . Identiv uTrust 3701 F CL Reader + . Identive Identive CLOUD 4000 F DTC + . Liteon HP SC Keyboard - Apollo (Liteon) + . Liteon HP SC Keyboard - Apollo JP (Liteon) + . Liteon HP SC Keyboard - Apollo KR (Liteon) + . Nitrokey Nitrokey HSM + . Nitrokey Nitrokey Pro + . Nitrokey Nitrokey Start + . Rocketek RT-SCR1 + . VASCO DIGIPASS 875 + . WatchCNPC USB CCID Key + - Remove support of + . Crypto Stick Crypto Stick v1.4 is an old version of Nitrokey Nitrokey Pro + . Free Software Initiative of Japan Gnuk Token is an old version + of Nitrokey Nitrokey Start + - Add Feitain R502 dual interface (composite) reader on Mac OS X + - display a human readable version of the error code returned by + libusb + - Mac OS X: wait until libusb/the reader is ready + - some minor bugs fixed + + 1.4.20 - 5 August 2015, Ludovic Rousseau - Add support of . ACS ACR1251 Dual Reader diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/config.guess new/ccid-1.4.21/config.guess --- old/ccid-1.4.20/config.guess 2015-08-05 11:37:59.000000000 +0200 +++ new/ccid-1.4.21/config.guess 2015-10-21 20:40:30.000000000 +0200 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# Please send patches with a ChangeLog entry to config-patc...@gnu.org. +# Please send patches to <config-patc...@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -168,20 +168,27 @@ # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -197,6 +204,13 @@ os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +221,13 @@ release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -235,6 +249,9 @@ *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -579,8 +596,9 @@ else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -932,6 +950,9 @@ crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -1020,7 +1041,7 @@ echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/config.sub new/ccid-1.4.21/config.sub --- old/ccid-1.4.20/config.sub 2015-08-05 11:37:59.000000000 +0200 +++ new/ccid-1.4.21/config.sub 2015-10-21 20:40:30.000000000 +0200 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2014-09-11' +timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patc...@gnu.org. +# Please send patches to <config-patc...@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -68,7 +68,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,7 +117,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os @@ -255,12 +255,13 @@ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ @@ -305,7 +306,7 @@ | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -313,6 +314,7 @@ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -327,6 +329,9 @@ c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -372,12 +377,13 @@ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ @@ -424,12 +430,13 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -437,6 +444,7 @@ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -513,6 +521,9 @@ basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -774,6 +785,9 @@ basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -1365,7 +1379,7 @@ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/configure new/ccid-1.4.21/configure --- old/ccid-1.4.20/configure 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/configure 2015-10-21 20:40:44.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.20. +# Generated by GNU Autoconf 2.69 for ccid 1.4.21. # # # 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.20' -PACKAGE_STRING='ccid 1.4.20' +PACKAGE_VERSION='1.4.21' +PACKAGE_STRING='ccid 1.4.21' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -762,6 +762,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -861,6 +862,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1113,6 +1115,15 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1250,7 +1261,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1363,7 +1374,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.20 to adapt to many kinds of systems. +\`configure' configures ccid 1.4.21 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1403,6 +1414,7 @@ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1433,7 +1445,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ccid 1.4.20:";; + short | recursive ) echo "Configuration of ccid 1.4.21:";; esac cat <<\_ACEOF @@ -1570,7 +1582,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ccid configure 1.4.20 +ccid configure 1.4.21 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1989,7 +2001,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.20, which was +It was created by ccid $as_me 1.4.21, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2853,7 +2865,7 @@ # Define the identity of the package. PACKAGE='ccid' - VERSION='1.4.20' + VERSION='1.4.21' cat >>confdefs.h <<_ACEOF @@ -14187,7 +14199,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.20, which was +This file was extended by ccid $as_me 1.4.21, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14253,7 +14265,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.20 +ccid config.status 1.4.21 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.20/configure.ac new/ccid-1.4.21/configure.ac --- old/ccid-1.4.20/configure.ac 2015-08-05 13:22:40.000000000 +0200 +++ new/ccid-1.4.21/configure.ac 2015-10-21 20:40:07.000000000 +0200 @@ -6,7 +6,7 @@ # Require autoconf 2.61 AC_PREREQ([2.69]) -AC_INIT([ccid],[1.4.20]) +AC_INIT([ccid],[1.4.21]) 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.20/contrib/Kobil_mIDentity_switch/Makefile.in new/ccid-1.4.21/contrib/Kobil_mIDentity_switch/Makefile.in --- old/ccid-1.4.20/contrib/Kobil_mIDentity_switch/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/contrib/Kobil_mIDentity_switch/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -311,6 +311,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -341,9 +342,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Kobil_mIDentity_switch/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Kobil_mIDentity_switch/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/Kobil_mIDentity_switch/Makefile + $(AUTOMAKE) --foreign contrib/Kobil_mIDentity_switch/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/contrib/Makefile.in new/ccid-1.4.21/contrib/Makefile.in --- old/ccid-1.4.20/contrib/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/contrib/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -313,6 +313,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -338,9 +339,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/Makefile + $(AUTOMAKE) --foreign contrib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/contrib/RSA_SecurID/Makefile.in new/ccid-1.4.21/contrib/RSA_SecurID/Makefile.in --- old/ccid-1.4.20/contrib/RSA_SecurID/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/contrib/RSA_SecurID/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -309,6 +309,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -338,9 +339,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/RSA_SecurID/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/RSA_SecurID/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu contrib/RSA_SecurID/Makefile + $(AUTOMAKE) --foreign contrib/RSA_SecurID/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/examples/Makefile.in new/ccid-1.4.21/examples/Makefile.in --- old/ccid-1.4.20/examples/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/examples/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -311,6 +311,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -339,9 +340,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu examples/Makefile + $(AUTOMAKE) --foreign examples/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/install-sh new/ccid-1.4.21/install-sh --- old/ccid-1.4.20/install-sh 2015-08-05 11:37:59.000000000 +0200 +++ new/ccid-1.4.21/install-sh 2015-10-21 20:40:30.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2013-12-25.23; # UTC +scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -324,34 +324,41 @@ # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi - rmdir "$tmpdir/d" "$tmpdir" + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/readers/Makefile.in new/ccid-1.4.21/readers/Makefile.in --- old/ccid-1.4.20/readers/Makefile.in 2015-08-05 13:22:48.000000000 +0200 +++ new/ccid-1.4.21/readers/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -255,6 +255,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -279,9 +280,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu readers/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign readers/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu readers/Makefile + $(AUTOMAKE) --foreign readers/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/readers/supported_readers.txt new/ccid-1.4.21/readers/supported_readers.txt --- old/ccid-1.4.20/readers/supported_readers.txt 2015-08-04 17:57:03.000000000 +0200 +++ new/ccid-1.4.21/readers/supported_readers.txt 2015-10-21 20:36:49.000000000 +0200 @@ -1,6 +1,6 @@ # # List of readers supported by the CCID driver -# Generated: 2015-07-28 +# Generated: 2015-10-20 # # DO NOT EDIT BY HAND @@ -19,7 +19,6 @@ # Alcor Micro 0x058F:0x9520:Alcor Micro AU9520 -0x058F:0x9540:Alcor Micro AU9540 # Athena 0x0DC3:0x1004:Athena ASE IIIe @@ -124,6 +123,7 @@ # ACS 0x072F:0x1204:ACS ACR101 ICC Reader 0x072F:0x221A:ACS ACR1251 Dual Reader +0x072F:0x223B:ACS ACR1252 Dual Reader 0x072F:0x8201:ACS APG8201 PINhandy 1 0x072F:0x8202:ACS APG8201 USB Reader 0x072F:0x90DB:ACS CryptoMate64 @@ -221,14 +221,13 @@ # Chicony 0x04F2:0x0967:Chicony USB Smart Card Keyboard +0x03F0:0x114A:Chicony HP USB Smartcard CCID Keyboard KR +0x03F0:0x124A:Chicony HP USB Smartcard CCID Keyboard JP # COVADIS 0x0982:0x0008:COVADIS VEGA-ALPHA 0x0982:0x0040:COVADIS Auriga -# Crypto Stick -0x20A0:0x4108:Crypto Stick Crypto Stick v1.4 - # DUALi 0x1DB2:0x088B:DUALi DRAGON NFC READER @@ -238,10 +237,15 @@ # Elatec 0x09D8:0x0427:Elatec TWN4 SmartCard NFC +# FEITIAN +0x096E:0x0619:FEITIAN iR301 +0x096E:0x061A:FEITIAN bR301 +0x096E:0x061C:FEITIAN iR301 + # Feitian 0x096E:0x0608:Feitian 502-CL 0x096E:0x060D:Feitian R502 -0x096E:0x061A:Feitian bR301 +0x096E:0x0624:Feitian bR301 BLE 0x096E:0x0807:Feitian ePass2003 0x096E:0x080F:Feitian eJAVA Token @@ -250,7 +254,9 @@ # Free Software Initiative of Japan 0x234B:0x0000:Free Software Initiative of Japan Gnuk -0x20A0:0x4211:Free Software Initiative of Japan Gnuk Token + +# FT +0x096E:0x080A:FT ePass2003Auto # Fujitsu Siemens Computers 0x0BF8:0x1005:Fujitsu Siemens Computers SmartCard Keyboard USB 2A @@ -276,7 +282,6 @@ 0x08E6:0x3479:Gemplus GemCore POS Pro Smart Card Reader # Generic -0x0BDA:0x0165:Generic Smart Card Reader Interface 0x0BDA:0x0169:Generic USB2.0-CRW 0x048D:0x1366:Generic MultiCard Device @@ -316,10 +321,27 @@ # id3 Semiconductors 0x0B81:0x0220:id3 Semiconductors CL1356A_HID +# Identiv +0x04E6:0x5713:Identiv CLOUD 2980 F Smart Card Reader +0x04E6:0x5724:Identiv Identiv uTrust 4701 F Dual Interface Reader +0x04E6:0x5790:Identiv uTrust 3700 F CL Reader +0x04E6:0x5791:Identiv uTrust 3701 F CL Reader +0x04E6:0x5811:Identiv uTrust 2900 R Smart Card Reader +0x04E6:0x5812:Identiv uTrust 2910 R Smart Card Reader +0x04E6:0x5814:Identiv SCR3500 A Contact Reader +0x04E6:0x5815:Identiv SCR3500 B Contact Reader +0x04E6:0x5816:Identiv uTrust 3512 SAM slot Token +0x04E6:0x5818:Identiv @MAXX Light2 token +0x04E6:0x5819:Identiv @MAXX ID-1 Smart Card Reader +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 + # Identive 0x04E6:0x5710:Identive CLOUD 2700 F Smart Card Reader 0x04E6:0x5720:Identive Identive CLOUD 4500 F Dual Interface Reader 0x04E6:0x5721:Identive Identive CLOUD 4510 F Contactless + SAM Reader +0x04E6:0x5723:Identive Identive CLOUD 4000 F DTC 0x04E6:0x5810:Identive CLOUD 2700 R Smart Card Reader 0x04E6:0x5817:Identive SCT3522CC token @@ -363,6 +385,11 @@ 0x17EF:0x6007:Lenovo Lenovo USB Smartcard Keyboard 0x17EF:0x6055:Lenovo Lenovo USB Smartcard Keyboard +# Liteon +0x03F0:0x164A:Liteon HP SC Keyboard - Apollo (Liteon) +0x03F0:0x174A:Liteon HP SC Keyboard - Apollo KR (Liteon) +0x03F0:0x184A:Liteon HP SC Keyboard - Apollo JP (Liteon) + # Macally 0x08AE:0x0BDF:Macally NFC CCID eNetPad @@ -383,6 +410,11 @@ 0x1E0D:0x1023:Neowave Weneo 0x1E0D:0x8033:Neowave Weneo +# Nitrokey +0x20A0:0x4108:Nitrokey Nitrokey Pro +0x20A0:0x4211:Nitrokey Nitrokey Start +0x20A0:0x4230:Nitrokey Nitrokey HSM + # NTT Communications Corp. 0x04E6:0x511A:NTT Communications Corp. SCR3310-NTTCom USB SmartCard Reader @@ -434,6 +466,9 @@ 0x0C4B:0x0520:REINER SCT tanJack Bluetooth 0x0C4B:0x9102:REINER SCT cyberJack RFID basis +# Rocketek +0x14CD:0x8166:Rocketek RT-SCR1 + # SafeNet 0x0529:0x0602:SafeNet eToken 7300 0x0529:0x0620:SafeNet eToken 5100 @@ -515,11 +550,15 @@ 0x1A44:0x0855:VASCO DP855 0x1A44:0x0865:VASCO DP865 0x1A44:0x0870:VASCO DIGIPASS 870 +0x1A44:0x0875:VASCO DIGIPASS 875 0x1A44:0x0920:VASCO DIGIPASS 920 # VMware 0x0E0F:0x0004:VMware Virtual USB CCID +# WatchCNPC +0x163C:0x0406:WatchCNPC USB CCID Key + # Watchdata 0x163C:0x0407:Watchdata USB Key @@ -553,6 +592,9 @@ # Aladdin +# Alcor Micro +0x058F:0x9540:Alcor Micro AU9540 + # ATMEL 0x03EB:0x6016:ATMEL VaultIC460 @@ -565,6 +607,9 @@ # Feitian 0x096E:0x0503:Feitian SCR301 +# Generic +0x0BDA:0x0165:Generic Smart Card Reader Interface + # Hewlett-Packard Company 0x03F0:0x0036:Hewlett-Packard Company HP USB CCID Smartcard Keyboard 0x03F0:0x1024:Hewlett-Packard Company HP USB Smart Card Keyboard @@ -634,6 +679,12 @@ #0x04E6:0x5721:Identive Identive CLOUD 4710 F Contactless + SAM Reader (Identive_CLOUD_4710_F.txt) #0x04E6:0x5721:Identive Identive CLOUD 4710 F Contactless + SAM Reader (Identive_CLOUD_4710_F.txt_i1) +#0x04E6:0x5723:Identive Identive CLOUD 4000 F DTC (Identive_Identive_CLOUD_4000_F_DTC.txt) +#0x04E6:0x5723:Identive Identive CLOUD 4000 F DTC (Identive_Identive_CLOUD_4000_F_DTC.txt_i1) + +#0x04E6:0x5724:Identiv Identiv uTrust 4701 F Dual Interface Reader (Identiv_Identiv_uTrust_4701_F_Dual_Interface_Reader.txt) +#0x04E6:0x5724:Identiv Identiv uTrust 4701 F Dual Interface Reader (Identiv_Identiv_uTrust_4701_F_Dual_Interface_Reader.txt_i1) + #0x0529:0x0620:Aladdin eToken PRO USB 72K Java (Aladdin_eToken_PRO_USB_72K_Java.txt) #0x0529:0x0620:SafeNet eToken 5100 (SafeNet_Token_JC.txt) @@ -644,6 +695,9 @@ #0x072F:0x221A:ACS ACR1251 Dual Reader (ACS_ACR1251_Dual_Reader.txt) #0x072F:0x221A:ACS ACR1251 Dual Reader (ACS_ACR1251_Dual_Reader.txt_i1) +#0x072F:0x223B:ACS ACR1252 Dual Reader (ACS_ACR1252_Dual_Reader.txt) +#0x072F:0x223B:ACS ACR1252 Dual Reader (ACS_ACR1252_Dual_Reader.txt_i1) + #0x072F:0x90CC:ACS ACR122U (ACR122U.txt) #0x072F:0x90CC:ACS ACR 38U-CCID (ACR38U-CCID.txt) #0x072F:0x90CC:ACS ACR100 (ACS_ACR100.txt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/src/Info.plist.src new/ccid-1.4.21/src/Info.plist.src --- old/ccid-1.4.20/src/Info.plist.src 2015-04-10 20:30:23.000000000 +0200 +++ new/ccid-1.4.21/src/Info.plist.src 2015-10-21 20:36:49.000000000 +0200 @@ -54,18 +54,18 @@ <string>0x0000</string> <!-- Possible values for ifdDriverOptions - 1: DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED + 0x01: DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED the CCID Exchange command is allowed. You can use it through SCardControl(hCard, IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE, ...) - 2: DRIVER_OPTION_GEMPC_TWIN_KEY_APDU + 0x02: DRIVER_OPTION_GEMPC_TWIN_KEY_APDU If set the GemPC Twin and GemPC Key readers with be configured so that the T=1 TPDU protocol is done by the firmware instead of the driver. This switches the reader in APDU mode and also in EMV mode so may not work with non EMV cards. - 4: DRIVER_OPTION_USE_BOGUS_FIRMWARE + 0x04: DRIVER_OPTION_USE_BOGUS_FIRMWARE Some reader firmwares have bugs. By default the driver refuses to work with such firmware versions. If your reader is rejected because of the firmware (log message: "Firmware (x.y) is @@ -77,17 +77,17 @@ - activate this option but you will have problems depending on the bug - 8: DRIVER_OPTION_RESET_ON_CLOSE + 0x08: DRIVER_OPTION_RESET_ON_CLOSE This option may be required on Linux 2.4 so that the device reset if sequencial (bSeq) counter and can be reused if pcscd restart. Otherwise the reader needs to be unplugged/replugged. - bits 4 & 5: (values 0, 16, 32, 48) - 0: power on the card at 5V (default value) - 16: power on the card at 3V and then, if 3V fails use 5V - 32: power on the card at 1.8V, then 3V and then 5V - 48: let the reader decide + bits 4 & 5: (values 0x00, 0x10, 0x20, 0x30) + 0x00: power on the card at 5V (default value) + 0x10: power on the card at 3V and then, if 3V fails use 5V + 0x20: power on the card at 1.8V, then 3V and then 5V + 0x30: let the reader decide 0x40: DRIVER_OPTION_DISABLE_PIN_RETRIES The Gemalto pinpad reader sends a VERIFY command with no PIN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/src/Makefile.in new/ccid-1.4.21/src/Makefile.in --- old/ccid-1.4.20/src/Makefile.in 2015-08-05 13:22:49.000000000 +0200 +++ new/ccid-1.4.21/src/Makefile.in 2015-10-21 20:40:44.000000000 +0200 @@ -414,6 +414,7 @@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ serialconfdir = @serialconfdir@ sharedstatedir = @sharedstatedir@ @@ -501,9 +502,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + $(AUTOMAKE) --foreign src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/src/ccid.h new/ccid-1.4.21/src/ccid.h --- old/ccid-1.4.20/src/ccid.h 2015-04-10 20:30:23.000000000 +0200 +++ new/ccid-1.4.21/src/ccid.h 2015-10-14 10:39:21.000000000 +0200 @@ -210,6 +210,7 @@ #define HP_CCIDSMARTCARDKEYBOARD 0x03F00036 #define KOBIL_IDTOKEN 0x0D46301D #define FUJITSUSMARTKEYB 0x0BF81017 +#define FEITIANR502DUAL 0x096E060D #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.20/src/ccid_usb.c new/ccid-1.4.21/src/ccid_usb.c --- old/ccid-1.4.20/src/ccid_usb.c 2015-04-10 20:30:23.000000000 +0200 +++ new/ccid-1.4.21/src/ccid_usb.c 2015-10-14 10:39:21.000000000 +0200 @@ -221,6 +221,7 @@ #else /* 100 ms delay */ struct timespec sleep_time = { 0, 100 * 1000 * 1000 }; + int count_libusb = 10; #endif int interface_number = -1; int i; @@ -307,15 +308,14 @@ rv = libusb_init(&ctx); if (rv != 0) { - DEBUG_CRITICAL2("libusb_init failed: %d", rv); + DEBUG_CRITICAL2("libusb_init failed: %s", libusb_error_name(rv)); return_value = STATUS_UNSUCCESSFUL; goto end1; } } #ifdef __APPLE__ - /* give some time to libusb to detect the new USB devices on Mac OS X */ - nanosleep(&sleep_time, NULL); +again_libusb: #endif cnt = libusb_get_device_list(ctx, &devs); if (cnt < 0) @@ -399,7 +399,8 @@ /* simulate a composite device as when libudev is used */ if ((GEMALTOPROXDU == readerID) - || (GEMALTOPROXSU == readerID)) + || (GEMALTOPROXSU == readerID) + || (FEITIANR502DUAL == readerID)) { /* * We can't talk to the two CCID interfaces @@ -496,8 +497,8 @@ r = libusb_open(dev, &dev_handle); if (r < 0) { - DEBUG_CRITICAL4("Can't libusb_open(%d/%d): %d", - bus_number, device_address, r); + DEBUG_CRITICAL4("Can't libusb_open(%d/%d): %s", + bus_number, device_address, libusb_error_name(r)); continue; } @@ -522,8 +523,9 @@ if (r < 0) { (void)libusb_close(dev_handle); - DEBUG_CRITICAL4("Can't set configuration on %d/%d: %d", - bus_number, device_address, r); + DEBUG_CRITICAL4("Can't set configuration on %d/%d: %s", + bus_number, device_address, + libusb_error_name(r)); continue; } } @@ -534,8 +536,8 @@ { #endif (void)libusb_close(dev_handle); - DEBUG_CRITICAL4("Can't get config descriptor on %d/%d: %d", - bus_number, device_address, r); + DEBUG_CRITICAL4("Can't get config descriptor on %d/%d: %s", + bus_number, device_address, libusb_error_name(r)); continue; } #ifdef __APPLE__ @@ -570,7 +572,7 @@ /* an interface was specified and it is not the * current one */ DEBUG_INFO3("Found interface %d but expecting %d", - interface_number, interface); + interface, interface_number); DEBUG_INFO3("Wrong interface for USB device %d/%d." " Checking next one.", bus_number, device_address); @@ -584,8 +586,8 @@ if (r < 0) { (void)libusb_close(dev_handle); - DEBUG_CRITICAL4("Can't claim interface %d/%d: %d", - bus_number, device_address, r); + DEBUG_CRITICAL4("Can't claim interface %d/%d: %s", + bus_number, device_address, libusb_error_name(r)); claim_failed = TRUE; interface_number = -1; continue; @@ -610,7 +612,7 @@ /* reset for a next reader */ if (static_interface > 2) - static_interface = 1; + static_interface = (FEITIANR502DUAL == readerID) ? 0: 1; #endif /* Get Endpoints values*/ @@ -696,6 +698,20 @@ end: if (usbDevice[reader_index].dev_handle == NULL) { + /* free the libusb allocated list & devices */ + libusb_free_device_list(devs, 1); + +#ifdef __APPLE__ + /* give some time to libusb to detect the new USB devices on Mac OS X */ + if (count_libusb > 0) + { + count_libusb--; + DEBUG_INFO2("Wait after libusb: %d", count_libusb); + nanosleep(&sleep_time, NULL); + + goto again_libusb; + } +#endif close_libusb_if_needed(); if (claim_failed) return STATUS_COMM_ERROR; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ccid-1.4.20/src/ifdhandler.c new/ccid-1.4.21/src/ifdhandler.c --- old/ccid-1.4.20/src/ifdhandler.c 2015-04-10 20:30:23.000000000 +0200 +++ new/ccid-1.4.21/src/ifdhandler.c 2015-10-14 10:39:21.000000000 +0200 @@ -458,6 +458,9 @@ if ((GEMALTOPROXDU == readerID) || (GEMALTOPROXSU == readerID)) *Value = 2; + + if (FEITIANR502DUAL == readerID) + *Value = 3; } #endif DEBUG_INFO2("Reader supports %d slot(s)", *Value);