]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
6 years agoMerge branch '1808-race-in-resolver-fetch' into 'master'
Ondřej Surý [Fri, 5 Jun 2020 14:21:12 +0000 (14:21 +0000)] 
Merge branch '1808-race-in-resolver-fetch' into 'master'

Fix a data access race in resolver.

Closes #1912 and #1808

See merge request isc-projects/bind9!3575

6 years agoAdd release note for #1808
Ondřej Surý [Fri, 5 Jun 2020 10:08:13 +0000 (12:08 +0200)] 
Add release note for #1808

6 years agoAdd CHANGES entry for #1808
Witold Kręcicki [Thu, 21 May 2020 12:31:09 +0000 (14:31 +0200)] 
Add CHANGES entry for #1808

6 years agoFix a data access race in resolver
Witold Kręcicki [Thu, 21 May 2020 12:31:09 +0000 (14:31 +0200)] 
Fix a data access race in resolver

We were passing client address to dns_resolver_createfetch as a pointer
and it was saved as a pointer. The client (with its address) could be
gone before the fetch is finished, and in a very odd scenario
log_formerr would call isc_sockaddr_format() which first checks if the
address family is valid (and at this point it still is), then the
sockaddr is cleared, and then isc_netaddr_fromsockaddr is called which
fails an assertion as the address family is now invalid.

6 years agoMerge branch 'mnowak/1769-ensure-all-necessary-files-are-included-in-the-tarball...
Michał Kępień [Fri, 5 Jun 2020 11:48:55 +0000 (11:48 +0000)] 
Merge branch 'mnowak/1769-ensure-all-necessary-files-are-included-in-the-tarball-produced-by-make-dist' into 'master'

Fix 'make dist'

Closes #1769

See merge request isc-projects/bind9!3527

6 years agoFix "make dist"
Michal Nowak [Thu, 4 Jun 2020 17:02:27 +0000 (19:02 +0200)] 
Fix "make dist"

Make various adjustments necessary to enable "make dist" to build a BIND
source tarball whose contents are complete enough to build binaries, run
unit & system tests, and generate documentation on Unix systems.

Known outstanding issues:

  - "make distcheck" does not work yet.
  - Tests do not work for out-of-tree source-tarball-based builds.
  - Source tarballs are not complete enough for building on Windows.

All of the above will be addressed in due course.

6 years agoGet rid of "helper" *.c files
Michal Nowak [Thu, 4 Jun 2020 16:53:47 +0000 (18:53 +0200)] 
Get rid of "helper" *.c files

Merge lib/isc/unix/ifiter_getifaddrs.c into lib/isc/unix/interfaceiter.c
and lib/isc/xoshiro128starstar.c into lib/isc/random.c.  This avoids the
need for extra Automake directives required to process the "helper" *.c
files properly and makes the code more localized.

6 years agoRefactor lib/isc/fsaccess.c
Michał Kępień [Fri, 5 Jun 2020 11:19:49 +0000 (13:19 +0200)] 
Refactor lib/isc/fsaccess.c

Turn the static check_bad_bits() function used by both Unix and Windows
systems into a "private" function and extract the "private" parts of
lib/isc/fsaccess.c to lib/isc/fsaccess_common_p.h.  Instead of including
lib/isc/fsaccess.c from lib/isc/{unix,win32}/fsaccess.c, make the former
an independent C source file.

Rename lib/isc/fsaccess.c to lib/isc/fsaccess_common.c to prevent build
issues on Windows caused by multiple source files (lib/isc/fsaccess.c,
lib/isc/win32/fsaccess.c) being compiled into the same object file.

These changes improve consistency with the way "private" functions and
macros are treated elsewhere in the source tree.

6 years agoMerge branch 'marka-placeholder' into 'master'
Mark Andrews [Fri, 5 Jun 2020 05:02:23 +0000 (05:02 +0000)] 
Merge branch 'marka-placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!3668

6 years agoplaceholder
Mark Andrews [Fri, 5 Jun 2020 04:58:51 +0000 (14:58 +1000)] 
placeholder

6 years agoMerge branch 'marka-placeholder' into 'master'
Mark Andrews [Fri, 5 Jun 2020 00:39:36 +0000 (00:39 +0000)] 
Merge branch 'marka-placeholder' into 'master'

