cfgparse.sh revision 1.3
1# $OpenBSD: cfgparse.sh,v 1.3 2015/05/04 01:47:53 dtucker Exp $ 2# Placed in the Public Domain. 3 4tid="config parse" 5 6verbose "reparse default config" 7($SUDO ${SSHD} -T -f /dev/null >$OBJ/sshd_config.1 && 8 $SUDO ${SSHD} -T -f $OBJ/sshd_config.1 >$OBJ/sshd_config.2 && 9 diff $OBJ/sshd_config.1 $OBJ/sshd_config.2) || fail "reparse default config" 10 11verbose "reparse regress config" 12($SUDO ${SSHD} -T -f $OBJ/sshd_config >$OBJ/sshd_config.1 && 13 $SUDO ${SSHD} -T -f $OBJ/sshd_config.1 >$OBJ/sshd_config.2 && 14 diff $OBJ/sshd_config.1 $OBJ/sshd_config.2) || fail "reparse regress config" 15 16verbose "listenaddress order" 17# expected output 18cat > $OBJ/sshd_config.0 <<EOD 19listenaddress 1.2.3.4:1234 20listenaddress 1.2.3.4:5678 21listenaddress [::1]:1234 22listenaddress [::1]:5678 23EOD 24# test input sets. should all result in the output above. 25# test 1: addressfamily and port first 26cat > $OBJ/sshd_config.1 <<EOD 27addressfamily any 28port 1234 29port 5678 30listenaddress 1.2.3.4 31listenaddress ::1 32EOD 33($SUDO ${SSHD} -T -f $OBJ/sshd_config.1 | \ 34 grep 'listenaddress ' >$OBJ/sshd_config.2 && 35 diff $OBJ/sshd_config.0 $OBJ/sshd_config.2) || \ 36 fail "listenaddress order 1" 37# test 2: listenaddress first 38cat > $OBJ/sshd_config.1 <<EOD 39listenaddress 1.2.3.4 40listenaddress ::1 41port 1234 42port 5678 43addressfamily any 44EOD 45($SUDO ${SSHD} -T -f $OBJ/sshd_config.1 | \ 46 grep 'listenaddress ' >$OBJ/sshd_config.2 && 47 diff $OBJ/sshd_config.0 $OBJ/sshd_config.2) || \ 48 fail "listenaddress order 2" 49 50# cleanup 51rm -f $OBJ/sshd_config.[012] 52