xref: /openbsd-src/regress/usr.bin/ssh/keygen-moduli.sh (revision 63a41ed5d6dd7ad61429e0ac85cc4e17c42a0b5d)
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