summaryrefslogtreecommitdiffstats
path: root/debian/systemd-environment-generator/90gpg-agent
blob: 7ece62bdb81a91467c5c8843cd17cbc98934a585 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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