gnome-keyring Auto launched gpg-agent doesn't work with pinentry-gnome3
- From: Stef Walter <stefw redhat com>
- To: GnuPG Development List <gnupg-devel gnupg org>
- Cc: "gnome-keyring-list gnome org" <gnome-keyring-list gnome org>
- Subject: gnome-keyring Auto launched gpg-agent doesn't work with pinentry-gnome3
- Date: Tue, 09 Jun 2015 09:37:53 +0200
The auto-launched gpg-agent doesn't work with pinentry-gnome3. We see
this in the gpg-agent logs:
2015-06-09 09:26:53 gpg-agent[11676] failed to unprotect the secret key:
Operation cancelled
2015-06-09 09:26:53 gpg-agent[11676] failed to read the secret key
2015-06-09 09:26:53 gpg-agent[11676] command 'PKDECRYPT' failed:
Operation cancelled <Pinentry>
It also seems that the stderr output of pinentry programs are discarded.
I couldn't find the output anywhere for diagnosis. I had to do this to
see what was going wrong in pinentry main():
dup2 (open ("/tmp/pinentry.log", O_WRONLY | O_CREAT | O_APPEND), 2);
Once I did that, I could see:
** (pinentry-gnome3:11678): WARNING **: couldn't create prompt for gnupg
passphrase: Error spawning command line 'dbus-launch
--autolaunch=1c5785a20dda4b3abffa4e903a66f54d --binary-syntax
--close-stderr': Child process exited with code 1
This is because (at least) the following environment variable is not
available:
DBUS_SESSION_BUS_ADDRESS
I think this needs be added to the set of environment variables allowed
through to the gpg-agent and pinentry program?
Yuuma, since you're working to help finish up this work, here's probably
another task you could work on patches for.
I would propose two changes:
1. Pass DBUS_SESSION_BUS_ADDRESS to gpg-agent and pinentry
2. Route pinentry stderr output to the gpg-agent logging routines.
The latter is obviously less critical, but it does help us track down
issues going forward once people start actually using this.
Cheers,
Stef
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]