Add placeholder for [GL #1873]

See merge request isc-projects/bind9!3665

6 years agoAdd placeholder for [GL #1873]
Mark Andrews [Fri, 5 Jun 2020 00:24:01 +0000 (10:24 +1000)] 
Add placeholder for [GL #1873]

6 years agoMerge branch '1835-add-yaml-for-ede' into 'master'
Mark Andrews [Fri, 5 Jun 2020 00:34:31 +0000 (00:34 +0000)] 
Merge branch '1835-add-yaml-for-ede' into 'master'

Resolve "Add the ability to parse and display Extended DNS Error code (EDE)."

Closes #1835

See merge request isc-projects/bind9!3531

6 years agoImprove the behaviour of yamlget.py when run with python2
Mark Andrews [Thu, 4 Jun 2020 22:43:17 +0000 (08:43 +1000)] 
Improve the behaviour of yamlget.py when run with python2

6 years agoAdd +yaml support for EDE
Mark Andrews [Wed, 13 May 2020 04:37:41 +0000 (14:37 +1000)] 
Add +yaml support for EDE

6 years agoMerge branch '1683-check-the-question-section-when-transferring-zones' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 14:14:36 +0000 (14:14 +0000)] 
Merge branch '1683-check-the-question-section-when-transferring-zones' into 'master'

Resolve "Check the question section when transferring zones."

Closes #1683

See merge request isc-projects/bind9!3244

6 years agoAdd CHANGES entry and release note for #1683
Mark Andrews [Tue, 31 Mar 2020 06:27:32 +0000 (17:27 +1100)] 
Add CHANGES entry and release note for #1683

6 years agoAdd a test with an incorrect question in a continuation message
Evan Hunt [Mon, 30 Mar 2020 23:14:55 +0000 (16:14 -0700)] 
Add a test with an incorrect question in a continuation message

6 years agoVerify the question section when transfering in.
Mark Andrews [Tue, 17 Mar 2020 04:25:47 +0000 (15:25 +1100)] 
Verify the question section when transfering in.

There was a case where an primary server sent a response
on the wrong TCP connection and failure to check the question
section resulted in a truncated zone being served.

6 years agoMerge branch '1798-reject-master-zones-with-ds-records-at-the-apex' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 14:01:14 +0000 (14:01 +0000)] 
Merge branch '1798-reject-master-zones-with-ds-records-at-the-apex' into 'master'

Resolve "Reject master zones with DS records at the apex."

Closes #1798

See merge request isc-projects/bind9!3435

6 years agoAdd release note for #1798
Mark Andrews [Tue, 28 Apr 2020 06:03:41 +0000 (16:03 +1000)] 
Add release note for #1798

6 years agoAdd CHANGES entry for #1798
Mark Andrews [Tue, 28 Apr 2020 06:02:00 +0000 (16:02 +1000)] 
Add CHANGES entry for #1798

6 years agoIgnore attempts to add DS records at zone apex
Mark Andrews [Wed, 6 May 2020 23:36:50 +0000 (09:36 +1000)] 
Ignore attempts to add DS records at zone apex

DS records belong in the parent zone at a zone cut and
are not retrievable with modern recursive servers.

6 years agoReject primary zones with an DS record at the zone apex.
Mark Andrews [Tue, 28 Apr 2020 05:37:19 +0000 (15:37 +1000)] 
Reject primary zones with an DS record at the zone apex.

DS records only belong at delegation points and if present
at the zone apex are invariably the result of administrative
errors.  Additionally they can't be queried for with modern
resolvers as the parent servers will be queried.

6 years agoMerge branch '1782-ipv6-docs' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 13:53:17 +0000 (13:53 +0000)] 
Merge branch '1782-ipv6-docs' into 'master'

Documentation update wrt IPv6 listening.

Closes #1782

See merge request isc-projects/bind9!3642

6 years agoAdd release notes for #1782
Witold Kręcicki [Thu, 4 Jun 2020 08:10:21 +0000 (10:10 +0200)] 
Add release notes for #1782

6 years agoDocumentation update wrt IPv6 listening.
Witold Kręcicki [Wed, 3 Jun 2020 15:59:37 +0000 (17:59 +0200)] 
Documentation update wrt IPv6 listening.

With netmgr we're creating separate socket for each IPv6 interface,
just as with IPv4 - update documentation accordingly.

6 years agoMerge branch 'marka-pass-path-in-env' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 13:45:41 +0000 (13:45 +0000)] 
Merge branch 'marka-pass-path-in-env' into 'master'

Preserve PATH when calling make

See merge request isc-projects/bind9!3605

6 years agoPreserve PATH and LD_LIBRARY_PATH when calling make
Mark Andrews [Fri, 29 May 2020 06:12:50 +0000 (16:12 +1000)] 
Preserve PATH and LD_LIBRARY_PATH when calling make

