[git] GnuPG - branch, master, updated. gnupg-2.1.10-17-gd1a9758

by Daniel Hoffend cvs at cvs.gnupg.org
Fri Dec 11 01:04:15 CET 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  d1a97585c5e73fbc7d4cf90e38f76ffc5aea305f (commit)
      from  1c8eae95a8b3b89bc0f49cb5f4938101634583dc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d1a97585c5e73fbc7d4cf90e38f76ffc5aea305f
Author: Daniel Hoffend <dh at dotlan.net>
Date:   Mon Dec 7 00:13:59 2015 +0100

    scd: Fix removal of unplugged usb readers on Windows.
    
    * scd/apdu.c (pcsc_error_to_sw): map PCSC_E_NO_SERVICE and
    PCSC_E_SERVICE_STOPPED to the internal SW_HOST_NO_READER error code.
    
    --
    
    Signed-off-by: Daniel Hoffend <dh at dotlan.net>
    GnuPG-bug-id: 2167
    
    In Windows 8 (and later), PC/SC service only runs when reader/token is
    plugged in.  After its removal, it returns PCSC_E_NO_SERVICE error.
    This error should be handled as no reader.  This comment is by gniibe.

diff --git a/scd/apdu.c b/scd/apdu.c
index 95a2561..268a2c6 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -244,6 +244,7 @@ static char (* DLSTDCALL CT_close) (unsigned short ctn);
 #define PCSC_E_NOT_TRANSACTED          0x80100016
 #define PCSC_E_READER_UNAVAILABLE      0x80100017
 #define PCSC_E_NO_SERVICE              0x8010001D
+#define PCSC_E_SERVICE_STOPPED         0x8010001E
 #define PCSC_W_REMOVED_CARD            0x80100069
 
 /* Fix pcsc-lite ABI incompatibilty.  */
@@ -907,6 +908,8 @@ pcsc_error_to_sw (long ec)
     case PCSC_E_CANCELLED:           rc = SW_HOST_ABORTED; break;
     case PCSC_E_NO_MEMORY:           rc = SW_HOST_OUT_OF_CORE; break;
     case PCSC_E_TIMEOUT:             rc = SW_HOST_CARD_IO_ERROR; break;
+    case PCSC_E_NO_SERVICE:
+    case PCSC_E_SERVICE_STOPPED:
     case PCSC_E_UNKNOWN_READER:      rc = SW_HOST_NO_READER; break;
     case PCSC_E_SHARING_VIOLATION:   rc = SW_HOST_LOCKING_FAILED; break;
     case PCSC_E_NO_SMARTCARD:        rc = SW_HOST_NO_CARD; break;

-----------------------------------------------------------------------

Summary of changes:
 scd/apdu.c | 3 +++
 1 file changed, 3 insertions(+)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list