Commit Graph

31854 Commits

Author SHA1 Message Date
Evan Hunt
bbc739b09b report libuv version string in named -V
(cherry picked from commit 1036338a10)
2020-07-27 19:55:22 -07:00
Evan Hunt
8247aeb8e9 Merge branch '1619-rpz-wildcard-passthru-ignored-v9_16' into 'v9_16'
Resolve "RPZ wildcard passthru ignored"

See merge request isc-projects/bind9!3889
2020-07-28 02:50:38 +00:00
Diego Fronza
31af3af57c Add CHANGES entry 2020-07-27 17:18:11 -03:00
Diego Fronza
1a101f223c Add test for RPZ wildcard passthru ignored fix 2020-07-27 17:17:02 -03:00
Diego Fronza
a8ce7b461c Fix rpz wildcard name matching
Whenever an exact match is found by dns_rbt_findnode(),
the highest level node in the chain will not be put into
chain->levels[] array, but instead the chain->end
pointer will be adjusted to point to that node.

Suppose we have the following entries in a rpz zone:
example.com     CNAME rpz-passthru.
*.example.com   CNAME rpz-passthru.

A query for www.example.com would result in the
following chain object returned by dns_rbt_findnode():

chain->level_count = 2
chain->level_matches = 2
chain->levels[0] = .
chain->levels[1] = example.com
chain->levels[2] = NULL
chain->end = www

Since exact matches only care for testing rpz set bits,
we need to test for rpz wild bits through iterating the nodechain, and
that includes testing the rpz wild bits in the highest level node found.

In the case of an exact match, chain->levels[chain->level_matches]
will be NULL, to address that we must use chain->end as the start point,
then iterate over the remaining levels in the chain.
2020-07-27 17:02:16 -03:00
Mark Andrews
6720ba8335 Merge branch '2043-dns_rdata_hip_next-fails-to-return-isc_r_nomore-at-the-right-time-v9_16' into 'v9_16'
Resolve "dns_rdata_hip_next() fails to return ISC_R_NOMORE at the right time."

See merge request isc-projects/bind9!3885
2020-07-24 05:47:50 +00:00
Mark Andrews
af03936409 Add CHANGES note
(cherry picked from commit bcd049f116)
2020-07-24 15:25:17 +10:00
Mark Andrews
b0942c2442 Check walking the hip rendezvous servers.
Also fixes extraneous white space at end of record when
there are no rendezvous servers.

(cherry picked from commit 78db46d746)
2020-07-24 15:24:49 +10:00
Mark Andrews
397f51a807 Merge branch 'feature/master/unix-cleanup-v9_16' into 'v9_16'
Remove few lines in unix socket handling

See merge request isc-projects/bind9!3882
2020-07-24 04:05:53 +00:00
Petr Menšík
ac79d68765 Remove few lines in unix socket handling
Reuse the same checks two times, make difference minimal.

(cherry picked from commit 72d81c4768)
2020-07-24 13:47:26 +10:00
Mark Andrews
2950e1bb5d Merge branch 'dstlib-failure-abort-v9_16' into 'v9_16'
Prevent crash on dst initialization failure

See merge request isc-projects/bind9!3878
2020-07-23 03:01:09 +00:00
Petr Menšík
fade143531 Prevent crash on dst initialization failure
server might be created, but not yet fully initialized, when fatal
function is called. Check both server and task before attaching
exclusive task.

(cherry picked from commit c5e7152cf0)
2020-07-23 11:28:11 +10:00
Michal Nowak
cdb346e51f Merge branch 'mnowak/try-harder-to-analyze-cores-v9_16' into 'v9_16'
[v9_16] Rationalize backtrace logging

See merge request isc-projects/bind9!3869
2020-07-20 14:48:32 +00:00
Michal Nowak
9509af7008 Check tests for core files regardless of test status
Failed test should be checked for core files et al. and have
backtrace generated.
2020-07-20 13:09:06 +02:00
Michal Nowak
ace988990a Rationalize backtrace logging
GDB backtrace generated via "thread apply all bt full" is too long for
standard output, lets save them to .txt file among other log files.
2020-07-20 12:48:29 +02:00
Michal Nowak
c2bbe11349 Fold stop_servers_failed() to stop_servers() 2020-07-20 12:48:11 +02:00
Michał Kępień
5a0849d7d0 Merge branch 'v9_16_5-release' into 'v9_16'
Merge 9.16.5 release branch