When ./run.sh <test> is invoked, it acts as a wrapper around
`env - TESTS="<test>" make -e check` to preserve the ability to build
files defined only in the `check` target.  Unfortunately, cleaning the
full environment had a side-effect of some tests failing due to missing
binaries and libraries.  We now preserve the two most important
variables - PATH and LD_LIBRARY_PATH.

6 years agoMerge branch '1902-bind-build-problems-on-netbsd-9' into 'master'
Michal Nowak [Thu, 4 Jun 2020 12:33:55 +0000 (12:33 +0000)] 
Merge branch '1902-bind-build-problems-on-netbsd-9' into 'master'

Fix "array subscript is of type 'char'"

Closes #1902

See merge request isc-projects/bind9!3626

6 years agoFix "array subscript is of type 'char'"
Michal Nowak [Tue, 2 Jun 2020 18:32:21 +0000 (20:32 +0200)] 
Fix "array subscript is of type 'char'"

6 years agoMerge branch '1841-test-multiple-softhsm-versions-in-gitlab-ci' into 'master'
Michał Kępień [Thu, 4 Jun 2020 12:12:40 +0000 (12:12 +0000)] 
Merge branch '1841-test-multiple-softhsm-versions-in-gitlab-ci' into 'master'

Test multiple SoftHSM versions in GitLab CI

Closes #1841

See merge request isc-projects/bind9!3533

6 years agoEmbed SoftHSM version in CI job names
Michał Kępień [Thu, 4 Jun 2020 12:11:46 +0000 (14:11 +0200)] 
Embed SoftHSM version in CI job names

To indicate the SoftHSM version used in each CI job while avoiding the
need to add another token to job names, replace "pkcs11" with
"softhsm2.4" and "fedora31:amd64" with "softhsm2.6".

6 years agoMake Fedora CI jobs PKCS#11-enabled
Michał Kępień [Thu, 4 Jun 2020 12:11:46 +0000 (14:11 +0200)] 
Make Fedora CI jobs PKCS#11-enabled

Various SoftHSM versions differ in algorithm support.  Since Fedora
tends to have the latest SoftHSM version available in its stock package
repositories, enable PKCS#11 support in Fedora jobs to test multiple
SoftHSM versions in GitLab CI.

6 years agoFix & unify Debian job comments in .gitlab-ci.yml
Michał Kępień [Thu, 4 Jun 2020 12:11:46 +0000 (14:11 +0200)] 
Fix & unify Debian job comments in .gitlab-ci.yml

6 years agoMerge branch '1877-reduce-default-for-max-stale-ttl-release-notes-update' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 12:07:51 +0000 (12:07 +0000)] 
Merge branch '1877-reduce-default-for-max-stale-ttl-release-notes-update' into 'master'

Update release note for #1877

Closes #1877

See merge request isc-projects/bind9!3653

6 years agoUpdate release note for #1877
Ondřej Surý [Thu, 4 Jun 2020 10:47:10 +0000 (12:47 +0200)] 
Update release note for #1877

6 years agoMerge branch 'mnowak/sbindir' into 'master'
Michal Nowak [Thu, 4 Jun 2020 11:49:03 +0000 (11:49 +0000)] 
Merge branch 'mnowak/sbindir' into 'master'

Revise installation locations for BIND binaries

Closes #1724

See merge request isc-projects/bind9!3592

6 years agoAdd release note for #1724
Michal Nowak [Thu, 4 Jun 2020 10:47:57 +0000 (12:47 +0200)] 
Add release note for #1724

6 years agoAdd CHANGES for #1724
Michal Nowak [Wed, 3 Jun 2020 15:34:18 +0000 (17:34 +0200)] 
Add CHANGES for #1724

6 years agoRevise installation locations for BIND binaries
Michal Nowak [Fri, 22 May 2020 13:44:27 +0000 (15:44 +0200)] 
Revise installation locations for BIND binaries

Move BIND binaries which are neither daemons nor administrative programs
to $bindir.  This results in only the following binaries being left in
$sbindir:

  - ddns-confgen
  - named
  - rndc
  - rndc-confgen
  - tsig-confgen

6 years agoMerge branch '1726-unit-tests-rename-tests-to-something-more-descriptive' into 'master'
Michal Nowak [Thu, 4 Jun 2020 10:58:55 +0000 (10:58 +0000)] 
Merge branch '1726-unit-tests-rename-tests-to-something-more-descriptive' into 'master'

