From: Aram Sargsyan Date: Wed, 28 Dec 2022 10:20:37 +0000 (+0000) Subject: nsupdate: use the configurable timeout and retry values for all queries X-Git-Tag: v9.19.12~25^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ef2a30c75072d8f677c619bc12814d9219014c3;p=thirdparty%2Fbind9.git nsupdate: use the configurable timeout and retry values for all queries The 'nsupdate' tool, when sending SOA queries, uses a hard-coded value 3 UDP retries and of 5 seconds of timeout for UDP queries, and 100 seconds of timeout for TCP queries. Use the timeout and retry values which can be configured using the -t, -u, -r command line options, and which are already used for sending the update query. --- diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c index 4b48778771d..7a092a3c33f 100644 --- a/bin/nsupdate/nsupdate.c +++ b/bin/nsupdate/nsupdate.c @@ -94,12 +94,11 @@ #include "../dig/readline.h" -#define MAXCMD (128 * 1024) -#define MAXWIRE (64 * 1024) -#define INITTEXT (2 * 1024) -#define MAXTEXT (128 * 1024) -#define FIND_TIMEOUT 5 -#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ +#define MAXCMD (128 * 1024) +#define MAXWIRE (64 * 1024) +#define INITTEXT (2 * 1024) +#define MAXTEXT (128 * 1024) +#define TTL_MAX 2147483647U /* Maximum signed 32 bit integer. */ #define DNSDEFAULTPORT 53 @@ -2718,11 +2717,11 @@ recvsoa(void *arg) { srcaddr = localaddr4; } - result = dns_request_create( - requestmgr, soaquery, srcaddr, addr, req_transport, - req_tls_ctx_cache, options, NULL, FIND_TIMEOUT * 20, - FIND_TIMEOUT, 3, isc_loop_main(loopmgr), recvsoa, - reqinfo, &request); + result = dns_request_create(requestmgr, soaquery, srcaddr, addr, + req_transport, req_tls_ctx_cache, + options, NULL, timeout, udp_timeout, + udp_retries, isc_loop_main(loopmgr), + recvsoa, reqinfo, &request); check_result(result, "dns_request_create"); requests++; return; @@ -2958,7 +2957,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, result = dns_request_create( requestmgr, msg, srcaddr, destaddr, req_transport, req_tls_ctx_cache, options, default_servers ? NULL : tsigkey, - FIND_TIMEOUT * 20, FIND_TIMEOUT, 3, isc_loop_main(loopmgr), + timeout, udp_timeout, udp_retries, isc_loop_main(loopmgr), recvsoa, reqinfo, request); check_result(result, "dns_request_create"); requests++; @@ -3165,11 +3164,10 @@ send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg, srcaddr = localaddr4; } - result = dns_request_create(requestmgr, msg, srcaddr, destaddr, - req_transport, req_tls_ctx_cache, options, - tsigkey, FIND_TIMEOUT * 20, FIND_TIMEOUT, 3, - isc_loop_main(loopmgr), recvgss, reqinfo, - request); + result = dns_request_create( + requestmgr, msg, srcaddr, destaddr, req_transport, + req_tls_ctx_cache, options, tsigkey, timeout, udp_timeout, + udp_retries, isc_loop_main(loopmgr), recvgss, reqinfo, request); check_result(result, "dns_request_create"); if (debugging) { show_message(stdout, msg, "Outgoing update query:");