See merge request isc-projects/bind9!3861
2020-07-15 21:23:33 +00:00
Michał Kępień
0fbe13bc65 Set up release notes for BIND 9.16.6 2020-07-15 23:19:58 +02:00
Michał Kępień
84f16aaca9 Bump BIND_BASELINE_VERSION for ABI checks 2020-07-15 23:19:58 +02:00
Tinderbox User
284436ddfa Merge branch 'prep-release' into v9_16_5-release 2020-07-15 23:10:56 +02:00
Tinderbox User
b03a635f68 prep 9.16.5 2020-07-15 23:10:55 +02:00
Michał Kępień
1ab9297bef Merge branch 'michal/prepare-release-notes-for-bind-9.16.5' into v9_16_5-release 2020-07-15 23:10:41 +02:00
Michał Kępień
03995ef2d0 Reorder release notes 2020-07-15 23:10:41 +02:00
Michał Kępień
560c7c2452 Add release note for #1938 2020-07-15 23:10:41 +02:00
Michał Kępień
f97cf92fda Add release note for #1937 2020-07-15 23:10:41 +02:00
Michał Kępień
ea6e64f7d0 Tweak and reword release notes 2020-07-15 23:10:40 +02:00
Michał Kępień
a67bdd4d1d Prepare release notes for BIND 9.16.5 2020-07-15 23:10:17 +02:00
Michał Kępień
035cf4eddd Tweak and reword recent CHANGES entries 2020-07-15 23:10:17 +02:00
Matthijs Mekking
25d452a9d6 Merge branch '2006-coverity-checked-return-keymgr-v9_16' into 'v9_16'
Check return value of dst_key_getbool()

See merge request isc-projects/bind9!3859
2020-07-15 09:04:13 +00:00
Matthijs Mekking
4dabb688db Check return value of dst_key_getbool()
Fix Coverity CHECKED_RETURN reports for dst_key_getbool().  In most
cases we do not really care about its return value, but it is prudent
to check it.

In one case, where a dst_key_getbool() error should be treated
identically as success, cast the return value to void and add a relevant
comment.

(cherry picked from commit e645d2ef1e)
2020-07-14 17:48:21 +02:00
Michał Kępień
d7ad26b472 Merge branch 'michal/use-image-key-in-qemu-based-ci-job-templates-v9_16' into 'v9_16'
[v9_16] Use "image" key in QEMU-based CI job templates

See merge request isc-projects/bind9!3856
2020-07-14 08:32:44 +00:00
Michał Kępień
3b91ec5d1d Use "image" key in QEMU-based CI job templates
Our GitLab Runner Custom executor scripts now use the "image" key
instead of the job name for determining the QCOW2 image to use for a
given CI job.  Update .gitlab-ci.yml to reflect that change.

(cherry picked from commit 72201badf0)
2020-07-14 10:04:10 +02:00
Mark Andrews
24f5187bd7 Merge branch 'u/fanf2/fix-signing-v9_16' into 'v9_16'
U/fanf2/fix signing v9 16

See merge request isc-projects/bind9!3852
2020-07-14 03:09:57 +00:00
Mark Andrews
a0ad1d19cb Add release note for [GL !3735]
(cherry picked from commit 3ff60b881f)
2020-07-14 12:12:13 +10:00
Mark Andrews
132ed083fb Add CHANGES note for [GL !3735]
(cherry picked from commit f4fbca6e16)
2020-07-14 12:12:11 +10:00
Mark Andrews
90154d203b Add regression test for [GL !3735]
Check that resign interval is actually in days rather than hours
by checking that RRSIGs are all within the allowed day range.

(cherry picked from commit 11ecf7901b)
2020-07-14 12:11:42 +10:00
Tony Finch
31005d61ae Fix re-signing when sig-validity-interval has two arguments
Since October 2019 I have had complaints from `dnssec-cds` reporting
that the signatures on some of my test zones had expired. These were
zones signed by BIND 9.15 or 9.17, with a DNSKEY TTL of 24h and
`sig-validity-interval 10 8`.

This is the same setup we have used for our production zones since
2015, which is intended to re-sign the zones every 2 days, keeping
at least 8 days signature validity. The SOA expire interval is 7
days, so even in the presence of zone transfer problems, no-one
should ever see expired signatures. (These timers are a bit too
tight to be completely correct, because I should have increased
the expiry timers when I increased the DNSKEY TTLs from 1h to 24h.
But that should only matter when zone transfers are broken, which
was not the case for the error reports that led to this patch.)

For example, this morning my test zone contained:

        dev.dns.cam.ac.uk. 86400 IN RRSIG DNSKEY 13 5 86400 (
                                20200701221418 20200621213022 ...)

But one of my resolvers had cached:

        dev.dns.cam.ac.uk. 21424 IN RRSIG DNSKEY 13 5 86400 (
                                20200622063022 20200612061136 ...)

