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(&currentContextMap->mMutex);
+       (void)SCardUnlockThread();
 
        if (! cancellable)
        {


Reply via email to