Associate unit test data dir with a more specific variable

Closes #1726

See merge request isc-projects/bind9!3624

6 years agoAssociate unit test data dir with a more specific variable
Michal Nowak [Tue, 2 Jun 2020 16:21:13 +0000 (18:21 +0200)] 
Associate unit test data dir with a more specific variable

Having 'TESTS', the Automake variable and 'TESTS' the unit test data dir
seems confusing, lets rename the latter to to 'TESTS_DIR'.

6 years agoMerge branch 'nsupdate-late-responses' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 09:31:25 +0000 (09:31 +0000)] 
Merge branch 'nsupdate-late-responses' into 'master'

Delay kserver cleanup until all tasks finish

See merge request isc-projects/bind9!3316

6 years agoAdd CHANGES entry for !3316
Ondřej Surý [Thu, 4 Jun 2020 07:26:32 +0000 (09:26 +0200)] 
Add CHANGES entry for !3316

6 years agoDelay kserver cleanup until all tasks finishes
Petr Mensik [Fri, 27 Mar 2020 20:03:40 +0000 (21:03 +0100)] 
Delay kserver cleanup until all tasks finishes

It might be possible some pending task would run when kserver is already
cleaned up. Postpone gsstsig structures cleanup after task and timer
managers are destroyed. No pending threads are possible after it.

Make action in maybeshutdown only if doshutdown was not already called.
Might be called from getinput event.

6 years agoMerge branch '83-cleanup-how-we-build-release-notes' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 09:21:23 +0000 (09:21 +0000)] 
Merge branch '83-cleanup-how-we-build-release-notes' into 'master'

Stop building release notes as a separate sphinx-doc document

Closes #83

See merge request isc-projects/bind9!3649

6 years agoStop building release notes as a separate sphinx-doc document
Ondřej Surý [Thu, 4 Jun 2020 09:09:27 +0000 (11:09 +0200)] 
Stop building release notes as a separate sphinx-doc document

The release notes were previously built as a separate document
(including the PDF version).  It was agreed that this doesn't make much
sense, so the release notes are now included only as an appendix to the
BIND 9 ARM.

6 years agoMerge branch '1914-remove-libdns-documentation' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 08:55:12 +0000 (08:55 +0000)] 
Merge branch '1914-remove-libdns-documentation' into 'master'

Remove libdns section in ARM

Closes #1914

See merge request isc-projects/bind9!3646

6 years agoRemove libdns section in ARM
Ondřej Surý [Thu, 4 Jun 2020 06:52:59 +0000 (08:52 +0200)] 
Remove libdns section in ARM

When we made BIND 9 libraries private to BIND 9, we forgot to remove the
libdns section on "export" libraries from the ARM.

6 years agoMerge branch '1910-text-edits-in-general-rst' into 'master'
Ondřej Surý [Thu, 4 Jun 2020 06:44:23 +0000 (06:44 +0000)] 
Merge branch '1910-text-edits-in-general-rst' into 'master'

Resolve "Text edits in general.rst"

Closes #1910

See merge request isc-projects/bind9!3616

6 years agoContent, clarity, grammar updates to general.rst
Suzanne Goldlust [Mon, 1 Jun 2020 21:54:04 +0000 (21:54 +0000)] 
Content, clarity, grammar updates to general.rst

This includes reorganization of the lists of RFCs supported by BIND 9.

I included all the RFCs and notes from the list identified by Vicky in
any DNS-related RFCs written by current ISC engineers, on the assumption
that BIND would comply with them.

6 years agoMerge branch '1899-fix-tcp-accept-windows' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 21:25:48 +0000 (21:25 +0000)] 
Merge branch '1899-fix-tcp-accept-windows' into 'master'

isc_uv_import wrapper must pass UV__IPC_SOCKET_XFER_TCP_CONNECTION, not SERVER

Closes #1899

See merge request isc-projects/bind9!3618

6 years agoisc_uv_import must pass UV__IPC_SOCKET_XFER_TCP_CONNECTION, not SERVER.
Witold Kręcicki [Tue, 2 Jun 2020 08:39:05 +0000 (10:39 +0200)] 
isc_uv_import must pass UV__IPC_SOCKET_XFER_TCP_CONNECTION, not SERVER.

As a leftover from old TCP accept code isc_uv_import passed TCP_SERVER
flag when importing a socket on Windows.
Since now we're importing/exporting accepted connections it needs to
pass TCP_CONNECTION flag.

