2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 13:38:26 +00:00

only set FCTX_ADDRINFO_NOSIT if we don't have a existing sit

This commit is contained in:
Mark Andrews 2014-03-20 07:17:00 +11:00
parent 09ab38c151
commit a78ffa0cc8

View File

@ -7505,6 +7505,9 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
} else if (message->rcode == dns_rcode_badvers) { } else if (message->rcode == dns_rcode_badvers) {
unsigned int flags, mask; unsigned int flags, mask;
unsigned int version; unsigned int version;
#ifdef ISC_PLATFORM_USESIT
unsigned char sit[64];
#endif
inc_stats(fctx->res, dns_resstatscounter_badvers); inc_stats(fctx->res, dns_resstatscounter_badvers);
@ -7512,11 +7515,16 @@ resquery_response(isc_task_t *task, isc_event_t *event) {
/* /*
* Some servers return BADVERS to unknown * Some servers return BADVERS to unknown
* EDNS options. This cannot be long term * EDNS options. This cannot be long term
* strategy. * strategy. Do not disable SIT if we have
* already have received a SIT from this
* server.
*/ */
dns_adb_changeflags(fctx->adb, query->addrinfo, if (dns_adb_getsit(fctx->adb, query->addrinfo,
FCTX_ADDRINFO_NOSIT, sit, sizeof(sit)) == 0U) {
FCTX_ADDRINFO_NOSIT); dns_adb_changeflags(fctx->adb, query->addrinfo,
FCTX_ADDRINFO_NOSIT,
FCTX_ADDRINFO_NOSIT);
}
#endif #endif
resend = ISC_TRUE; resend = ISC_TRUE;