test ChrootDirectory in Match block
authordjm <djm@openbsd.org>
Fri, 12 May 2023 06:37:42 +0000 (06:37 +0000)
committerdjm <djm@openbsd.org>
Fri, 12 May 2023 06:37:42 +0000 (06:37 +0000)
regress/usr.bin/ssh/sftp-chroot.sh

index f9a7743..5dc360f 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: sftp-chroot.sh,v 1.8 2021/09/01 00:50:27 dtucker Exp $
+#      $OpenBSD: sftp-chroot.sh,v 1.9 2023/05/12 06:37:42 djm Exp $
 #      Placed in the Public Domain.
 
 tid="sftp in chroot"
@@ -15,10 +15,29 @@ fi
 $SUDO sh -c "echo mekmitastdigoat > $PRIVDATA" || \
        fatal "create $PRIVDATA failed"
 
-start_sshd -oChrootDirectory=$CHROOT -oForceCommand="internal-sftp -d /"
+echo "ForceCommand internal-sftp -d /" >> $OBJ/sshd_config
+
+start_sshd -oChrootDirectory=$CHROOT
 
 verbose "test $tid: get"
 ${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \
     >>$TEST_REGRESS_LOGFILE 2>&1 || \
        fatal "Fetch ${FILENAME} failed"
 cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ"
+
+stop_sshd
+
+verbose "test $tid: match"
+cat << EOF >> $OBJ/sshd_config
+Match All
+       ChrootDirectory $CHROOT
+EOF
+start_sshd
+$SUDO sh -c "echo orpheanbeholder > $PRIVDATA" || \
+       fatal "create $PRIVDATA failed"
+${SFTP} -S "$SSH" -F $OBJ/ssh_config host:/${FILENAME} $COPY \
+    >>$TEST_REGRESS_LOGFILE 2>&1 || \
+       fatal "Fetch ${FILENAME} failed"
+cmp $PRIVDATA $COPY || fail "$PRIVDATA $COPY differ"
+
+stop_sshd