[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