Commit Graph

33913 Commits

Author SHA1 Message Date
Michał Kępień
1904acc7ef Check unsigned serial number in signed zone files
All signed zone files present in bin/tests/system/inline/ns8 should
contain the unsigned serial number in the raw-format header.  Add a
check to ensure that is the case.  Extend the dnssec-signzone command
line in ns8/sign.sh with the -L option to allow the zones initially
signed there to pass the newly added check.  Add another zone to the
configuration for the ns8 named instance to ensure the check also passes
when multiple zones are inline-signed by a single named instance.

(cherry picked from commit ab49205af3)
2022-01-06 12:27:12 +01:00
Matthijs Mekking
be1efdcf24 Merge branch '3035-dnssec-policy-stops-signing-when-removing-zsk-v9_16' into 'v9_16'
Fix autosign system test, allow expired zone signatures to be replaced with KSK RRSIGs (9.16)

See merge request isc-projects/bind9!5694
2022-01-06 08:58:44 +00:00
Matthijs Mekking
99316385d3 Replace RSASHA1 in autosign test with default alg
Change RSASHA1 to $DEFAULT_ALGORITHM to be FIPS compliant.

There is one RSASHA1 occurence left, to test that dynamically adding an
NSEC3PARAM record to an NSEC-only zone fails.

(cherry picked from commit 6e9fed2d24)
2022-01-06 09:35:53 +01:00
Matthijs Mekking
b002ed569c Add CHANGES and release note for GL #3049
This is a bugfix worth mentioning.

(cherry picked from commit f3e668d630)
2022-01-06 09:35:48 +01:00
Matthijs Mekking
17ae663084 Update autosign test
Update the autosign system test with new expected behavior.

The 'nozsk.example' zone should have its expired zone signatures
deleted and replaced with signatures generated with the KSK.

The 'inaczsk.example' zone should have its expired zone signatures
deleted and replaced with signatures generated with the KSK.

In both scenarios, signatures are deleted, not retained, so the
"retaining signatures" warning should not be logged.

Furthermore, thsi commit fixex a test bug where the 'awk' command
always returned 0.

