[pkg-gnupg-maint] Bug#788983: Bug#788983: missing translations in pinentry-gnome3

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Jun 29 21:08:08 UTC 2015


On Mon 2015-06-29 13:37:39 -0400, Michael Biebl wrote:
> Am 17.06.2015 um 15:40 schrieb Michael Biebl:
>> Am 17.06.2015 um 15:26 schrieb Werner Koch:
>>> On Wed, 17 Jun 2015 14:31, dkg at fifthhorseman.net said:
>>>
>>>> Michael was running 2.0.28 when he saw this, which is the latest in the
>>>> 2.0.x branch.  Does that not have the expected translations (even for
>>>> "OK" and "Cancel")?
>>>
>>> Sure.  Those strings are pretty old.  Only the "_Save in password
>>> manager" might be missing.
>> 
>> As you can see from the screenshot, there weren't any translations at
>> all in the dialog. 2.0.28 seems to have a (complete) po/de.po for German.
>> So somethings seems to be broken passing those translations to
>> pinentry-gnome3.
>
> Any news here? Is there further information I can provide to get this
> solved?
> It's currently my main blocker for switching gnome-keyring over to
> pinentry-gnome3.

Ugh, i'm poking around at all of this, and seeing several ugly issues
here associated with gpg session management.  but first, the workaround:

 * with gpg-agent 2.1.x installed, you say the dialog is always being
   canceled.  can you "gpgconf --kill gpg-agent" and then try again?  If
   so, does the prompt work?  if so, is it properly localized?  It looks
   to me like it is localized in that case.


I've set up ~/.gnupg/debugpinentry that is just:

-----------
#!/bin/sh
exec /usr/bin/pinentry --debug "$@" 2>> ~/.gnupg/pinentry.log
-----------

and then ~/.gnupg/gpg-agent.conf has:

---------
log-file /home/USERNAME/.gnupg/agent.log
debug-level expert
pinentry-program /home/USERNAME/.gnupg/debugpinentry
---------

After several tries and several workarounds, i've seen the following
error messages in pinentry.log:

** (pinentry:12120): WARNING **: couldn't create prompt for gnupg passphrase: Verbindung ist gescheitert:Verbindungsaufbau abgelehnt
** (pinentry:12995): WARNING **: couldn't create prompt for gnupg passphrase: Cannot autolaunch D-Bus without X11 $DISPLAY



issues i'm seeing:

 a) the environment of the first running gpg-agent process is different
    from a shell running in the gnome session.  In particular, i'm
    seeing differences in SESSION_MANAGER, WINDOWPATH, XAUTHORITY,
    XDG_SESSION_ID, and DBUS_SESSION_ADDRESS.  At least one of these env
    var differences makes it impossible for gcr to find the right pieces
    to do the prompting.

    This is likely due to a gpg-agent instance held-over from a previous
    login.  Assuming there is only one gpg-agent instance running on the
    machine, you can compare the environment yourself with:

      diff -u <(tr '\0' '\n' /proc/$(pidof gpg-agent)/environ | sort)  <(tr '\0' '\n' /proc/self/environ | sort)


 b) when there is no gpg-agent instance held-over from a previous login,
    /etc/X11/Xsession.d/90gpg-agent launches one automatically before
    the session starts.  It does this for the sake of co-installed gpg
    1.4 installations which need a properly-populated GPG_AGENT_INFO to
    find the agent, and do not auto-start one on their own.  In this
    case, though, the agent is started before the session manager, so
    the relevant variables for interacting with gcr are not populated.
    Maybe this is also influencing the localization failures?

I'm not sure what the right way to resolve these issues is.  We want gpg
1.4 and 2.1 to both work, co-installed, and we want them to work cleanly
under gnome as well as under other session managers.

Some open questions:

 0) Are there other env vars we need to pass through from gpg to
    gpg-agent to pinentry for pinentry-gnome3 to work sanely (both for
    localization and for actual prompting)?

 1) should gnome (and other session managers) be terminating gpg-agent
    before shutting down?  If so, does that just mean a "gpgconf --kill
    gpg-agent" somewhere in the shutdown process, or something else?

 2) why is "Passwort" localized but the others are not?  is it pinentry
    doing that localization?  If so, how is it finding that language but
    gpg-agent (which is invoking it) is not?

 3) the gcr prompt itself still says "Passphrase:" at the top and "OK"
    in the lower-right, even when the rest of the dialog is in
    de_DE.UTF-8.  Are these missing localizations?

Any advice would be welcome,

    --dkg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 948 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20150629/d0c8a895/attachment.sig>


More information about the pkg-gnupg-maint mailing list