mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Remove the workaround for broken handling of NOTIFY with SOA
In 2000, old BIND instances (BIND 8?) would return FORMERR if the SOA is included in the NOTIFY. Remove the workaround that detected the state and resent the NOTIFY without SOA record.
This commit is contained in:
parent
6441646ead
commit
8a0c4355d2
1 changed files with 4 additions and 22 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue