agent, tests: Support --disable-scdaemon build case.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Oct 2017 02:24:39 +0000 (11:24 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 26 Oct 2017 02:24:39 +0000 (11:24 +0900)
* agent/command.c (cmd_scd): Support !BUILD_WITH_SCDAEMON.
* tests/openpgp/defs.scm (create-gpghome): Likewise.
* tests/gpgsm/gpgsm-defs.scm (create-gpgsmhome): Likewise.

--

We could modify gpg-agent to remove all support of scdaemon, with no
inclusion of call-scd.c, divert-scd.c, and learncard.c, but it would
not be worth to do that.

GnuPG-bug-id: 3316
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
agent/command.c
tests/gpgsm/gpgsm-defs.scm
tests/openpgp/defs.scm

index 4016cc2..3b249b1 100644 (file)
@@ -1988,14 +1988,17 @@ static const char hlp_scd[] =
 static gpg_error_t
 cmd_scd (assuan_context_t ctx, char *line)
 {
-  ctrl_t ctrl = assuan_get_pointer (ctx);
   int rc;
-
+#ifdef BUILD_WITH_SCDAEMON
+  ctrl_t ctrl = assuan_get_pointer (ctx);
   if (ctrl->restricted)
     return leave_cmd (ctx, gpg_error (GPG_ERR_FORBIDDEN));
 
   rc = divert_generic_cmd (ctrl, line, ctx);
-
+#else
+  (void)ctx; (void)line;
+  rc = gpg_error (GPG_ERR_NOT_SUPPORTED);
+#endif
   return rc;
 }
 
index d99d7da..c78a127 100644 (file)
@@ -67,7 +67,9 @@
               "faked-system-time 1008241200")
   (create-file "gpg-agent.conf"
               (string-append "pinentry-program " (tool 'pinentry))
-              (string-append "scdaemon-program " (tool 'scdaemon))
+              (if (assoc "scdaemon" gpg-components)
+                  (string-append "scdaemon-program " (tool 'scdaemon))
+                  "# No scdaemon available")
               )
   (start-agent)
   (create-file
index f52f316..a6347fe 100644 (file)
               (if (flag "--extended-key-format" *args*)
                   "enable-extended-key-format" "#enable-extended-key-format")
               (string-append "pinentry-program " (tool 'pinentry))
-              (string-append "scdaemon-program " (tool 'scdaemon))
+              (if (assoc "scdaemon" gpg-components)
+                  (string-append "scdaemon-program " (tool 'scdaemon))
+                  "# No scdaemon available")
               ))
 
 ;; Initialize the test environment, install appropriate configuration