mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch 'matthijs-nit-serve-stale-fixes' into 'main'
Serve-stale nit fixes See merge request isc-projects/bind9!4940
This commit is contained in:
commit
51f94b8c7c
4 changed files with 5 additions and 8 deletions
|
|
@ -195,8 +195,8 @@ options {\n\
|
|||
root-key-sentinel yes;\n\
|
||||
servfail-ttl 1;\n\
|
||||
# sortlist <none>\n\
|
||||
stale-answer-enable false;\n\
|
||||
stale-answer-client-timeout off;\n\
|
||||
stale-answer-enable false;\n\
|
||||
stale-answer-ttl 30; /* 30 seconds */\n\
|
||||
stale-cache-enable false;\n\
|
||||
stale-refresh-time 30; /* 30 seconds */\n\
|
||||
|
|
|
|||
|
|
@ -1647,9 +1647,11 @@ status=$((status+ret))
|
|||
sleep 2
|
||||
|
||||
echo_i "sending queries for tests $((n+1))-$((n+2))..."
|
||||
t1=`$PERL -e 'print time()'`
|
||||
$DIG -p ${PORT} +tries=1 +timeout=10 @10.53.0.3 data.example TXT > dig.out.test$((n+1)) &
|
||||
$DIG -p ${PORT} +tries=1 +timeout=10 @10.53.0.3 nodata.example TXT > dig.out.test$((n+2))
|
||||
wait
|
||||
t2=`$PERL -e 'print time()'`
|
||||
|
||||
# We configured a long value of 30 seconds for resolver-query-timeout.
|
||||
# That should give us enough time to receive an stale answer from cache
|
||||
|
|
@ -1657,8 +1659,6 @@ wait
|
|||
n=$((n+1))
|
||||
echo_i "check stale data.example comes from cache (default stale-answer-client-timeout) ($n)"
|
||||
nextpart ns3/named.run > /dev/null
|
||||
t1=`$PERL -e 'print time()'`
|
||||
t2=`$PERL -e 'print time()'`
|
||||
wait_for_log 5 "data.example client timeout, stale answer used" ns3/named.run || ret=1
|
||||
ret=0
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
|
|
|
|||
|
|
@ -1867,7 +1867,7 @@ Boolean Options
|
|||
is disabled.
|
||||
|
||||
The maximum value for this option is ``resolver-query-timeout`` minus
|
||||
one second. The minimum value, ``0``, causes a cached RRset to be
|
||||
one second. The minimum value, ``0``, causes a cached (stale) RRset to be
|
||||
immediately returned if it is available while still attempting to
|
||||
refresh the data in cache. :rfc:`8767` recommends a value of ``1800``
|
||||
(milliseconds).
|
||||
|
|
|
|||
|
|
@ -5917,9 +5917,6 @@ query_lookup(query_ctx_t *qctx) {
|
|||
return (ns_query_done(qctx));
|
||||
}
|
||||
} else if (stale_timeout) {
|
||||
qctx->client->query.attributes |= NS_QUERYATTR_STALEOK;
|
||||
qctx->rdataset->attributes |= DNS_RDATASETATTR_STALE_ADDED;
|
||||
|
||||
if ((qctx->options & DNS_GETDB_STALEFIRST) != 0) {
|
||||
if (!stale_found) {
|
||||
/*
|
||||
|
|
@ -8033,7 +8030,7 @@ query_addanswer(query_ctx_t *qctx) {
|
|||
* We can clear the attribute to prevent redundant clearing
|
||||
* in subsequent lookups.
|
||||
*/
|
||||
qctx->client->query.attributes &= ~DNS_RDATASETATTR_STALE_ADDED;
|
||||
qctx->client->query.attributes &= ~NS_QUERYATTR_STALEOK;
|
||||
}
|
||||
|
||||
if (qctx->dns64) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue