On 2025-02-08 20:50, Sam Overton via Gnupg-users wrote:
I have a proposed patch which I am preparing to send which adds a
gpg-agent configuration parameter to specify which environment
variables sent by the client should be *ignored* by the agent. This
solves the problem in my case, by filtering out
DBUS_SESSION_BUS_ADDRESS ensuring that the agent's environment is used
by pinentry (for that specific env-var).

Looking forward to it. Are you proposing to ignore by default, or give the possibility to ignore DBUS_SESSION_BUS_ADDRESS? With the popularity of Flatpak apps, ignoring DBUS_SESSION_BUS_ADDRESS by default feels like it would be better UX overall. On the other hand, there must be a usecase for passing through the dbus address to pinentry which I'm not seeing.

In the meantime, the workaround I have been using is to configure
gpg-agent to use a custom pinentry command (~/.gnupg/gpg-agent.conf):

    pinentry-program /home/sam/bin/pinentry-wrap

which then sets the correct environment for pinentry (pinentry-wrap):

Ingenious hack, obvious in hindsight! Cheers for the idea, I'll implement this while waiting for your patch to trickle through the supply chain ;)

AFAIK the agent only accepts a specific list of environment variables
from the client which can be listed using:

    $ gpg-connect-agent 'getinfo std_env_names' /bye

Ah the wonderful niche commands that are available... if one only knew.

BR Jay

_______________________________________________
Gnupg-users mailing list
Gnupg-users@gnupg.org
https://lists.gnupg.org/mailman/listinfo/gnupg-users

Reply via email to