This TTL was captured at 20200622105807 so the resolver cached the
RRset 64976 seconds previously (18h02m56s), at 20200621165511
only about 12h before expiry.

The other symptom of this error was incorrect `resign` times in
the output from `rndc zonestatus`.

For example, I have configured a test zone

        zone fast.dotat.at {
                file "../u/z/fast.dotat.at";
                type primary;
                auto-dnssec maintain;
                sig-validity-interval 500 499;
        };

The zone is reset to a minimal zone containing only SOA and NS
records, and when `named` starts it loads and signs the zone. After
that, `rndc zonestatus` reports:

        next resign node: fast.dotat.at/NS
        next resign time: Fri, 28 May 2021 12:48:47 GMT

The resign time should be within the next 24h, but instead it is
near the signature expiry time, which the RRSIG(NS) says is
20210618074847. (Note 499 hours is a bit more than 20 days.)
May/June 2021 is less than 500 days from now because expiry time
jitter is applied to the NS records.

Using this test I bisected this bug to 09990672d which contained a
mistake leading to the resigning interval always being calculated in
hours, when days are expected.

This bug only occurs for configurations that use the two-argument form
of `sig-validity-interval`.

(cherry picked from commit 030674b2a3)
2020-07-14 12:11:42 +10:00
Mark Andrews
38fe63402b Merge branch '1994-netscope-c-23-50-error-unused-parameter-addr-when-have_if_nametoindex-undefined-on-illumos-v9_16' into 'v9_16'
Mark 'addr' as unused if HAVE_IF_NAMETOINDEX is not defined

See merge request isc-projects/bind9!3850
2020-07-14 01:25:55 +00:00
Mark Andrews
d47c42a0ab Mark 'addr' as unused if HAVE_IF_NAMETOINDEX is not defined
Also 'zone' should be initialised to zero.

(cherry picked from commit e7662c4c63)
2020-07-14 10:53:06 +10:00
Evan Hunt
8012cef139 Merge branch 'each-lmdb-lock-fix-v9_16' into 'v9_16'
ensure new_zone_lock is released after count_newzones()

See merge request isc-projects/bind9!3845
2020-07-14 00:17:16 +00:00
Evan Hunt
fc73dbdc7d make sure new_zone_lock is locked before unlocking it
it was possible for the count_newzones() function to try to
unlock view->new_zone_lock on return before locking it, which
caused a crash on shutdown.

(cherry picked from commit ed37c63e2b)
2020-07-13 23:53:14 +00:00
Mark Andrews
3140598d95 Merge branch '1993-check-c-1576-37-error-expected-identifier-before-numeric-constant-on-illumos-v9_16' into 'v9_16'
Handle namespace clash over 'SEC' on illumos.

See merge request isc-projects/bind9!3849
2020-07-13 23:37:19 +00:00
Mark Andrews
b955da48aa Handle namespace clash over 'SEC' on illumos.
(cherry picked from commit 18eef20241)
2020-07-14 09:06:46 +10:00
Mark Andrews
4636de422f Merge branch '2005-coverity-is-reporting-double-unlock-v9_16' into 'v9_16'
Resolve "Coverity is reporting double unlock."

See merge request isc-projects/bind9!3848
2020-07-13 23:04:06 +00:00
Mark Andrews
37b732f8fd Add CHANGES for [GL #2005]
(cherry picked from commit 4e03bfac86)
2020-07-14 07:36:00 +10:00
Mark Andrews
f771d75c9b Address potential double unlock in process_fd
(cherry picked from commit cc0089c66b)
2020-07-14 07:35:17 +10:00
Mark Andrews
7b32e7fec8 Merge branch '1235-system-tests-fail-with-new-etc-bind-keys-installed-v9_16' into 'v9_16'
Fallback to built in trust-anchors, managed-keys, or trusted-keys

See merge request isc-projects/bind9!3843
2020-07-13 06:49:03 +00:00
Mark Andrews
0265bd17d5 Fallback to built in trust-anchors, managed-keys, or trusted-keys
if the bind.keys file cannot be parsed.

(cherry picked from commit d02a14c795)
2020-07-13 15:13:50 +10:00
Mark Andrews
70f639c17c Merge branch '1989-rndc-dnstap-roll-with-too-big-a-argument-128-can-cause-a-buffer-overflow-v9_16' into 'v9_16'
Resolve "'rndc dnstap --roll' with too big a argument (>128) can cause a buffer overflow."

See merge request isc-projects/bind9!3842
2020-07-13 05:00:19 +00:00
Mark Andrews
94288631a9 Add changes for [GL #1989]
(cherry picked from commit 42b2290c3a)
2020-07-13 14:04:53 +10:00