upstream: test SIGUSR1 dropping all keys from ssh-agent

OpenBSD-Regress-ID: 8654b9aa8eb695b1499fffc408c25319592bf0e0
This commit is contained in:
djm@openbsd.org 2024-10-24 03:28:34 +00:00 committed by Damien Miller
parent e86d7a077c
commit de644b1831
No known key found for this signature in database

View File

@ -1,4 +1,4 @@
# $OpenBSD: agent.sh,v 1.21 2023/03/01 09:29:32 dtucker Exp $ # $OpenBSD: agent.sh,v 1.22 2024/10/24 03:28:34 djm Exp $
# Placed in the Public Domain. # Placed in the Public Domain.
tid="simple agent test" tid="simple agent test"
@ -157,7 +157,7 @@ done
## Deletion tests. ## Deletion tests.
trace "delete all agent keys" trace "delete all agent keys using -D"
${SSHADD} -D > /dev/null 2>&1 ${SSHADD} -D > /dev/null 2>&1
r=$? r=$?
if [ $r -ne 0 ]; then if [ $r -ne 0 ]; then
@ -181,6 +181,29 @@ r=$?
if [ $r -ne 0 ]; then if [ $r -ne 0 ]; then
fail "ssh-add -l failed: exit code $r" fail "ssh-add -l failed: exit code $r"
fi fi
trace "delete all agent keys using SIGUSR1"
kill -s USR1 $SSH_AGENT_PID
r=$?
if [ $r -ne 0 ]; then
fail "kill -s USR1 failed: exit code $r"
fi
# make sure they're gone
${SSHADD} -l > /dev/null 2>&1
r=$?
if [ $r -ne 1 ]; then
fail "ssh-add -l returned unexpected exit code: $r"
fi
# re-add keys/certs to agent
for t in ${SSH_KEYTYPES}; do
${SSHADD} $OBJ/$t-agent-private >/dev/null 2>&1 || \
fail "ssh-add failed exit code $?"
done
# make sure they are there
${SSHADD} -l > /dev/null 2>&1
r=$?
if [ $r -ne 0 ]; then
fail "ssh-add -l failed: exit code $r"
fi
check_key_absent() { check_key_absent() {
${SSHADD} -L | grep "^$1 " >/dev/null ${SSHADD} -L | grep "^$1 " >/dev/null