Commit Graph
34454 Commits
Author SHA1 Message Date
Mark Andrews 76ed6f32e8 update ifconfig.sh
* make it harder to get the interface numbers wrong by using 'max'
to specify the upper bound of the sequence of interfaces and use 'max'
when calculating the interface number
* extract the platform specific instruction into 'up' and 'down'
and call them from the inner loop so that the interface number is
calculated in one place.
* calculate the A and AAAA address in a single place rather than
in each command
* use /sbin/ipadm on Solaris 2.11 and greater

(cherry picked from commit abfb5b1173)
2022-07-07 10:15:35 +10:00
Mark Andrews abf9a59b1a Merge branch '3429-detect-overflow-in-generate-directive-v9_16' into 'v9_16'
Check for overflow in $GENERATE computations [v9_16]

See merge request isc-projects/bind9!6527
2022-07-06 01:55:41 +00:00
Mark Andrews 3433983407 Add CHANGES note for [GL #3429]
(cherry picked from commit d935ead14b)
2022-07-06 11:36:10 +10:00
Evan HuntandMark Andrews 4897f3ccc0 Improve $GENERATE documentation
Clarify the documentation of $GENERATE modifiers and add an example.

(cherry picked from commit 13fb2faf7a)
2022-07-06 11:35:16 +10:00
Mark Andrews d10e20da0d Tighten $GENERATE directive parsing
The original sscanf processing allowed for a number of syntax errors
to be accepted.  This included missing the closing brace in
${modifiers}

Look for both comma and right brace as intermediate seperators as
well as consuming the final right brace in the sscanf processing
for ${modifiers}.  Check when we got right brace to determine if
the sscanf consumed more input than expected and if so behave as
if it had stopped at the first right brace.

(cherry picked from commit 7be64c0e94)
2022-07-06 11:26:24 +10:00
Mark Andrews 16ac79a8f7 Check for overflow in $GENERATE computations
$GENERATE uses 'int' for its computations and some constructions
can overflow values that can be represented by an 'int' resulting
in undefined behaviour.  Detect these conditions and return a
range error.

(cherry picked from commit 5327b9708f)
2022-07-06 11:26:24 +10:00
Mark Andrews 357ac87986 Merge branch '3437-cds-error-window-too-small-v9_16' into 'v9_16'
Only report not matching stderr content when we look for it [v9_16]

See merge request isc-projects/bind9!6524
2022-07-05 18:33:05 +00:00
Mark Andrews 7cd7f7d2cb Increase the amount of time allowed for signing to occur in
On slow systems we have seen this take 9 seconds.  Increased the
allowance from 3 seconds to 10 seconds to reduce the probabilty of
a false negative from the system test.

(cherry picked from commit 4db847e80e)
2022-07-05 23:12:22 +10:00
Mark Andrews 351aa3d3b5 Only report not matching stderr content when we look for it
The previous test code could emit "D:cds:stderr did not match ''" rather
that just showing the contents of stderr.  Moved the debug line inside
the if/else block.

Replaced backquotes with $() and $(()) as approriate.

(cherry picked from commit 304d33fb32)
2022-07-05 23:12:22 +10:00
Michał Kępień a9407704e6 Merge branch '3357-test_send_timeout-add-code-comment' into 'v9_16'
Add code comment to test_send_timeout test

See merge request isc-projects/bind9!6503
2022-07-04 21:12:33 +00:00
Michał Kępień 8ebc9c76a9 Add a code comment to the test_send_timeout() test 2022-07-04 23:10:59 +02:00
Petr Špaček 269ecb6f63 Merge branch 'marka-cobertura-replaced-by-coverage_report-v9_16' into 'v9_16'
Fix for GitLab 15.0: cobertura replaced by coverage_report [v9_16]

See merge request isc-projects/bind9!6514
2022-07-04 05:50:40 +00:00
Mark AndrewsandPetr Špaček 7680a12431 Fix for GitLab 15.0: cobertura replaced by coverage_report
From Gitlab 15.0 release notes:

   artifacts:reports:cobertura keyword

   As of GitLab 15.0, the artifacts:reports:cobertura keyword has
   been replaced by artifacts:reports:coverage_report. Cobertura
   is the only supported report file, but this is the first step
   towards GitLab supporting other report types.

(cherry picked from commit 008032d268)
2022-07-04 07:15:53 +02:00
Arаm Sаrgsyаn d50036114e Merge branch '3398-race-resolver-query-timeout-and-validation-v9_16' into 'v9_16'
Fix a race between resolver query timeout and validation

See merge request isc-projects/bind9!6419
2022-07-01 09:20:29 +00:00
Aram Sargsyan d31223d477 Add CHANGES and release note for [GL #3398] 2022-07-01 08:42:28 +00:00
Aram Sargsyan 61d77affdd Remove resolver.c:maybe_destroy()
After refactoring of `validated()`, the `maybe_destroy()` function is
no longer expected to actually destroy the fetch context when it is
being called, so effectively it only ensures that the validators are
canceled when the context has no more queries and pending events, but
that is redundant, because `maybe_destroy()` `REQUIRE`s that the context
should be in the shutting down state, and the function which sets that
state is already canceling the validators in its own turn.

As a failsafe, to make sure that no validators will be created after
`fctx_doshutdown()` is called, add an early return from `valcreate()` if
the context is in the shutting down state.
2022-06-30 19:12:17 +00:00
Aram Sargsyan 058a2e7d44 Fix a race between resolver query timeout and validation
The `resolver.c:validated()` function unlinks the current validator from
the fetch's validators list, which can leave it empty, then unlocks
the bucket lock. If, by a chance, the fetch was timed out just before
the `validated()` call, the final timeout callback running in parallel
with `validated()` can find the fetch context with no active fetches
and with an empty validators list and destroy it, which is unexpected
for the `validated()` function and can lead to a crash.

Increase the fetch context's reference count in the beginning of
`validated()` and decrease it when it finishes its work to avoid the
unexpected destruction of the fetch context.
2022-06-30 18:58:58 +00:00
Michal Nowak b56317fc56 Merge branch '2371-add-stress-testing-with-rpz-v9_16' into 'v9_16'
[v9_16] Add stress testing with RPZ

See merge request isc-projects/bind9!6498
2022-06-28 22:06:34 +00:00
Michal Nowak 49f96e6287 Add stress testing with RPZ
(cherry picked from commit d272574653)
2022-06-28 20:43:15 +02:00
Petr Špaček 54609a00be Merge branch '3408-drop-debian-9-stretch-v9_16' into 'v9_16'
Drop support for Debian 9 (Stretch) [v9_16]

See merge request isc-projects/bind9!6496
2022-06-28 16:00:34 +00:00
Petr Špaček 561f2a3930 Declare Debian 9 (Stretch) community-maintained
(cherry picked from commit 4ce1f25210)
2022-06-28 17:59:21 +02:00
Petr Špaček a6496edf7e Drop Debian 9 (Stretch) from CI
(cherry picked from commit aa86a8bcf0)
2022-06-28 17:59:20 +02:00
Matthijs Mekking 0420302a8a Merge branch '3422-dnssec-policy-clarifications-v9_16' into 'v9_16'
[v9_16] Add some clarifications wrt dynamic zones

See merge request isc-projects/bind9!6490
2022-06-27 12:38:18 +00:00
Matthijs Mekking 68105e66cf Add some clarifications wrt dynamic zones
These were suggested by GitLab user @elmaimbo.

(cherry picked from commit fb517eb52a)
2022-06-27 11:56:59 +02:00
Mark Andrews 0fbf59d6f8 Merge branch '3420-rrsetorder-update-status-v9_16' into 'v9_16'
Add missing update of status variable in rrsetorder system test [v9_16]

See merge request isc-projects/bind9!6481
2022-06-23 07:56:14 +00:00
Mark Andrews c978785be6 Replace expr's with $((expression)) shell constucts
Also make indenting consistent.

(cherry picked from commit 669c42cd95)
2022-06-23 17:35:51 +10:00
Mark Andrews 9786a785f3 Add missing update of status variable in rrsetorder system test
(cherry picked from commit da63e63c41)
2022-06-23 17:28:58 +10:00
Michal Nowak d29b7b2601 Merge branch 'mnowak/add-system_gcc_bullseye_unstable_amd64-ci-job-v9_16' into 'v9_16'
[v9_16] Add system:gcc:bullseye:unstable:amd64 CI job

See merge request isc-projects/bind9!6477
2022-06-22 13:52:21 +00:00
Michal Nowak 805fa06cc8 Put default-triggering-rules anchor in alphabetical order
(cherry picked from commit db1a72d581)
2022-06-22 15:06:10 +02:00
Michal Nowak 0f4623f717 Rename schedules_tags_web_triggering_rules anchor
The schedules_tags_web_triggering_rules anchor name should match it's
content, hence api_schedules_tags_triggers_web_triggering_rules anchor
name.

(cherry picked from commit 0629f53431)
2022-06-22 15:06:10 +02:00
Michal Nowak 4f3dc87d81 Extract API, schedules, triggers, and web triggering rules
(cherry picked from commit fbc1345dd7)
2022-06-22 14:58:54 +02:00
Michal Nowak daadd8ebcd Add system:gcc:bullseye:unstable:amd64 CI job
Without this CI job long pytest jobs are not being run in the CI.

(cherry picked from commit d606f39022)
2022-06-22 14:58:42 +02:00
Michał Kępień 83dadbc75e Merge branch '3309-fix-destination-port-extraction-for-client-queries-v9_16' into 'v9_16'
[v9_16] Fix destination port extraction for client queries

See merge request isc-projects/bind9!6475
2022-06-22 12:28:13 +00:00
Michał Kępień 89aa97c455 Add CHANGES entry for GL #3309
(cherry picked from commit 58c3513fa6)
2022-06-22 13:52:08 +02:00
Mark AndrewsandMichał Kępień f271667a1b Check that the UDP destination port is logged via dnstap
(cherry picked from commit 8d8396c3a7)
2022-06-22 13:52:08 +02:00
Michał Kępień cbfb93e1c7 Fix destination port extraction for client queries
The current logic for determining the address of the socket to which a
client sent its query is:

 1. Get the address:port tuple from the netmgr handle using
    isc_nmhandle_localaddr() or from the ns_interface_t structure.

 2. Convert the address:port tuple from step 1 into an isc_netaddr_t
    using isc_netaddr_fromsockaddr().

 3. Convert the address from step 2 back into a socket address with the
    port set to 0 using isc_sockaddr_fromnetaddr().

Note that the port number (readily available in the netmgr handle or in
the ns_interface_t structure) is needlessly lost in the process,
preventing it from being recorded in dnstap captures of client traffic
produced by named.

Fix by first storing the address:port tuple in client->destsockaddr and
then creating an isc_netaddr_t from that structure.  This allows the
port number to be retained in client->destsockaddr, which is what
subsequently gets passed to dns_dt_send().

Remove an outdated code comment.

(cherry picked from commit 2f945703f2)
2022-06-22 13:52:08 +02:00
Michal Nowak 4b9c2066b1 Merge branch 'mnowak/ubuntu-22.04-jammy-jellyfish-v9_16' into 'v9_16'
[v9_16] Add Ubuntu 22.04 LTS (Jammy Jellyfish)

See merge request isc-projects/bind9!6471
2022-06-22 11:05:49 +00:00
Michal Nowak ce2e4c59d9 Do not run Ubuntu 18.04 jobs in MR-triggered pipelines
With the addition of Ubuntu 22.04 three more CI jobs were added. To
compensate for that, move Ubuntu 18.04 jobs out of MR-triggered
pipelines to schedule-triggered ones.

Also, move --disable-geoip ./configure options from Ubuntu 18.04 to
Ubuntu 20.04 jobs to keep these options in the more frequent
MR-triggered pipelines.

(cherry picked from commit 06c591667e)
2022-06-22 12:04:40 +02:00
Michal Nowak 009c7871ec Add Ubuntu 22.04 LTS (Jammy Jellyfish)
(cherry picked from commit 4c2af3bdfa)
2022-06-22 12:04:13 +02:00
Matthijs Mekking 7ebf6e5c59 Merge branch '3397-document-interaction-dnssec-update-config-options-v9_16' into 'v9_16'
[v9_16] Document where updates and DNSSEC records are stored

See merge request isc-projects/bind9!6464
2022-06-21 14:49:58 +00:00
Matthijs Mekking 3d2126cc82 Add comment on DNSSEC signing zone configuration
I was slightly confused here, so IMO it can use a comment.

(cherry picked from commit c80531758c)
2022-06-20 16:50:51 +02:00
Matthijs Mekking e1f0acc3e7 Document where updates and DNSSEC records are stored
Make clear that inline-signing stores DNSSEC records in a signed
version of the zone, using the zone's filename plus ".signed" extension.

Tell that dynamic zones store updates in the zone's filename.

DNSSEC records for dynamic zones also go in the zone's filename, unless
inline-signing is enabled.

Then, dnssec-policy assumes inline-signing, but only if the zone is
not dynamic.

(cherry picked from commit 8860f6b4ff)
2022-06-20 16:50:42 +02:00
Michal Nowak e75a1d4206 Merge branch 'mnowak/bump-clang-to-version-14-v9_16' into 'v9_16'
[v9_16] Update clang to version 14

See merge request isc-projects/bind9!6456
2022-06-17 06:36:39 +00:00
Michal Nowak 676dac06b6 Extract Clang version to $CLANG_VERSION
Extracting Clang version helps with updating Clang version in one place
and not missing one of its instances.

(cherry picked from commit bd17dec045)
2022-06-16 18:11:03 +02:00
Michal Nowak 08c89b2002 Fix external_symbolizer_path on Fedora
The external_symbolizer_path was wrong on Fedora since moving gcc:tsan
jobs from Debian to Fedora.

(cherry picked from commit e98b9c5009)
2022-06-16 18:11:03 +02:00
Michal Nowak a584a8f88f Update clang to version 14
(cherry picked from commit 1c45a9885a)
2022-06-16 18:11:03 +02:00
Michal Nowak 8408f7d01e Merge branch 'mnowak/checkds-pylint-implicit-str-concat-fixes-v9_16' into 'v9_16'
[v9_16] Fix implicit string concatenation in tests-checkds.py

See merge request isc-projects/bind9!6454
2022-06-16 11:56:10 +00:00
Michal Nowak 84d2d25921 Fix implicit string concatenation in tests-checkds.py
pylint 2.14.2 reports the following warnings:

    bin/tests/system/checkds/tests-checkds.py:265:0: W1404: Implicit string concatenation found in call (implicit-str-concat)
    bin/tests/system/checkds/tests-checkds.py:273:0: W1404: Implicit string concatenation found in call (implicit-str-concat)

(cherry picked from commit 831ac8add1)
2022-06-16 13:45:30 +02:00
Tom Krizek b7fc9e43df Merge branch 'tkrizek/pytest-skipped-reason-v9_16' into 'v9_16'
Report reasons for skipped/xfailed system pytests [v9_16]

See merge request isc-projects/bind9!6450
2022-06-16 07:53:23 +00:00
Tom Krizek dc5acad543 Report reasons for skipped/xfailed system pytests
If skip/xfail is used in pytest, it can have a reason string associated
with it. When evaluating these tests, it can be useful to be able to
differentiate the reason why the test was skipped/xfailed/xpassed,
because there might be multiple possible reasons for that.

The extra options passed to pytest ensure that the string with the
reason appears in the test summary and thus we're able to find the
string with the reason in the log output.

See https://docs.pytest.org/en/7.1.x/how-to/skipping.html for more info

(cherry picked from commit f6d368167a)
2022-06-16 09:18:32 +02:00