mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
2144. [cleanup] Suppress logging of SERVFAIL from forwarders.
[RT #16619]
This commit is contained in:
parent
4098271a81
commit
2e676167cc
3
CHANGES
3
CHANGES
@ -1,3 +1,6 @@
|
|||||||
|
2144. [cleanup] Suppress logging of SERVFAIL from forwarders.
|
||||||
|
[RT #16619]
|
||||||
|
|
||||||
2143. [bug] We failed to restart the IPv6 client when the
|
2143. [bug] We failed to restart the IPv6 client when the
|
||||||
kernel failed to return the destination the
|
kernel failed to return the destination the
|
||||||
packet was sent to. [RT #16613]
|
packet was sent to. [RT #16613]
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: resolver.c,v 1.343 2007/02/14 23:40:01 marka Exp $ */
|
/* $Id: resolver.c,v 1.344 2007/02/26 01:07:49 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@ -1896,7 +1896,7 @@ mark_bad(fetchctx_t *fctx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_bad(fetchctx_t *fctx, isc_sockaddr_t *address, isc_result_t reason) {
|
add_bad(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo, isc_result_t reason) {
|
||||||
char namebuf[DNS_NAME_FORMATSIZE];
|
char namebuf[DNS_NAME_FORMATSIZE];
|
||||||
char addrbuf[ISC_SOCKADDR_FORMATSIZE];
|
char addrbuf[ISC_SOCKADDR_FORMATSIZE];
|
||||||
char classbuf[64];
|
char classbuf[64];
|
||||||
@ -1905,6 +1905,7 @@ add_bad(fetchctx_t *fctx, isc_sockaddr_t *address, isc_result_t reason) {
|
|||||||
isc_buffer_t b;
|
isc_buffer_t b;
|
||||||
isc_sockaddr_t *sa;
|
isc_sockaddr_t *sa;
|
||||||
const char *sep1, *sep2;
|
const char *sep1, *sep2;
|
||||||
|
isc_sockaddr_t *address = &addrinfo->sockaddr;
|
||||||
|
|
||||||
if (bad_server(fctx, address)) {
|
if (bad_server(fctx, address)) {
|
||||||
/*
|
/*
|
||||||
@ -1925,6 +1926,11 @@ add_bad(fetchctx_t *fctx, isc_sockaddr_t *address, isc_result_t reason) {
|
|||||||
if (reason == DNS_R_LAME) /* already logged */
|
if (reason == DNS_R_LAME) /* already logged */
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (reason == DNS_R_UNEXPECTEDRCODE &&
|
||||||
|
fctx->rmessage->opcode == dns_rcode_servfail &&
|
||||||
|
ISFORWARDER(addrinfo))
|
||||||
|
return;
|
||||||
|
|
||||||
if (reason == DNS_R_UNEXPECTEDRCODE) {
|
if (reason == DNS_R_UNEXPECTEDRCODE) {
|
||||||
isc_buffer_init(&b, code, sizeof(code) - 1);
|
isc_buffer_init(&b, code, sizeof(code) - 1);
|
||||||
dns_rcode_totext(fctx->rmessage->rcode, &b);
|
dns_rcode_totext(fctx->rmessage->rcode, &b);
|
||||||
@ -3496,7 +3502,7 @@ validated(isc_task_t *task, isc_event_t *event) {
|
|||||||
if (result == ISC_R_SUCCESS)
|
if (result == ISC_R_SUCCESS)
|
||||||
dns_db_detachnode(fctx->cache, &node);
|
dns_db_detachnode(fctx->cache, &node);
|
||||||
result = vevent->result;
|
result = vevent->result;
|
||||||
add_bad(fctx, &addrinfo->sockaddr, result);
|
add_bad(fctx, addrinfo, result);
|
||||||
isc_event_free(&event);
|
isc_event_free(&event);
|
||||||
UNLOCK(&fctx->res->buckets[fctx->bucketnum].lock);
|
UNLOCK(&fctx->res->buckets[fctx->bucketnum].lock);
|
||||||
if (!ISC_LIST_EMPTY(fctx->validators))
|
if (!ISC_LIST_EMPTY(fctx->validators))
|
||||||
@ -5885,7 +5891,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
|||||||
* Add this server to the list of bad servers for
|
* Add this server to the list of bad servers for
|
||||||
* this fctx.
|
* this fctx.
|
||||||
*/
|
*/
|
||||||
add_bad(fctx, &addrinfo->sockaddr, broken_server);
|
add_bad(fctx, addrinfo, broken_server);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_nameservers) {
|
if (get_nameservers) {
|
||||||
@ -5967,7 +5973,7 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
|
|||||||
fctx_done(fctx, result);
|
fctx_done(fctx, result);
|
||||||
} else if (result == DNS_R_CHASEDSSERVERS) {
|
} else if (result == DNS_R_CHASEDSSERVERS) {
|
||||||
unsigned int n;
|
unsigned int n;
|
||||||
add_bad(fctx, &addrinfo->sockaddr, result);
|
add_bad(fctx, addrinfo, result);
|
||||||
fctx_cancelqueries(fctx, ISC_TRUE);
|
fctx_cancelqueries(fctx, ISC_TRUE);
|
||||||
fctx_cleanupfinds(fctx);
|
fctx_cleanupfinds(fctx);
|
||||||
fctx_cleanupforwaddrs(fctx);
|
fctx_cleanupforwaddrs(fctx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user