2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00
Commit Graph

39050 Commits

Author SHA1 Message Date
Evan Hunt
0ee38f905f CHANGES and release note for part 2 of [GL #4046] 2023-05-12 11:29:16 -07:00
Evan Hunt
922a390852 add 'rndc -t' option to set timeout
Allow an arbitrary TCP timeout value to be specified when running
rndc, so that commands that take a long time to execute (for example,
reloading a very large configuration) can be given time to do so.
2023-05-12 11:28:21 -07:00
Arаm Sаrgsyаn
7a2784addd Merge branch '4054-zone_resigninc-bugfix' into 'main'
zone_resigninc(): check whether zone->db is a valid pointer before attaching

Closes #4054

See merge request isc-projects/bind9!7914
2023-05-12 13:37:46 +00:00
Aram Sargsyan
00ed5f84a9 Add a CHANGES note for [GL #4054] 2023-05-12 13:37:27 +00:00
Aram Sargsyan
fae0930eb8 Check whether zone->db is a valid pointer before attaching
The zone_resigninc() function does not check the validity of
'zone->db', which can crash named if the zone was unloaded earlier,
for example with "rndc delete".

Check that 'zone->db' is not 'NULL' before attaching to it, like
it is done in zone_sign() and zone_nsec3chain() functions, which
can similarly be called by zone maintenance.
2023-05-12 13:37:27 +00:00
Ondřej Surý
dee7b46a8d Merge branch 'ondrej/convert-isc_async-to-use-urcu-wfcqueue' into 'main'
Change the isc_async and isc_quota API to use cds_wfcqueue internally

See merge request isc-projects/bind9!7894
2023-05-12 13:24:27 +00:00
Ondřej Surý
fd3522c37b Add Userspace-RCU to global CFLAGS and LIBS
The Userspace-RCU headers are now needed for more parts of the libisc
and libdns, thus we need to add it globally to prevent compilation
failures on systems with non-standard Userspace-RCU installation path.
2023-05-12 14:16:25 +02:00
Ondřej Surý
00f1823366 Change the isc_quota API to use cds_wfcqueue internally
The isc_quota API was using locked list of isc_job_t objects to keep the
waiting TCP accepts.  Change the isc_quota implementation to use
cds_wfcqueue internally - the enqueue is wait-free and only dequeue
needs to be locked.
2023-05-12 14:16:25 +02:00
Ondřej Surý
0759612418 Adjust the udp_shutdown_connect to delay the check
The teardown jobs are not executed immediately, so we need to delay the
check for ISC_R_SHUTTINGDOWN even more (as the UDP connect is
synchronous, it makes it harder to test it).
2023-05-12 14:16:25 +02:00
Ondřej Surý
7b1d985de2 Change the isc_async API to use cds_wfcqueue internally
The isc_async API was using lock-free stack (where enqueue operation was
not wait-free).  Change the isc_async to use cds_wfcqueue internally -
enqueue and splice (move the queue members from one list to another) is
nonblocking and wait-free.
2023-05-12 14:16:25 +02:00
Ondřej Surý
c90a9d6a09 Merge branch '4045-refactor-rbtdb-glue_cache' into 'main'
Replace glue_cache hashtable with direct link in rdatasetheader

Closes #4045

See merge request isc-projects/bind9!7895
2023-05-12 11:26:58 +00:00
Ondřej Surý
575a976e48 Add CHANGES and release note for [GL #4045] 2023-05-12 13:26:00 +02:00
Ondřej Surý
7220851f67 Replace glue_cache hashtable with direct link in rdatasetheader
Instead of having a global hashtable with a global rwlock for the GLUE
cache, move the glue_list directly into rdatasetheader and use
Userspace-RCU to update the pointer when the glue_list is empty.

Additionally, the cached glue_lists needs to be stored in the RBTDB
version for early cleaning, otherwise the circular dependencies between
nodes and glue_lists will prevent nodes to be ever cleaned up.
2023-05-12 13:25:39 +02:00
Michal Nowak
6e73f29238 Merge branch 'mnowak/coverity-scan-2022.12' into 'main'
Use the latest Coverity Scan

See merge request isc-projects/bind9!7881
2023-05-12 08:13:42 +00:00
Michal Nowak
68dd458764 Use the latest Coverity Scan 2023-05-12 10:10:22 +02:00
Matthijs Mekking
41bfc299d6 Merge branch '4050-cdnskey-no' into 'main'
Add option to not generate CDNSKEY record

Closes #4050

See merge request isc-projects/bind9!7917
2023-05-12 07:46:17 +00:00
Matthijs Mekking
2a2f8b6b39 Add release note and CHANGES for cdnskey option 2023-05-11 17:07:51 +02:00
Matthijs Mekking
2c7d93d431 Read from kasp whether to publish CDNSKEY
Check the policy and feed 'dns_dnssec_syncupdate() the right value
to enable/disable CDSNKEY publication.
2023-05-11 17:07:51 +02:00
Matthijs Mekking
af15e760d7 Add test case for cdnskey no;
Change one of the test cases to disable publication of CDNSKEY.
2023-05-11 17:07:51 +02:00
Matthijs Mekking
8be61d1845 Add configuration option 'cdnskey'
Add the 'cdnskey' configuration option to 'dnssec-policy'.
2023-05-11 17:07:51 +02:00
Matthijs Mekking
7960afcc0f Add functions to set CDNSKEY publication
Add kasp API functions to enable/disable publication of CDNSKEY records.
2023-05-11 17:07:51 +02:00
Michal Nowak
b5f8c76811 Merge branch 'mnowak/pytest_rewrite_ttl' into 'main'
Rewrite the ttl system test to pytest

See merge request isc-projects/bind9!7896
2023-05-11 14:09:42 +00:00
Michal Nowak
0c05c3d97b Rewrite the ttl system test to pytest 2023-05-11 15:14:48 +02:00
Michal Nowak
f52377ec86 Merge branch 'mnowak/clang-16' into 'main'
Bump the LLVM version to 16

See merge request isc-projects/bind9!7721
2023-05-11 12:18:16 +00:00
Michal Nowak
435b1d649e Update sources to Clang 16 formatting 2023-05-11 13:42:26 +02:00
Michal Nowak
30aa258107 Update clang to version 16 2023-05-11 13:42:26 +02:00
Michal Nowak
21a3de08a9 Merge branch '4023-nsupdate-disable-asan-for-fatal-cases' into 'main'
Disable ASAN in nsupdate for fatal cases

Closes #4023

See merge request isc-projects/bind9!7871
2023-05-11 11:41:47 +00:00
Michal Nowak
31935a3537 Disable ASAN in nsupdate for fatal cases
Clang 16 LeakSanitizer reports a memory leak when dns_request_create()
returned a TLS error in the nsupdate system test. While technically a
memory leak on error handling, it's not a problem because the program is
immediately terminated; nsupdate is not expected to run for a prolonged
time.
2023-05-11 13:39:51 +02:00
Tony Finch
318956a444 Merge branch 'fanf-noreturn-lossage' into 'main'
Avoid lossage from <stdnoreturn.h>

See merge request isc-projects/bind9!7906
2023-05-11 10:41:01 +00:00
Tony Finch
623f2fdb18 Avoid lossage from <stdnoreturn.h>
A few of the source files in `tests/ns` included `<isc/util.h>`
before `<cmocka.h>`. This could cause compile failures because the
`CMOCKA_NORETURN` macro is defined as `__attribute__((noreturn))`
and `<stdnoreturn.h>` defines `noreturn` as `_Noreturn` which does
not work as a gcc-style attribute.
2023-05-11 10:40:56 +00:00
Michal Nowak
b58d4c2c2c Merge branch 'mnowak/pytest_rewrite_hooks' into 'main'
Rewrite the hooks system test to pytest

See merge request isc-projects/bind9!7883
2023-05-11 10:26:33 +00:00
Michal Nowak
5a84c7a09b Rewrite the hooks system test to pytest
Also, enable the test under TSAN.
2023-05-11 11:49:33 +02:00
Mark Andrews
f68bd3f905 Merge branch '4049-detect-formerr-with-an-echoed-dns-cookie-client-cookie-and-retry-without-dns-cookie' into 'main'
Resolve "Detect FORMERR with an echoed DNS COOKIE client cookie and retry without DNS COOKIE"

Closes #4049

See merge request isc-projects/bind9!7888
2023-05-11 01:16:19 +00:00
Mark Andrews
97e1bb0e98 Add CHANGES note for [GL #4049] 2023-05-11 10:49:39 +10:00
Mark Andrews
9d95cd427d Check fallback on FORMERR to EDNS options 2023-05-11 10:49:39 +10:00
Mark Andrews
3328ddaf7a Add a server which returns FORMERR to all EDNS options
The server also echoes back the EDNS options and EDNS flags.
2023-05-11 09:32:02 +10:00
Mark Andrews
f3b24ba789 Handle FORMERR on unknown EDNS option that are echoed
If the resolver received a FORMERR response to a request with
an DNS COOKIE option present that echoes the option back, resend
the request without an DNS COOKIE option present.
2023-05-11 09:32:02 +10:00
Arаm Sаrgsyаn
88cf7e7e9a Merge branch '4039-dighost-fix-double-shutdown-call' into 'main'
dighost.c: don't call check_if_done() twice successively

Closes #4039

See merge request isc-projects/bind9!7878
2023-05-10 11:36:23 +00:00
Aram Sargsyan
d71299121e Add a CHANGES note for [GL #4039] 2023-05-10 11:35:51 +00:00
Aram Sargsyan
e4604b71d2 dighost.c: don't call check_if_done() twice successively
The check_if_done() function can pass control back out to
dighost_shutdown() (which is part of dig.c, host.c, or nslookup.c),
and calling that twice can cause unexpected problems, if it is not
designed to be idempotent.

Since cancel_lookup() calls check_if_done() implicitly, don't call
check_if_done() again when 'next' is NULL.
2023-05-10 11:35:51 +00:00
Tom Krizek
ad6713f2ae Merge branch 'tkrizek/shutdown-test-exc-handling' into 'main'
Ensure named always terminates in the shutdown test

See merge request isc-projects/bind9!7819
2023-05-10 10:54:48 +00:00
Tom Krizek
dee49b7a1f Replace dnspython resolver.query with resolver.resolve
The resolver.query() has been deprecated in favor of resolver.resolve();
used that.

This is an omission from 3b1756d450
2023-05-10 10:56:36 +02:00
Tom Krizek
836e6ed284 Ensure named always terminates in the shutdown test
Previously, if an exception would happen inside the `with` block, the
error handler would wait indefinitely for the process to end. That would
never happen, since the termination signal was never sent to named and
the test would get stuck.

Using the try-finally block ensures that the named process is always
killed and any exception or errors will be handled gracefully.
2023-05-10 10:56:22 +02:00
Tom Krizek
9d64f1c1ed Refactor shutdown test into more helper functions
Improve code readability by splitting the test into more functions. Some
could be re-used later on for more general-purpose subprocess handling
or named checks.
2023-05-10 10:56:19 +02:00
Michał Kępień
8d9bd808b1 Merge branch 'michal/set-up-version-and-release-notes-for-bind-9.19.14' into 'main'
Set up version and release notes for BIND 9.19.14

See merge request isc-projects/bind9!7899
2023-05-10 08:47:54 +00:00
Michał Kępień
d33b7fe24d Set up release notes for BIND 9.19.14 2023-05-10 10:41:42 +02:00
Michał Kępień
41b54fa66e Update BIND version to 9.19.14-dev 2023-05-10 10:41:42 +02:00
Michał Kępień
eb3d6fcd13 Merge branch '4046-rndc-timeout' into 'main'
set the default rndc read timeout to 60 seconds

See merge request isc-projects/bind9!7885
2023-05-05 09:43:00 +00:00
Evan Hunt
dfc8efc467 CHANGES and release note for [GL #4046] 2023-05-05 00:07:05 -07:00
Evan Hunt
9cacf9e336 set the default rndc read timeout to 60 seconds
While the connect timeout was set to 60 seconds in rndc, the
idle read timeout was left at the default value of 30 seconds.
This commit sets it back to 60, to match the behavior in 9.16
and earlier.
2023-05-05 00:06:50 -07:00