90gpg-agent 851 B

123456789101112131415161718192021222324
  1. #!/bin/bash
  2. # If enable-ssh-support is present in gpg-agent.conf, export SSH_AUTH_SOCK
  3. # pointing at the gpg-agent's ssh-agent compatibility layer.
  4. # Authors:
  5. # rufo <rufo@rufoa.com>
  6. # Daniel Kahn Gillmor <dkg@fifthhorseman.net>
  7. agent_sock=$(gpgconf --list-dirs agent-socket)
  8. export GPG_AGENT_INFO=${agent_sock}:0:1
  9. # See https://bugs.debian.org/855868
  10. # see gpgconf(1): $5 is the "okay" field.
  11. # see also https://dev.gnupg.org/T4866 and https://dev.gnupg.org/T4867
  12. get_okay='BEGIN{ret=1} /^gpg-agent:/{if ($5 == "1") { ret=0; exit 0 } } END {exit ret}'
  13. if gpgconf --check-programs | awk -F: "$get_okay" && \
  14. [ -n "$(gpgconf --list-options gpg-agent | \
  15. awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then
  16. echo SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
  17. echo GSM_SKIP_SSH_AGENT_WORKAROUND=true
  18. fi