35204 Commits

Author SHA1 Message Date
Tom Krizek
83e26c215f Ensure correct release date is put to man pages
In the generated man pages, `@RELEASEDATE@` wasn't replaced since the
actual variable name is `RELEASE_DATE` with an underscore. This issue
was introduced in the recently merged !7518 (commit
18b7ba3ea3) which removed the pregenerated
man pages from the repo.
v9.16.39
2023-03-06 14:03:49 +01:00
Tom Krizek
23aa8c2fc5 Merge branch 'prep-release' into v9_16_39-release 2023-03-03 15:30:25 +01:00
Tom Krizek
1bcdf21874 prep 9.16.39 2023-03-03 15:27:54 +01:00
Tom Krizek
a9c0a9da76 Merge branch 'tkrizek/prepare-documentation-for-bind-9.16.39' into 'v9_16_39-release'
Prepare documentation for BIND 9.16.39

See merge request isc-private/bind9!502
2023-03-03 14:24:27 +00:00
Tom Krizek
7b5dedcc30 Add release note for GL #3673 2023-03-03 13:50:47 +01:00
Tom Krizek
80c4a89abc Tweak and reword release notes 2023-03-03 13:48:16 +01:00
Tom Krizek
96fcc6080d Prepare release notes for BIND 9.16.39 2023-03-03 13:47:17 +01:00
Tom Krizek
3f318921d4 Restore 9.16.38 release notes
The Known Issues section for 9.16.38 release notes was accidentally
removed during branch maintenance after release. Restore the contents to
its tagged released version.
2023-03-03 13:40:14 +01:00
Tom Krizek
41cea7ae70 Merge branch '3917-named-should-log-uv-version-when-starting-up-v9_16' into 'v9_16'
[9.16] Resolve "Named should log UV version when starting up"

See merge request isc-projects/bind9!7643
2023-03-03 08:57:34 +00:00
Mark Andrews
c3efa7d3d9 Now logs UV versions when starting up
Named now logs both compile time and run time UV versions when
starting up.  This is useful information to have when debugging
network issues involving named.

(cherry picked from commit 5fd2cd8018)
2023-03-03 09:28:58 +01:00
Arаm Sаrgsyаn
3785aa8f87 Merge branch '3907-data-race-in-rbtdb-v9_16' into 'v9_16'
[9.16] Resolve "ThreadSanitizer: data race lib/dns/rbtdb.c:1365 in newversion"

See merge request isc-projects/bind9!7641
2023-03-02 21:41:24 +00:00
Aram Sargsyan
ddb67b01b2 Check if catz is active in dns_catz_update_from_db()
A reconfiguration can deactivate the catalog zone, while the
offloaded update process was preparing to run.

(cherry picked from commit 6980e3b354)
2023-03-02 19:42:16 +00:00
Aram Sargsyan
641627838b Use catzs->lock in dns_catz_prereconfig()
There can be an update running in another thread, so use a lock,
like it's done in dns_catz_postreconfig().

