Hello community, here is the log from the commit of package pcsc-lite for openSUSE:Factory checked in at 2017-06-21 13:49:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pcsc-lite (Old) and /work/SRC/openSUSE:Factory/.pcsc-lite.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pcsc-lite" Wed Jun 21 13:49:45 2017 rev:74 rq:504418 version:1.8.22 Changes: -------- --- /work/SRC/openSUSE:Factory/pcsc-lite/pcsc-lite.changes 2017-06-01 16:28:15.564983359 +0200 +++ /work/SRC/openSUSE:Factory/.pcsc-lite.new/pcsc-lite.changes 2017-06-21 13:49:46.954077530 +0200 @@ -1,0 +2,7 @@ +Sat Jun 17 20:52:24 UTC 2017 - [email protected] + +- Updated to version 1.8.22 + * SCardCancel() was broken in 1.8.21. The call was blocking. + * Enable use of info level logging for pcscd using -i/--info + +------------------------------------------------------------------- Old: ---- pcsc-lite-1.8.21.tar.bz2 pcsc-lite-1.8.21.tar.bz2.asc New: ---- pcsc-lite-1.8.22.tar.bz2 pcsc-lite-1.8.22.tar.bz2.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pcsc-lite.spec ++++++ --- /var/tmp/diff_new_pack.4gZ8Bk/_old 2017-06-21 13:49:47.721969210 +0200 +++ /var/tmp/diff_new_pack.4gZ8Bk/_new 2017-06-21 13:49:47.725968646 +0200 @@ -21,7 +21,7 @@ %define USER scard %define GROUP scard Name: pcsc-lite -Version: 1.8.21 +Version: 1.8.22 Release: 0 Summary: PCSC Smart Cards Library License: BSD-3-Clause ++++++ pcsc-lite-1.8.21.tar.bz2 -> pcsc-lite-1.8.22.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/ChangeLog new/pcsc-lite-1.8.22/ChangeLog --- old/pcsc-lite-1.8.21/ChangeLog 2017-05-20 17:18:21.000000000 +0200 +++ new/pcsc-lite-1.8.22/ChangeLog 2017-06-17 10:03:36.000000000 +0200 @@ -1,3 +1,9 @@ +1.8.22: Ludovic Rousseau +17 June 2017 +- SCardCancel() was broken in 1.8.21. The call was bloking. +- Enable use of info level logging for pcscd using -i/--info + + 1.8.21: Ludovic Rousseau 20 May 2017 - SCardCancel(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/ChangeLog.git new/pcsc-lite-1.8.22/ChangeLog.git --- old/pcsc-lite-1.8.21/ChangeLog.git 2017-05-20 17:23:56.000000000 +0200 +++ new/pcsc-lite-1.8.22/ChangeLog.git 2017-06-17 10:08:07.000000000 +0200 @@ -1,4 +1,89 @@ -commit f47cccffcb534a7bd3528790d55d7ce5a71d70de (HEAD -> master, tag: pcsc-1.8.21, origin/master, origin/HEAD, github/master) +commit 696023944649e0c52802e20994fb78d6b24d4efd (HEAD -> master, tag: pcsc-1.8.22, zotac/master, origin/master, origin/HEAD, github/master) +Author: Ludovic Rousseau <[email protected]> +Date: Sat Jun 17 08:56:54 2017 +0200 + + Release 1.8.22 + + Signed-off-by: Ludovic Rousseau <[email protected]> + + ChangeLog | 6 ++++++ + configure.ac | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +commit 7307cc4a80f887ef59487d7b8edf104fb56f13ca +Author: Ludovic Rousseau <[email protected]> +Date: Thu Jun 15 14:50:28 2017 +0200 + + UnitaryTests/SCardCancel.c: test for SCardCancel + + Check that the fix in 81d52b98d84be900c6a6532d10d1fe88eac092cf works as + expected. + + UnitaryTests/Makefile | 1 + + UnitaryTests/SCardCancel.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 89 insertions(+) + +commit 7a3738d2f8e48c669b0e3f485cb9dcabeffc941a +Author: Ludovic Rousseau <[email protected]> +Date: Thu Jun 15 14:45:48 2017 +0200 + + fix SCardCancel() that was broken in version 1.8.21 + + Changes in 9a21c82330fc4b73ac00faf2c5cf948da5f8ab07 broke + SCardCancel(). + The problem was that SCardCancel() was blocked until + SCardGetStatusChange() had finished. This is stupid because + SCardCancel() is supposed to cancel SCardGetStatusChange(). + + Thanks to Ran Benita for the bug report + "[Pcsclite-muscle] A recent change causes SCardCancel() to block?" + http://lists.alioth.debian.org/pipermail/pcsclite-muscle/2017-June/000921.html + + src/winscard_clnt.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 88a53f3ed21aa645e7c65661162f832a053fb9de +Author: Ludovic Rousseau <[email protected]> +Date: Fri Jun 9 09:58:52 2017 +0200 + + RFAddReader: more correctly detect duplicate readers + + To detect a duplicate reader, checking the reader name and port is, + sometimes, not enough. + + The problem was when two readers are removed and re-inserted immediately. + One of the 2 readers may not yet be completely removed (from pcscd point + of view) when it is asked to insert it again. + + Fixes #20 + "Reader not detected when disconnecting / connecting usb hub" + https://github.com/LudovicRousseau/PCSC/issues/20 + + src/readerfactory.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +commit 251771ad2c6278f460a995fb07ee02281930f987 +Author: Ludovic Rousseau <[email protected]> +Date: Tue Jun 6 17:53:52 2017 +0200 + + DebugLogSetLevel: PCSC_LOG_INFO is "info" + + Level name "notice" was used for PCSC_LOG_INFO. We now use the label + "info". + + src/debuglog.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit fa313f5442e78d312e18e025906a0ab43aa27a5e +Author: Maximilian Stein <[email protected]> +Date: Wed May 3 15:29:45 2017 +0200 + + Enable info level logging + + src/pcscdaemon.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +commit f47cccffcb534a7bd3528790d55d7ce5a71d70de (tag: pcsc-1.8.21) Author: Ludovic Rousseau <[email protected]> Date: Sat May 20 17:11:50 2017 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/configure new/pcsc-lite-1.8.22/configure --- old/pcsc-lite-1.8.21/configure 2017-05-20 17:18:38.000000000 +0200 +++ new/pcsc-lite-1.8.22/configure 2017-06-17 10:07:28.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pcsc-lite 1.8.21. +# Generated by GNU Autoconf 2.69 for pcsc-lite 1.8.22. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='pcsc-lite' PACKAGE_TARNAME='pcsc-lite' -PACKAGE_VERSION='1.8.21' -PACKAGE_STRING='pcsc-lite 1.8.21' +PACKAGE_VERSION='1.8.22' +PACKAGE_STRING='pcsc-lite 1.8.22' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1387,7 +1387,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 pcsc-lite 1.8.21 to adapt to many kinds of systems. +\`configure' configures pcsc-lite 1.8.22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1458,7 +1458,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pcsc-lite 1.8.21:";; + short | recursive ) echo "Configuration of pcsc-lite 1.8.22:";; esac cat <<\_ACEOF @@ -1605,7 +1605,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pcsc-lite configure 1.8.21 +pcsc-lite configure 1.8.22 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2081,7 +2081,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pcsc-lite $as_me 1.8.21, which was +It was created by pcsc-lite $as_me 1.8.22, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2945,7 +2945,7 @@ # Define the identity of the package. PACKAGE='pcsc-lite' - VERSION='1.8.21' + VERSION='1.8.22' cat >>confdefs.h <<_ACEOF @@ -16075,7 +16075,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pcsc-lite $as_me 1.8.21, which was +This file was extended by pcsc-lite $as_me 1.8.22, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16141,7 +16141,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pcsc-lite config.status 1.8.21 +pcsc-lite config.status 1.8.22 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/pcsc-lite-1.8.21/configure.ac new/pcsc-lite-1.8.22/configure.ac --- old/pcsc-lite-1.8.21/configure.ac 2017-05-20 17:18:21.000000000 +0200 +++ new/pcsc-lite-1.8.22/configure.ac 2017-06-17 10:03:36.000000000 +0200 @@ -3,7 +3,7 @@ AC_PREREQ([2.69]) -AC_INIT([pcsc-lite],[1.8.21]) +AC_INIT([pcsc-lite],[1.8.22]) AC_CONFIG_SRCDIR(src/pcscdaemon.c) AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/PCSC/pcsclite.h new/pcsc-lite-1.8.22/src/PCSC/pcsclite.h --- old/pcsc-lite-1.8.21/src/PCSC/pcsclite.h 2017-05-20 17:18:48.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/PCSC/pcsclite.h 2017-06-17 10:07:51.000000000 +0200 @@ -279,7 +279,7 @@ #define INFINITE 0xFFFFFFFF /**< Infinite timeout */ #endif -#define PCSCLITE_VERSION_NUMBER "1.8.21" /**< Current version */ +#define PCSCLITE_VERSION_NUMBER "1.8.22" /**< Current version */ /** Maximum readers context (a slot is count as a reader) */ #define PCSCLITE_MAX_READERS_CONTEXTS 16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/debuglog.c new/pcsc-lite-1.8.22/src/debuglog.c --- old/pcsc-lite-1.8.21/src/debuglog.c 2017-05-18 18:51:51.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/debuglog.c 2017-06-17 08:53:18.000000000 +0200 @@ -282,7 +282,7 @@ break; case PCSC_LOG_INFO: - Log1(PCSC_LOG_INFO, "debug level=notice"); + Log1(PCSC_LOG_INFO, "debug level=info"); break; case PCSC_LOG_DEBUG: @@ -291,7 +291,7 @@ default: LogLevel = PCSC_LOG_INFO; - Log2(PCSC_LOG_CRITICAL, "unknown level (%d), using level=notice", + Log2(PCSC_LOG_CRITICAL, "unknown level (%d), using level=info", level); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/pcscd.h new/pcsc-lite-1.8.22/src/pcscd.h --- old/pcsc-lite-1.8.21/src/pcscd.h 2017-05-20 17:18:48.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/pcscd.h 2017-06-17 10:07:51.000000000 +0200 @@ -49,7 +49,7 @@ #define PCSCLITE_CSOCK_NAME PCSCLITE_IPC_DIR "/pcscd.comm" -#define PCSCLITE_VERSION_NUMBER "1.8.21" /**< Current version */ +#define PCSCLITE_VERSION_NUMBER "1.8.22" /**< Current version */ #define PCSCLITE_STATUS_POLL_RATE 400000 /**< Status polling rate */ #define PCSCLITE_LOCK_POLL_RATE 100000 /**< Lock polling rate */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/pcscdaemon.c new/pcsc-lite-1.8.22/src/pcscdaemon.c --- old/pcsc-lite-1.8.21/src/pcscdaemon.c 2017-05-18 18:51:51.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/pcscdaemon.c 2017-06-17 08:53:18.000000000 +0200 @@ -274,7 +274,7 @@ {"version", 0, NULL, 'v'}, {"apdu", 0, NULL, 'a'}, {"debug", 0, NULL, 'd'}, - {"info", 0, NULL, 0}, + {"info", 0, NULL, 'i'}, {"error", 0, NULL, 'e'}, {"critical", 0, NULL, 'C'}, {"hotplug", 0, NULL, 'H'}, @@ -288,7 +288,7 @@ {NULL, 0, NULL, 0} }; #endif -#define OPT_STRING "c:fTdhvaeCHt:r:s:xSI" +#define OPT_STRING "c:fTdhvaieCHt:r:s:xSI" newReaderConfig = NULL; setToForeground = FALSE; @@ -354,6 +354,10 @@ DebugLogSetLevel(PCSC_LOG_DEBUG); break; + case 'i': + DebugLogSetLevel(PCSC_LOG_INFO); + break; + case 'e': DebugLogSetLevel(PCSC_LOG_ERROR); break; @@ -846,7 +850,7 @@ printf(" -H, --hotplug ask the daemon to rescan the available readers\n"); printf(" -v, --version display the program version number\n"); printf(" -d, --debug display lower level debug messages\n"); - printf(" --info display info level debug messages\n"); + printf(" -i, --info display info level debug messages\n"); printf(" -e --error display error level debug messages (default level)\n"); printf(" -C --critical display critical only level debug messages\n"); printf(" --force-reader-polling ignore the IFD_GENERATE_HOTPLUG reader capability\n"); @@ -862,6 +866,7 @@ printf(" -f run in foreground (no daemon), send logs to stdout instead of syslog\n"); printf(" -T force use of colored logs\n"); printf(" -d display debug messages.\n"); + printf(" -i display info messages.\n"); printf(" -e display error messages (default level).\n"); printf(" -C display critical messages.\n"); printf(" -h display usage information\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/readerfactory.c new/pcsc-lite-1.8.22/src/readerfactory.c --- old/pcsc-lite-1.8.21/src/readerfactory.c 2017-05-18 18:51:51.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/readerfactory.c 2017-06-17 08:53:18.000000000 +0200 @@ -223,7 +223,7 @@ readerName[MAX_READERNAME - sizeof(" 00 00")] = '\0'; } - /* Same name, same port - duplicate reader cannot be used */ + /* Same name, same port, same device - duplicate reader cannot be used */ if (dwNumReadersContexts != 0) { for (i = 0; i < PCSCLITE_MAX_READERS_CONTEXTS; i++) @@ -240,8 +240,9 @@ tmplen = strlen(lpcStripReader); lpcStripReader[tmplen - 6] = 0; - if ((strcmp(readerName, lpcStripReader) == 0) && - (port == sReadersContexts[i]->port)) + if ((strcmp(readerName, lpcStripReader) == 0) + && (port == sReadersContexts[i]->port) + && (strcmp(device, sReadersContexts[i]->device) == 0)) { Log1(PCSC_LOG_ERROR, "Duplicate reader found."); return SCARD_E_DUPLICATE_READER; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pcsc-lite-1.8.21/src/winscard_clnt.c new/pcsc-lite-1.8.22/src/winscard_clnt.c --- old/pcsc-lite-1.8.21/src/winscard_clnt.c 2017-05-18 18:51:51.000000000 +0200 +++ new/pcsc-lite-1.8.22/src/winscard_clnt.c 2017-06-17 08:53:18.000000000 +0200 @@ -3118,15 +3118,17 @@ /* * Make sure this context has been opened */ - currentContextMap = SCardGetAndLockContext(hContext); + (void)SCardLockThread(); + currentContextMap = SCardGetContextTH(hContext); + if (NULL == currentContextMap) { + (void)SCardUnlockThread(); rv = SCARD_E_INVALID_HANDLE; goto error; } - cancellable = currentContextMap->cancellable; - (void)pthread_mutex_unlock(¤tContextMap->mMutex); + (void)SCardUnlockThread(); if (! cancellable) {
