diff --git a/CHANGES b/CHANGES index 4df05d21c6..54356a3d79 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,8 @@ -5399. [func] Add engine support to OpenSSL EdDSA implementation. +5401. [bug] The number of input queues allocated during dnstap + initialization was too low, which could prevent some + dnstap data from being logged. [GL #1795] + +5400. [func] Add engine support to OpenSSL EdDSA implementation. [GL #1763] 5399. [func] Add engine support to OpenSSL ECDSA implementation. diff --git a/bin/named/server.c b/bin/named/server.c index 0ff543e238..a3453d5fc2 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -3677,7 +3677,11 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { } fopt = fstrm_iothr_options_init(); - fstrm_iothr_options_set_num_input_queues(fopt, named_g_cpus); + /* + * Both network threads and worker threads may log dnstap data. + */ + fstrm_iothr_options_set_num_input_queues(fopt, + 2 * named_g_cpus); fstrm_iothr_options_set_queue_model( fopt, FSTRM_IOTHR_QUEUE_MODEL_MPSC); diff --git a/bin/tests/system/dnstap/ns3/named.args b/bin/tests/system/dnstap/ns3/named.args new file mode 100644 index 0000000000..b746de58fe --- /dev/null +++ b/bin/tests/system/dnstap/ns3/named.args @@ -0,0 +1,2 @@ +# Using "-n 1" allows GL #1795 to be reliably reproduced +-D dnstap-ns3 -X named.lock -m record,size,mctx -c named.conf -d 99 -g -U 4 -n 1 diff --git a/doc/arm/notes-9.17.2.xml b/doc/arm/notes-9.17.2.xml index cd2e849c3a..407855b84a 100644 --- a/doc/arm/notes-9.17.2.xml +++ b/doc/arm/notes-9.17.2.xml @@ -15,7 +15,8 @@ - None. + A bug in dnstap initialization could prevent some dnstap data from + being logged, especially on recursive resolvers. [GL #1795] diff --git a/util/copyrights b/util/copyrights index e13441fee7..6b48540278 100644 --- a/util/copyrights +++ b/util/copyrights @@ -413,6 +413,7 @@ ./bin/tests/system/dnstap/README TXT.BRIEF 2019,2020 ./bin/tests/system/dnstap/clean.sh SH 2015,2016,2017,2018,2019,2020 ./bin/tests/system/dnstap/large-answer.fstrm X 2019,2020 +./bin/tests/system/dnstap/ns3/named.args X 2020 ./bin/tests/system/dnstap/setup.sh SH 2018,2019,2020 ./bin/tests/system/dnstap/tests.sh SH 2015,2016,2017,2018,2019,2020 ./bin/tests/system/dnstap/ydump.py PYTHON 2016,2017,2018,2019,2020