Add "kod" option to the ratelimit directive to respond with the KoD RATE code to randomly selected requests exceeding the configured limit. This complements the client support of KoD RATE. It's disabled by default. There can be only one KoD code in one response. If both NTS NAK and RATE codes are triggered, drop the response. The KoD RATE code can be set in an NTS-authenticated response.
29 lines
795 B
Bash
Executable file
29 lines
795 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
. ./test.common
|
|
test_start "ratelimit directive"
|
|
|
|
server_conf="ratelimit interval 6 burst 2 leak 4"
|
|
client_server_options="minpoll 3 maxpoll 3"
|
|
min_sync_time=16
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages " 2 1 " 1200 1300 log.packets || test_fail
|
|
check_file_messages " 1 2 " 180 220 log.packets || test_fail
|
|
|
|
server_conf="ratelimit interval 6 burst 2 leak 4 kod 2"
|
|
|
|
run_test || test_fail
|
|
check_chronyd_exit || test_fail
|
|
check_packet_interval || test_fail
|
|
check_sync || test_fail
|
|
|
|
check_file_messages " 2 1 " 700 850 log.packets || test_fail
|
|
check_file_messages " 1 2 " 350 450 log.packets || test_fail
|
|
check_log_messages "Received KoD RATE.*\.123.1" 100 140 || test_fail
|
|
|
|
test_pass
|