Update upstream source from tag 'upstream/1.4.33'

Update to upstream version '1.4.33'
with Debian dir 270d11e446
This commit is contained in:
Ludovic Rousseau 2020-06-25 20:37:10 +02:00
commit 5c29b94dec
18 changed files with 362 additions and 57 deletions

165
ChangeLog
View File

@ -1,4 +1,163 @@
commit 8f33a2ff60919f579ee17012e91f927491ef70be (HEAD -> master, tag: ccid-1.4.32, origin/master, origin/HEAD)
commit 4a0359f22ed0dc668d09459c2be97009e5669969 (HEAD -> master, tag: ccid-1.4.33, zotac/master, origin/master, origin/HEAD, github/master)
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Thu Jun 25 20:17:51 2020 +0200
Release 1.4.33
README.md | 11 +++++++++++
configure.ac | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
commit cf394e8cb34b20665d2966ca4e4af41f14e283de
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Thu Jun 25 20:09:31 2020 +0200
Add Swissbit Secure USB PU-50n SE/PE
readers/Swissbit_Secure_USB_PU-50n_SE-PE.txt | 53 ++++++++++++++++++++++++++++
readers/supported_readers.txt | 5 ++-
2 files changed, 57 insertions(+), 1 deletion(-)
commit e36702a474a853d1a398ae552486db7ece545593
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Thu Jun 18 09:44:25 2020 +0200
Add TOPPAN FORMS CO.,LTD TC63CUT021
readers/TOPPAN_FORMS_TC63CUT021.txt | 568 ++++++++++++++++++++++++++++++++++++
readers/supported_readers.txt | 5 +-
2 files changed, 572 insertions(+), 1 deletion(-)
commit c11a42753125a8de8a4746afcbb5b15426509416
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Mon Jun 15 15:35:24 2020 +0200
Add Genesys Logic CCID Card Reader (idProduct: 0x0771)
readers/Genesys_Logic_CCID_Card_Reader_0x0771.txt | 112 ++++++++++++++++++++++
readers/supported_readers.txt | 3 +-
2 files changed, 114 insertions(+), 1 deletion(-)
commit e782d48c44ac6f6c703f69d007cf26d5bdee06bd
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue May 26 17:10:33 2020 +0200
macOS: use --enable-oslog for macOS >= 10.12
Use the new logging mechanism for macOS >= 10.12 (Sierra).
MacOSX/configure | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
commit 5b9ac9c9e121111268bc36b9c0bc81bf5a451c02
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue May 26 17:04:36 2020 +0200
debug: add support of os_log(3) for macOS
macOS uses a new logging mechanism to replace systlog().
You can see the log traces using:
log stream --predicate 'process == "com.apple.ifdreader"'
or
log stream --predicate 'process == "com.apple.ifdreader"' --debug
src/ccid.c | 5 +++++
src/debug.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/debug.h | 31 +++++++++++++++++++++++++++++++
3 files changed, 93 insertions(+)
commit 63fc3fcaf9260ecd03e0a46828552f9da5805087
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue May 26 17:01:51 2020 +0200
configure: add --enable-oslog argument
Define USE_OS_LOG when --enable-oslog is used.
configure.ac | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
commit fd2511e53e53845011091b902a9df2e067f5ed7e
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Tue May 26 11:58:29 2020 +0200
towitoko: do not use "bool" type
Use an explicit "int" in the source code.
Compilation fails on macOS when <os/log.h> is used.
./towitoko/defines.h:52:28: error: cannot combine with previous 'int'
declaration specifier
typedef int bool;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include/stdbool.h:31:14: note:
expanded from macro 'bool'
^
In file included from ifdhandler.c:49:
In file included from ./towitoko/atr.h:26:
./towitoko/defines.h:52:1: warning: typedef requires a name
[-Wmissing-declarations]
typedef int bool;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/towitoko/atr.h | 2 +-
src/towitoko/defines.h | 4 ----
src/towitoko/pps.c | 4 ++--
3 files changed, 3 insertions(+), 7 deletions(-)
commit 4350da44df0c2735b13eaa8201501f50ebd992fd
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Sat May 16 16:53:38 2020 +0200
Update PCSC submodule to get Unicode support
PCSC | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit d8a7f95ff5719e151b862fe08cc9963553f6ca99
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Mon May 11 23:50:17 2020 +0200
Move CHERRY SECURE BOARD 1.0 in supported list
readers/supported_readers.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
commit 008f2c5b0dee0f22097acfba9e7ae3728fc3d680
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Wed Apr 29 15:18:10 2020 +0200
HID_OMNIKEY_5422.txt: updated CCID descriptor
readers/HID_OMNIKEY_5422.txt | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
commit c6e4c082b2e895be03c5d1a5e4fb7965d04ce997
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Fri Apr 24 11:50:50 2020 +0200
Fix typo in comment
examples/scardcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit a940d8994864e186ee7cc8ff01d8dac050af9f56
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Wed Apr 22 14:52:34 2020 +0200
Fix compiler warning
scardcontrol.c:851:27: warning: format %d expects argument of type int, but argument 2 has type DWORD {aka long unsigned int} [-Wformat=]
printf(" card response [%d bytes]:", length);
~^ ~~~~~~
%ld
examples/scardcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 8f33a2ff60919f579ee17012e91f927491ef70be (tag: ccid-1.4.32)
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Wed Apr 22 11:14:30 2020 +0200
@ -9,7 +168,7 @@ Date: Wed Apr 22 11:14:30 2020 +0200
ylwrap | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 6d5c45d826219ded210e0dcf0038ccb632b036a9 (zotac/master)
commit 6d5c45d826219ded210e0dcf0038ccb632b036a9
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
Date: Wed Apr 22 11:12:28 2020 +0200
@ -162,7 +321,7 @@ Date: Wed Apr 15 11:21:15 2020 +0200
src/ccid_usb.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
commit 4c8c809751211d35f4d417e1b086a554a79fd6e6 (github/master, usb)
commit 4c8c809751211d35f4d417e1b086a554a79fd6e6 (usb)
Author: Stephan Guilloux (home) <stephan.guilloux@crisalid.com>
Date: Tue Apr 14 13:19:45 2020 +0200