(cherry picked from commit 3973724d67)
2023-03-02 19:36:26 +00:00
Aram Sargsyan
4f6f84b63d Update the CHANGES note for [GL #3777]
Remove the part which is no longer true after reverting the commit
in question.

The CHANGES entry was never part of a released BIND 9 version.

(cherry picked from commit e1627e1289)
2023-03-02 19:20:36 +00:00
Aram Sargsyan
2a719e9df2 Revert "Process db callbacks in zone_loaddone() after zone_postload()"
This reverts commit 1254f37584.

The commit introduced a data race, because dns_db_endload() is called
after unfreezing the zone.

(not cherry picked from commit 593dea871a)
2023-03-02 19:19:55 +00:00
Arаm Sаrgsyаn
95939fd880 Merge branch '3911-reconfig-zone-view-revert-bugfix-v9_16' into 'v9_16'
[9.16] Fix view's zones reverting bug during reconfiguration

See merge request isc-projects/bind9!7635
2023-03-01 16:46:21 +00:00
Aram Sargsyan
b7809d07f8 Add CHANGES and release notes for [GL #3911]
(cherry picked from commit e1036253db)
2023-03-01 15:50:58 +00:00
Aram Sargsyan
2fba282206 Fix view's zones reverting bug during reconfiguration
During reconfiguration, the configure_view() function reverts the
configured zones to the previous view in case if there is an error.

It uses the 'zones_configured' boolean variable to decide whether
it is required to revert the zones, i.e. the error happened after
all the zones were successfully configured.

The problem is that it does not account for the case when an error
happens during the configuration of one of the zones (not the first),
in which case there are zones that are already configured for the
new view (and they need to be reverted), and there are zones that
are not (starting from the failed one).

Since 'zones_configured' remains 'false', the configured zones are
not reverted.

Replace the 'zones_configured' variable with a pointer to the latest
successfully configured zone configuration element, and when reverting,
revert up to and including that zone.

(cherry picked from commit 84c235a4b0)
2023-03-01 15:50:26 +00:00
Aram Sargsyan
3ac0f6ee50 Add a catz system test check for [GL #3911]
The trick is to configure a duplicate zone, which comes after the
catalog zone, where the duplicate zone is an existing member zone.

In that scenario, all the zones which come before the "faulty" zone
in the configuration file will fail to be reverted to the previous
version of the view after a reconfiguration error, and in this
particular case that will result in an assertion failure when the
catalog zone update is initiated, because it will be still tied to
the new version of the view, which was dismissed.

(cherry picked from commit 93c4f382f4)
2023-03-01 15:49:21 +00:00
Arаm Sаrgsyаn
54e2c48f74 Merge branch '3777-fix-crash-after-failed-ixfr-from-differences-v9_16' into 'v9_16'
[9.16] Resolve "crash after failed ixfr-from-differences on a catalog zone"

See merge request isc-projects/bind9!7624
2023-02-28 16:53:56 +00:00
Aram Sargsyan
1d79b3142e Add a CHANGES note for [GL #3777]
(cherry picked from commit 46b1c558ce)
2023-02-28 14:40:17 +00:00
Aram Sargsyan
fff49a2ffb catz: unregister the db update-notify callback before detaching from db
When detaching from the previous version of the database, make sure
that the update-notify callback is unregistered, otherwise there is
an INSIST check which can generate an assertion failure in free_rbtdb(),
which checks that there are no outstanding update listeners in the list.

There is a similar code already in place for RPZ.

(cherry picked from commit cf79692a66)
2023-02-28 14:40:17 +00:00
Aram Sargsyan
79ee7353ad Searching catzs->zones requires a read lock
Lock the catzs->lock mutex before searching in the catzs->zones
hash table.

(cherry picked from commit 0ef0c86632)
2023-02-28 14:40:17 +00:00
Aram Sargsyan
1254f37584 Process db callbacks in zone_loaddone() after zone_postload()
The zone_postload() function can fail and unregister the callbacks.

Call dns_db_endload() only after calling zone_postload() to make
sure that the registered update-notify callbacks are not called
when the zone loading has failed during zone_postload().

Also, don't ignore the return value of zone_postload().

(cherry picked from commit ed268b46f1)
2023-02-28 14:40:17 +00:00
Aram Sargsyan
561289909b Add a system test for [GL #3777]
Add the 'ixfr-from-differences yes;' option to trigger a failed
zone postload operation when a zone is updated but the serial
number is not updated, then issue two successive 'rndc reload'
commands to trigger the bug, which causes an assertion failure.

(cherry picked from commit a73b67456e)
2023-02-28 14:40:17 +00:00
Michal Nowak
6367abec5b Merge branch 'mnowak/make-openbsd-allow_failure-true-v9_16' into 'v9_16'
[9.16] Do not fail pipeline because of failed OpenBSD system test

See merge request isc-projects/bind9!7618
2023-02-28 10:49:17 +00:00
Michal Nowak
b4307c983d 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:41:36 +01:00
Michal Nowak
909f7b6f37 Revert "Disable OpenBSD system test parallelism in CI"
This reverts commit 208d49a28d.

(cherry picked from commit a9d3ec33b3)
2023-02-28 11:41:07 +01:00
Arаm Sаrgsyаn
7ea7493ffe Merge branch '3900-catz-error-path-issues-v9_16' into 'v9_16'
[9.16] Resolve "Error path cleanup issues in dns_catz_new_zones() and dns_catz_new_zone()"

See merge request isc-projects/bind9!7607
2023-02-27 15:15:34 +00:00
Aram Sargsyan
6857f5a729 Add a CHANGES note for [GL #3900]
(cherry picked from commit d96d8dc651)
2023-02-27 14:06:53 +00:00
Aram Sargsyan
466a05eaf0 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.

(cherry picked from commit 9050481d1f)
2023-02-27 13:55:05 +00:00
Arаm Sаrgsyаn
0260b9aeb9 Merge branch '3880-fix-rpz-assertion-failure-during-failed-reconfiguration-v9_16' into 'v9_16'
[9.16] Detach rpzs and catzs from the previous view

See merge request isc-projects/bind9!7565
2023-02-27 10:06:04 +00:00
Aram Sargsyan
a48e5e94e1 Add a CHANGES note for [GL #3880]
(cherry picked from commit b086374b1d)
2023-02-27 08:42:34 +00:00
Aram Sargsyan
9d5544a4a5 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-27 08:42:34 +00:00
Aram Sargsyan
eeaa830ecd 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-27 08:42:34 +00:00
Michal Nowak
7f90dc8d8d Merge branch 'mnowak/freebsd-12.4-v9_16' into 'v9_16'
[9.16] Add FreeBSD 12.4

See merge request isc-projects/bind9!7600
2023-02-24 13:30:44 +00:00
Michal Nowak
e3a1945d3c Add FreeBSD 12.4
(cherry picked from commit 2307661b1a)
2023-02-24 14:11:49 +01:00
Michal Nowak
76ad247785 Merge branch 'mnowak/alpine-3.17-v9_16' into 'v9_16'
[9.16] Add Alpine Linux 3.17

See merge request isc-projects/bind9!7597
2023-02-24 13:09:53 +00:00
Michal Nowak
850f865856 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 13:26:40 +01:00
Michal Nowak
1d3d73b997 Add Alpine Linux 3.17
(cherry picked from commit 345089ad23)
2023-02-24 13:25:15 +01:00
Michal Nowak
cbae4704c5 Merge branch 'mnowak/set-TEST_PARALLEL_JOBS-to-four' into 'v9_16'
[9.16] Update the TEST_PARALLEL_JOBS value in CI

See merge request isc-projects/bind9!7594
2023-02-24 09:42:11 +00:00
Tom Krizek
6a975344a2 Update the TEST_PARALLEL_JOBS value in CI
The tests have been executed with four jobs for a long time because the
TEST_PARALLEL_JOBS variable was set to 4 in the project's CI/CD
Variables Settings. The variable was recently dropped in favor of
.gitlab-ci.yaml one and now needs to be streamlined with the rest of
BIND 9 maintained branches.

(cherry picked from commit 03d7b45d81)
2023-02-24 10:08:04 +01:00
Michal Nowak
7d4b21067f Merge branch 'mnowak/update_TEST_PARALLEL_JOBS_for_BSD-v9_16' into 'v9_16'
[9.16] Disable OpenBSD system test parallelism in CI

See merge request isc-projects/bind9!7593
2023-02-24 09:05:35 +00:00
Michal Nowak
208d49a28d 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 09:58:38 +01:00
Michal Nowak
6a5459c9df 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 09:58:38 +01:00
Ondřej Surý
f3422838fc Merge branch 'ondrej-restore-sonarcloud-analysis-v9_16' into 'v9_16'
[9.16] Add SonarCloud GitHub Action

See merge request isc-projects/bind9!7592
2023-02-24 08:57:53 +00:00
Ondřej Surý
973f2ebdcc 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:59 +01:00
Michal Nowak
9a3364df3a Merge branch 'mnowak/logfileconfig-fix-rndc_conf_does_not_exist' into 'v9_16'
Stop logfileconfig/ns1 server with TERM signal

See merge request isc-projects/bind9!7581
2023-02-23 16:06:08 +00:00
Michal Nowak
e8918b1304 Stop logfileconfig/ns1 server with TERM signal
stop.pl tries to stop ns1 via rndc but fails to find rndc.conf because
the logfileconfig test code is unexpectedly executed from the
logfileconfig/ns1/ directory. Instead of stopping ns1 with rndc, it
waits for 30 seconds and then terminates ns1 with the TERM signal.

    I:logfileconfig:testing default logfile using named -L file (9)
    rndc: ../common/rndc.conf does not exist

Stopping ns1 with rndc was recently inadvertently introduced in
172826bfa8. Stop ns1 with the TERM signal
directly, as we did before.
2023-02-23 16:52:59 +01:00
Matthijs Mekking
d026b020b8 Merge branch 'marka-fixup-named_zone_configure-v9_16' into 'v9_16'
[9.16] Fix dns_kasp_attach / dns_kasp_detach usage - Fix backport error

See merge request isc-projects/bind9!7583
2023-02-23 08:30:11 +00:00