bind9/lib/ns
Matthijs Mekking fcf8fb4f39 Keep track of allow client detach
The stale-answer-client-timeout feature introduced a dependancy on
when a client may be detached from the handle. The dboption
DNS_DBFIND_STALEONLY was reused to track this attribute. This overloads
the meaning of this database option, and actually introduced a bug
because the option was checked in other places. In particular, in
'ns_query_done()' there is a check for 'RECURSING(qctx->client) &&
(!QUERY_STALEONLY(&qctx->client->query) || ...' and the condition is
satisfied because recursion has not completed yet and
DNS_DBFIND_STALEONLY is already cleared by that time (in
query_lookup()), because we found a useful answer and we should detach
the client from the handle after sending the response.

Add a new boolean to the client structure to keep track of client
detach from handle is allowed or not. It is only disallowed if we are
in a staleonly lookup and we didn't found a useful answer.

(cherry picked from commit fee164243f)
2021-04-02 13:27:43 +02:00
..
include Keep track of allow client detach 2021-04-02 13:27:43 +02:00
tests Refactor TLSDNS module to work with libuv/ssl directly 2021-02-26 16:14:50 +01:00
win32 Use -release instead of -version-info for internal library SONAMEs 2021-01-25 15:28:09 +01:00
client.c Fix a startup/shutdown crash in ns_clientmgr_create 2021-03-18 15:33:28 -03:00
hooks.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
interfacemgr.c Shutdown interface if we can't listen on it to avoid shutdown hang 2021-03-18 15:27:28 -03:00
Kyuafile regen master 2017-12-29 01:44:18 +00:00
lib.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
listenlist.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
log.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
Makefile.in Remove custom ISC SPNEGO implementation 2021-04-01 10:42:32 +02:00
notify.c change from isc_nmhandle_ref/unref to isc_nmhandle attach/detach 2020-10-01 18:09:35 +02:00
query.c Keep track of allow client detach 2021-04-02 13:27:43 +02:00
server.c Change the default ENDS buffer size to 1232 for DNS Flag Day 2020 2020-10-06 09:35:20 +02:00
sortlist.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
stats.c update all copyright headers to eliminate the typo 2020-09-14 16:50:58 -07:00
update.c Print warning when falling back to increment soa serial method 2020-12-12 07:55:29 +01:00
version.c Use -release instead of -version-info for internal library SONAMEs 2021-01-25 15:28:09 +01:00
xfrout.c add serial number to "transfer ended" log messages 2021-01-26 12:38:32 +01:00