From 8f75f950ef2d6c008eba0e686ee83cded3403cbe Mon Sep 17 00:00:00 2001 From: Chris Fleming Date: Tue, 28 Nov 2017 00:57:30 +0000 Subject: [PATCH] ssh socket if broken if --daemon is run again, so onky start if we don't have a socket --- plugins/gpg-agent/gpg-agent.plugin.zsh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh index 10c4027e..5f03bb8e 100644 --- a/plugins/gpg-agent/gpg-agent.plugin.zsh +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -1,16 +1,17 @@ # Enable gpg-agent if it is not running- # --use-standard-socket will work from version 2 upwards -# If already running then new agent won't be started. -gpg-agent --daemon --use-standard-socket >/dev/null 2>&1 +AGENT_SOCK=`gpgconf --list-dirs | grep agent-socket | cut -d : -f 2` + +if [ ! -S ${AGENT_SOCK} ]; then + gpg-agent --daemon --use-standard-socket >/dev/null 2>&1 +fi export GPG_TTY=$(tty) -# Set SSH to use gpg-agent if it is configured to do so -GNUPGCONFIG="${GNUPGHOME:-"$HOME/.gnupg"}/gpg-agent.conf" -if [ -r "$GNUPGCONFIG" ] && grep -q enable-ssh-support "$GNUPGCONFIG"; then - if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then - export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" - unset SSH_AGENT_PID - fi +# Set SSH to use gpg-agent if it's enabled +GPG_SSH_AUTH_SOCK="${AGENT_SOCK}.ssh" +if [ -S ${GPG_SSH_AUTH_SOCK} ]; then + export SSH_AUTH_SOCK=$GPG_SSH_AUTH_SOCK + unset SSH_AGENT_PID fi