Blame test/simulation/105-ntpauth

Packit Service 623930
#!/bin/bash
Packit Service 623930
Packit Service 623930
. ./test.common
Packit Service 623930
Packit Service 623930
test_start "NTP authentication"
Packit Service 623930
Packit Service 623930
server_conf="keyfile tmp/server.keys"
Packit Service 623930
client_conf="keyfile tmp/client.keys"
Packit Service 623930
Packit Service 623930
cat > tmp/server.keys <<-EOF
Packit Service 623930
1 MD5 HEX:6B5D3C6A2E4A74775E4F6F3B7A35453E6E5C5F302D783D2979505C663C295A5E
Packit Service 623930
2 MD5 HEX:6B5D3C6A2E4A74775E4F6F3B7A35453E6E5C5F302D783D2979505C663C295A5E
Packit Service 623930
3 MD5 HEX:6B5D3C6A2E4A74775E4F6F3B7A35453E6E5C5F302D783D2979505C663C295A5E
Packit Service 623930
4 MD5 HEX:6B5D3C6A2E4A74775E4F6F3B7A35453E6E5C5F302D783D2979505C663C295A5E
Packit Service 623930
EOF
Packit Service 623930
Packit Service 623930
cat > tmp/client.keys <<-EOF
Packit Service 623930
1 k]<j.Jtw^Oo;z5E>n\_0-x=)yP\f<)Z^
Packit Service 623930
2 ASCII:k]<j.Jtw^Oo;z5E>n\_0-x=)yP\f<)Z^
Packit Service 623930
3 MD5 ASCII:k]<j.Jtw^Oo;z5E>n\_0-x=)yP\f<)Z^
Packit Service 623930
4 MD5 HEX:6B5D3C6A2E4A74775E4F6F3B7A35453E6E5C5F302D783D2979505C663C295A5E
Packit Service 623930
EOF
Packit Service 623930
Packit Service 623930
keys=4
Packit Service 623930
Packit Service 623930
if check_config_h 'FEAT_SECHASH 1'; then
Packit Service 623930
	hashes="MD5 SHA1 SHA256 SHA384 SHA512"
Packit Service 623930
else
Packit Service 623930
	hashes="MD5"
Packit Service 623930
fi
Packit Service 623930
Packit Service 623930
for hash in $hashes; do
Packit Service 623930
	keys=$[$keys + 1]
Packit Service 623930
	key=$(echo $keys $hash HEX:$(tr -c -d '0-9A-F' < /dev/urandom 2> /dev/null | \
Packit Service 623930
		head -c $[$RANDOM % 64 * 2 + 2]))
Packit Service 623930
	echo "$key" >> tmp/server.keys
Packit Service 623930
	echo "$key" >> tmp/client.keys
Packit Service 623930
done
Packit Service 623930
Packit Service 623930
for version in 3 4; do
Packit Service 623930
	for key in $(seq $keys); do
Packit Service 623930
		client_server_options="version $version key $key"
Packit Service 623930
		run_test || test_fail
Packit Service 623930
		check_chronyd_exit || test_fail
Packit Service 623930
		check_source_selection || test_fail
Packit Service 623930
		check_packet_interval || test_fail
Packit Service 623930
		check_sync || test_fail
Packit Service 623930
	done
Packit Service 623930
done
Packit Service 623930
Packit Service 623930
server_conf=""
Packit Service 623930
Packit Service 623930
run_test || test_fail
Packit Service 623930
check_chronyd_exit || test_fail
Packit Service 623930
# This check must fail as the server doesn't know the key
Packit Service 623930
check_sync && test_fail
Packit Service 623930
check_packet_interval || test_fail
Packit Service 623930
Packit Service 623930
server_conf="keyfile tmp/server.keys"
Packit Service 623930
client_conf=""
Packit Service 623930
Packit Service 623930
run_test || test_fail
Packit Service 623930
check_chronyd_exit || test_fail
Packit Service 623930
# This check must fail as the client doesn't know the key
Packit Service 623930
check_sync && test_fail
Packit Service 623930
check_packet_interval || test_fail
Packit Service 623930
Packit Service 623930
client_conf="keyfile tmp/client.keys"
Packit Service 623930
clients=2
Packit Service 623930
peers=2
Packit Service 623930
max_sync_time=500
Packit Service 623930
base_delay="$default_base_delay (* -1 (equal 0.1 from 3) (equal 0.1 to 1))"
Packit Service 623930
client_lpeer_options="key 1"
Packit Service 623930
client_rpeer_options="key 1"
Packit Service 623930
Packit Service 623930
run_test || test_fail
Packit Service 623930
check_chronyd_exit || test_fail
Packit Service 623930
check_sync || test_fail
Packit Service 623930
Packit Service 623930
client_rpeer_options="key 2"
Packit Service 623930
Packit Service 623930
run_test || test_fail
Packit Service 623930
check_chronyd_exit || test_fail
Packit Service 623930
# This check must fail as the peers are using different keys"
Packit Service 623930
check_sync && test_fail
Packit Service 623930
Packit Service 623930
test_pass