aboutsummaryrefslogtreecommitdiffstats
path: root/common/homedir.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2014-03-12 18:33:30 +0000
committerWerner Koch <[email protected]>2014-03-14 11:36:36 +0000
commit5d321eb00be0774418de1a05678ac0ec44d7193b (patch)
tree6a794d25d31daba2681fec6bb421e1f615e0b88b /common/homedir.c
parentgpg: Add option --dirmngr-program. (diff)
downloadgnupg-5d321eb00be0774418de1a05678ac0ec44d7193b.tar.gz
gnupg-5d321eb00be0774418de1a05678ac0ec44d7193b.zip
dirmngr: Default to a user socket name and enable autostart.
* common/homedir.c (dirmngr_socket_name): Rename to dirmngr_sys_socket_name. (dirmngr_user_socket_name): New. * common/asshelp.c (start_new_dirmngr): Handle sys and user dirmngr socket. * dirmngr/dirmngr.c (main): Ditto. * dirmngr/server.c (cmd_getinfo): Ditto. * sm/server.c (gpgsm_server): Ditto. * dirmngr/dirmngr-client.c (start_dirmngr): Likewise. * tools/gpgconf.c (main): Print "dirmngr-sys-socket" with --list-dirs. * configure.ac (USE_DIRMNGR_AUTO_START): Set by default.
Diffstat (limited to '')
-rw-r--r--common/homedir.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/common/homedir.c b/common/homedir.c
index 77622a1d4..e2a117bd7 100644
--- a/common/homedir.c
+++ b/common/homedir.c
@@ -555,9 +555,9 @@ gnupg_cachedir (void)
}
-/* Return the default socket name used by DirMngr. */
+/* Return the system socket name used by DirMngr. */
const char *
-dirmngr_socket_name (void)
+dirmngr_sys_socket_name (void)
{
#ifdef HAVE_W32_SYSTEM
static char *name;
@@ -600,6 +600,22 @@ dirmngr_socket_name (void)
}
+/* Return the user socket name used by DirMngr. If a a user specific
+ dirmngr installation is not supported, NULL is returned. */
+const char *
+dirmngr_user_socket_name (void)
+{
+#ifdef HAVE_W32_SYSTEM
+ return NULL; /* We support only a system service. */
+#else /*!HAVE_W32_SYSTEM*/
+ static char *name;
+
+ if (!name)
+ name = make_filename (default_homedir (), DIRMNGR_SOCK_NAME, NULL);
+ return name;
+#endif /*!HAVE_W32_SYSTEM*/
+}
+
/* Return the file name of a helper tool. WHICH is one of the
GNUPG_MODULE_NAME_foo constants. */