summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker <dtucker@openbsd.org>2013-05-16 02:10:35 +0000
committerdtucker <dtucker@openbsd.org>2013-05-16 02:10:35 +0000
commit3f7f932e5506eb49b904b6d367fae0385451b835 (patch)
treee2511ee3b127f5fe2a419240dc84d9899433d4b2
parentAdd an optional second argument to RekeyLimit in the client to allow (diff)
downloadwireguard-openbsd-3f7f932e5506eb49b904b6d367fae0385451b835.tar.xz
wireguard-openbsd-3f7f932e5506eb49b904b6d367fae0385451b835.zip
Add test for time-based rekeying
-rw-r--r--regress/usr.bin/ssh/rekey.sh23
1 files changed, 21 insertions, 2 deletions
diff --git a/regress/usr.bin/ssh/rekey.sh b/regress/usr.bin/ssh/rekey.sh
index e886db2856b..010d65f4572 100644
--- a/regress/usr.bin/ssh/rekey.sh
+++ b/regress/usr.bin/ssh/rekey.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: rekey.sh,v 1.3 2013/04/07 02:16:03 dtucker Exp $
+# $OpenBSD: rekey.sh,v 1.4 2013/05/16 02:10:35 dtucker Exp $
# Placed in the Public Domain.
tid="rekey during transfer data"
@@ -12,7 +12,7 @@ dd if=/dev/zero of=${DATA} bs=1k count=512 > /dev/null 2>&1
for s in 16 1k 128k 256k; do
trace "rekeylimit ${s}"
- rm -f ${COPY}
+ rm -f ${COPY} ${LOG}
cat $DATA | \
${SSH} -oCompression=no -oRekeyLimit=$s \
-v -F $OBJ/ssh_proxy somehost "cat > ${COPY}"
@@ -27,4 +27,23 @@ for s in 16 1k 128k 256k; do
fail "no rekeying occured"
fi
done
+
+for s in 5 10 15 ; do
+ trace "rekeylimit default ${s}"
+ rm -f ${COPY} ${LOG}
+ cat $DATA | \
+ ${SSH} -oCompression=no -oRekeyLimit="default $s" -F \
+ $OBJ/ssh_proxy somehost "cat >${COPY};sleep $s;sleep 5"
+ if [ $? -ne 0 ]; then
+ fail "ssh failed"
+ fi
+ cmp $DATA ${COPY} || fail "corrupted copy"
+ n=`grep 'NEWKEYS sent' ${LOG} | wc -l`
+ n=`expr $n - 1`
+ trace "$n rekeying(s)"
+ if [ $n -lt 1 ]; then
+ fail "no rekeying occured"
+ fi
+done
+
rm -f ${COPY} ${DATA}