From 833292891c5c8368de605db01bdaf4eeb639f572 Mon Sep 17 00:00:00 2001 From: Andrey Yantsen Date: Sun, 24 Jan 2016 14:43:52 +0300 Subject: [PATCH] Restore ssh-agent variables if found alive gpg-agent Those changes fix working with gpg-agent instead of ssh-agent when first one was run outside zsh. --- plugins/gpg-agent/gpg-agent.plugin.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh index 3e6a34f42..6b60d3c00 100644 --- a/plugins/gpg-agent/gpg-agent.plugin.zsh +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -15,7 +15,15 @@ function start_agent_withssh { } # check if another agent is running -if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then +if gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then + # source settings of old agent, if applicable + if [ -f "${GPG_ENV}" ] && [ -z "${SSH_AGENT_PID}"]; then + . ${GPG_ENV} > /dev/null + export GPG_AGENT_INFO + export SSH_AUTH_SOCK + export SSH_AGENT_PID + fi +else # source settings of old agent, if applicable if [ -f "${GPG_ENV}" ]; then . ${GPG_ENV} > /dev/null