Commit Graph

37439 Commits

Author SHA1 Message Date
Aram Sargsyan
bc885fb489 Add CHANGES and release notes for [GL #3881]
(cherry picked from commit cb1cd67bea)
2023-02-28 11:11:17 +00:00
Ondřej Surý
8b059b211f Pause the catz dbiterator while processing the zone
The dbiterator read-locks the whole zone and it stayed locked during
whole processing time when catz is being read.  Pause the iterator, so
the updates to catz zone are not being blocked while processing the catz
update.

(cherry picked from commit 4e7187601f)
2023-02-28 11:11:17 +00:00
Ondřej Surý
d13e7472ea Unlock catzs during dns__catz_update_cb()
Instead of holding the catzs->lock the whole time we process the catz
update, only hold it for hash table lookup and then release it.  This
should unblock any other threads that might be processing updates to
catzs triggered by extra incoming transfer.

(cherry picked from commit b1cd4a066a)
2023-02-28 11:11:17 +00:00
Aram Sargsyan
16dc8c3977 Offload catalog zone updates
Offload catalog zone processing so that the network manager threads
are not interrupted by a large catalog zone update.

Introduce a new 'updaterunning' state alongside with 'updatepending',
like it is done in the RPZ module.

Note that the dns__catz_update_cb() function currently holds the
catzs->lock during the whole process, which is far from being optimal,
but the issue is going to be addressed separately.

(cherry picked from commit 0b96c9234f)
2023-02-28 11:11:17 +00:00
Michal Nowak
cb588a7b75 Merge branch 'mnowak/make-openbsd-allow_failure-true-v9_18' into 'v9_18'
[9.18] Do not fail pipeline because of failed OpenBSD system test

See merge request isc-projects/bind9!7617
2023-02-28 10:40:36 +00:00
Michal Nowak
a2ccda7872 Do not fail pipeline because of failed OpenBSD system test
System test on OpenBSD is unstable even when test parallelism is
disabled.

(cherry picked from commit fc26da6d89)
2023-02-28 11:34:39 +01:00
Michal Nowak
157f098248 Revert "Disable OpenBSD system test parallelism in CI"
This reverts commit 5f21f3203d.

(cherry picked from commit a9d3ec33b3)
2023-02-28 11:34:38 +01:00
Arаm Sаrgsyаn
a24a62924e Merge branch 'aram/catz-add-shutdown-signaling-v9_18' into 'v9_18'
[9.18] Add shutdown signaling for catalog zones

See merge request isc-projects/bind9!7613
2023-02-28 10:32:32 +00:00
Aram Sargsyan
5ecc4bedbe Add a CHANGES note for [GL !7571]
(cherry picked from commit c76cc58803)
2023-02-28 09:50:42 +00:00
Aram Sargsyan
ed942f5536 Add shutdown signaling for catalog zones
This change should make sure that catalog zone update processing
doesn't happen when the catalog zone is being shut down. This
should help avoid races when offloading the catalog zone updates
in the follow-up commit.

(cherry picked from commit 246b7084d6)
2023-02-28 09:50:42 +00:00
Arаm Sаrgsyаn
ceba260fb8 Merge branch 'aram/catz-light-refactoring-and-reference-count-tracing-v9_18' into 'v9_18'
[9.18] Implement reference count tracing for dns_catz_zone_t and dns_catz_zones_t

See merge request isc-projects/bind9!7610
2023-02-28 09:49:51 +00:00
Aram Sargsyan
396265c8fa Add a CHANGES note for [GL !7570]
(cherry picked from commit c29299aa15)
2023-02-27 20:43:48 +00:00
Aram Sargsyan
f8663976ff Add reference count tracing for dns_catz_zone_t and dns_catz_zones_t
Tracing can be activated by defining DNS_RPZ_TRACE in catz.h.

(cherry picked from commit 53f0c5a9ac)
2023-02-27 20:43:48 +00:00
Aram Sargsyan
43d99eb8b8 Light refactoring of catz.c
* Change 'dns_catz_new_zones()' function's prototype (the order of the
  arguments) to synchronize it with the similar function in rpz.c.
* Rename 'refs' to 'references' in preparation of ISC_REFCOUNT_*
  macros usage for reference tracking.
* Unify dns_catz_zone_t naming to catz, and dns_catz_zones_t naming to
  catzs, following the logic of similar changes in rpz.c.
* Use C compound literals for structure initialization.
* Synchronize the "new zone version came too soon" log message with the
  one in rpz.c.
* Use more of 'sizeof(*ptr)' style instead of the 'sizeof(type_t)' style
  expressions when allocating or freeing memory for 'ptr'.

(cherry picked from commit 8cb79fec9d)
2023-02-27 20:43:48 +00:00
Arаm Sаrgsyаn
ca9bbd43c6 Merge branch '3900-catz-error-path-issues' into 'v9_18'
[9.18] Resolve "Error path cleanup issues in dns_catz_new_zones() and dns_catz_new_zone()"

