mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: More diagnostics for a launched pinentry.
* agent/call-pinentry.c (start_pinentry): Call getinfo/ttyinfo. * g10/server.c (gpg_proxy_pinentry_notify): Simplify the output so that we do not change the code when adding new fields to PINENTRY_LAUNCHED. -- This patch changes the --verbose output of gpg to show for example gpg: pinentry launched (5228 gtk2 1.0.1-beta10 \ /dev/pts/4 xterm localhost:10.0) the used tty, its type, and the value of DISPLAY in addiion to the pid, flavor, and version. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
407f5f9bae
commit
7052a0d77c
@ -541,7 +541,7 @@ start_pinentry (ctrl_t ctrl)
|
||||
}
|
||||
|
||||
|
||||
/* Ask the pinentry for its version and flavor and streo that as a
|
||||
/* Ask the pinentry for its version and flavor and store that as a
|
||||
* string in MB. This information is useful for helping users to
|
||||
* figure out Pinentry problems. */
|
||||
{
|
||||
@ -555,6 +555,10 @@ start_pinentry (ctrl_t ctrl)
|
||||
if (assuan_transact (entry_ctx, "GETINFO version",
|
||||
put_membuf_cb, &mb, NULL, NULL, NULL, NULL))
|
||||
put_membuf_str (&mb, "unknown");
|
||||
put_membuf_str (&mb, " ");
|
||||
if (assuan_transact (entry_ctx, "GETINFO ttyinfo",
|
||||
put_membuf_cb, &mb, NULL, NULL, NULL, NULL))
|
||||
put_membuf_str (&mb, "? ? ?");
|
||||
put_membuf (&mb, "", 1);
|
||||
flavor_version = get_membuf (&mb, NULL);
|
||||
}
|
||||
|
19
g10/server.c
19
g10/server.c
@ -770,18 +770,15 @@ gpg_server (ctrl_t ctrl)
|
||||
gpg_error_t
|
||||
gpg_proxy_pinentry_notify (ctrl_t ctrl, const unsigned char *line)
|
||||
{
|
||||
if (opt.verbose)
|
||||
const char *s;
|
||||
|
||||
if (opt.verbose
|
||||
&& !strncmp (line, "PINENTRY_LAUNCHED", 17)
|
||||
&& (line[17]==' '||!line[17]))
|
||||
{
|
||||
char *linecopy = xtrystrdup (line);
|
||||
char *fields[4];
|
||||
|
||||
if (linecopy
|
||||
&& split_fields (linecopy, fields, DIM (fields)) >= 4
|
||||
&& !strcmp (fields[0], "PINENTRY_LAUNCHED"))
|
||||
log_info (_("pinentry launched (pid %s, flavor %s, version %s)\n"),
|
||||
fields[1], fields[2], fields[3]);
|
||||
|
||||
xfree (linecopy);
|
||||
for (s = line + 17; *s && spacep (s); s++)
|
||||
;
|
||||
log_info (_("pinentry launched (%s)\n"), s);
|
||||
}
|
||||
|
||||
if (!ctrl || !ctrl->server_local
|
||||
|
Loading…
x
Reference in New Issue
Block a user