Commit Graph

37529 Commits

Author SHA1 Message Date
Arаm Sаrgsyаn
e8aae75aec Merge branch '3968-catz-data-race-in-dns__catz_update_cb-9.18' into 'bind-9.18'
[9.18] Fix a data race in dns__catz_update_cb()

See merge request isc-projects/bind9!7727
2023-03-27 12:35:31 +00:00
Aram Sargsyan
9fb1381110 Add a CHANGES note for [GL #3968]
(cherry picked from commit 95cb2affaa)
2023-03-27 11:40:19 +00:00
Aram Sargsyan
987f61dbb7 Fix a data race in dns__catz_update_cb()
The dns__catz_update_cb() function was earlier updated (see
d2ecff3c4a) to use a separate
'dns_db_t' object ('catz->updb' instead of 'catz->db') to
avoid a race between the 'dns__catz_update_cb()' and
'dns_catz_dbupdate_callback()' functions, but the 'REQUIRE'
check there still checks the validity of the 'catz->db' object.

Fix the omission.

(cherry picked from commit a2817541b3)
2023-03-27 11:39:19 +00:00
Evan Hunt
c2d8d99148 Merge branch '3953-deprecate-delegation-only-v9_18' into 'bind-9.18'
[9.18] Merge branch '3953-deprecate-delegation-only' into 'main'

See merge request isc-projects/bind9!7718
2023-03-23 21:10:50 +00:00
Evan Hunt
f7b2ec32b4 CHANGES and release note for [GL #3953]
(cherry picked from commit 8d80ee561e)
2023-03-23 14:10:06 -07:00
Evan Hunt
1ab3ebb718 deprecate delegation-only and root-delegation only
These options and zone type were created to address the
SiteFinder controversy, in which certain TLD's redirected queries
rather than returning NXDOMAIN. since TLD's are now DNSSEC-signed,
this is no longer likely to be a problem.

The deprecation message for 'type delegation-only' is issued from
the configuration checker rather than the parser. therefore,
isccfg_check_namedconf() has been modified to take a 'nodeprecate'
parameter to suppress the warning when named-checkconf is used with
the command-line option to ignore warnings on deprecated options (-i).

(cherry picked from commit 2399556bee)
2023-03-23 14:09:53 -07:00
Ondřej Surý
02b6cc9b35 Merge branch '3960-handle-non-ISC_R_SUCCESS-in-rctx_respinit-bind-9.18' into 'bind-9.18'
Properly handle ISC_R_SHUTTINGDOWN in resquery_response()

See merge request isc-projects/bind9!7716
2023-03-23 12:39:03 +00:00
Ondřej Surý
4bf253ffe1 Properly handle ISC_R_SHUTTINGDOWN in resquery_response()
When resquery_response() was called with ISC_R_SHUTTINDOWN, the region
argument would be NULL, but rctx_respinit() would try to pass
region->base and region->len to the isc_buffer_init() leading to
a NULL pointer dereference.  Properly handle non-ISC_R_SUCCESS by
ignoring the provided region.

(cherry picked from commit 93259812dd)
2023-03-23 12:26:09 +01:00
Tom Krizek
616920d4b2 Merge branch '3665-dupsigs-test-stability-9.18' into 'bind-9.18'
[9.18] Improve dupsigs test stability

See merge request isc-projects/bind9!7706
2023-03-22 10:21:29 +00:00
Tom Krizek
85c78dbaa9 Lighten the CI load during the dupsigs test
Previously, an AXFR request would be issued every second while waiting
for the zone to be signed. This might've been the cause of issues in CI
where many tests are running in parallel and any extra load may increase
test instability.

Instead, check for the last NSEC record to have a signature before
commencing the AXFR request to check the zone has been fully signed.

Also increase the time for the zone signing to a total of 60+10 seconds
up from the previous 30.

(cherry picked from commit 3291c891f6)
2023-03-22 10:56:25 +01:00
Tom Krizek
e4484bfde6 End dupsigs test early if it fails
There's no point in continuing the dupsigs test if a failure is
detected. End the test early to avoid wasting time and resources.

(cherry picked from commit ad647dca13)
2023-03-22 10:56:25 +01:00
Tom Krizek
4b56482e62 Store dupsigs axfr to a file for easier debugging
(cherry picked from commit fad2eee631)
2023-03-22 10:56:25 +01:00
Tom Krizek
1e94c87b00 Redirect dupsigs test output to proper logger
Ensure messages from dupsigs system test end up in its log rather than
stdout. Previously, the output was hard to debug when running the tests
in parallel and messages wouldn't end up in the dupsigs.log.

(cherry picked from commit cbe2559f37)
2023-03-22 10:56:23 +01:00
Arаm Sаrgsyаn
069eaa1232 Merge branch '3955-hold-catz-reference-during-update-v9_18' into 'bind-9.18'
[9.18] Hold a catz reference while the update process is running

See merge request isc-projects/bind9!7705
2023-03-21 12:17:35 +00:00
Aram Sargsyan
51d7b13009 Add a CHANGES note for [GL #3955]
(cherry picked from commit aee14ee5d9)
2023-03-21 11:47:17 +00:00
Aram Sargsyan
eef58e9708 Hold a catz reference while the update process is running
This should delay the catalog zone from being destroyed during
shutdown, if the update process is still running.

Doing this should not introduce significant shutdown delays, as
the update function constantly checks the 'shuttingdown' flag
and cancels the process if it is set.

(cherry picked from commit dc2b8bb1c9)
2023-03-21 11:47:17 +00:00
Michal Nowak
43eac16dd7 Merge branch 'mnowak/respdiff-drop-allow_failure-9.18' into 'bind-9.18'
[9.18] respdiff jobs do not need "allow_failure: true"

See merge request isc-projects/bind9!7699
2023-03-17 10:18:25 +00:00
Michal Nowak
7b7d8b7a6c respdiff jobs do not need "allow_failure: true"
ASAN and TSAN respdiff jobs should be stable and not require
"allow_failure: true" anymore.

(cherry picked from commit dd97ddca6f)
2023-03-17 11:11:06 +01:00
Tom Krizek
c4ce5662fd Merge branch 'tkrizek/ci-artifacts-1d-9.18' into 'bind-9.18'
[9.18] Use the default retention time for CI artifacts

See merge request isc-projects/bind9!7694
2023-03-16 14:14:28 +00:00
Tom Krizek
7acea8eb5d Use the default retention time for CI artifacts
The instance-wide GitLab CI artifact retention time was changed to 1 day
up from the previous value of 12 hours. Remove our explicit overrides
for 1 day artifact retention time, as it is the default now.

Previously, most of our jobs had overrides for 1 day retention, while
some of our jobs used the default 12 hours. This discrepancy could be
quite impractical at times.

(cherry picked from commit 8fef5676fa)
2023-03-16 15:13:13 +01:00
Tom Krizek
7aba37333f Move gitlab-ci.yml comment to its proper place
The comment refers to "interruptible" key, rather than the entire
"default" section.

(cherry picked from commit 1139907450)
2023-03-16 15:13:09 +01:00
Tom Krizek
7545ac0a97 Merge tag 'v9_18_13' into v9_18
BIND 9.18.13
2023-03-15 18:38:23 +01:00
Artem Boldariev
b6e1339612 Merge branch '3867-fix-xot-hang' into 'v9_18'
DoT: remove TLS-related kludge in isc__nmsocket_connecttimeout_cb()

See merge request isc-projects/bind9!7687
2023-03-14 18:03:36 +00:00
Artem Boldariev
b029f86334 Update release notes [GL #3867]
Mention that XoT hangs have been fixed.
2023-03-14 18:51:05 +02:00
Artem Boldariev
8e4b9421ac Update CHANGES [GL #3867]
Mention that XoT hangs have been fixed.
2023-03-14 18:51:00 +02:00
Artem Boldariev
034b5febb1 DoT: remove TLS-related kludge in isc__nmsocket_connecttimeout_cb()
This commit ensures that 'sock->tls.pending_req' is not getting
nullified during TLS connection timeout callback as it prevents the
connection callback being called when connecting was not successful.

We expect 'isc__nm_failed_connect_cb() to be called from
'isc__nm_tlsdns_shutdown()' when establishing connections was
successful, but with 'sock->tls.pending_req' nullified that will not
happen.

The code removed most likely was required in older iterations of the
NM, but to me it seems that now it does only harm. One of the well
know pronounced effects is leading to irrecoverable zone transfer
hangs via TLS.
2023-03-14 18:49:29 +02:00
Mark Andrews
03a73f720d Merge branch '3937-zone-sign-kasp-v9_18' into 'v9_18'
[9.18] Resolve "NSEC records aren't signed with both configured algorithms during NSEC3->NSEC transition"

See merge request isc-projects/bind9!7685
2023-03-14 14:00:49 +00:00
Mark Andrews
68fb8ad9dd Add CHANGES for [GL #3937]
(cherry picked from commit aafcb8611c)
2023-03-15 00:19:33 +11:00
Mark Andrews
7f13c9d3fa When signing with a new algorithm preserve NSEC/NSEC3 chains
If the zone already has existing NSEC/NSEC3 chains then zone_sign
needs to continue to use them.  If there are no chains then use
kasp setting otherwise generate an NSEC chain.

(cherry picked from commit 4b55201459)
2023-03-15 00:18:54 +11:00
Mark Andrews
f012549203 Merge branch '3939-insufficient-information-to-identify-key-v9_18' into 'v9_18'
[9.18] Resolve "Insufficient information to identify key"

See merge request isc-projects/bind9!7683
2023-03-14 05:49:22 +00:00
Mark Andrews
bc7c9c6ad1 Report key name when removing it
(cherry picked from commit 9f161544fd)
2023-03-14 16:26:56 +11:00
Mark Andrews
92cab3fb5e Add ISC_FORMAT_PRINTF to report's declaration
dns_dnssec_updatekeys's 'report' could be called with invalid arguments
which the compiler should be be able to detect.

(cherry picked from commit 7a0a2fc3e4)
2023-03-14 16:26:56 +11:00
Arаm Sаrgsyаn
4a41a1af40 Merge branch '3924-dnstap-test-timing-issue-v9_18' into 'v9_18'
[9.18] Resolve "missing messages in `dnstap` system test after query failure"

See merge request isc-projects/bind9!7677
2023-03-13 13:23:37 +00:00
Aram Sargsyan
f86495f1ad Improve dnstap system test reliability
The dnstap system test fails intermittently, and it appears to be
a timing issue - adding a short delay after running 'fstrm_capture',
and before running 'dnstap -reopen' improves the situation from
50% failures (5 out of 10 times) to 0% failures (0 out of 20 times),
tested locally.

The reason is that 'fstrm_capture' is executed in the background,
and due to OS scheduling and other factors, the listener socket
may not be ready when the following command runs and tells 'named'
to (re)open it.

(cherry picked from commit fa686fcea5)
2023-03-13 11:57:00 +00:00
Michal Nowak
bdc14c4e3b Merge branch 'mnowak/stress-test-drop-parallel-build-v9_18' into 'v9_18'
[9.18] Drop parallel build from stress tests

See merge request isc-projects/bind9!7671
2023-03-09 17:36:26 +00:00
Michal Nowak
780f28ce58 Drop parallel build from stress tests
BUILD_PARALLEL_JOBS environmental variable is set to 6, which does not
align well with 4 and 8 CPU core systems dedicated to CI "stress" tests.
When multiple parallel jobs run on the host, they compete for resources
with an undesirable result: 6 compiler processes of one job may starve
named, resulting in lower-than-expected throughput and minutes-long
query response latency spikes.

Better drop the build parallelism of BIND-under-test. About 1-2 minutes
are added to the 60-65 minutes long job duration.

(cherry picked from commit 3fd7e7c81f)
2023-03-09 18:32:17 +01:00
Arаm Sаrgsyаn
cf03a997e4 Merge branch '3923-doth-system-test-timing-issue-v9_18' into 'v9_18'
[9.18] Resolve "timing issue with incoming XoT check in `doth` system test"

See merge request isc-projects/bind9!7667
2023-03-09 11:30:00 +00:00
Aram Sargsyan
0b80d442ac Retry multiple times in doth test when checking if the zone file exists
Dumping of the freshly transferred zone file can take some time.

Retry 5 times before failing.

The log excerpt below shows such a case, when dumping lasted more than
two seconds.

    06-Mar-2023 09:32:09.973 zone example6/IN: Transfer started.
    06-Mar-2023 09:32:10.301 zone example6/IN: zone transfer finished: success
    06-Mar-2023 09:32:10.301 zone_dump: zone example6/IN: enter
    06-Mar-2023 09:32:11.789 client @0x7fe9ab435d68 10.53.0.10#44113 (example6): AXFR request
    06-Mar-2023 09:32:11.801 client @0x7fe9ab435d68 10.53.0.10#44113 (example6): transfer of 'example6/IN': AXFR ended: 5 messages, 2676 records, 55815 bytes, 0.011 secs (5074090 bytes/sec) (serial 1397051952)
    06-Mar-2023 09:32:12.409 zone_gotwritehandle: zone example6/IN: enter
    06-Mar-2023 09:32:12.421 dump_done: zone example6/IN: enter
    06-Mar-2023 09:32:12.421 zone_journal_compact: zone example6/IN: target journal size 53044

(cherry picked from commit 5d5d4b523b)
2023-03-09 10:40:43 +00:00
Aram Sargsyan
5ed65ce81f Fix the placement of printing dig output comments in doth system test
There can be comments in dig output for a zone transfer only in case
of an error, so we should print those errors not when wait_for_tls_xfer
succeeds, but when it fails.

Also, there is no point in printing those comments when a failure was
indeed expected.

(cherry picked from commit 9672b6be57)
2023-03-09 10:40:37 +00:00
Aram Sargsyan
d2d55acf6e Fail early in doth system test when the expected failure doesn't happen
If wait_for_tls_xfer succeeds, while a failure was being expected,
set ret=1 to fail without further checking if the zone file exists.

(cherry picked from commit 2fdf01573c)
2023-03-09 10:40:31 +00:00
Michal Nowak
1668d92e63 Merge branch 'mnowak/stress-test-build-with-default-CFLAGS-v9_18' into 'v9_18'
[9.18] Build BIND in stress test jobs with common CFLAGS

See merge request isc-projects/bind9!7665
2023-03-09 10:03:22 +00:00
Michal Nowak
d04776aae5 Build BIND in stress test jobs with common CFLAGS
By omission, BIND was not built with common CFLAGS in the stress test
jobs. Building with common CFLAGS and -Og should help GDB produce a
backtrace with more information.

(cherry picked from commit d33bdd36b4)
2023-03-09 10:58:39 +01:00
Matthijs Mekking
ab79a09d73 Merge branch '3925-serve-stale-system-test-failure-vv9_18' into 'v9_18'
[9.18] Lower chance of intermittent serve-stale system test failure

See merge request isc-projects/bind9!7664
2023-03-09 08:56:03 +00:00
Matthijs Mekking
4ce9114b34 Update serve-stale system test
The serve-stale system test was intermittently failing due to a timing
issue:

    I:serve-stale:check stale data.example TXT was refreshed...
    I:serve-stale:failed

The RRset is refreshed, however, it first checks for an expected log
line, prior checking that the stale data.example TXT was refreshed
(using dig). This log line is there to ensure the record is actually
refreshed before we start querying again. Alternatively we could just
retry_quiet 10 <wait for dig output matches expectations>. It would
lower the chances for intermittent test failures, since there is no
longer a "check for log line, sleep one second if check fails, check
for log line, ...", prior to the check.

(cherry picked from commit 0bf36da305)
2023-03-09 08:14:17 +01:00
Tom Krizek
ac9a4a73be Merge branch 'tkrizek/set-up-version-and-release-notes-for-bind-9.18.14' into 'v9_18'
Set up version and release notes for BIND 9.18.14

See merge request isc-projects/bind9!7651
2023-03-07 16:36:28 +00:00
Tom Krizek
316c6929a4 Set up release notes for BIND 9.18.14 2023-03-07 14:52:01 +01:00
Tom Krizek
8016e471d8 Update BIND version to 9.18.14-dev 2023-03-07 14:49:39 +01:00
Tom Krizek
3c85ab7f4c Update BIND version for release v9.18.13 2023-03-03 15:23:18 +01:00
Tom Krizek
8f2543a7d4 Add a CHANGES marker 2023-03-03 15:22:43 +01:00
Tom Krizek
a5dbc24770 Merge branch 'tkrizek/prepare-documentation-for-bind-9.18.13' into 'v9_18_13-release'
Prepare documentation for BIND 9.18.13

See merge request isc-private/bind9!501
2023-03-03 14:21:06 +00:00