diff options
author | Werner Koch <[email protected]> | 2017-02-03 20:16:26 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-02-03 20:16:26 +0000 |
commit | 042fe711c76f6377cedb8f83a73ba386cee34bb7 (patch) | |
tree | 091b703c380ae9d468cde8ed06698fa70b400555 | |
parent | agent: Tell the Pinentry the client's pid. (diff) | |
download | gnupg-042fe711c76f6377cedb8f83a73ba386cee34bb7.tar.gz gnupg-042fe711c76f6377cedb8f83a73ba386cee34bb7.zip |
agent: Tell pinentry the hostname the agent is running on.
* agent/call-pinentry.c [!W32]: Incluse utsname.h
(start_pinentry): Pass nodename to OPTION/owner.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | agent/call-pinentry.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c index 384b23a64..99316653b 100644 --- a/agent/call-pinentry.c +++ b/agent/call-pinentry.c @@ -31,6 +31,7 @@ # include <sys/wait.h> # include <sys/types.h> # include <signal.h> +# include <sys/utsname.h> #endif #include <npth.h> @@ -544,7 +545,16 @@ start_pinentry (ctrl_t ctrl) if (ctrl->client_pid) { char *optstr; - if ((optstr = xtryasprintf ("OPTION owner=%lu", ctrl->client_pid))) + const char *nodename = ""; + +#ifndef HAVE_W32_SYSTEM + struct utsname utsbuf; + if (!uname (&utsbuf)) + nodename = utsbuf.nodename; +#endif /*!HAVE_W32_SYSTEM*/ + + if ((optstr = xtryasprintf ("OPTION owner=%lu %s", + ctrl->client_pid, nodename))) { assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL); |