From 2cfe6a7ba80806771b86cd455f385e6f6015fec1 Mon Sep 17 00:00:00 2001 From: djm Date: Thu, 24 Oct 2024 03:28:34 +0000 Subject: [PATCH] test SIGUSR1 dropping all keys from ssh-agent --- regress/usr.bin/ssh/agent.sh | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/regress/usr.bin/ssh/agent.sh b/regress/usr.bin/ssh/agent.sh index 5f1060608eb..f0022aca552 100644 --- a/regress/usr.bin/ssh/agent.sh +++ b/regress/usr.bin/ssh/agent.sh @@ -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. tid="simple agent test" @@ -157,7 +157,7 @@ done ## Deletion tests. -trace "delete all agent keys" +trace "delete all agent keys using -D" ${SSHADD} -D > /dev/null 2>&1 r=$? if [ $r -ne 0 ]; then @@ -181,6 +181,29 @@ r=$? if [ $r -ne 0 ]; then fail "ssh-add -l failed: exit code $r" 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() { ${SSHADD} -L | grep "^$1 " >/dev/null -- 2.20.1