diff options
Diffstat (limited to '')
-rw-r--r-- | dirmngr/dirmngr-client.c | 5 | ||||
-rw-r--r-- | dirmngr/dirmngr.c | 6 | ||||
-rw-r--r-- | dirmngr/server.c | 5 |
3 files changed, 13 insertions, 3 deletions
diff --git a/dirmngr/dirmngr-client.c b/dirmngr/dirmngr-client.c index da9744359..0e627642d 100644 --- a/dirmngr/dirmngr-client.c +++ b/dirmngr/dirmngr-client.c @@ -443,7 +443,10 @@ start_dirmngr (int only_daemon) infostr = opt.force_pipe_server? NULL : getenv (DIRMNGR_INFO_NAME); if (only_daemon && (!infostr || !*infostr)) { - infostr = xstrdup (dirmngr_socket_name ()); + if (dirmngr_user_socket_name ()) + infostr = xstrdup (dirmngr_user_socket_name ()); + else + infostr = xstrdup (dirmngr_sys_socket_name ()); try_default = 1; } diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 7bcff7a6a..e3f98c04e 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -666,7 +666,6 @@ main (int argc, char **argv) opt.ldaptimeout = DEFAULT_LDAP_TIMEOUT; /* Other defaults. */ - socket_name = dirmngr_socket_name (); /* Check whether we have a config file given on the commandline */ orig_argc = argc; @@ -721,7 +720,12 @@ main (int argc, char **argv) #endif opt.homedir_data = gnupg_datadir (); opt.homedir_cache = gnupg_cachedir (); + socket_name = dirmngr_sys_socket_name (); } + else if (dirmngr_user_socket_name ()) + socket_name = dirmngr_user_socket_name (); + else + socket_name = dirmngr_sys_socket_name (); if (default_config) configname = make_filename (opt.homedir, DIRMNGR_NAME".conf", NULL ); diff --git a/dirmngr/server.c b/dirmngr/server.c index a1d20334b..f1319ad28 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -1781,7 +1781,10 @@ cmd_getinfo (assuan_context_t ctx, char *line) } else if (!strcmp (line, "socket_name")) { - const char *s = dirmngr_socket_name (); + const char *s = dirmngr_user_socket_name (); + + if (!s) + s = dirmngr_sys_socket_name (); if (s) err = assuan_send_data (ctx, s, strlen (s)); |