This commit is contained in:
Nuno Cardoso 2012-07-26 22:15:53 -07:00
commit a69526565b
4 changed files with 70 additions and 7 deletions

View file

@ -8,19 +8,39 @@ function start_agent {
. ${GPG_ENV} > /dev/null
}
if [[ -n $SSH_AUTH_SOCK && -n $SSH_CONNECTION ]]; then
case $GPG_USE_FORWARDED_SSH_AGENT in
'always')
FOWARDED_AGENT=1
;;
'never')
;;
*)
echo "Use forwarded ssh-agent?(y/N) "
read
[[ $REPLY == 'y' ]] && FOWARDED_AGENT=1
esac
if [[ -n $FOWARDED_AGENT ]]; then
SSH_AUTH_SOCK_TMP=$SSH_AUTH_SOCK
fi
fi
# Source GPG agent settings, if applicable
if [ -f "${GPG_ENV}" ]; then
. ${GPG_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || {
command ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || {
start_agent;
}
else
start_agent;
fi
[[ -n $FOWARDED_AGENT ]] && SSH_AUTH_SOCK=$SSH_AUTH_SOCK_TMP
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
export SSH_AGENT_PID
GPG_TTY=$(tty)
export GPG_TTY