See merge request isc-projects/bind9!7605
2023-02-27 14:07:34 +00:00
Aram Sargsyan
d96d8dc651 Add a CHANGES note for [GL #3900] 2023-02-27 13:21:41 +00:00
Aram Sargsyan
9050481d1f Fix a cleanup bug when isc_task_create() fails in dns_catz_new_zones()
Use isc_mem_putanddetach() instead of isc_mem_put() to detach from the
memory context.
2023-02-27 12:11:20 +00:00
Aram Sargsyan
6f8fb0241a Fix a memory leak when isc_timer_create() fails in dns_catz_new_zone()
Destroy 'new_zone->coos' in dns_catz_new_zone() on error path.
2023-02-27 12:04:01 +00:00
Mark Andrews
6c74ee2c89 Merge branch '3895-memory-leak-in-isc_hmac_init-v9_18' into 'v9_18'
[9.18] Resolve "memory leak in isc_hmac_init"

See merge request isc-projects/bind9!7604
2023-02-26 23:50:06 +00:00
Mark Andrews
749c13cf04 Fix memory leak in isc_hmac_init
If EVP_DigestSignInit failed 'pkey' was not freed.

(cherry picked from commit cf5f133679)
2023-02-27 10:27:32 +11:00
Michal Nowak
66d847ab4a Merge branch 'mnowak/freebsd-12.4-v9_18' into 'v9_18'
[9.18] Add FreeBSD 12.4

See merge request isc-projects/bind9!7599
2023-02-24 13:26:34 +00:00
Michal Nowak
d8d283bb6f Add FreeBSD 12.4
(cherry picked from commit 2307661b1a)
2023-02-24 14:04:02 +01:00
Michal Nowak
90bdf4e95d Merge branch 'mnowak/alpine-3.17-v9_18' into 'v9_18'
[9.18] Add Alpine Linux 3.17

See merge request isc-projects/bind9!7596
2023-02-24 12:24:13 +00:00
Michal Nowak
259dd5a3ec Drop date from "Regularly Tested Platforms" section
Changing the date is easy to forget and may be outdated.

(cherry picked from commit 5783280b10)
2023-02-24 12:47:34 +01:00
Michal Nowak
9d8fe281c3 Add Alpine Linux 3.17
(cherry picked from commit 345089ad23)
2023-02-24 12:47:33 +01:00
Michal Nowak
5ebee24dde Merge branch 'mnowak/update_TEST_PARALLEL_JOBS_for_BSD-v9_18' into 'v9_18'
[9.18] Disable OpenBSD system test parallelism in CI

See merge request isc-projects/bind9!7590
2023-02-24 09:18:24 +00:00
Michal Nowak
5f21f3203d Disable OpenBSD system test parallelism in CI
Make OpenBSD system tests more stable by disabling parallelism in CI.

Accordingly, they will run 3-4 times longer.

(cherry picked from commit d73eba57bd)
2023-02-24 10:16:27 +01:00
Michal Nowak
ef9b15fc50 Do not set TEST_PARALLEL_JOBS in FreeBSD system test
Setting TEST_PARALLEL_JOBS to 4 in FreeBSD system test jobs is a no-op
because it's already set to 4, one level above, on the global level.

(cherry picked from commit cf46addf51)
2023-02-24 10:16:27 +01:00
Ondřej Surý
359919b326 Merge branch 'ondrej-restore-sonarcloud-analysis-v9_18' into 'v9_18'
[9.18] Add SonarCloud GitHub Action

See merge request isc-projects/bind9!7591
2023-02-24 08:56:39 +00:00
Ondřej Surý
d1213c3b99 Add SonarCloud GitHub Action
Add new SonarCloud GitHub Action and configuration; something (maybe
the way the builds were submitted) has apparently changed and the
project got deleted and the analysis wasn't working.

(cherry picked from commit 4bfbb4ddf7)
2023-02-24 09:54:20 +01:00
Tom Krizek
649e45ae00 Merge branch '3622-serve-stale-rrsig-test-v9_18' into 'v9_18'
[9.18][CVE-2022-3736] Test RRSIG queries with serve-stale enabled

See merge request isc-projects/bind9!7579
2023-02-22 13:09:08 +00:00
Mark Andrews
dfaf3b7b78 Test RRSIG queries with serve-stale enabled
Make RRSIG queries where the existing tests trigger a DNS_EVENT_TRYSTALE
event.

(cherry picked from commit add40273df)
2023-02-22 13:38:59 +01:00
Tom Krizek
c341f2fcfc Merge branch '3619-serve-stale-client-timeout-crash-test-v9_18' into 'v9_18'
[9.18][CVE-2022-3924] Add a reproducer for the serve-stale crash when recursive clients soft quota is reached

See merge request isc-projects/bind9!7576
2023-02-22 11:56:58 +00:00
Aram Sargsyan
e7f03ec3ac Add tests for CVE-2022-3924
Reproduce the assertion by configuring a 'named' resolver with
'recursive-clients 10;' configuration option and running 20
queries is parallel.

Also tweak the 'ans2/ans.pl' to simulate a 50ms network latency
when qname starts with "latency". This makes sure that queries
running in parallel don't get served immediately, thus allowing
the configured recursive clients quota limitation to be activated.

(cherry picked from commit 4b52b0b4a9)
2023-02-22 10:50:44 +01:00
Matthijs Mekking
1d00ca2a11 Merge branch 'matthijs-fix-kasp-attach-detach-usage-v9_18' into 'v9_18'
[9.18] Fix dns_kasp_attach / dns_kasp_detach usage

See merge request isc-projects/bind9!7566
2023-02-21 16:37:55 +00:00
Mark Andrews
87602eecd7 Fix dns_kasp_attach / dns_kasp_detach usage
The kasp pointers in dns_zone_t should consistently be changed by
dns_kasp_attach and dns_kasp_detach so the usage is balanced.

(cherry picked from commit b41882cc75)
2023-02-21 16:54:53 +01:00
Arаm Sаrgsyаn
6906a0b185 Merge branch '3880-fix-rpz-assertion-failure-during-failed-reconfiguration-v9_18' into 'v9_18'
[9.18] Detach rpzs and catzs from the previous view

See merge request isc-projects/bind9!7564
2023-02-21 09:59:58 +00:00
Aram Sargsyan
2d296a8d70 Add a CHANGES note for [GL #3880]
(cherry picked from commit b086374b1d)
2023-02-21 09:05:11 +00:00
Aram Sargsyan
722b116905 Detach rpzs and catzs from the previous view
When switching to a new view during a reconfiguration (or reverting
to the old view), detach the 'rpzs' and 'catzs' from the previuos view.

The 'catzs' case was earlier solved slightly differently, by detaching
from the new view when reverting to the old view, but we can not solve
this the same way for 'rpzs', because now in BIND 9.19 and BIND 9.18
a dns_rpz_shutdown_rpzs() call was added in view's destroy() function
before detaching the 'rpzs', so we can not leave the 'rpzs' attached to
the previous view and let it be shut down when we intend to continue
using it with the new view.

Instead, "re-fix" the issue for the 'catzs' pointer the same way as
for 'rpzs' for consistency, and also because a similar shutdown call
is likely to be implemented for 'catzs' in the near future.

(cherry picked from commit 121a095a22)
2023-02-21 09:04:19 +00:00
Aram Sargsyan
568f685856 Add an "rpz" system test check for a failed reconfiguration
The faulty "DLZ" configuration triggers a reconfiguration failure
in such a place where view reverting code is covered.

(cherry picked from commit 95f4bac002)
2023-02-21 09:04:10 +00:00
Evan Hunt
64c0a7b5d4 Merge branch 'each-cleanup-gethostname-v9_18' into 'v9_18'
[9.18] Merge branch 'each-cleanup-gethostname' into 'main'

See merge request isc-projects/bind9!7559
2023-02-18 20:52:49 +00:00
Evan Hunt
61692942b8 remove named_os_gethostname()
this function was just a front-end for gethostname(). it was
needed when we supported windows, which has a different function
for looking up the hostname; it's not needed any longer.

(cherry picked from commit 197334464e)
2023-02-18 12:27:19 -08:00
Mark Andrews
833a932928 Merge branch '3879-hmac_createctx-fails-to-free-context-on-isc_hmac_init-failure-v9_18' into 'v9_18'
[9.18] Resolve "hmac_createctx fails to free context on isc_hmac_init failure"

See merge request isc-projects/bind9!7556
2023-02-18 00:50:26 +00:00
Mark Andrews
0d56344a8e In hmac_createctx free ctx on isc_hmac_init failure
(cherry picked from commit d22257a370)
2023-02-18 10:26:55 +11:00
Michal Nowak
2536012463 Merge branch 'mnowak/qa-tools-update-v9_18' into 'v9_18'
[9.18] Python formatting updates

See merge request isc-projects/bind9!7553
2023-02-17 15:32:17 +00:00
Michal Nowak
da49342f26 Fix unnecessary "else" after "raise" with pylint 2.16.2
bin/tests/system/get_algorithms.py:225:4: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise)

(cherry picked from commit 8064ac6bec)
2023-02-17 16:03:30 +01:00
Michal Nowak
d89f1056df Adapt to Python scripts to black 23.1.0
(cherry picked from commit 3cd2cc6254)
2023-02-17 16:03:30 +01:00
Mark Andrews
af3c4ae900 Merge branch '3869-dig-fails-to-cleanup-openssl-references-v9_18' into 'v9_18'
[9.18] Resolve "Dig fails to cleanup OpenSSL references"

See merge request isc-projects/bind9!7542
2023-02-16 23:43:12 +00:00
Mark Andrews
cf5e81ed7b Cleanup OpenSSL reference on bad option
Another exit path that needs to be cleaned up.

(cherry picked from commit e27fc4bbc5)
2023-02-16 22:31:52 +00:00
Mark Andrews
4dfc183fbd Cleanup OpenSSL reference on bad domain name
Free/detach tsigkey and sig0key when exiting and then call
dst_lib_destroy if we have previously called dst_lib_init.  This will,
in theory, allow OPENSSL_cleanup to free all memory.

(cherry picked from commit 4c2525c418)
2023-02-16 22:31:52 +00:00