[PATCH] gnome3: Redirect GLib logging messages to stderr

Kernc kerncece at gmail.com
Tue Aug 18 04:22:52 CEST 2026


By default, GLib/Gcr/libsecret outputs debug/info logging messages
to stdout, but we use that as the Assuan channel, and outputting to
it anything but the expected verbs breaks pinentry pipelines
in confusing ways.

It is unknown whether a similar patch is needed for gtk-2
or other flavors via the 'CLEARPASSPHRASE' command,
nor if G_MESSAGES_DEBUG needs unsetting from the environment.

An old user reports Gtk-warnings even with pinentry-qt,
but their issue needs more verification.

https://web.archive.org/web/20260629091849/https://dev.gnupg.org/T4144.html

Care must be placed in who inherits our Assuan fds
and what they do with them.

GnuPG-bug-id: 4144
GnuPG-bug-id: 2243
GnuPG-bug-id: 2397
Signed-off-by: Kernc <kerncece at gmail.com>
---
 gnome3/pinentry-gnome3.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c
index 7f21d6f..3692f49 100644
--- a/gnome3/pinentry-gnome3.c
+++ b/gnome3/pinentry-gnome3.c
@@ -518,6 +518,13 @@ main (int argc, char *argv[])
 {
   pinentry_init (PGMNAME);

+/* Prevent logging messages escaping to stdout (our Assuan channel). */
+#if GLIB_CHECK_VERSION (2, 68, 0)
+  g_log_writer_default_set_use_stderr (TRUE);
+#else
+  g_unsetenv ("G_MESSAGES_DEBUG");
+#endif
+
 #ifdef FALLBACK_CURSES
   if (!getenv ("DBUS_SESSION_BUS_ADDRESS"))
     {
-- 
2.47.3
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20260818/36b2133a/attachment-0005.html>


More information about the Gnupg-devel mailing list