dirmngr: report actual socket name.
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Wed, 26 Oct 2016 20:37:06 +0000 (16:37 -0400)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 27 Oct 2016 01:30:55 +0000 (10:30 +0900)
* dirmngr/dirmngr.[ch] (dirmngr_get_current_socket_name): new function
to report known socket name.
* dirmngr/server.c (cmd_getinfo): use dirmngr_get_current_socket_name
to report correct socket name.

--

This fixes the output of 'getinfo socket_name' when dirmngr is invoked
with --socket-name.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
dirmngr/dirmngr.c
dirmngr/dirmngr.h
dirmngr/server.c

index 41e897b..c9e4a05 100644 (file)
@@ -2074,3 +2074,12 @@ handle_connections (assuan_fd_t listen_fd)
   cleanup ();
   log_info ("%s %s stopped\n", strusage(11), strusage(13));
 }
+
+const char*
+dirmngr_get_current_socket_name (void)
+{
+  if (socket_name)
+    return socket_name;
+  else
+    return dirmngr_socket_name ();
+}
index d823519..9e216cd 100644 (file)
@@ -184,6 +184,7 @@ void dirmngr_exit( int );  /* Wrapper for exit() */
 void dirmngr_init_default_ctrl (ctrl_t ctrl);
 void dirmngr_deinit_default_ctrl (ctrl_t ctrl);
 void dirmngr_sighup_action (void);
+const char* dirmngr_get_current_socket_name (void);
 
 
 /*-- Various housekeeping functions.  --*/
index 57273c7..2d4f292 100644 (file)
@@ -2271,7 +2271,7 @@ cmd_getinfo (assuan_context_t ctx, char *line)
     }
   else if (!strcmp (line, "socket_name"))
     {
-      const char *s = dirmngr_socket_name ();
+      const char *s = dirmngr_get_current_socket_name ();
       err = assuan_send_data (ctx, s, strlen (s));
     }
   else if (!strcmp (line, "tor"))