Always use gpgconf when needed.

This commit is contained in:
David Tomaschik
2017-10-29 20:38:39 -07:00
parent 42f93dc9d2
commit 28d45d20da

View File

@@ -16,16 +16,20 @@ function start_agent_withssh {
export SSH_AGENT_PID export SSH_AGENT_PID
} }
# check if another agent is running if [ -z "${GPG_AGENT_INFO}" ] ; then
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then if which gpgconf >/dev/null 2>&1 ; then
if which gpgconf ; then
# This might clobber SSH_AUTH_SOCK anyway... # This might clobber SSH_AUTH_SOCK anyway...
GPG_AGENT_INFO=$(gpgconf --list-dirs agent-socket) GPG_AGENT_INFO=$(gpgconf --list-dirs agent-socket)
SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export GPG_AGENT_INFO export GPG_AGENT_INFO
export SSH_AUTH_SOCK export SSH_AUTH_SOCK
fi
fi
# check if another agent is running
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then
# source settings of old agent, if applicable # source settings of old agent, if applicable
elif [ -f "${GPG_ENV}" ]; then if [ -f "${GPG_ENV}" ]; then
# This can be clobbered by the file # This can be clobbered by the file
local OLD_SSH_AUTH_SOCK=${SSH_AUTH_SOCK} local OLD_SSH_AUTH_SOCK=${SSH_AUTH_SOCK}
. ${GPG_ENV} > /dev/null . ${GPG_ENV} > /dev/null