diff -ru regress.orig/usr.bin/ssh/agent-timeout.sh regress/usr.bin/ssh/agent-timeout.sh --- regress.orig/usr.bin/ssh/agent-timeout.sh Thu Jun 6 10:38:40 2002 +++ regress/usr.bin/ssh/agent-timeout.sh Sun Sep 29 15:38:23 2002 @@ -26,7 +26,7 @@ trace "sleeping 2*${TIMEOUT} seconds" sleep ${TIMEOUT} sleep ${TIMEOUT} - ${SSHADD} -l 2> /dev/null | grep -q 'The agent has no identities.' + ${SSHADD} -l 2> /dev/null | grep 'The agent has no identities.' >/dev/null if [ $? -ne 0 ]; then fail "ssh-add -l still returns keys after timeout" fi diff -ru regress.orig/usr.bin/ssh/agent.sh regress/usr.bin/ssh/agent.sh --- regress.orig/usr.bin/ssh/agent.sh Sat Mar 16 00:08:56 2002 +++ regress/usr.bin/ssh/agent.sh Sat Sep 28 20:18:34 2002 @@ -19,14 +19,14 @@ fail "ssh-add -l did not fail with exit code 1" fi trace "overwrite authorized keys" - echo -n > $OBJ/authorized_keys_$USER + echon > "$AUTHORIZED_KEYS_FILE" for t in rsa rsa1; do # generate user key for agent rm -f $OBJ/$t-agent ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t-agent ||\ fail "ssh-keygen for $t-agent failed" # add to authorized keys - cat $OBJ/$t-agent.pub >> $OBJ/authorized_keys_$USER + cat $OBJ/$t-agent.pub >> "$AUTHORIZED_KEYS_FILE" # add privat key to agent ${SSHADD} $OBJ/$t-agent > /dev/null 2>&1 if [ $? -ne 0 ]; then diff -ru regress.orig/usr.bin/ssh/proto-version.sh regress/usr.bin/ssh/proto-version.sh --- regress.orig/usr.bin/ssh/proto-version.sh Sat Mar 16 00:08:56 2002 +++ regress/usr.bin/ssh/proto-version.sh Sat Sep 28 20:18:34 2002 @@ -8,7 +8,7 @@ { version=$1 expect=$2 - banner=`echo -n | ${SSHD} -o "Protocol=${version}" -i -f ${OBJ}/sshd_proxy` + banner=`echon | ${SSHD} -o "Protocol=${version}" -i -f ${OBJ}/sshd_proxy` case ${banner} in SSH-1.99-*) proto=199 diff -ru regress.orig/usr.bin/ssh/sftp.sh regress/usr.bin/ssh/sftp.sh --- regress.orig/usr.bin/ssh/sftp.sh Thu Mar 28 09:39:52 2002 +++ regress/usr.bin/ssh/sftp.sh Sat Sep 28 20:18:34 2002 @@ -5,6 +5,13 @@ DATA=/bin/ls COPY=${OBJ}/copy +SFTPCMDFILE=${OBJ}/batch + +cat >$SFTPCMDFILE < /dev/null 2>&1 << EOF - version - get $DATA ${COPY}.1 - put $DATA ${COPY}.2 -EOF + rm -f ${COPY}.1 ${COPY}.2 + ${SFTP} -P ${SFTPSERVER} -B $B -R $R -b $SFTPCMDFILE \ + > /dev/null 2>&1 r=$? if [ $r -ne 0 ]; then fail "sftp failed with $r" + else + cmp $DATA ${COPY}.1 || fail "corrupted copy after get" + cmp $DATA ${COPY}.2 || fail "corrupted copy after put" fi - cmp $DATA ${COPY}.1 || fail "corrupted copy after get" - cmp $DATA ${COPY}.2 || fail "corrupted copy after put" done done +rm -f ${COPY}.1 ${COPY}.2 +rm -f $SFTPCMDFILE diff -ru regress.orig/usr.bin/ssh/ssh-com-client.sh regress/usr.bin/ssh/ssh-com-client.sh --- regress.orig/usr.bin/ssh/ssh-com-client.sh Tue Jul 16 18:58:16 2002 +++ regress/usr.bin/ssh/ssh-com-client.sh Sat Sep 28 20:18:34 2002 @@ -27,7 +27,7 @@ chmod 600 ${OBJ}/id.com ${SSHKEYGEN} -i -f ${OBJ}/id.com > $OBJ/id.openssh chmod 600 ${OBJ}/id.openssh -${SSHKEYGEN} -y -f ${OBJ}/id.openssh > $OBJ/authorized_keys_$USER +${SSHKEYGEN} -y -f ${OBJ}/id.openssh > "$AUTHORIZED_KEYS_FILE" ${SSHKEYGEN} -e -f ${OBJ}/id.openssh > $OBJ/id.com.pub echo IdKey ${OBJ}/id.com > ${OBJ}/id.list diff -ru regress.orig/usr.bin/ssh/ssh-com-sftp.sh regress/usr.bin/ssh/ssh-com-sftp.sh --- regress.orig/usr.bin/ssh/ssh-com-sftp.sh Tue Jul 16 18:58:16 2002 +++ regress/usr.bin/ssh/ssh-com-sftp.sh Sat Sep 28 20:18:34 2002 @@ -5,6 +5,13 @@ DATA=/bin/ls COPY=${OBJ}/copy +SFTPCMDFILE=${OBJ}/batch + +cat >$SFTPCMDFILE < /dev/null 2>&1 << EOF - version - get $DATA ${COPY}.1 - put $DATA ${COPY}.2 -EOF + ${SFTP} -P ${server} -B $B -R $R -b $SFTPCMDFILE \ + > /dev/null 2>&1 r=$? if [ $r -ne 0 ]; then fail "sftp failed with $r" + else + cmp $DATA ${COPY}.1 || fail "corrupted copy after get" + cmp $DATA ${COPY}.2 || fail "corrupted copy after put" fi - cmp $DATA ${COPY}.1 || fail "corrupted copy after get" - cmp $DATA ${COPY}.2 || fail "corrupted copy after put" done done done +rm -f ${COPY}.1 ${COPY}.2 +rm -f $SFTPCMDFILE diff -ru regress.orig/usr.bin/ssh/ssh-com.sh regress/usr.bin/ssh/ssh-com.sh --- regress.orig/usr.bin/ssh/ssh-com.sh Tue Jul 16 18:58:16 2002 +++ regress/usr.bin/ssh/ssh-com.sh Sat Sep 28 20:18:34 2002 @@ -65,7 +65,7 @@ # convert and append DSA hostkey ( - echo -n 'ssh2-localhost-with-alias,127.0.0.1,::1 ' + echon 'ssh2-localhost-with-alias,127.0.0.1,::1 ' ${SSHKEYGEN} -if ${SRC}/dsa_ssh2.pub ) >> $OBJ/known_hosts diff -ru regress.orig/usr.bin/ssh/stderr-after-eof.sh regress/usr.bin/ssh/stderr-after-eof.sh --- regress.orig/usr.bin/ssh/stderr-after-eof.sh Sun Mar 24 03:38:09 2002 +++ regress/usr.bin/ssh/stderr-after-eof.sh Sat Sep 28 20:18:34 2002 @@ -7,11 +7,23 @@ DATA=${OBJ}/data COPY=${OBJ}/copy +if [ -x "`which md5sum`" ]; then + CHECKSUM=md5sum +elif [ -x "`which openssl`" ]; then + CHECKSUM="openssl md5" +elif [ -x "`which cksum`" ]; then + CHECKSUM=cksum +elif [ -x "`which sum`" ]; then + CHECKSUM=sum +else + fatal "No checksum program available, aborting $tid test" +fi + # setup data rm -f ${DATA} ${COPY} cp /dev/null ${DATA} for i in 1 2 3 4 5 6; do - (date;echo $i) | md5 >> ${DATA} + (date;echo $i) | $CHECKSUM >> ${DATA} done ${SSH} -2 -F $OBJ/ssh_proxy otherhost \ diff -ru regress.orig/usr.bin/ssh/test-exec.sh regress/usr.bin/ssh/test-exec.sh --- regress.orig/usr.bin/ssh/test-exec.sh Tue Apr 16 01:19:48 2002 +++ regress/usr.bin/ssh/test-exec.sh Sat Sep 28 20:18:34 2002 @@ -2,9 +2,21 @@ # Placed in the Public Domain. PORT=4242 -USER=`id -un` -SUDO= -#SUDO=sudo +#SUDO= + +if [ -x /usr/ucb/whoami ]; then + USER=`/usr/ucb/whoami` +elif [ -x "`which whoami`" ]; then + USER=`whoami` +else + USER=`id -un` +fi + +if [ -x "`which hostname`" ]; then + HOSTNAME="`hostname`" +else + HOSTNAME="unknown" +fi OBJ=$1 if [ "x$OBJ" = "x" ]; then @@ -40,7 +52,7 @@ SSHKEYGEN=ssh-keygen SSHKEYSCAN=ssh-keyscan SFTP=sftp -SFTPSERVER=/usr/libexec/sftp-server +SFTPSERVER=sftp-server if [ "x$TEST_SSH_SSH" != "x" ]; then SSH=${TEST_SSH_SSH} @@ -66,12 +78,30 @@ if [ "x$TEST_SSH_SFTPSERVER" != "x" ]; then SFTPSERVER=${TEST_SSH_SFTPSERVER} fi +if [ "x${AUTHORIZED_KEYS_DIR}" = "x" ]; then + AUTHORIZED_KEYS_FILE="$OBJ/authorized_keys_$USER" #openbsd default +else + AUTHORIZED_KEYS_FILE=${AUTHORIZED_KEYS_DIR}/authorized_keys_regress_${USER}_${HOSTNAME} + test ! -d ${AUTHORIZED_KEYS_DIR} && mkdir -p ${AUTHORIZED_KEYS_DIR} + chmod 700 ${AUTHORIZED_KEYS_DIR} +fi # these should be used in tests -export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER +export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER AUTHORIZED_KEYS_FILE #echo $SSH $SSHD $SSHAGENT $SSHADD $SSHKEYGEN $SSHKEYSCAN $SFTP $SFTPSERVER # helper +echon() +{ + if [ "x`echo -n`" = "x" ]; then + echo -n "$@" + elif [ "x`echo '\c'`" = "x" ]; then + echo "$@\c" + else + fatal "Don't know how to echo without newline." + fi +} + cleanup () { if [ -f $PIDFILE ]; then @@ -86,6 +116,7 @@ fi fi fi + rm -f $AUTHORIZED_KEYS_FILE } trace () @@ -111,7 +142,7 @@ fatal () { - echo -n "FATAL: " + echon "FATAL: " fail "$@" cleanup exit $RESULT @@ -128,8 +159,9 @@ ListenAddress 127.0.0.1 #ListenAddress ::1 PidFile $PIDFILE - AuthorizedKeysFile $OBJ/authorized_keys_%u - LogLevel QUIET + AuthorizedKeysFile $AUTHORIZED_KEYS_FILE + KeepAlive no + LogLevel VERBOSE EOF # server config for proxy connects @@ -158,7 +190,7 @@ StrictHostKeyChecking yes EOF -rm -f $OBJ/known_hosts $OBJ/authorized_keys_$USER +rm -f $OBJ/known_hosts $AUTHORIZED_KEYS_FILE trace "generate keys" for t in rsa rsa1; do @@ -169,12 +201,12 @@ # known hosts file for client ( - echo -n 'localhost-with-alias,127.0.0.1,::1 ' + echon 'localhost-with-alias,127.0.0.1,::1 ' cat $OBJ/$t.pub ) >> $OBJ/known_hosts # setup authorized keys - cat $OBJ/$t.pub >> $OBJ/authorized_keys_$USER + cat $OBJ/$t.pub >> $AUTHORIZED_KEYS_FILE echo IdentityFile $OBJ/$t >> $OBJ/ssh_config # use key as host key, too @@ -184,12 +216,12 @@ # don't use SUDO for proxy connect echo HostKey $OBJ/$t >> $OBJ/sshd_proxy done -chmod 644 $OBJ/authorized_keys_$USER +chmod 644 $AUTHORIZED_KEYS_FILE # create a proxy version of the client config ( cat $OBJ/ssh_config - echo proxycommand ${SSHD} -i -f $OBJ/sshd_proxy + echo proxycommand ${SUDO} ${SSHD} -i -f $OBJ/sshd_proxy ) > $OBJ/ssh_proxy # check proxy config @@ -203,7 +235,7 @@ trace "wait for sshd" i=0; - while [ ! -f $PIDFILE -a $i -lt 5 ]; do + while [ ! -f $PIDFILE -a $i -lt 10 ]; do i=`expr $i + 1` sleep $i done