mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +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
|
* string in MB. This information is useful for helping users to
|
||||||
* figure out Pinentry problems. */
|
* figure out Pinentry problems. */
|
||||||
{
|
{
|
||||||
@ -555,6 +555,10 @@ start_pinentry (ctrl_t ctrl)
|
|||||||
if (assuan_transact (entry_ctx, "GETINFO version",
|
if (assuan_transact (entry_ctx, "GETINFO version",
|
||||||
put_membuf_cb, &mb, NULL, NULL, NULL, NULL))
|
put_membuf_cb, &mb, NULL, NULL, NULL, NULL))
|
||||||
put_membuf_str (&mb, "unknown");
|
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);
|
put_membuf (&mb, "", 1);
|
||||||
flavor_version = get_membuf (&mb, NULL);
|
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_error_t
|
||||||
gpg_proxy_pinentry_notify (ctrl_t ctrl, const unsigned char *line)
|
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);
|
for (s = line + 17; *s && spacep (s); s++)
|
||||||
char *fields[4];
|
;
|
||||||
|
log_info (_("pinentry launched (%s)\n"), s);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ctrl || !ctrl->server_local
|
if (!ctrl || !ctrl->server_local
|
||||||
|
Loading…
x
Reference in New Issue
Block a user