6 years agoMerge branch 'michal/misc-danger-tweaks' into 'master'
Michał Kępień [Wed, 3 Jun 2020 13:50:41 +0000 (13:50 +0000)] 
Merge branch 'michal/misc-danger-tweaks' into 'master'

Miscellaneous Danger tweaks

Closes isc-private/bind9#27

See merge request isc-projects/bind9!3621

6 years agoOnly run Danger if DANGER_GITLAB_API_TOKEN is set
Michał Kępień [Wed, 3 Jun 2020 13:45:28 +0000 (15:45 +0200)] 
Only run Danger if DANGER_GITLAB_API_TOKEN is set

Prevent the Danger GitLab CI job from failing when the GitLab API key to
use is not set.

6 years agoPrevent invalid warnings about missing identifiers
Michał Kępień [Wed, 3 Jun 2020 13:45:28 +0000 (15:45 +0200)] 
Prevent invalid warnings about missing identifiers

The Danger script inspects differences between the current version of a
given merge request's target branch and the merge request branch.  If
the latter falls behind the former, the Danger script will wrongly warn
about missing GitLab/RT identifiers because it incorrectly treats the
"+++" diff marker as an indication of the merge request adding new lines
to a file.  Tweak the relevant conditional expression to prevent such
invalid warnings from being raised.

6 years agoMake fetching target branch reliable
Michał Kępień [Wed, 3 Jun 2020 13:45:28 +0000 (15:45 +0200)] 
Make fetching target branch reliable

As GitLab Runner Docker executor caches Git repositories between jobs,
prevent the Danger script from attempting to update local refs to ensure
"git fetch" returns with an exit code of 0.  Use the FETCH_HEAD ref for
determining the differences between the merge request branch and its
target branch.

6 years agoTweak condition for missing log message warning
Michał Kępień [Wed, 3 Jun 2020 13:45:28 +0000 (15:45 +0200)] 
Tweak condition for missing log message warning

Commits adding CHANGES entries and/or release notes do not need a commit
log message.  Do not warn about a missing commit log message for such
commits to make the warning more meaningful.

6 years agoMerge branch '1849-placeholder' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 13:34:15 +0000 (13:34 +0000)] 
Merge branch '1849-placeholder' into 'master'

Add placeholder CHANGES entry for #1849

Closes #1849

See merge request isc-projects/bind9!3638

6 years agoAdd placeholder CHANGES entry for #1849
Ondřej Surý [Wed, 3 Jun 2020 13:29:13 +0000 (15:29 +0200)] 
Add placeholder CHANGES entry for #1849

6 years agoMerge branch 'wpk/fix-socket-test-teardown' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 12:11:39 +0000 (12:11 +0000)] 
Merge branch 'wpk/fix-socket-test-teardown' into 'master'

tests: fix isc/socket_test.c teardown

See merge request isc-projects/bind9!3537

6 years agotests: fix isc/socket_test.c teardown
Witold Kręcicki [Thu, 14 May 2020 07:39:57 +0000 (09:39 +0200)] 
tests: fix isc/socket_test.c teardown

In case of a test failure we weren't tearing down sockets and tasks
properly, causing the test to hang instead of failing nicely.

6 years agoMerge branch '1911-remove-runtime_check-res-0-for-so_incoming_cpu' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 10:46:44 +0000 (10:46 +0000)] 
Merge branch '1911-remove-runtime_check-res-0-for-so_incoming_cpu' into 'master'

Resolve "RUNTIME_CHECK(res == 0) in SO_REUSE and SO_INCOMING_CPU, commit 09ba47b0676"

Closes #1911

See merge request isc-projects/bind9!3629

6 years agoAdd CHANGES for #1911
Ondřej Surý [Wed, 3 Jun 2020 09:06:08 +0000 (11:06 +0200)] 
Add CHANGES for #1911

6 years agoDon't check the result of setting SO_INCOMING_CPU
Ondřej Surý [Wed, 3 Jun 2020 09:01:19 +0000 (11:01 +0200)] 
Don't check the result of setting SO_INCOMING_CPU

The SO_INCOMING_CPU is available since Linux 3.19 for getting the value,
but only since Linux 4.4 for setting the value (see below for a full
description).  BIND 9 should not fail when setting the option on the
socket fails, as this is only an optimization and not hard requirement
to run BIND 9.

    SO_INCOMING_CPU (gettable since Linux 3.19, settable since Linux 4.4)
        Sets or gets the CPU affinity of a socket.  Expects an integer flag.

            int cpu = 1;
            setsockopt(fd, SOL_SOCKET, SO_INCOMING_CPU, &cpu, sizeof(cpu));

        Because all of the packets for a single stream (i.e., all
packets for the same 4-tuple) arrive on the single RX queue that
is associated with a particular CPU, the typical use case is to
employ one listening process per RX queue, with the incoming
flow being handled by a listener on the same CPU that is
handling the RX queue.  This provides optimal NUMA behavior and
keeps CPU caches hot.

