[pkg-gnupg-maint] Bug#823492: pinentry-gnome3: does not handle SSH-forwarded X11 connections correctly
Andreas Rottmann
a.rottmann at gmx.at
Wed May 4 18:59:30 UTC 2016
Package: pinentry-gnome3
Version: 0.9.7-5
Severity: normal
Dear Maintainer,
When using pinentry-gnome3 over an SSH-forwarded X11 connection,
pinentry shows the dialog on the wrong display (i.e., the one that
gpg-agent was originally spawned on). This is in spite of using
"gpg-connect-agent updatestartuptty /bye" from the SSH-spawned shell
(which has the correct DISPLAY variable value). This information is
relayed to pinentry via the "--display" command-line option, as "ps"
output indicates:
10530 ? SLl 0:00 pinentry --display localhost:10.0
A quick glance at the source code reveals this comment in
pinentry/pinentry.c (pinentry_parse_opts):
case 'D':
/* Note, this is currently not used because the GUI engine
has already been initialized when parsing these options. */
...
So it seems that the "--display" option is broken; the contents of the
DISPLAY variable is supposedly honored correctly, so if this ever
worked as advertised by the gpg-agent manual page (see below), I
suspect a change in behavior in gpg-agent, not setting the DISPLAY
environment variable for the pinentry process it launches (anymore?).
>From the gpg-agent man page:
[...] gpg-agent's ssh-support will use the TTY or X display
where gpg-agent has been started. To switch this display to
the current one, the following command may be used:
gpg-connect-agent updatestartuptty /bye
Nevertheless, I think the actual bug lies with pinentry not honoring
--display, even if that could be worked around by gpg-agent. Further
note that this probably affects all X11-based pinentry variants.
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.5.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages pinentry-gnome3 depends on:
ii gcr 3.20.0-2
ii libassuan0 2.4.2-3
ii libc6 2.22-7
ii libgcr-base-3-1 3.20.0-2
ii libglib2.0-0 2.48.0-1
ii libgpg-error0 1.22-1
ii libgtk-3-0 3.18.9-1
ii libncursesw5 6.0+20160319-1
ii libsecret-1-0 0.18.3-1
ii libtinfo5 6.0+20160319-1
pinentry-gnome3 recommends no packages.
Versions of packages pinentry-gnome3 suggests:
pn pinentry-doc <none>
-- no debconf information
More information about the pkg-gnupg-maint
mailing list