[pkg-gnupg-maint] Bug#869416: Bug#869416: pinentry-gtk2: fails to request passphrase when importing OpenPGP secret key with Seahorse

NIIBE Yutaka gniibe at fsij.org
Thu Aug 17 09:46:27 UTC 2017


intrigeri <intrigeri at debian.org> wrote:
> So I'm reassigning this to gnupg-agent, where the root cause of the
> problem seems to live.

It seems for me that gpg-agent can not do anything for this bug.

I tried to locate the invocation of "gpg" from seahorse.  I figured out
that when this issue occurred (replacing gpg by shell script), it was
invoked by something like

	gpg --status-fd 20 --import

and environment variables are only LOCALE and PWD.  This is the cause of
the problem;  Environment variables (like GPG_TTY, DISPLAY) should be
provided by the parent process.

Also, I ran "seahorse" with the setting of:

    export GPGME_DEBUG=9:/tmp/gpgme.log

... and I realized that the invocation of gpg --import is not through
gpgme.

Then, I found: in seahorse/src/seahorse-import-dialog.c, there is a call
to function gcr_import_button_new.  I think that this is the function to
create the "Import" button in the particular dialog.

Now, I guess that the problem is in the implementaiton of libgcr library.

While I'm reading gcr-3.20.0/gcr/gcr-gnupg-process.c, getting the source
by apt source libgcr-base-3-1, I suspect the function
_gcr_gnupg_process_run_async, which doesn't provide GPG_TTY and/or
DISPLAY to "gpg" process.
-- 



More information about the pkg-gnupg-maint mailing list