djm@openbsd.org | ad44ca8 | 2019-11-26 23:43:10 +0000 | [diff] [blame] | 1 | # $OpenBSD: agent-timeout.sh,v 1.6 2019/11/26 23:43:10 djm Exp $ |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 2 | # Placed in the Public Domain. |
| 3 | |
| 4 | tid="agent timeout test" |
| 5 | |
Darren Tucker | dc7e656 | 2003-09-13 09:46:03 +1000 | [diff] [blame] | 6 | SSHAGENT_TIMEOUT=10 |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 7 | |
| 8 | trace "start agent" |
djm@openbsd.org | ad44ca8 | 2019-11-26 23:43:10 +0000 | [diff] [blame] | 9 | eval `${SSHAGENT} -s ${EXTRA_AGENT_ARGS}` > /dev/null |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 10 | r=$? |
| 11 | if [ $r -ne 0 ]; then |
| 12 | fail "could not start ssh-agent: exit code $r" |
| 13 | else |
| 14 | trace "add keys with timeout" |
dtucker@openbsd.org | ffdde46 | 2019-01-28 00:08:26 +0000 | [diff] [blame] | 15 | keys=0 |
markus@openbsd.org | dad2b18 | 2015-03-03 22:35:19 +0000 | [diff] [blame] | 16 | for t in ${SSH_KEYTYPES}; do |
djm@openbsd.org | 59650f0 | 2019-09-03 08:37:06 +0000 | [diff] [blame] | 17 | ${SSHADD} -kt ${SSHAGENT_TIMEOUT} $OBJ/$t > /dev/null 2>&1 |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 18 | if [ $? -ne 0 ]; then |
| 19 | fail "ssh-add did succeed exit code 0" |
| 20 | fi |
dtucker@openbsd.org | ffdde46 | 2019-01-28 00:08:26 +0000 | [diff] [blame] | 21 | keys=$((${keys} + 1)) |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 22 | done |
| 23 | n=`${SSHADD} -l 2> /dev/null | wc -l` |
| 24 | trace "agent has $n keys" |
dtucker@openbsd.org | ffdde46 | 2019-01-28 00:08:26 +0000 | [diff] [blame] | 25 | if [ $n -ne $keys ]; then |
| 26 | fail "ssh-add -l did not return $keys keys: $n" |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 27 | fi |
Tim Rice | 5543947 | 2003-09-09 08:27:40 -0700 | [diff] [blame] | 28 | trace "sleeping 2*${SSHAGENT_TIMEOUT} seconds" |
| 29 | sleep ${SSHAGENT_TIMEOUT} |
| 30 | sleep ${SSHAGENT_TIMEOUT} |
Darren Tucker | 58f89bc | 2003-09-04 15:07:59 +1000 | [diff] [blame] | 31 | ${SSHADD} -l 2> /dev/null | grep 'The agent has no identities.' >/dev/null |
Damien Miller | 8b9cde7 | 2003-01-22 17:53:16 +1100 | [diff] [blame] | 32 | if [ $? -ne 0 ]; then |
| 33 | fail "ssh-add -l still returns keys after timeout" |
| 34 | fi |
| 35 | |
| 36 | trace "kill agent" |
| 37 | ${SSHAGENT} -k > /dev/null |
| 38 | fi |