Merge branch '1181-nsupdate-tcp-soa-requests' into 'bind-9.18'

Make nsupdate honor -v for SOA queries

See merge request isc-projects/bind9!8191
This commit is contained in:
Matthijs Mekking
2023-08-23 09:17:10 +00:00
3 changed files with 19 additions and 2 deletions

View File

@@ -1,3 +1,6 @@
6231. [func] Make nsupdate honor -v for SOA requests if the server
is specified. [GL #1181]
6230. [bug] Prevent an unnecessary query restart if a synthesized
CNAME target points to the CNAME owner. [GL #3835]

View File

@@ -2594,6 +2594,8 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
result = dns_request_getresponse(request, rcvmsg,
DNS_MESSAGEPARSE_PRESERVEORDER);
if (result == DNS_R_TSIGERRORSET && servers != NULL) {
unsigned int options = 0;
dns_message_detach(&rcvmsg);
ddebug("Destroying request [%p]", request);
dns_request_destroy(&request);
@@ -2603,6 +2605,10 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_message_renderreset(soaquery);
ddebug("retrying soa request without TSIG");
if (!default_servers && usevc) {
options |= DNS_REQUESTOPT_TCP;
}
if (isc_sockaddr_pf(addr) == AF_INET6) {
srcaddr = localaddr6;
} else {
@@ -2610,7 +2616,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
}
result = dns_request_create(requestmgr, soaquery, srcaddr, addr,
0, NULL, timeout, udp_timeout,
options, NULL, timeout, udp_timeout,
udp_retries, global_task, recvsoa,
reqinfo, &request);
check_result(result, "dns_request_create");
@@ -2825,6 +2831,11 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
isc_result_t result;
nsu_requestinfo_t *reqinfo;
isc_sockaddr_t *srcaddr;
unsigned int options = 0;
if (!default_servers && usevc) {
options |= DNS_REQUESTOPT_TCP;
}
reqinfo = isc_mem_get(gmctx, sizeof(nsu_requestinfo_t));
reqinfo->msg = msg;
@@ -2836,7 +2847,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
srcaddr = localaddr4;
}
result = dns_request_create(requestmgr, msg, srcaddr, destaddr, 0,
result = dns_request_create(requestmgr, msg, srcaddr, destaddr, options,
default_servers ? NULL : tsigkey, timeout,
udp_timeout, udp_retries, global_task,
recvsoa, reqinfo, request);

View File

@@ -32,6 +32,9 @@ Feature Changes
- None.
- Make :iscman:`nsupdate` honor the ``-v`` option. If set, and the server is
specified, SOA queries are now send over TCP as well. :gl:`#1181`
Bug Fixes
~~~~~~~~~