Pass DBUS_SESSION_BUS_ADDRESS for gnome3
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 18 Aug 2015 11:34:57 +0000 (13:34 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 17 Dec 2015 14:14:56 +0000 (15:14 +0100)
* g10/passphrase.c (stdenvnames): Add DBUS_SESSION_BUS_ADDRESS.
--

pinentry-gnome3 talks to the gcr prompter via dbus.  Without this
environment variable, it can't find the correct session to talk to.

g10/passphrase.c

index 9003ea4..7cc9f6e 100644 (file)
@@ -195,6 +195,7 @@ agent_send_all_options (assuan_context_t ctx)
   char *dft_display = NULL;
   const char *dft_ttyname = NULL;
   char *dft_ttytype = NULL;
+  char *dbus_session_address = NULL;
   char *old_lc = NULL;
   char *dft_lc = NULL;
   int rc = 0;
@@ -207,6 +208,14 @@ agent_send_all_options (assuan_context_t ctx)
         return -1;
     }
 
+  dbus_session_address = getenv ("DBUS_SESSION_BUS_ADDRESS");
+  if (dbus_session_address)
+    {
+      if (agent_send_option (ctx, "putenv=DBUS_SESSION_BUS_ADDRESS",
+                             dbus_session_address))
+        return -1;
+    }
+
   if (!opt.ttyname)
     {
       const char *tmp;