diff options
Diffstat (limited to 'debian/systemd-environment-generator')
-rwxr-xr-x | debian/systemd-environment-generator/90gpg-agent | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/debian/systemd-environment-generator/90gpg-agent b/debian/systemd-environment-generator/90gpg-agent new file mode 100755 index 0000000..7ece62b --- /dev/null +++ b/debian/systemd-environment-generator/90gpg-agent @@ -0,0 +1,21 @@ +#!/bin/bash + +# If enable-ssh-support is present in gpg-agent.conf, export SSH_AUTH_SOCK +# pointing at the gpg-agent's ssh-agent compatibility layer. + +# Authors: +# rufo <rufo@rufoa.com> +# Daniel Kahn Gillmor <dkg@fifthhorseman.net> + +# See https://bugs.debian.org/855868 + +# see gpgconf(1): $5 is the "okay" field. +# see also https://dev.gnupg.org/T4866 and https://dev.gnupg.org/T4867 +get_okay='BEGIN{ret=1} /^gpg-agent:/{if ($5 == "1") { ret=0; exit 0 } } END {exit ret}' + +if gpgconf --check-options gpg-agent | awk -F: "$get_okay" && \ + [ -n "$(gpgconf --list-options gpg-agent | \ + awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then + echo SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) + echo GSM_SKIP_SSH_AGENT_WORKAROUND=true +fi |