25 lines
860 B
Bash
25 lines
860 B
Bash
#!/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>
|
|
|
|
agent_sock=$(gpgconf --list-dirs agent-socket)
|
|
export GPG_AGENT_INFO=${agent_sock}:0:1
|
|
|
|
# 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
|