10
MacOSX/configure vendored
View File

@ -92,8 +92,14 @@ CONFIGURE_ARGS="--disable-dependency-tracking"
# Are we on a CryptoTokenKit system? (like Mac OS X 10.10 Yosemite)
if [ -d /System/Library/CryptoTokenKit ]
then
# so we use syslog(3) to log errors
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-syslog"
if [ 10012 -gt $MAC_VERSION ]
then
# use syslog(3) to logs for macOS < 10.12
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-syslog"
else
# use os_log(3) to logs for macOS >= 10.12
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-oslog"
fi
fi
# Check where to install the driver

View File

@ -673,7 +673,7 @@ don't mind loading a new driver for each reader then ignore @p Lun.
@param[out] Value Value of the desired data
This function is also called when the application uses the PC/SC
SCardGetAttrib() function. The list of supported tags is not limited.
SCardSetAttrib() function. The list of supported tags is not limited.
@return Error codes
@retval IFD_SUCCESS Successful (\ref IFD_SUCCESS)

View File

@ -187,7 +187,7 @@ typedef struct
uint8_t bEntryValidationCondition; /**< Conditions under which PIN entry should
* be considered complete */
uint8_t bNumberMessage; /**< Number of messages to display for PIN verification */
uint16_t wLangId; /**< Language for messages */
uint16_t wLangId; /**< Language for messages. https://docs.microsoft.com/en-us/windows/win32/intl/language-identifier-constants-and-strings */
uint8_t bMsgIndex; /**< Message index (should be 00) */
uint8_t bTeoPrologue[3]; /**< T=1 block prologue field to use (fill with 00) */
uint32_t ulDataLength; /**< length of Data to be sent to the ICC */
@ -224,7 +224,7 @@ typedef struct
uint8_t bEntryValidationCondition; /**< Conditions under which PIN entry should
* be considered complete */
uint8_t bNumberMessage; /**< Number of messages to display for PIN verification*/
uint16_t wLangId; /**< Language for messages */
uint16_t wLangId; /**< Language for messages. https://docs.microsoft.com/en-us/windows/win32/intl/language-identifier-constants-and-strings */
uint8_t bMsgIndex1; /**< index of 1st prompting message */
uint8_t bMsgIndex2; /**< index of 2d prompting message */
uint8_t bMsgIndex3; /**< index of 3d prompting message */

View File

@ -117,6 +117,17 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
History:
========
1.4.33 - 25 June 2020, Ludovic Rousseau
- Add support of
- Genesys Logic CCID Card Reader (idProduct: 0x0771)
- Swissbit Secure USB PU-50n SE/PE
- TOPPAN FORMS CO.,LTD TC63CUT021
- add --enable-oslog argument for macOS
use os_log(3) for macOS >= 10.12 (Sierra)
- Update PCSC submodule to get Unicode support
- Some minor improvements
1.4.32 - 22 April 2020, Ludovic Rousseau
- Add support of
- AF Care One (idProduct: 0xAFC0)

