#! /sbin/nologin
# $Id$
-agenteval=/tmp/.$USER.ssh-agent.eval
-if lockfile -1 -r 3 -l 10 -s 1 $agenteval.lock;then
- test -f $agenteval -a -O $agenteval -a -G $agenteval &&
+for key in $HOME/.ssh/id_dsa;do
+ test -r "$key" || continue
+
+ agenteval=/tmp/.$USER.ssh-agent.eval
+ if lockfile -1 -r 3 -l 10 -s 1 $agenteval.lock;then
+ test -f $agenteval -a -O $agenteval -a -G $agenteval &&
+ # ">/dev/null" to prevent: echo Agent pid 31074;
+ source $agenteval >/dev/null
+ if [ "ssh-agent" != "`(xargs -0 </proc/"$SSH_AGENT_PID"/cmdline sh -c 'echo "$0"') 2>/dev/null `" ];then
+ rm -f $agenteval
+ (test ! -e $agenteval && ssh-agent -s >$agenteval) || echo >&2 'Failing ssh-agent!'
# ">/dev/null" to prevent: echo Agent pid 31074;
source $agenteval >/dev/null
- if [ "ssh-agent" != "`(xargs -0 </proc/"$SSH_AGENT_PID"/cmdline sh -c 'echo "$0"') 2>/dev/null `" ];then
- rm -f $agenteval
- (test ! -e $agenteval && ssh-agent -s >$agenteval) || echo >&2 'Failing ssh-agent!'
- # ">/dev/null" to prevent: echo Agent pid 31074;
- source $agenteval >/dev/null
+ fi
+ rm -f $agenteval.lock
fi
- rm -f $agenteval.lock
-fi
-for key in $HOME/.ssh/id_dsa;do
+
# Prevent gdm(8) lockups on non-interactive consoles.
tty -s || continue
(ssh-add -l|grep -qw "$key") && continue