Rely entirely on oh-my-zsh to start gpg-agent.

This commit is contained in:
David Tomaschik
2017-02-23 12:32:52 -08:00
parent 70cc5c5218
commit cabdaac7a6
3 changed files with 5 additions and 17 deletions

View File

@@ -1,4 +1,3 @@
enable-ssh-support
use-standard-socket
default-cache-ttl 7200
default-cache-ttl-ssh 7200

View File

@@ -1,20 +1,4 @@
# Always load ENV
test -f "$HOME/.env" && . "$HOME/.env"
# Setup GPG Agent
if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then
GPG_AGENT_INFO_PATH=$HOME/.gnupg/gpg-agent.env
if test -f $GPG_AGENT_INFO_PATH && kill -0 `cut -d: -f 2 $GPG_AGENT_INFO_PATH` 2>/dev/null ; then
. $GPG_AGENT_INFO_PATH
export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID
else
if which gpg-agent >/dev/null 2>&1 ; then
gpg-agent -q 2>/dev/null || eval `gpg-agent --daemon --enable-ssh-support --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null
fi
fi
unset GPG_AGENT_INFO_PATH
export GPG_TTY=`tty`
fi
# End GPG
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"

View File

@@ -20,6 +20,8 @@ function start_agent_withssh {
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then
# source settings of old agent, if applicable
if [ -f "${GPG_ENV}" ]; then
# This can be clobbered by the file
local OLD_SSH_AUTH_SOCK=${SSH_AUTH_SOCK}
. ${GPG_ENV} > /dev/null
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
@@ -29,6 +31,9 @@ if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /de
# check again if another agent is running using the newly sourced settings
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then
# check for existing ssh-agent
if [ -n "${OLD_SSH_AUTH_SOCK}" ] ; then
SSH_AUTH_SOCK=${OLD_SSH_AUTH_SOCK};export SSH_AUTH_SOCK
fi
if ssh-add -l > /dev/null 2> /dev/null; then
# ssh-agent running, start gpg-agent without ssh support
start_agent_nossh;