upstream: Add a sshd debug wrapper

... to run all of the subprograms from the build directory while
developing and debugging.  Should help prevent accidentally testing
against unchanged installed sshd-auth and sshd-session binaries. ok djm@

OpenBSD-Commit-ID: 61760cdc98c2bc8f1e9f83a6f97cca0f66b52e69
This commit is contained in:
dtucker@openbsd.org 2024-10-22 06:16:26 +00:00 committed by Darren Tucker
parent 87bd1cb3cc
commit 307ab3c772
No known key found for this signature in database
1 changed files with 52 additions and 0 deletions

52
sshd-debug.sh Executable file
View File

@ -0,0 +1,52 @@
#!/bin/sh
# ssh-debug
# A wrapper script around sshd to invoke when debugging to debug the
# work-in-progress versions of sshd-auth and sshd-session, instead
# of debugging the installed ones that probably don't have the change
# you are working on.
#
# Placed in the Public Domain.
unset DIR SSHD SSHD_AUTH SSHD_SESSION
fatal() {
echo >&2 $@
exit 1
}
case "$0" in
/*) DIR="`dirname $0`" ;;
./sshd-debug.sh) DIR="`pwd`" ;;
*) echo "Need full path or working directory."; exit 1 ;;
esac
for i in sshd/obj/sshd sshd/sshd sshd; do
if [ -f "${DIR}/$i" ] && [ -x "${DIR}/$i" ]; then
SSHD="${DIR}/$i"
fi
done
[ -z "${SSHD}" ] && fatal "Could not find sshd"
for i in sshd-auth/obj/sshd-auth sshd-auth/sshd-auth sshd-auth; do
if [ -f "${DIR}/$i" ] && [ -x "${DIR}/$i" ]; then
SSHD_AUTH="${DIR}/$i"
fi
done
[ -z "${SSHD_AUTH}" ] && fatal "Could not find sshd-auth"
for i in sshd-session/obj/sshd-session sshd-session/sshd-session sshd-session; do
if [ -f "${DIR}/$i" ] && [ -x "${DIR}/$i" ]; then
SSHD_SESSION="${DIR}/$i"
fi
done
[ -z "${SSHD_SESSION}" ] && fatal "Could not find sshd-session"
echo >&2 Debugging ${SSHD} auth ${SSHD_AUTH} session ${SSHD_SESSION}
# Append SshdSessionPath and SshdAuthPath pointing to the build directory.
# If you explicity specify these in the command line, the first-match
# keyword semantics will override these.
exec "${SSHD}" $@ \
-oSshdAuthPath="${SSHD_AUTH}" -oSshdSessionPath="${SSHD_SESSION}"