mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-04 16:45:24 +00:00
Merge branch '3086-remove-workaround-for-server-mishandling-notify-with-soa-record-in-answer-section' into 'main'
Remove the workaround for broken handling of NOTIFY with SOA Closes #3086 See merge request isc-projects/bind9!5704
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -1,3 +1,7 @@
|
|||||||
|
5791. [func] Remove workaround for servers returning FORMERR
|
||||||
|
when receiving NOTIFY query with SOA record in
|
||||||
|
ANSWER section. [GL #3086]
|
||||||
|
|
||||||
5790. [bug] The control channel was incorrectly looking for
|
5790. [bug] The control channel was incorrectly looking for
|
||||||
ISC_R_CANCELED as a signal that the named is
|
ISC_R_CANCELED as a signal that the named is
|
||||||
shutting down. In the dispatch refactoring,
|
shutting down. In the dispatch refactoring,
|
||||||
|
@@ -16276,30 +16276,12 @@ notify_done(isc_task_t *task, isc_event_t *event) {
|
|||||||
isc_result_totext(result));
|
isc_result_totext(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Old bind's return formerr if they see a soa record. Retry w/o
|
|
||||||
* the soa if we see a formerr and had sent a SOA.
|
|
||||||
*/
|
|
||||||
isc_event_free(&event);
|
isc_event_free(&event);
|
||||||
if (message->rcode == dns_rcode_formerr &&
|
|
||||||
(notify->flags & DNS_NOTIFY_NOSOA) == 0)
|
|
||||||
{
|
|
||||||
bool startup;
|
|
||||||
|
|
||||||
notify->flags |= DNS_NOTIFY_NOSOA;
|
|
||||||
dns_request_destroy(¬ify->request);
|
|
||||||
startup = (notify->flags & DNS_NOTIFY_STARTUP);
|
|
||||||
result = notify_send_queue(notify, startup);
|
|
||||||
if (result != ISC_R_SUCCESS) {
|
|
||||||
notify_destroy(notify, false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (result == ISC_R_TIMEDOUT) {
|
if (result == ISC_R_TIMEDOUT) {
|
||||||
notify_log(notify->zone, ISC_LOG_DEBUG(1),
|
notify_log(notify->zone, ISC_LOG_DEBUG(1),
|
||||||
"notify to %s: retries exceeded", addrbuf);
|
"notify to %s: retries exceeded", addrbuf);
|
||||||
}
|
}
|
||||||
notify_destroy(notify, false);
|
notify_destroy(notify, false);
|
||||||
}
|
|
||||||
dns_message_detach(&message);
|
dns_message_detach(&message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user