123456789101112131415161718192021222324 |
- #!/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-programs | 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
|