aboutsummaryrefslogtreecommitdiffstats
path: root/src/dirinfo.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-03-21 10:16:16 +0000
committerWerner Koch <[email protected]>2017-03-21 10:16:16 +0000
commit55ac5eed9f59081283d34098a9e0ada753d61d59 (patch)
tree6f858ed622b61700934835d92ba08c0a00123899 /src/dirinfo.c
parentcore: New encryption flag GPGME_ENCRYPT_THROW_KEYIDS. (diff)
downloadgpgme-55ac5eed9f59081283d34098a9e0ada753d61d59.tar.gz
gpgme-55ac5eed9f59081283d34098a9e0ada753d61d59.zip
core: Extend gpgme_get_dirinfo to return the gpg-wks-client name.
* src/dirinfo.c (WANT_GPG_WKS_CLIENT_NAME): New const. (struct dirinfo): New field 'gpg_wks_client_name'. (get_gpgconf_item): Build it on demand. (gpgme_get_dirinfo): New value "gpg-wks-client-name" for WHAT. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/dirinfo.c')
-rw-r--r--src/dirinfo.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dirinfo.c b/src/dirinfo.c
index a0cbc03e..73744124 100644
--- a/src/dirinfo.c
+++ b/src/dirinfo.c
@@ -51,6 +51,7 @@ enum
WANT_GPG_NAME,
WANT_GPGSM_NAME,
WANT_G13_NAME,
+ WANT_GPG_WKS_CLIENT_NAME,
WANT_GPG_ONE_MODE
};
@@ -73,6 +74,7 @@ static struct {
char *gpg_name;
char *gpgsm_name;
char *g13_name;
+ char *gpg_wks_client_name;
int gpg_one_mode; /* System is in gpg1 mode. */
} dirinfo;
@@ -333,6 +335,14 @@ get_gpgconf_item (int what)
case WANT_G13_NAME: result = dirinfo.g13_name; break;
case WANT_UISRV_SOCKET: result = dirinfo.uisrv_socket; break;
case WANT_GPG_ONE_MODE: result = dirinfo.gpg_one_mode? "1":NULL; break;
+ case WANT_GPG_WKS_CLIENT_NAME:
+ if (!dirinfo.gpg_wks_client_name && dirinfo.libexecdir)
+ dirinfo.gpg_wks_client_name = _gpgme_strconcat (dirinfo.libexecdir,
+ "/",
+ "gpg-wks-client",
+ NULL);
+ result = dirinfo.gpg_wks_client_name;
+ break;
}
UNLOCK (dirinfo_lock);
return result;
@@ -438,6 +448,8 @@ gpgme_get_dirinfo (const char *what)
return get_gpgconf_item (WANT_GPGSM_NAME);
else if (!strcmp (what, "g13-name"))
return get_gpgconf_item (WANT_G13_NAME);
+ else if (!strcmp (what, "gpg-wks-client-name"))
+ return get_gpgconf_item (WANT_GPG_WKS_CLIENT_NAME);
else if (!strcmp (what, "agent-ssh-socket"))
return get_gpgconf_item (WANT_AGENT_SSH_SOCKET);
else if (!strcmp (what, "dirmngr-socket"))