mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 22:15:20 +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
|
||||
ISC_R_CANCELED as a signal that the named is
|
||||
shutting down. In the dispatch refactoring,
|
||||
|
@@ -16276,30 +16276,12 @@ notify_done(isc_task_t *task, isc_event_t *event) {
|
||||
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);
|
||||
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) {
|
||||
notify_log(notify->zone, ISC_LOG_DEBUG(1),
|
||||
"notify to %s: retries exceeded", addrbuf);
|
||||
}
|
||||
notify_destroy(notify, false);
|
||||
if (result == ISC_R_TIMEDOUT) {
|
||||
notify_log(notify->zone, ISC_LOG_DEBUG(1),
|
||||
"notify to %s: retries exceeded", addrbuf);
|
||||
}
|
||||
notify_destroy(notify, false);
|
||||
dns_message_detach(&message);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user