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 <wk@gnupg.org>
This commit is contained in:
Werner Koch 2017-02-03 21:16:26 +01:00
parent 309f464a59
commit 042fe711c7
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
1 changed files with 11 additions and 1 deletions

View File

@ -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);