]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Skip DH group generation test if binaries don't support
authordtucker@openbsd.org <dtucker@openbsd.org>
Tue, 23 Jul 2019 08:19:29 +0000 (08:19 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Tue, 23 Jul 2019 12:51:22 +0000 (22:51 +1000)
DH-GEX.

OpenBSD-Regress-ID: 7c918230d969ecf7656babd6191a74526bffbffd

regress/keygen-moduli.sh

index d4e771383feae1318f555aacb88c740185bb07c0..a8eccfb692952baf228b144fde34a5454f22532b 100644 (file)
@@ -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