1*63a41ed5Sdtucker# $OpenBSD: keygen-moduli.sh,v 1.4 2020/01/02 13:25:38 dtucker Exp $ 22ee97d96Sdtucker# Placed in the Public Domain. 32ee97d96Sdtucker 42ee97d96Sdtuckertid="keygen moduli" 52ee97d96Sdtucker 682d31e3aSdtuckerdhgex=0 782d31e3aSdtuckerfor kex in `${SSH} -Q kex`; do 882d31e3aSdtucker case $kex in 982d31e3aSdtucker diffie-hellman-group*) dhgex=1 ;; 1082d31e3aSdtucker esac 1182d31e3aSdtuckerdone 1282d31e3aSdtucker 13eab5c21eSdtucker# Try "start at the beginning and stop after 1", "skip 1 then stop after 1" 14eab5c21eSdtucker# and "skip 2 and run to the end with checkpointing". Since our test data 15eab5c21eSdtucker# file has 3 lines, these should always result in 1 line of output. 1682d31e3aSdtuckerif [ "x$dhgex" = "x1" ]; then 17*63a41ed5Sdtucker for i in "-O lines=1" "-O start-line=1 -O lines=1" "-O start-line=2 -O checkpoint=$OBJ/moduli.ckpt"; do 18eab5c21eSdtucker trace "keygen $i" 192ee97d96Sdtucker rm -f $OBJ/moduli.out $OBJ/moduli.ckpt 20*63a41ed5Sdtucker ${SSHKEYGEN} -M screen -f ${SRC}/moduli.in $i $OBJ/moduli.out 2>/dev/null || \ 21eab5c21eSdtucker fail "keygen screen failed $i" 222ee97d96Sdtucker lines=`wc -l <$OBJ/moduli.out` 232ee97d96Sdtucker test "$lines" -eq "1" || fail "expected 1 line, got $lines" 242ee97d96Sdtucker done 2582d31e3aSdtuckerfi 262ee97d96Sdtucker 272ee97d96Sdtuckerrm -f $OBJ/moduli.out $OBJ/moduli.ckpt 28