6 years agoMerge branch '1909-text-edits-in-history-rst' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 10:20:17 +0000 (10:20 +0000)] 
Merge branch '1909-text-edits-in-history-rst' into 'master'

Resolve "Text edits in history.rst"

Closes #1909

See merge request isc-projects/bind9!3615

6 years agoContent, clarity, and grammar edits to history.rst
Suzanne Goldlust [Mon, 1 Jun 2020 15:39:03 +0000 (15:39 +0000)] 
Content, clarity, and grammar edits to history.rst

6 years agoMerge branch '1908-text-edits-in-troubleshooting-rst' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 10:15:28 +0000 (10:15 +0000)] 
Merge branch '1908-text-edits-in-troubleshooting-rst' into 'master'

Resolve "Text edits in troubleshooting.rst"

Closes #1908

See merge request isc-projects/bind9!3614

6 years agoContent, clarity, and grammar edits to troubleshooting.rst
Suzanne Goldlust [Mon, 1 Jun 2020 15:25:43 +0000 (15:25 +0000)] 
Content, clarity, and grammar edits to troubleshooting.rst

6 years agoMerge branch '1906-more-bind-arm-text-edits' into 'master'
Ondřej Surý [Wed, 3 Jun 2020 10:13:45 +0000 (10:13 +0000)] 
Merge branch '1906-more-bind-arm-text-edits' into 'master'

Resolve "More BIND ARM text edits"

Closes #1906

See merge request isc-projects/bind9!3613

6 years agoContent, grammar, and clarity updates to security.rst
Suzanne Goldlust [Mon, 1 Jun 2020 14:46:24 +0000 (14:46 +0000)] 
Content, grammar, and clarity updates to security.rst

6 years agoMerge branch '1877-reduce-default-for-max-stale-ttl-to-something-more-reasonable...
Ondřej Surý [Wed, 3 Jun 2020 09:26:08 +0000 (09:26 +0000)] 
Merge branch '1877-reduce-default-for-max-stale-ttl-to-something-more-reasonable-12-hours-or-similar-fix-release-note' into 'master'

Add GL issue number to release note

Closes #1877

See merge request isc-projects/bind9!3630

6 years agoAdd GL issue number to release note
Ondřej Surý [Wed, 3 Jun 2020 09:25:13 +0000 (11:25 +0200)] 
Add GL issue number to release note

6 years agoMerge branch '1877-reduce-default-for-max-stale-ttl-to-something-more-reasonable...
Ondřej Surý [Wed, 3 Jun 2020 08:18:37 +0000 (08:18 +0000)] 
Merge branch '1877-reduce-default-for-max-stale-ttl-to-something-more-reasonable-12-hours-or-similar' into 'master'

Resolve "Reduce default for max-stale-ttl to something more reasonable - 12 hours or similar"

Closes #1877

See merge request isc-projects/bind9!3593

6 years agoAdd CHANGES for #1877
Ondřej Surý [Wed, 27 May 2020 15:52:49 +0000 (17:52 +0200)] 
Add CHANGES for #1877

6 years agoAdd release notes for #1877
Ondřej Surý [Wed, 27 May 2020 15:51:56 +0000 (17:51 +0200)] 
Add release notes for #1877

6 years agoReduce the default value for max-stale-ttl from 1 week to 12 hours
Ondřej Surý [Wed, 27 May 2020 15:48:39 +0000 (17:48 +0200)] 
Reduce the default value for max-stale-ttl from 1 week to 12 hours

Originally, the default value for max-stale-ttl was 1 week, which could
and in some scenarios lead to cache exhaustion on a busy resolvers.
Picking the default value will always be juggling between value that's
useful (e.g. keeping the already cached records after they have already
expired and the upstream name servers are down) and not bloating the
cache too much (e.g. keeping everything for a very long time).  The new
default reflects what we think is a reasonable to time to react on both
sides (upstream authoritative and downstream recursive).

6 years agoMerge branch '1845-1846-keyrollover-bugs' into 'master' 3627/head
Matthijs Mekking [Tue, 2 Jun 2020 09:31:54 +0000 (09:31 +0000)] 
Merge branch '1845-1846-keyrollover-bugs' into 'master'

