Files
bind9/lib/dns
Michał Kępień 33350626f9 Track forwarder timeouts in fetch contexts
Since following a delegation resets most fetch context state, address
marks (FCTX_ADDRINFO_MARK) set inside lib/dns/resolver.c are not
preserved when a delegation is followed.  This is fine for full
recursive resolution but when named is configured with "forward first;"
and one of the specified forwarders times out, triggering a fallback to
full recursive resolution, that forwarder should no longer be consulted
at each delegation point subsequently reached within a given fetch
context.

Add a new badnstype_t enum value, badns_forwarder, and use it to mark a
forwarder as bad when it times out in a "forward first;" configuration.
Since the bad server list is not cleaned when a fetch context follows a
delegation, this prevents a forwarder from being queried again after
falling back to full recursive resolution.  Yet, as each fetch context
maintains its own list of bad servers, this change does not cause a
forwarder timeout to prevent that forwarder from being used by other
fetch contexts.
2019-01-08 08:29:54 +01:00
..
2018-11-22 11:51:49 +00:00
2018-12-07 03:41:19 +00:00
2018-11-22 11:52:08 +00:00
2018-11-22 11:52:08 +00:00
2018-08-08 09:37:30 +02:00
2018-11-22 11:52:08 +00:00
2018-11-28 12:00:16 -05:00
2018-11-22 11:51:49 +00:00
2018-12-11 11:32:24 +01:00
2018-12-11 11:32:24 +01:00
2018-12-11 11:32:24 +01:00
2018-12-11 11:32:24 +01:00
2018-11-22 11:52:08 +00:00
2018-09-10 09:32:31 +10:00
2018-12-11 11:32:24 +01:00
2017-12-29 01:44:18 +00:00
2018-11-22 11:51:49 +00:00
2018-06-05 12:10:37 +10:00
2018-11-22 11:52:08 +00:00
2018-05-21 11:50:38 -07:00
2018-11-22 11:52:08 +00:00
2018-12-06 10:29:10 -08:00
2018-11-22 11:51:49 +00:00
2018-11-14 15:26:27 -05:00
2018-11-14 20:17:04 -08:00
2018-12-11 11:32:24 +01:00
2018-07-19 12:47:03 -04:00
2018-12-11 11:32:24 +01:00
2018-12-06 10:29:10 -08:00
2018-12-11 11:32:24 +01:00
2018-12-06 10:29:10 -08:00
2018-11-22 11:52:08 +00:00
2018-11-10 10:30:43 +11:00
2018-11-22 11:52:08 +00:00
2018-11-22 11:52:08 +00:00
2018-11-22 11:52:08 +00:00
2018-05-22 16:32:21 -07:00
2018-08-08 09:37:30 +02:00
2018-11-22 11:52:08 +00:00
2018-11-22 11:52:08 +00:00
2018-12-11 11:32:24 +01:00
2018-05-22 16:32:21 -07:00
2018-12-11 11:32:24 +01:00