summaryrefslogtreecommitdiff
path: root/regress/usr.bin/ssh
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2019-07-23 08:19:30 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2019-07-23 08:19:30 +0000
commitb5f8263fd867fd5246285868707a1e6a7eaff9fe (patch)
treed57456c4f25f156b89251cc3fe46cc1df9ccf8ce /regress/usr.bin/ssh
parentae72fe478acc0d4cc0ca309201f27d6cc383cc5d (diff)
Skip DH group generation test if binaries don't support DH-GEX.
Diffstat (limited to 'regress/usr.bin/ssh')
-rw-r--r--regress/usr.bin/ssh/keygen-moduli.sh15
1 files changed, 12 insertions, 3 deletions
diff --git a/regress/usr.bin/ssh/keygen-moduli.sh b/regress/usr.bin/ssh/keygen-moduli.sh
index d4e771383fe..a8eccfb6929 100644
--- a/regress/usr.bin/ssh/keygen-moduli.sh
+++ b/regress/usr.bin/ssh/keygen-moduli.sh
@@ -1,18 +1,27 @@
-# $OpenBSD: keygen-moduli.sh,v 1.2 2016/09/14 00:45:31 dtucker Exp $
+# $OpenBSD: keygen-moduli.sh,v 1.3 2019/07/23 08:19:29 dtucker Exp $
# Placed in the Public Domain.
tid="keygen moduli"
+dhgex=0
+for kex in `${SSH} -Q kex`; do
+ case $kex in
+ diffie-hellman-group*) dhgex=1 ;;
+ esac
+done
+
# Try "start at the beginning and stop after 1", "skip 1 then stop after 1"
# and "skip 2 and run to the end with checkpointing". Since our test data
# file has 3 lines, these should always result in 1 line of output.
-for i in "-J1" "-j1 -J1" "-j2 -K $OBJ/moduli.ckpt"; do
+if [ "x$dhgex" = "x1" ]; then
+ for i in "-J1" "-j1 -J1" "-j2 -K $OBJ/moduli.ckpt"; do
trace "keygen $i"
rm -f $OBJ/moduli.out $OBJ/moduli.ckpt
${SSHKEYGEN} -T $OBJ/moduli.out -f ${SRC}/moduli.in $i 2>/dev/null || \
fail "keygen screen failed $i"
lines=`wc -l <$OBJ/moduli.out`
test "$lines" -eq "1" || fail "expected 1 line, got $lines"
-done
+ done
+fi
rm -f $OBJ/moduli.out $OBJ/moduli.ckpt