aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/apdu.c5
-rw-r--r--g10/cardglue.c10
-rw-r--r--g10/ccid-driver.c4
-rw-r--r--g10/g10.c8
5 files changed, 27 insertions, 7 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index a0f6aba34..b2f0c2629 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,10 @@
+2003-10-25 Werner Koch <[email protected]>
+
+ * g10.c (main) [ENABLE_CARD_SUPPORT]: Add a default for
+ --pcsc-driver.
+
+ * cardglue.c (learn_status_cb): Fixed faulty use of !space.
+
2003-10-24 Werner Koch <[email protected]>
* apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
diff --git a/g10/apdu.c b/g10/apdu.c
index f3e332b06..f561677e7 100644
--- a/g10/apdu.c
+++ b/g10/apdu.c
@@ -298,7 +298,8 @@ ct_activate_card (int reader)
{
log_error ("ct_activate_card(%d): activation failed: %s\n",
reader, ct_error_string (rc));
- log_printhex ("buffer:", buf, buflen);
+ if (!rc)
+ log_printhex (" received data:", buf, buflen);
return -1;
}
@@ -972,7 +973,7 @@ apdu_open_reader (const char *portstr)
pcsc_disconnect = dlsym (handle, "SCardDisconnect");
pcsc_status = dlsym (handle, "SCardStatus");
#ifdef _WIN32
- if (pcsc_status)
+ if (!pcsc_status)
pcsc_status = dlsym (handle, "SCardStatusA");
#endif
pcsc_begin_transaction = dlsym (handle, "SCardBeginTransaction");
diff --git a/g10/cardglue.c b/g10/cardglue.c
index b258e390f..3173248cb 100644
--- a/g10/cardglue.c
+++ b/g10/cardglue.c
@@ -413,14 +413,14 @@ learn_status_cb (void *opaque, const char *line)
while (spacep (p))
p++;
parm->chv1_cached = atoi (p);
- while (!spacep (p))
+ while (*p && !spacep (p))
p++;
while (spacep (p))
p++;
for (i=0; *p && i < 3; i++)
{
parm->chvmaxlen[i] = atoi (p);
- while (!spacep (p))
+ while (*p && !spacep (p))
p++;
while (spacep (p))
p++;
@@ -428,7 +428,7 @@ learn_status_cb (void *opaque, const char *line)
for (i=0; *p && i < 3; i++)
{
parm->chvretry[i] = atoi (p);
- while (!spacep (p))
+ while (*p && !spacep (p))
p++;
while (spacep (p))
p++;
@@ -439,7 +439,7 @@ learn_status_cb (void *opaque, const char *line)
else if (keywordlen == 7 && !memcmp (keyword, "KEY-FPR", keywordlen))
{
int no = atoi (line);
- while (!spacep (line))
+ while (* line && !spacep (line))
line++;
while (spacep (line))
line++;
@@ -568,7 +568,7 @@ genkey_status_cb (void *opaque, const char *line)
const char *name = line;
char *buf;
- while (!spacep (line))
+ while (*line && !spacep (line))
line++;
while (spacep (line))
line++;
diff --git a/g10/ccid-driver.c b/g10/ccid-driver.c
index f14600cc2..8868a2cfc 100644
--- a/g10/ccid-driver.c
+++ b/g10/ccid-driver.c
@@ -880,6 +880,10 @@ ccid_transceive (ccid_driver_t handle,
if (rc)
return rc;
+ /* Fixme: The next line for the current Valgrid without support
+ for USB IOCTLs. */
+ memset (recv_buffer, 0, sizeof recv_buffer);
+
msg = recv_buffer;
rc = bulk_in (handle, msg, sizeof recv_buffer, &msglen,
RDR_to_PC_DataBlock, seqno);
diff --git a/g10/g10.c b/g10/g10.c
index b63987989..0f6003565 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -1218,6 +1218,14 @@ main( int argc, char **argv )
if( !*opt.homedir )
set_homedir ( GNUPG_HOMEDIR );
+#ifdef ENABLE_CARD_SUPPORT
+# ifdef _WIN32
+ opt.pcsc_driver = "winscard.dll";
+#else
+ opt.pcsc_driver = "libpcsclite.so";
+#endif
+#endif /*ENABLE_CARD_SUPPORT*/
+
/* check whether we have a config file on the commandline */
orig_argc = argc;
orig_argv = argv;