]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
nsupdate: use the configurable timeout and retry values for all queries
authorAram Sargsyan <aram@isc.org>
Wed, 28 Dec 2022 10:20:37 +0000 (10:20 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Mon, 3 Apr 2023 15:21:43 +0000 (15:21 +0000)
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.

bin/nsupdate/nsupdate.c

index 4b48778771df2c6ec17873b2815ac96a160114f1..7a092a3c33f3a5b150c4758c00c51c17bdc7394c 100644 (file)
 
 #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:");