16
aclocal.m4 vendored
View File

@ -20,9 +20,9 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29)
dnl
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
@ -63,7 +63,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29])
[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
@ -174,11 +174,11 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
@ -195,7 +195,7 @@ installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full

View File

@ -127,6 +127,9 @@
/* composite device are seen as multi-slots */
#undef USE_COMPOSITE_AS_MULTISLOT
/* Use os_log(3) for debug */
#undef USE_OS_LOG
/* Use syslog(3) for debug */
#undef USE_SYSLOG

74
configure vendored
View File

@ -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.32.
# Generated by GNU Autoconf 2.69 for ccid 1.4.33.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ccid'
PACKAGE_TARNAME='ccid'
PACKAGE_VERSION='1.4.32'
PACKAGE_STRING='ccid 1.4.32'
PACKAGE_VERSION='1.4.33'
PACKAGE_STRING='ccid 1.4.33'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@ -807,6 +807,7 @@ enable_ccidtwindir
enable_serialconfdir
enable_pcsclite
enable_syslog
enable_oslog
enable_class
enable_embedded
enable_zlp
@ -1378,7 +1379,7 @@ if test "$ac_init_help" = "long"; then
# 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.32 to adapt to many kinds of systems.
\`configure' configures ccid 1.4.33 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1449,7 +1450,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ccid 1.4.32:";;
short | recursive ) echo "Configuration of ccid 1.4.33:";;
esac
cat <<\_ACEOF
@ -1486,7 +1487,10 @@ Optional Features:
directory containing serial drivers (default to
pcscd config)
--disable-pcsclite do not use pcsc-lite debug support
--enable-syslog use syslog instead of printf for debug (Yosemite)
--enable-syslog use syslog(3) instead of printf() for debug
(Yosemite 10.10)
--enable-oslog use os_log(3) instead of printf() for debug (Sierra
10.12)
--disable-class remove the CCIDCLASSDRIVER from Info.plist
--enable-embedded limit RAM and CPU ressources by disabling features
(log)
@ -1593,7 +1597,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
ccid configure 1.4.32
ccid configure 1.4.33
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -2012,7 +2016,7 @@ cat >config.log <<_ACEOF
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.32, which was
It was created by ccid $as_me 1.4.33, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2876,7 +2880,7 @@ fi
# Define the identity of the package.
PACKAGE='ccid'
VERSION='1.4.32'
VERSION='1.4.33'
cat >>confdefs.h <<_ACEOF
@ -4803,8 +4807,8 @@ if test -n "$PKG_CONFIG" && \
test $ac_status = 0; }; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCSC" >&5
$as_echo_n "checking for PCSC... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpcsclite >= $PCSC_NEEDED_VERSION" >&5
$as_echo_n "checking for libpcsclite >= $PCSC_NEEDED_VERSION... " >&6; }
if test -n "$PCSC_CFLAGS"; then
pkg_cv_PCSC_CFLAGS="$PCSC_CFLAGS"
@ -4844,7 +4848,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -4869,7 +4873,7 @@ $as_echo "$as_me: WARNING: install pcsc-lite $PCSC_NEEDED_VERSION or later" >&2;
fi
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if test -f /usr/local/lib/pkgconfig/libpcsclite.pc -a "x$PKG_CONFIG" != x ; then
@ -13095,8 +13099,8 @@ if test "x$use_libusb" != xno ; then
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5
$as_echo_n "checking for LIBUSB... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libusb-1.0 >= $LIBUSB_NEEDED_VERSION" >&5
$as_echo_n "checking for libusb-1.0 >= $LIBUSB_NEEDED_VERSION... " >&6; }
if test -n "$LIBUSB_CFLAGS"; then
pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS"
@ -13136,7 +13140,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -13157,8 +13161,8 @@ fi
$as_echo "$as_me: WARNING: install libusb $LIBUSB_NEEDED_VERSION or later" >&2;}
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5
$as_echo_n "checking for LIBUSB... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libusb-1.0" >&5
$as_echo_n "checking for libusb-1.0... " >&6; }
if test -n "$LIBUSB_CFLAGS"; then
pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS"
@ -13198,7 +13202,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -13225,7 +13229,7 @@ Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@ -13248,15 +13252,15 @@ $as_echo "yes" >&6; }
fi
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: install libusb $LIBUSB_NEEDED_VERSION or later" >&5
$as_echo "$as_me: WARNING: install libusb $LIBUSB_NEEDED_VERSION or later" >&2;}
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5
$as_echo_n "checking for LIBUSB... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libusb-1.0" >&5
$as_echo_n "checking for libusb-1.0... " >&6; }
if test -n "$LIBUSB_CFLAGS"; then
pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS"
@ -13296,7 +13300,7 @@ fi
if test $pkg_failed = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -13323,7 +13327,7 @@ Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details." "$LINENO" 5
elif test $pkg_failed = untried; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
@ -14019,6 +14023,21 @@ $as_echo "#define USE_SYSLOG 1" >>confdefs.h
fi
# --enable-oslog
# Check whether --enable-oslog was given.
if test "${enable_oslog+set}" = set; then :
enableval=$enable_oslog; use_oslog="${enableval}"
else
use_oslog=no
fi
if test x$use_oslog = xyes; then
$as_echo "#define USE_OS_LOG 1" >>confdefs.h
fi
# --disable-class
# Check whether --enable-class was given.
@ -14160,6 +14179,7 @@ serial twin install dir: ${ccidtwindir}
serial config directory: ${serialconfdir}
compiled for pcsc-lite: ${pcsclite}
syslog debug: ${use_syslog}
os_log debug: ${use_oslog}
class driver: ${class}
EOF
@ -14714,7 +14734,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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.32, which was
This file was extended by ccid $as_me 1.4.33, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -14780,7 +14800,7 @@ _ACEOF
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.32
ccid config.status 1.4.33
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -4,7 +4,7 @@
# Require autoconf 2.61
AC_PREREQ([2.69])
AC_INIT([ccid],[1.4.32])
AC_INIT([ccid],[1.4.33])
AC_CONFIG_SRCDIR(src/ifdhandler.c)
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip subdir-objects foreign)
@ -239,13 +239,22 @@ AM_CONDITIONAL(WITHOUT_PCSC, test "${pcsclite}" != "yes")
# --enable-syslog
AC_ARG_ENABLE(syslog,
AS_HELP_STRING([--enable-syslog],[use syslog instead of printf for debug (Yosemite)]),
AS_HELP_STRING([--enable-syslog],[use syslog(3) instead of printf() for debug (Yosemite 10.10)]),
[ use_syslog="${enableval}" ], [ use_syslog=no ] )
if test x$use_syslog = xyes; then
AC_DEFINE(USE_SYSLOG, 1, [Use syslog(3) for debug])
fi
# --enable-oslog
AC_ARG_ENABLE(oslog,
AS_HELP_STRING([--enable-oslog],[use os_log(3) instead of printf() for debug (Sierra 10.12)]),
[ use_oslog="${enableval}" ], [ use_oslog=no ] )
if test x$use_oslog = xyes; then
AC_DEFINE(USE_OS_LOG, 1, [Use os_log(3) for debug])
fi
# --disable-class
AC_ARG_ENABLE(class,
@ -321,6 +330,7 @@ serial twin install dir: ${ccidtwindir}
serial config directory: ${serialconfdir}
compiled for pcsc-lite: ${pcsclite}
syslog debug: ${use_syslog}
os_log debug: ${use_oslog}
class driver: ${class}
EOF

View File

@ -251,7 +251,7 @@ int main(int argc, char *argv[])
/* table for bEntryValidationCondition
* 0x01: Max size reached
* 0x02: Validation key pressed
* 0x04: Timeout occured
* 0x04: Timeout occurred
*/
int bEntryValidationCondition = 7;
@ -848,7 +848,7 @@ int main(int argc, char *argv[])
error = TRUE;
printf(error ? RED : GREEN);
printf(" card response [%d bytes]:", length);
printf(" card response [%"LF"d bytes]:", length);
for (i=0; i<length; i++)
printf(" %02X", bRecvBuffer[i]);
printf(": %s", pinpad_return_codes(length, bRecvBuffer));

View File

@ -1,6 +1,6 @@
#
# List of readers supported by the CCID driver
# Generated: 2020-03-31
# Generated: 2020-06-25
#
# DO NOT EDIT BY HAND
@ -36,6 +36,7 @@
0x046A:0x0010:Cherry GmbH SmartBoard XX44
0x046A:0x002D:Cherry GmbH SmartTerminal XX44
0x046A:0x003E:Cherry GmbH SmartTerminal ST-2xxx
0x046A:0x01A2:Cherry GmbH CHERRY SECURE BOARD 1.0
# COVADIS
0x0982:0x0007:COVADIS ALYA
@ -287,7 +288,6 @@
0x046A:0x005B:Cherry GmbH SmartBoard XX1X
0x046A:0x0070:Cherry GmbH SmartTerminal XX1X
0x046A:0x0072:Cherry GmbH SmartTerminal ST-1275
0x046A:0x01A2:Cherry GmbH CHERRY SECURE BOARD 1.0
# Chicony
0x04F2:0x0967:Chicony USB Smart Card Keyboard
@ -392,6 +392,7 @@
# Genesys Logic
0x05E3:0x0757:Genesys Logic CCID Card Reader
0x05E3:0x0758:Genesys Logic Combo Card Reader
0x05E3:0x0771:Genesys Logic CCID Card Reader
# German Privacy Foundation
0x20A0:0x4107:German Privacy Foundation Crypto Stick v1.2
@ -714,6 +715,9 @@
0x08DF:0x3117:Spyrus Inc WorkSafe Pro
0x08DF:0x3201:Spyrus Inc PocketVault P-3X
# Swissbit
0x1370:0x0901:Swissbit Secure USB PU-50n SE/PE
# SYNNIX
0x1206:0x2105:SYNNIX STD200
@ -735,6 +739,9 @@
0x0B0C:0x0050:Todos Argos Mini II
0x0B0C:0x0052:Todos CX00
# TOPPAN FORMS CO.,LTD
0x23EB:0x0003:TOPPAN FORMS CO.,LTD TC63CUT021
# ubisys
0x19A6:0x0009:ubisys 13.56MHz RFID (CCID)

View File

@ -698,8 +698,13 @@ void ccid_error(int log_level, int error, const char *file, int line,
text = var_text;
break;
}
#ifdef USE_OS_LOG
(log_level);
os_log_error(OS_LOG_DEFAULT, "%s:%d:%s %s", file, line, function, text);
#else
log_msg(log_level, "%s:%d:%s %s", file, line, function, text);
#endif
#endif
} /* ccid_error */

View File

@ -41,6 +41,60 @@
#define LOG_STREAM stdout
#endif
#ifdef USE_OS_LOG
void log_msg(const int priority, const char *fmt, ...)
{
char debug_buffer[3 * 80]; /* up to 3 lines of 80 characters */
va_list argptr;
int os_log_type;
switch(priority)
{
case PCSC_LOG_CRITICAL:
os_log_type = OS_LOG_TYPE_FAULT;
break;
case PCSC_LOG_ERROR:
os_log_type = OS_LOG_TYPE_ERROR;
break;
case PCSC_LOG_INFO:
os_log_type = OS_LOG_TYPE_INFO;
break;
default:
os_log_type = OS_LOG_TYPE_DEBUG;
}
va_start(argptr, fmt);
(void)vsnprintf(debug_buffer, sizeof debug_buffer, fmt, argptr);
va_end(argptr);
os_log_with_type(OS_LOG_DEFAULT, os_log_type, "%s", debug_buffer);
} /* log_msg */
void log_xxd(const int priority, const char *msg, const unsigned char *buffer,
const int len)
{
int i;
char *c, debug_buffer[len*3 + strlen(msg) +1];
size_t l;
(void)priority;
l = strlcpy(debug_buffer, msg, sizeof debug_buffer);
c = debug_buffer + l;
for (i = 0; i < len; ++i)
{
/* 2 hex characters, 1 space, 1 NUL : total 4 characters */
(void)snprintf(c, 4, "%02X ", buffer[i]);
c += 3;
}
os_log(OS_LOG_DEFAULT, "%s", debug_buffer);
} /* log_xxd */
#else
void log_msg(const int priority, const char *fmt, ...)
{
char debug_buffer[3 * 80]; /* up to 3 lines of 80 characters */
@ -181,3 +235,6 @@ void log_xxd(const int priority, const char *msg, const unsigned char *buffer,
fflush(LOG_STREAM);
#endif
} /* log_xxd */
#endif

View File

@ -49,6 +49,35 @@ extern int LogLevel;
#include <debuglog.h> /* from pcsc-lite */
#ifdef USE_OS_LOG
#include <os/log.h>
#define DEBUG_CRITICAL(fmt) os_log_fault(OS_LOG_DEFAULT, fmt)
#define DEBUG_CRITICAL2(fmt, data1) os_log_fault(OS_LOG_DEFAULT, fmt, data1)
#define DEBUG_CRITICAL3(fmt, data1, data2) os_log_fault(OS_LOG_DEFAULT, fmt, data1, data2)
#define DEBUG_CRITICAL4(fmt, data1, data2, data3) os_log_fault(OS_LOG_DEFAULT, fmt, data1, data2, data3)
#define DEBUG_CRITICAL5(fmt, data1, data2, data3, data4) os_log_fault(OS_LOG_DEFAULT, fmt, data1, data2, data3, data4)
#define DEBUG_INFO1(fmt) os_log_info(OS_LOG_DEFAULT, fmt)
#define DEBUG_INFO2(fmt, data1) os_log_info(OS_LOG_DEFAULT, fmt, data1)
#define DEBUG_INFO3(fmt, data1, data2) os_log_info(OS_LOG_DEFAULT, fmt, data1, data2)
#define DEBUG_INFO4(fmt, data1, data2, data3) os_log_info(OS_LOG_DEFAULT, fmt, data1, data2, data3)
#define DEBUG_INFO5(fmt, data1, data2, data3, data4) os_log_info(OS_LOG_DEFAULT, fmt, data1, data2, data3, data4)
#define DEBUG_PERIODIC(fmt) os_log_debug(OS_LOG_DEFAULT, fmt)
#define DEBUG_PERIODIC2(fmt, data1) os_log_debug(OS_LOG_DEFAULT, fmt, data1)
#define DEBUG_PERIODIC3(fmt, data1, data2) os_log_debug(OS_LOG_DEFAULT, fmt, data1, data2)
#define DEBUG_COMM(fmt) os_log_info(OS_LOG_DEFAULT, fmt)
#define DEBUG_COMM2(fmt, data1) os_log_info(OS_LOG_DEFAULT, fmt, data1)
#define DEBUG_COMM3(fmt, data1, data2) os_log_info(OS_LOG_DEFAULT, fmt, data1, data2)
#define DEBUG_COMM4(fmt, data1, data2, data3) os_log_info(OS_LOG_DEFAULT, fmt, data1, data2, data3)
#define DEBUG_INFO_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_INFO) log_xxd(PCSC_LOG_INFO, msg, buffer, size)
#define DEBUG_XXD(msg, buffer, size) if (LogLevel & DEBUG_LEVEL_COMM) log_xxd(PCSC_LOG_DEBUG, msg, buffer, size)
#else
/* DEBUG_CRITICAL */
#define DEBUG_CRITICAL(fmt) if (LogLevel & DEBUG_LEVEL_CRITICAL) Log1(PCSC_LOG_CRITICAL, fmt)
@ -94,3 +123,5 @@ extern int LogLevel;
#endif
#endif

View File

@ -72,7 +72,7 @@ static list_t *ListValues;
"\n" {}
\<key\>([A-Z]|[a-z]|[0-9]|[ \t])+\<\/key\> { eval_key(yytext, ListKeys); }
[ \t] {}
\<string\>([A-Z]|[a-z]|[0-9]|[ \t]|[!@#$%^&*()\-+/_\:?.,=~'";\[\]])+\<\/string\> { eval_value(yytext, ListValues); }
\<string\>.+\<\/string\> { eval_value(yytext, ListValues); }
. { tperrorCheck(yytext); }
%%

View File

@ -82,7 +82,7 @@ typedef struct
struct
{
BYTE value;
bool present;
int present;
}
ib[ATR_MAX_PROTOCOLS][ATR_MAX_IB], TCK;
unsigned pn;

View File

@ -48,9 +48,5 @@
#include <wintypes.h>
#ifndef __cplusplus
typedef int bool;
#endif
#endif /* DEFINES_H */

View File

@ -38,7 +38,7 @@
* Not exported funtions declaration
*/
static bool PPS_Match (BYTE * request, unsigned len_request, BYTE * reply, unsigned len_reply);
static int PPS_Match (BYTE * request, unsigned len_request, BYTE * reply, unsigned len_reply);
static unsigned PPS_GetLength (BYTE * block);
@ -86,7 +86,7 @@ PPS_Exchange (int lun, BYTE * params, unsigned *length, unsigned char *pps1)
return ret;
}
static bool
static int
PPS_Match (BYTE * request, unsigned len_request, BYTE * confirm, unsigned len_confirm)
{
/* See if the reply differs from request */