Merge pull request #1904 from oohlaf/gpg-agent-fix
Prevent starting multiple gpg-agents
This commit is contained in:
commit
354211f5ac
@ -14,16 +14,24 @@ function start_agent_withssh {
|
||||
export SSH_AGENT_PID
|
||||
}
|
||||
|
||||
# source settings of old agent, if applicable
|
||||
if [ -f "${GPG_ENV}" ]; then
|
||||
. ${GPG_ENV} > /dev/null
|
||||
fi
|
||||
# check if another agent is running
|
||||
if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then
|
||||
# source settings of old agent, if applicable
|
||||
if [ -f "${GPG_ENV}" ]; then
|
||||
. ${GPG_ENV} > /dev/null
|
||||
fi
|
||||
|
||||
# check for existing ssh-agent
|
||||
if ssh-add -l > /dev/null 2> /dev/null; then
|
||||
start_agent_nossh;
|
||||
else
|
||||
start_agent_withssh;
|
||||
# check again if another agent is running using the newly sourced settings
|
||||
if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then
|
||||
# check for existing ssh-agent
|
||||
if ssh-add -l > /dev/null 2> /dev/null; then
|
||||
# ssh-agent running, start gpg-agent without ssh support
|
||||
start_agent_nossh;
|
||||
else
|
||||
# otherwise start gpg-agent with ssh support
|
||||
start_agent_withssh;
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
GPG_TTY=$(tty)
|
||||
|
Loading…
Reference in New Issue
Block a user