Made the KILLAGENT and KILLSCD commands working again.
authorWerner Koch <wk@gnupg.org>
Wed, 10 Aug 2011 09:47:04 +0000 (11:47 +0200)
committerWerner Koch <wk@gnupg.org>
Wed, 10 Aug 2011 09:47:04 +0000 (11:47 +0200)
This requires that GnuPG is build with a newer version of Libassuan
(2.0.3).

NEWS
agent/command.c
scd/ChangeLog
scd/command.c

diff --git a/NEWS b/NEWS
index ed37e3b..08d6bfe 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@ Noteworthy changes in version 2.1.0beta3
 
  * Support the SSH confirm flag.
 
+ * The Assuan commands KILLAGENT and KILLSCD are working again.
+
 
 Noteworthy changes in version 2.1.0beta2 (2011-03-08)
 -----------------------------------------------------
index b03c786..4fbbfb5 100644 (file)
@@ -2259,7 +2259,12 @@ cmd_killagent (assuan_context_t ctx, char *line)
     return set_error (GPG_ERR_NOT_SUPPORTED, "no --use-standard-socket");
 
   ctrl->server_local->stopme = 1;
+#ifdef ASSUAN_FORCE_CLOSE
+  assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1);
+  return 0;
+#else
   return gpg_error (GPG_ERR_EOF);
+#endif
 }
 
 
index 4f2d2f2..45c9c7c 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-10  Werner Koch  <wk@g10code.com>
+
+       * command.c (cmd_killscd): Use the new assuan force close flag
+       if available.
+
 2011-08-08  Werner Koch  <wk@g10code.com>
 
        * app-openpgp.c (do_decipher): Take care of accidentally passed
index a579b24..9bb5005 100644 (file)
@@ -1862,7 +1862,15 @@ cmd_killscd (assuan_context_t ctx, char *line)
   (void)line;
 
   ctrl->server_local->stopme = 1;
+#ifdef ASSUAN_FORCE_CLOSE
+  assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1);
+  return 0;
+#else
+  /* Actually returning an EOF does not anymore work with modern
+     Libassuan versions.  However we keep that non working code until
+     we make a Libassuan with the force close flag a requirement.  */
   return gpg_error (GPG_ERR_EOF);
+#endif
 }