forked from openkylin/libssh2
54 lines
975 B
Bash
54 lines
975 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
# Written by Simon Josefsson.
|
||
|
|
||
|
# Start sshd, invoke parameters, saving exit code, kill sshd, and
|
||
|
# return exit code.
|
||
|
|
||
|
srcdir="@SSHD_TEST_CONFIG_DIR@"
|
||
|
SSHD="@SSHD_EXECUTABLE@"
|
||
|
|
||
|
cmd="\"$1\""
|
||
|
|
||
|
PRIVKEY=$srcdir/etc/user
|
||
|
export PRIVKEY
|
||
|
PUBKEY=$srcdir/etc/user.pub
|
||
|
export PUBKEY
|
||
|
|
||
|
if test -n "$DEBUG"; then
|
||
|
libssh2_sshd_params="-d -d"
|
||
|
fi
|
||
|
|
||
|
chmod go-rwx "$srcdir"/etc/host*
|
||
|
"$SSHD" -f /dev/null -h "$srcdir/etc/host" \
|
||
|
-o 'Port 4711' \
|
||
|
-o 'Protocol 2' \
|
||
|
-o "AuthorizedKeysFile \"$srcdir/etc/user.pub\"" \
|
||
|
-o 'UsePrivilegeSeparation no' \
|
||
|
-o 'StrictModes no' \
|
||
|
-D \
|
||
|
$libssh2_sshd_params &
|
||
|
sshdpid=$!
|
||
|
|
||
|
trap "kill ${sshdpid}; echo signal killing sshd; exit 1;" EXIT
|
||
|
|
||
|
: "started sshd (${sshdpid})"
|
||
|
|
||
|
sleep 3
|
||
|
|
||
|
if ! kill -0 ${sshdpid}
|
||
|
then
|
||
|
echo "SSHD exited before test started"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
: Invoking $cmd...
|
||
|
eval "$cmd"
|
||
|
ec=$?
|
||
|
: Self-test exit code $ec
|
||
|
|
||
|
: "killing sshd (${sshdpid})"
|
||
|
kill "${sshdpid}" > /dev/null 2>&1
|
||
|
trap "" EXIT
|
||
|
exit $ec
|