* gpgsm.c: Fixed value parsing for --with-validation.
authorWerner Koch <wk@gnupg.org>
Tue, 17 Feb 2004 17:21:07 +0000 (17:21 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 17 Feb 2004 17:21:07 +0000 (17:21 +0000)
* call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
* call-dirmngr.c (start_dirmngr): Likewise for DIRMNGR_INFO.

sm/ChangeLog
sm/call-agent.c
sm/call-dirmngr.c
sm/server.c

index aa6e46b..2f46e1e 100644 (file)
@@ -1,5 +1,9 @@
 2004-02-17  Werner Koch  <wk@gnupg.org>
 
+       * gpgsm.c: Fixed value parsing for --with-validation.
+       * call-agent.c (start_agent): Ignore an empty GPG_AGENT_INFO.
+       * call-dirmngr.c (start_dirmngr): Likewise for DIRMNGR_INFO.
+
        * gpgsm.c: New option --with-md5-fingerprint.
        * keylist.c (list_cert_std): Print MD5 fpr.
 
index 30a1b64..a0a1da5 100644 (file)
@@ -78,10 +78,10 @@ start_agent (void)
   if (agent_ctx)
     return 0; /* fixme: We need a context for each thread or serialize
                  the access to the agent (which is suitable given that
-                 the agent is not MT */
+                 the agent is not MT. */
 
   infostr = force_pipe_server? NULL : getenv ("GPG_AGENT_INFO");
-  if (!infostr)
+  if (!infostr || !*infostr)
     {
       const char *pgmname;
       const char *argv[3];
index 05f7bd1..ba96df4 100644 (file)
@@ -142,7 +142,7 @@ start_dirmngr (void)
                  the access to the dirmngr */
 
   infostr = force_pipe_server? NULL : getenv ("DIRMNGR_INFO");
-  if (!infostr)
+  if (!infostr || !*infostr)
     {
       const char *pgmname;
       const char *argv[3];
index 54b220d..8cc1b90 100644 (file)
@@ -172,7 +172,8 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value)
     }
   else if (!strcmp (key, "with-validation"))
     {
-      ctrl->with_validation = !!*value;
+      int i = *value? atoi (value) : 0;
+      ctrl->with_validation = i;
     }
   else
     return ASSUAN_Invalid_Option;