From: Artem Boldariev Date: Wed, 21 Jun 2023 18:50:26 +0000 (+0300) Subject: Extend DNS over HTTP(S) unit tests with PROXY over TLS checks X-Git-Tag: v9.19.19~10^2~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=69995bc7b7e08fd67013426418f90e5333ca9ab5;p=thirdparty%2Fbind9.git Extend DNS over HTTP(S) unit tests with PROXY over TLS checks This commit adds PROXY over TLS related checks to DNS over HTTP(S) transport in order to ensure its compatibility with this mode. --- diff --git a/tests/isc/doh_test.c b/tests/isc/doh_test.c index 5035ec2f0fc..eb393d5412b 100644 --- a/tests/isc/doh_test.c +++ b/tests/isc/doh_test.c @@ -2006,6 +2006,104 @@ ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_GET_TLS_quota) { doh_recv_send(arg); } +/* PROXY over TLS */ + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_POST_TLS) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_one(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_GET_TLS) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_one(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_GET_TLS_quota) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_one(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_POST_TLS_quota) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_one(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_POST_TLS) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_two(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_GET_TLS) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_two(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_POST_TLS_quota) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_two(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_GET_TLS_quota) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_two(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_POST_TLS) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_send(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_GET_TLS) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + doh_recv_send(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_POST_TLS_quota) { + atomic_store(&POST, true); + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_send(arg); +} + +ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_GET_TLS_quota) { + atomic_store(&use_TLS, true); + atomic_store(&use_PROXY, true); + atomic_store(&use_PROXY_over_TLS, true); + atomic_store(&check_listener_quota, true); + doh_recv_send(arg); +} + ISC_TEST_LIST_START ISC_TEST_ENTRY_CUSTOM(mock_doh_uv_tcp_bind, setup_test, teardown_test) @@ -2114,6 +2212,31 @@ ISC_TEST_ENTRY_CUSTOM(proxy_doh_recv_send_GET_TLS_quota, setup_test, doh_recv_send_teardown) ISC_TEST_ENTRY_CUSTOM(proxy_doh_recv_send_POST_TLS_quota, setup_test, doh_recv_send_teardown) +/* PROXY over TLS */ +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_one_POST_TLS, setup_test, + doh_recv_one_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_one_GET_TLS, setup_test, + doh_recv_one_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_one_POST_TLS_quota, setup_test, + doh_recv_one_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_one_GET_TLS_quota, setup_test, + doh_recv_one_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_two_POST_TLS, setup_test, + doh_recv_two_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_two_GET_TLS, setup_test, + doh_recv_two_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_two_POST_TLS_quota, setup_test, + doh_recv_two_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_two_GET_TLS_quota, setup_test, + doh_recv_two_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_send_GET_TLS, setup_test, + doh_recv_send_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_send_POST_TLS, setup_test, + doh_recv_send_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_send_GET_TLS_quota, setup_test, + doh_recv_send_teardown) +ISC_TEST_ENTRY_CUSTOM(proxytls_doh_recv_send_POST_TLS_quota, setup_test, + doh_recv_send_teardown) ISC_TEST_LIST_END ISC_TEST_MAIN