Commit graph

34442 commits

Author SHA1 Message Date
Mark Andrews
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 Andrews
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
Petr Špaček
84a9ce2d87 Merge branch 'pspacek/nsec3-doc-update-v9_16' into 'v9_16'
Update NSEC3 guidance to match draft-ietf-dnsop-nsec3-guidance-10 [v9_16]

See merge request isc-projects/bind9!6448
2022-06-15 16:16:50 +00:00
Petr Špaček
3eae58207a
Update NSEC3 guidance to match draft-ietf-dnsop-nsec3-guidance-10
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-nsec3-guidance-10
is on it's way to become RFC, so let's update our recommendations in the
docs to be in line with it.

The default values for dnssec-policy and dnssec-signzone were adapted to
match v9_16 branch.

(cherry picked from commit 2ee3f4e6c8)
2022-06-15 18:10:50 +02:00
Michał Kępień
68fadd52c1 BIND 9.16.30
-----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEENKwGS3ftSQfs1TU17QVz/8hFYQUFAmKZEiYPHG1pY2hhbEBp
 c2Mub3JnAAoJEO0Fc//IRWEFtsgP/iTyAYIAZ+MCV7hg2NaCPZ8bjsdP/puGxeL7
 1skmEn5zWACKSN0LpeagW2B8mK3TzzZ8jjt2RfIquJxo0BNgAdq8zXfRqVECeei+
 T9hCYRkYhEEV1N+Epr2j9Q8D1x3v6fyn+Rmv/yNWeI3ZtYtNhQ6M1v+X5HTeSA5C
 3vBPFdkcEcHMNI6hSWEaekQDth1ea6POY0RfODfnZffxj6QWSAeLlNoCkw293Xaa
 AIBuh+RKdURcEHd0BS49kaRBemF2k/IKLWimuOlgU522dN3H9BKTmCqPTBq+rksG
 OUtt4Gw+sLEPeUmq4jreJHnMhByuqgw3z2Cfod6dLlJV7rWhUyULbAsbSx8H1r/s
 G2BhDRRrMC1awxhDhz6MbyMT0rl3yZIMfc4LPScRLkJwTFVRqQJHhlKQn/qM6UYX
 Y+gefbEhRnqeYiQr0m/wRSs4lW7GfXpPHc9oKIikRZNVtLeRZNx29uVjvTTnsfIX
 UKKA+S5lCX+rXxSZx7FIRY//hNkFzXUXKbMDM1+2a4dIG6vrwXnTPbbj9bPTf29Q
 uLJlZVCBh6GnPK/YM+KXDiYAvXyiISrCxO7ySoMEUe4063xeZ8gChfeV7bEdxhHz
 zoVZ693V/BUH6XgzyiD/BMMIG5pKLWxtZCX21CIeo2PCO/aa/aj8kRwPvtdj4at0
 RN1Foczw
 =V0gX
 -----END PGP SIGNATURE-----

Merge tag 'v9_16_30' into v9_16

BIND 9.16.30
2022-06-15 16:02:06 +02:00
Petr Špaček
f4db2c69fa Merge branch 'pspacek/doc-cleanup-dnssec-prereq-v9_16' into 'v9_16'
Update intro texts in the DNSSEC Guide [v9_16]

See merge request isc-projects/bind9!6435
2022-06-14 16:22:46 +00:00
Petr Špaček
b14b29b969
Update FAQ in the DNSSEC Guide
Mention DoT/DoH, update stats, remove mentions of early stages of
deployment.

(cherry picked from commit fd3a2c7854)
2022-06-14 18:18:54 +02:00
Petr Špaček
308c7f7c5c
Update Authoritative Server Hardware requirements in DNSSEC Guide
Based on measurements done on BIND v9_19_2 using bank. TLD and a
synthetitc fullly signed zone, using RSASHA256 and ECDSAP256SHA256
algorithms with NSEC and NSEC3 without opt-out.

(cherry picked from commit 635885afe6)
2022-06-14 18:18:36 +02:00
Petr Špaček
0efc93ce1a
Update DNSSEC validation deployment stats in DNSSEC Guide
(cherry picked from commit 832c172985)
2022-06-14 18:18:36 +02:00
Petr Špaček
b64c8459f7
Rewrite Recursive Server Hardware requirements in DNSSEC Guide
This section was completely out of date. Current measurements on dataset
Telco EU 2022-02 and BIND 9.19.1 indicate absolutely different results
than described in the old version of the text.

(cherry picked from commit 6cf8066b9c)
2022-06-14 18:18:36 +02:00
Petr Špaček
4319b776f8
Remove outdated software requirements from DNSSEC Guide
Guide in this repo is tied to latest version anyway, so let's not even
mention ancient versions of BIND.

This also solves the OpenSSL question because it is now mandatory for
build, which subsequently removes the entropy problem - so let's not
mention it either.

(cherry picked from commit 6e79877759)
2022-06-14 18:18:35 +02:00
Michal Nowak
4e840e7d59 Merge branch '3138-capture-scripts-to-coverity-scan-v9_16' into 'v9_16'
[v9_16] Capture scripts for Coverity Scan analysis

See merge request isc-projects/bind9!6431
2022-06-14 12:38:07 +00:00
Michal Nowak
a95ced4d51
Capture scripts for Coverity Scan analysis
With the recent Coverity Scan 2021.12 version, Python 3 scripts are
being analyzed in addition to C files. The --fs-capture-search option
scripts for Coverity Scan analysis should be added to leverage this
feature.

(cherry picked from commit b4a2674d98)
2022-06-14 14:25:04 +02:00
Michal Nowak
f1ae1eb6f3
Download Coverity Scan analysis tool to /tmp
Downloading and unpacking Coverity Scan analysis tool tarball
(cov-analysis-linux64.tgz) to $CI_PROJECT_DIR interferes with the
execution of the analysis tool when the --fs-capture-search option is
used because the tool starts to analyze some of its Javascript files.
(There's the --fs-capture-search-exclude-regex <path> option, but I
failed to find a way to make it work.)

(cherry picked from commit 1333bdf67e)
2022-06-14 14:25:04 +02:00