]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: regress test for unmatched glob characters; fails before
authordjm@openbsd.org <djm@openbsd.org>
Mon, 24 Oct 2022 21:52:50 +0000 (21:52 +0000)
committerDamien Miller <djm@mindrot.org>
Mon, 24 Oct 2022 21:56:38 +0000 (08:56 +1100)
previous commit but passes now. bz3488; prodded by dtucker@

OpenBSD-Regress-ID: 0cc5cc9ea4a6fd170dc61b9212f15badaafb3bbd

regress/scp.sh

index f47c594572fd4cddf352e259671eb259b84d309e..44e6485b1eb75379b239ab474ed2a2fde4b063f1 100644 (file)
@@ -15,6 +15,8 @@ fi
 COPY2=${OBJ}/copy2
 DIR=${COPY}.dd
 DIR2=${COPY}.dd2
+COPY3=${OBJ}/copy.glob[123]
+DIR3=${COPY}.dd.glob[456]
 
 SRC=`dirname ${SCRIPT}`
 cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp
@@ -22,9 +24,9 @@ chmod 755 ${OBJ}/scp-ssh-wrapper.scp
 export SCP # used in scp-ssh-wrapper.scp
 
 scpclean() {
-       rm -rf ${COPY} ${COPY2} ${DIR} ${DIR2}
-       mkdir ${DIR} ${DIR2}
-       chmod 755 ${DIR} ${DIR2}
+       rm -rf ${COPY} ${COPY2} ${DIR} ${DIR2} ${COPY3} ${DIR3}
+       mkdir ${DIR} ${DIR2} ${DIR3}
+       chmod 755 ${DIR} ${DIR2} ${DIR3}
 }
 
 for mode in scp sftp ; do
@@ -113,6 +115,30 @@ for mode in scp sftp ; do
        $SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed"
        diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy"
 
+       verbose "$tag: unmatched glob file local->remote"
+       scpclean
+       $SCP $scpopts ${DATA} somehost:${COPY3} || fail "copy failed"
+       cmp ${DATA} ${COPY3} || fail "corrupted copy"
+
+       verbose "$tag: unmatched glob file remote->local"
+       # NB. no clean
+       $SCP $scpopts somehost:${COPY3} ${COPY2} || fail "copy failed"
+       cmp ${DATA} ${COPY2} || fail "corrupted copy"
+
+       verbose "$tag: unmatched glob dir recursive local->remote"
+       scpclean
+       rm -rf ${DIR3}
+       cp ${DATA} ${DIR}/copy
+       cp ${DATA} ${DIR}/copy.glob[1234]
+       $SCP $scpopts -r ${DIR} somehost:${DIR3} || fail "copy failed"
+       diff -rN ${DIR} ${DIR3} || fail "corrupted copy"
+
+       verbose "$tag: unmatched glob dir recursive remote->local"
+       # NB. no clean
+       rm -rf ${DIR2}
+       $SCP $scpopts -r somehost:${DIR3} ${DIR2} || fail "copy failed"
+       diff -rN ${DIR} ${DIR2} || fail "corrupted copy"
+
        verbose "$tag: shell metacharacters"
        scpclean
        (cd ${DIR} && \