Environment variables for UPDATESTARTUPTTY of gpg-agent

NIIBE Yutaka gniibe at fsij.org
Tue Jul 12 10:06:45 CEST 2016


Hello,

Recently, I changed the configuration so that gpg-agent is started by
systemd.  Then, I encounter this issue:

	https://bugs.debian.org/801247

For SSH, I can't get the dialog of pinentry-gnome3.

Something like this is needed, so that a user can update environment
variables by UPDATESTARTUPTTY.  What I need now is
DBUS_SESSION_BUS_ADDRESS only, but I think that it should be as same
as the variable of stdenvnames in common/session-env.c.

I think that this kind of bug is very difficult for users.  SSH just
fails but gpg-agent (and pinentry-gnome3) doesn't report any useful
information to a user; it should emit some message.


diff --git a/agent/command.c b/agent/command.c
index de5b184..2ab0f3a 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -2664,7 +2664,11 @@ static gpg_error_t
 cmd_updatestartuptty (assuan_context_t ctx, char *line)
 {
   static const char *names[] =
-    { "GPG_TTY", "DISPLAY", "TERM", "XAUTHORITY", "PINENTRY_USER_DATA",
NULL };
+    { "GPG_TTY", "TERM", "DISPLAY", "XAUTHORITY",
+      "XMODIFIERS", "GTK_IM_MODULE", "QT_IM_MODULE",
+      "DBUS_SESSION_BUS_ADDRESS",
+      "INSIDE_EMACS",
+      "PINENTRY_USER_DATA", NULL };
   ctrl_t ctrl = assuan_get_pointer (ctx);
   gpg_error_t err = 0;
   session_env_t se;
-- 



More information about the Gnupg-devel mailing list