Print warning for missing pcsc-wrapper
authorWerner Koch <wk@gnupg.org>
Tue, 6 Dec 2005 16:44:20 +0000 (16:44 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 6 Dec 2005 16:44:20 +0000 (16:44 +0000)
scd/ChangeLog
scd/apdu.c

index 008d840..64c3bdc 100644 (file)
@@ -1,3 +1,8 @@
+2005-12-06  Werner Koch  <wk@g10code.com>
+
+       * apdu.c (open_pcsc_reader): Check that pcsc-wrapper is actually
+       installed.
+
 2005-11-23  Werner Koch  <wk@g10code.com>
 
        * app-nks.c (verify_pin): Give a special error message for a Nullpin.
index f59d832..5a5f18b 100644 (file)
@@ -1328,6 +1328,14 @@ open_pcsc_reader (const char *portstr)
   int err;
   unsigned int dummy_status;
   int sw = SW_HOST_CARD_IO_ERROR;
+  const char *wrapperpgm = GNUPG_LIBDIR "/pcsc-wrapper";
+
+  if (access (wrapperpgm, X_OK))
+    {
+      log_error ("can't run PC/SC access module `%s': %s\n",
+                 wrapperpgm, strerror (errno));
+      return -1;
+    }
 
   slot = new_reader_slot ();
   if (slot == -1)
@@ -1400,7 +1408,7 @@ open_pcsc_reader (const char *portstr)
         close(i);
       errno = 0;
 
-      execl (GNUPG_LIBDIR "/pcsc-wrapper",
+      execl (wrapperpgm,
              "pcsc-wrapper",
              "--",
              "1", /* API version */