Fix dnssec-policy key rollover bugs

Closes #1846 and #1845

See merge request isc-projects/bind9!3619

6 years agoRetire predecessor when creating successor
Matthijs Mekking [Thu, 14 May 2020 13:39:57 +0000 (15:39 +0200)] 
Retire predecessor when creating successor

When creating the successor, the current active key (predecessor)
should change its goal state to HIDDEN.

Also add two useful debug logs in the keymgr_key_rollover function.

6 years agoIf prepub > retire, prepub now
Matthijs Mekking [Thu, 14 May 2020 13:36:13 +0000 (15:36 +0200)] 
If prepub > retire, prepub now

Catch a case where if the prepublication time of the successor key
is later than the retire time of the predecessor. If that is the
case we should prepublish as soon as possible, a.k.a. now.

6 years agoPut new key rollover logic in separate function
Matthijs Mekking [Thu, 14 May 2020 13:34:13 +0000 (15:34 +0200)] 
Put new key rollover logic in separate function

The `dns_keymgr_run()` function became quite long, put the logic
that looks if a new key needs to be created (start a key rollover)
in a separate function.

6 years agoFix bug in keymgr_key_has_successor
Matthijs Mekking [Thu, 14 May 2020 13:06:54 +0000 (15:06 +0200)] 
Fix bug in keymgr_key_has_successor

The logic in `keymgr_key_has_successor(key, keyring)` is flawed, it
returns true if there is any key in the keyring that has a successor,
while what we really want here is to make sure that the given key
has a successor in the given keyring.

Rather than relying on `keymgr_key_exists_with_state`, walk the
list of keys in the keyring and check if the key is a successor of
the given predecessor key.

6 years agoMerge branch '1843-print-correct-keytiming-metadata' into 'master'
Matthijs Mekking [Tue, 2 Jun 2020 07:56:38 +0000 (07:56 +0000)] 
Merge branch '1843-print-correct-keytiming-metadata' into 'master'

Resolve "kasp: Set correct keytimings"

Closes #1843

See merge request isc-projects/bind9!3534

6 years agoReplace date -d with python script
Matthijs Mekking [Fri, 15 May 2020 08:27:27 +0000 (10:27 +0200)] 
Replace date -d with python script

The usage of 'date -d' in the kasp system test is not portable,
replace with a python script.  Also remove some leftover
"set_keytime 'yes'" calls.

6 years agoAdd change entry
Matthijs Mekking [Thu, 14 May 2020 06:48:13 +0000 (08:48 +0200)] 
Add change entry

6 years agoTest keytimes on algorithm rollover
Matthijs Mekking [Wed, 13 May 2020 15:12:23 +0000 (17:12 +0200)] 
Test keytimes on algorithm rollover

This improves keytime testing on algorithm rollover.  It now
tests for specific times, and also tests for SyncPublish and
Removed keytimes.

6 years agoTest keytimes on policy changes
Matthijs Mekking [Tue, 12 May 2020 15:12:21 +0000 (17:12 +0200)] 
Test keytimes on policy changes

This improves keytime testing on reconfiguration of the
dnssec-policy.

6 years agoTest keytimes on CSK rollover
Matthijs Mekking [Mon, 11 May 2020 13:12:32 +0000 (15:12 +0200)] 
Test keytimes on CSK rollover

This improves keytime testing on CSK rollover.  It now
tests for specific times, and also tests for SyncPublish and
Removed keytimes.

Since an "active key" for ZSK and KSK means something
different, this makes it tricky to decide when a CSK is
active. An "active key" intuitively means the key is signing
so we say a CSK is active when it is creating zone signatures.

This change means a lot of timings for the CSK rollover tests
need to be adjusted.

The keymgr code needs a slight change on calculating the
prepublication time: For a KSK we need to include the parent
registration delay, but for CSK we look at the zone signing
property and stick with the ZSK prepublication calculation.

6 years agoTest keytimes on KSK rollover
Matthijs Mekking [Mon, 4 May 2020 10:33:52 +0000 (12:33 +0200)] 
Test keytimes on KSK rollover

This improves keytime testing on KSK rollover.  It now
tests for specific times, and also tests for SyncPublish and
Removed keytimes.

6 years agokasp: registration delay adjustments
Matthijs Mekking [Mon, 4 May 2020 10:30:40 +0000 (12:30 +0200)] 
kasp: registration delay adjustments

Registration delay is not part of the Iret retire interval, thus
removed from the calculation when setting the Delete time metadata.