Finally, this commit adds a test case for an offline KSK, for the zone
'noksk.example'. In this case the expired signatures should be retained
(despite the zone being bogus, but resigning the DNSKEY RRset with the
ZSK won't help here).

(cherry picked from commit fbd559ad0d)
2022-01-06 09:35:42 +01:00
Matthijs Mekking
bdb91e3825 Fix bug introduced by #763 related to offline keys
In some cases we want to keep expired signatures. For example, if the
KSK is offline, we don't want to fall back to signing with the ZSK.
We could remove the signatures, but in any case we end up with a broken
zone.

The change made for GL #763 prevented the behavior to sign the DNSKEY
RRset with the ZSK if the KSK was offline (and signatures were expired).

The change causes the definition of "having both keys": if one key is
offline, we still consider having both keys, so we don't fallback
signing with the ZSK if KSK is offline.

That change also works the other way, if the ZSK is offline, we don't
fallback signing with the KSK.

This commit fixes that, so we only fallback signing zone RRsets with
the KSK, not signing key RRsets with the ZSK.

(cherry picked from commit beeefe35c4)
2022-01-06 09:35:36 +01:00
Matthijs Mekking
8e31f6981a Only warn if we could not delete signature
BIND can log this warning:

    zone example.ch/IN (signed): Key example.ch/ECDSAP256SHA256/56340
      missing or inactive and has no replacement: retaining signatures.

This log can happen when BIND tries to remove signatures because the
are about to expire or to be resigned. These RRsets may be signed with
the KSK if the ZSK files has been removed from disk. When we have
created a new ZSK we can replace the signatures creeated by the KSK
with signatures from the new ZSK.

It complains about the KSK being missing or inactive, but actually it
takes the key id from the RRSIG.

The warning is logged if BIND detects the private ZSK file is missing.

The warning is logged even if we were able to delete the signature.

With the change from this commit it only logs this warning if it is not
okay to delete the signature.

(cherry picked from commit 2d2858841a)
2022-01-06 09:35:29 +01:00
Ondřej Surý
0c2e37a064 Merge branch '3074-catz-excl-task-v9_16' into 'v9_16'
Prevent a shutdown race in catz_create_chg_task()

See merge request isc-projects/bind9!5691
2022-01-05 13:01:15 +00:00
Evan Hunt
e243f68f00 Add CHANGES note for [GL #3074]
(cherry picked from commit 81c09b005b)
2022-01-05 13:37:47 +01:00
Evan Hunt
21b0093440 Prevent a shutdown race in catz_create_chg_task()
If a catz event is scheduled while the task manager was being
shut down, task-exclusive mode is unavailable. This needs to be
handled as an error rather than triggering an assertion.

(cherry picked from commit 973ac1d891)
2022-01-05 13:37:46 +01:00
Matthijs Mekking
221adf3471 Merge branch '3023-auto-dnssec-documentation-bug-v9_16' into 'v9_16'
Update auto-dnssec documentation

See merge request isc-projects/bind9!5689
2022-01-05 11:24:37 +00:00
Matthijs Mekking
ec483977e4 Add CHANGES for #3023
(cherry picked from commit 447fa2a816)
2022-01-05 11:57:14 +01:00
Matthijs Mekking
219f5ebd32 Update auto-dnssec documentation
Explain that 'auto-dnssec' may only be activated at zone level.

(cherry picked from commit aac39647f3)
2022-01-05 11:57:08 +01:00
Ondřej Surý
d9b4a3d123 Merge branch '3071-signed-version-of-an-inline-signed-zone-may-be-dumped-without-unsigned-serial-number-v9_16' into 'v9_16'
Ensure the correct ordering zone_shutdown() vs zone_gotwritehandle()

See merge request isc-projects/bind9!5688
2022-01-05 10:02:54 +00:00
Ondřej Surý
604612e5b9 Add CHANGES and release note for [GL #3071]
(cherry picked from commit 4d71a3b309)
2022-01-05 10:33:46 +01:00
Michał Kępień
7b455124d5 Ensure the correct ordering zone_shutdown() vs zone_gotwritehandle()
When the signed version of an inline-signed zone is dumped to disk, the
serial number of the unsigned version of the zone is written in the
raw-format header so that the contents of the signed zone can be
resynchronized after named restart if the unsigned zone file is
modified while named is not running (see RT #26676).

In order for the serial number of the unsigned zone to be determined
during the dump, zone->raw must be set to a non-NULL value.  This
should always be the case as long as the signed version of the zone is
used for anything by named.

However, under certain circumstances the zone->raw could be set to NULL
while the zone is being dumped.

Defer detaching from zone->raw in zone_shutdown() if the zone is in the
process of being dumped to disk.

(cherry picked from commit cc1d4e1aa6)
2022-01-05 10:32:50 +01:00
Mark Andrews
e837701a36 Merge branch '3065-memory-leak-on-duplicately-named-dnssec-policy-v9_16' into 'v9_16'
Address memory leak when processing dnssec-policy clauses

See merge request isc-projects/bind9!5685
2022-01-03 22:23:36 +00:00
Mark Andrews
8b0b85828b Add CHANGES for [GL #3065]
(cherry picked from commit 6de041f19c)
2022-01-04 09:04:49 +11:00
Mark Andrews
0e0cd6bf17 Report duplicate dnssec-policy names
Duplicate dnssec-policy names were detected as an error condition
but were not logged.

(cherry picked from commit b8845454c8)
2022-01-04 09:04:07 +11:00
Mark Andrews
8dd1288dca Address memory leak when processing dnssec-policy clauses
A kasp structure was not detached when looking to see if there
was an existing kasp structure with the same name, causing memory
to be leaked.  Fixed by calling dns_kasp_detach() to release the
reference.

(cherry picked from commit 694440e614)
2022-01-04 09:04:07 +11:00
Michal Nowak
478438c1a8 Merge branch 'mnowak/year-2022-v9_16' into 'v9_16'
[v9_16] Update copyrights to 2022

See merge request isc-projects/bind9!5682
2022-01-03 15:49:10 +00:00
Michal Nowak
71d780df3c Update copyrights to 2022
(cherry picked from commit befd654e00)
2022-01-03 11:57:58 +01:00
Michał Kępień
365593be15 Merge branch '2782-set-version-and-release-variables-in-conf.py-v9_16' into 'v9_16'
[v9_16] Set version and release variables in conf.py

See merge request isc-projects/bind9!5677
2021-12-29 09:21:47 +00:00
Michał Kępień
523b38875e Remove man_SPHINXOPTS from doc/arm/Makefile.in
The man_SPHINXOPTS variable is only used in doc/man/Makefile.in.  Remove
its duplicate definition from doc/arm/Makefile.in.
2021-12-29 09:59:38 +01:00
Michał Kępień
7eac78ccc0 Clarify use of the "today" Sphinx variable
Add a comment explaining the purpose of setting the "today" variable in
Sphinx invocations to prevent confusion caused by the absence of that
variable from reStructuredText sources.

(cherry picked from commit e67cdb390a)
2021-12-29 09:59:38 +01:00
Michał Kępień
02387700ff Set version and release variables in conf.py
Some Sphinx variables used in the ARM are only set in
doc/arm/Makefile.in.  This works fine when building the ARM using
"make", but does not work with Read the Docs, which only looks at
conf.py files.

Since Read the Docs does not run ./configure, renaming conf.py to
conf.py.in and using Autoconf output variables is not a feasible
solution.

Instead, extend doc/arm/conf.py with some Python code which processes
the "version" file using regular expressions and sets the relevant
Sphinx variables accordingly.  As this solution also works fine when
building the ARM using "make", drop the relevant -D options from the
list of sphinx-build options used for building the ARM in
doc/arm/Makefile.in.

Note that the man_SPHINXOPTS counterparts of the removed -D switches are
left intact because doc/man/conf.py is a separate Sphinx project which
is only processed using "make" and duplicating the Python code added to
doc/arm/conf.py by this commit would be inelegant.

(cherry picked from commit 38d251e11b)
2021-12-29 09:59:38 +01:00
Michal Nowak
0f81ad2428 Merge branch 'mnowak/make-debian-11-bullseye-base-image-v9_16' into 'v9_16'
[v9_16] Make bullseye the base image

See merge request isc-projects/bind9!5670
2021-12-23 15:58:13 +00:00
Michal Nowak
38228927e1 Use /dev/urandom as BIND 9.11 randomness source
This prevents resolver timeouts for the reference (BIND 9.11) servers
used in respdiff tests run on Debian 11 "bullseye".

(cherry picked from commit 4d7e343813)
2021-12-23 15:45:36 +01:00
Michal Nowak
f145b884a4 Make bullseye the base image
"buster" jobs are now only going to be run in scheduled pipelines.

"--without-gssapi" ./configure option of "bullseye" before it became
the base image is dropped from "bullseye"-the-base-image because it
reduces gcov coverage by 0.38 % (651 lines) and is used in Debian 9
"stretch".

(cherry picked from commit 910d595fbc)
2021-12-23 15:45:36 +01:00
Michał Kępień
37a4d0fff6 Merge branch 'rhbz/fedora/2032704-v9_16' into 'v9_16'
[v9_16] Avoid conflict with ldap_connect function of openldap

See merge request isc-projects/bind9!5668
2021-12-22 21:21:20 +00:00
Petr Mensik
6ea7005d0e Change all internal functions to dlz_ldap prefix
To prevent any conflict in the future, avoid ldap_ prefix in any
internal functions. Keep it reserved for openldap only.

(cherry picked from commit 7bce3e7791)
2021-12-22 22:15:40 +01:00
Petr Mensik
8408656489 Avoid conflict with ldap_connect function of openldap
ldap_connect is defined by OpenLDAP 2.6. Compiler complains there are
conflicting declarations. Use dlz_ldap prefix instead of ldap to avoid
conflict.

(cherry picked from commit 49e523e56f)
2021-12-22 22:15:40 +01:00
Michal Nowak
7baec16188 Merge branch 'mnowak/respdiff-job-dependency-fix-v9_16' into 'v9_16'
[v9_16] Execute respdiff jobs out-of-order

See merge request isc-projects/bind9!5666
2021-12-22 14:31:57 +00:00
Michal Nowak
a68f482e14 Execute respdiff jobs out-of-order
Commit e8d8b43e dropped dependency of "respdiff" and
"respdiff-third-party" jobs on "tarball-create" job because these jobs
don't need to depend on in (e.g., for its artifacts). This, however,
caused that respdiff jobs weren't started out-of-order and artifacts
from all the "Build" stage jobs plus "unit:gcc:buster:amd64" job were
downloaded to project directory and caused problems with compilation:

Originally, the dependency on "tarball-create" has been added in
704eeb32 to indicate that respdiff "is meant to operate on two different
BIND versions". It seems that the intent didn't work out, and we better
make it obvious that respdiff jobs don't depend on any other job and
should be run out-of-order.

(cherry picked from commit 87578efc71)
2021-12-22 15:19:56 +01:00
Michal Nowak
ac61902dfa Merge branch 'mnowak/respdiff-add-third-party-server-support-v9_16' into 'v9_16'
[v9_16] Add respdiff job with third-party recursors

See merge request isc-projects/bind9!5662
2021-12-21 16:39:59 +00:00
Michal Nowak
e8d8b43e67 Add respdiff job with third-party recursors
The order of directories with reference and test BIND 9 are now reversed
for respdiff.sh.

The data.mdb file has more than 10 GB and makes artifact download take
an unnecessarily long time.

(cherry picked from commit 2ececf2c02)
2021-12-21 17:28:22 +01:00
Michal Nowak
c17cf36e53 Merge branch 'mnowak/freebsd-12.3-v9_16' into 'v9_16'
[v9_16] Add FreeBSD 12.3

See merge request isc-projects/bind9!5659
2021-12-20 16:34:58 +00:00
Michal Nowak
4741135328 Add FreeBSD 12.3
(cherry picked from commit a4d8571fa2)
2021-12-20 17:00:10 +01:00
Michal Nowak
c60d6b5029 Merge branch 'mnowak/add-fedora-35-v9_16' into 'v9_16'
[v9_16] Add Fedora 35

See merge request isc-projects/bind9!5657
2021-12-17 15:09:38 +00:00
Michal Nowak
344b95d8fc Add Fedora 35
(cherry picked from commit 668be42965)
2021-12-17 15:41:38 +01:00
Michal Nowak
905d51fe79 Merge branch 'mnowak/drop-freebsd-11-v9_16' into 'v9_16'
[v9_16] Drop FreeBSD 11

See merge request isc-projects/bind9!5654
2021-12-17 12:02:16 +00:00
Michal Nowak
937dcbaac8 Drop FreeBSD 11
Support for FreeBSD 11.4, the last FreeBSD 11.x release, ended on
September 30, 2021.

The "--with-readline" ./configure option has been added to gcc:sid:amd64
CI job; otherwise, it would be lost with the FreeBSD 11 removal.

Link: https://www.freebsd.org/security/unsupported/
(cherry picked from commit 981579f379)
2021-12-17 12:53:21 +01:00
Michal Nowak
765750bc39 Merge branch 'mnowak/alpine-3.15-v9_16' into 'v9_16'
[v9_16] Add Alpine Linux 3.15

See merge request isc-projects/bind9!5651
2021-12-16 16:02:46 +00:00
Michal Nowak
e0a80d64c9 Add Alpine Linux 3.15
(cherry picked from commit d43127a387)
2021-12-16 16:54:37 +01:00
Petr Špaček
39fca4f220 Merge branch 'pspacek/ci-api-triggers-v9_16' into 'v9_16'
Enable regular pipeline jobs to be triggered from Gitlab API [v9_16]

See merge request isc-projects/bind9!5649
2021-12-16 15:22:05 +00:00
Petr Špaček
d6fd1d7172 Enable regular pipeline jobs to be triggered from Gitlab API
(cherry picked from commit eb8c8753ad)
2021-12-16 16:20:23 +01:00
Petr Špaček
b3fb70cf67 Merge branch 'v9_16_24-release' into 'v9_16'
Merge 9.16.24 release branch

See merge request isc-projects/bind9!5645
2021-12-16 12:36:10 +00:00
Petr Špaček
d9d6c0ba66 Set up release notes for BIND 9.16.25 2021-12-16 13:29:31 +01:00
Petr Špaček
bd3201c799 Merge branch 'prep-release' into 'v9_16_24-release'
prep 9.16.24

See merge request isc-private/bind9!340
2021-12-16 13:29:06 +01:00
Petr Špaček
8ef5147598 Merge branch 'michal/prepare-documentation-for-bind-9.16.24' into 'v9_16_24-release'
Prepare documentation for BIND 9.16.24

See merge request isc-private/bind9!339
2021-12-16 13:29:06 +01:00