Include the registration delay in prepublication time, because
we need to prepublish the key sooner than just the Ipub
publication interval.

6 years agoTest keytimes on ZSK rollover
Matthijs Mekking [Fri, 1 May 2020 11:43:52 +0000 (13:43 +0200)] 
Test keytimes on ZSK rollover

This improves keytime testing on ZSK rollover.  It now
tests for specific times, and also tests for SyncPublish and
Removed keytimes.

6 years agoTest keytimes on enable-dnssec case
Matthijs Mekking [Thu, 30 Apr 2020 11:48:07 +0000 (13:48 +0200)] 
Test keytimes on enable-dnssec case

This improves keytime testing for enabling DNSSEC.  It now
tests for specific times, and also tests for SyncPublish.

6 years agoSet SyncPublish on keys
Matthijs Mekking [Thu, 30 Apr 2020 11:22:23 +0000 (13:22 +0200)] 
Set SyncPublish on keys

Set the SyncPublish metadata on keys that don't have them yet.

6 years agoStart testing keytiming metadata
Matthijs Mekking [Thu, 30 Apr 2020 11:13:12 +0000 (13:13 +0200)] 
Start testing keytiming metadata

This commit adds testing keytiming metadata.  In order to facilitate
this, the kasp system test undergoes a few changes:

1. When finding a key file, rather than only saving the key ID,
   also save the base filename and creation date with `key_save`.
   These can be used later to set expected key times.
2. Add a test function `set_addkeytime` that takes a key, which
   keytiming to update, a datetime in keytiming format, and a number
   (seconds) to add, and sets the new time in the given keytime
   parameter of the given key.  This is used to set the expected key
   times.
3. Split `check_keys` in `check_keys` and `check_keytimes`.  First we
   need to find the keyfile before we can check the keytimes.
   We need to retrieve the creation date (and sometimes other
   keytimes) to determine the other expected key times.
4. Add helper functions to set the expected key times per policy.
   This avoids lots of duplication.

Check for keytimes for the first test cases (all that do not cover
rollovers).

6 years agoStop keeping track of key parameter count
Matthijs Mekking [Wed, 29 Apr 2020 08:51:41 +0000 (10:51 +0200)] 
Stop keeping track of key parameter count

Stop tracking in the comments the number of key parameters in the
kasp system test, it adds nothing beneficial.

6 years agoFix some more test output filenames
Matthijs Mekking [Wed, 29 Apr 2020 08:01:27 +0000 (10:01 +0200)] 
Fix some more test output filenames

After removing dnssec-settime calls that set key rollover
relationship, we can adjust the counts in test output filenames.

Also fix a couple of more wrong counts in output filenames.

6 years agoSet key rollover relationship without settime
Matthijs Mekking [Wed, 29 Apr 2020 07:37:41 +0000 (09:37 +0200)] 
Set key rollover relationship without settime

Using dnssec-setttime after dnssec-keygen in the kasp system test
can lead to off by one second failures, so reduce the usage of
dnssec-settime in the setup scripts.  This commit deals with
setting the key rollover relationship (predecessor/successor).

6 years agoMove setting keytimes from settime to keygen
Matthijs Mekking [Tue, 28 Apr 2020 14:10:57 +0000 (16:10 +0200)] 
Move setting keytimes from settime to keygen

In the kasp system test, we are going to set the keytimes on
dnssec-keygen so we can test them against the key creation time.
This prevents off by one second in the test, something that can
happen if you set those times with dnssec-settime after
dnssec-keygen.

Also fix some test output filenames.

6 years agoSet keytimes appropriately when using kasp
Matthijs Mekking [Tue, 28 Apr 2020 13:05:43 +0000 (15:05 +0200)] 
Set keytimes appropriately when using kasp

While kasp relies on key states to determine when a key needs to
be published or be used for signing, the keytimes are used by
operators to get some expectation of key publication and usage.

Update the code such that these keytimes are set appropriately.
That means:
- Print "PublishCDS" and "DeleteCDS" times in the state files.
- The keymgr sets the "Removed" and "PublishCDS" times and derives
  those from the dnssec-policy.
- Tweak setting of the "Retired" time, when retiring keys, only
  update the time to now when the retire time is not yet set, or is
  in the future.

This also fixes a bug in "keymgr_transition_time" where we may wait
too long before zone signatrues become omnipresent or hidden. Not
only can we skip waiting the sign delay Dsgn if there is no
predecessor, we can also skip it if there is no successor.

Finally, this commit moves setting the lifetime, reducing two calls
to one.