Commit Graph

31815 Commits

Author SHA1 Message Date
Michal Nowak
f079cb2471 Add CHANGES for #1724 2020-06-04 13:19:23 +02:00
Michal Nowak
4419606c9d 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
2020-06-04 13:19:23 +02:00
Michal Nowak
3eabeab0f8 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
2020-06-04 10:58:55 +00:00
Michal Nowak
eddece7841 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'.
2020-06-04 12:56:57 +02:00
Ondřej Surý
1a9141fa3a Merge branch 'nsupdate-late-responses' into 'master'
Delay kserver cleanup until all tasks finish

See merge request isc-projects/bind9!3316
2020-06-04 09:31:25 +00:00
Ondřej Surý
72e78f0a4b Add CHANGES entry for !3316 2020-06-04 09:28:22 +00:00
Petr Mensik
2685e69be8 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.
2020-06-04 09:28:22 +00:00
Ondřej Surý
970db5691d 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
2020-06-04 09:21:23 +00:00
Ondřej Surý
8eb2323ec3 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.
2020-06-04 11:09:27 +02:00
Ondřej Surý
a027b6f939 Merge branch '1914-remove-libdns-documentation' into 'master'
Remove libdns section in ARM

Closes #1914

See merge request isc-projects/bind9!3646
2020-06-04 08:55:12 +00:00
Ondřej Surý
3637c466c9 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.
2020-06-04 09:19:19 +02:00
Ondřej Surý
b0d86b1c48 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
2020-06-04 06:44:23 +00:00
Suzanne Goldlust
8ca7f22671 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.
2020-06-04 07:57:21 +02:00
Ondřej Surý
0dd5f385d6 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
2020-06-03 21:25:48 +00:00
Witold Kręcicki
801f7af6e9 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.
2020-06-03 20:08:54 +00:00
Michał Kępień
fa62b26a86 Merge branch 'michal/misc-danger-tweaks' into 'master'
Miscellaneous Danger tweaks

Closes isc-private/bind9#27

See merge request isc-projects/bind9!3621
2020-06-03 13:50:41 +00:00
Michał Kępień
2c90438583 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.
2020-06-03 15:45:28 +02:00
Michał Kępień
e062812c38 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.
2020-06-03 15:45:28 +02:00
Michał Kępień
d558c4cb78 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.
2020-06-03 15:45:28 +02:00
Michał Kępień
c13944ca46 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.
2020-06-03 15:45:28 +02:00
Ondřej Surý
bbe1cdddd2 Merge branch '1849-placeholder' into 'master'
Add placeholder CHANGES entry for #1849

Closes #1849

See merge request isc-projects/bind9!3638
2020-06-03 13:34:15 +00:00
Ondřej Surý
446d6f275c Add placeholder CHANGES entry for #1849 2020-06-03 15:29:13 +02:00
Ondřej Surý
93e892b077 Merge branch 'wpk/fix-socket-test-teardown' into 'master'
tests: fix isc/socket_test.c teardown

See merge request isc-projects/bind9!3537
2020-06-03 12:11:39 +00:00
Witold Kręcicki
4a8d9250cf 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.
2020-06-03 13:16:28 +02:00
Ondřej Surý
024337c6a4 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
2020-06-03 10:46:44 +00:00
Ondřej Surý
80a2ef8987 Add CHANGES for #1911 2020-06-03 12:44:44 +02:00
Ondřej Surý
4ec357da0a 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.
2020-06-03 12:44:44 +02:00
Ondřej Surý
0468454c0a 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
2020-06-03 10:20:17 +00:00
Suzanne Goldlust
f6164e080f Content, clarity, and grammar edits to history.rst 2020-06-03 10:17:51 +00:00
Ondřej Surý
7aa8c6e09b 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
2020-06-03 10:15:28 +00:00
Suzanne Goldlust
c6a064a6e9 Content, clarity, and grammar edits to troubleshooting.rst 2020-06-03 10:13:59 +00:00
Ondřej Surý
9ad03a0fa3 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
2020-06-03 10:13:45 +00:00
Suzanne Goldlust
7c2136766b Content, grammar, and clarity updates to security.rst 2020-06-03 10:12:42 +00:00
Ondřej Surý
50ed136a04 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
2020-06-03 09:26:08 +00:00
Ondřej Surý
3be37fd9ef Add GL issue number to release note 2020-06-03 11:25:13 +02:00
Ondřej Surý
aa71df65e9 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
2020-06-03 08:18:37 +00:00
Ondřej Surý
e81728289c Add CHANGES for #1877 2020-06-03 09:48:54 +02:00
Ondřej Surý
fc4f3b92ab Add release notes for #1877 2020-06-03 09:48:54 +02:00
Ondřej Surý
13fd3ecfab 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).
2020-06-03 09:48:54 +02:00
Matthijs Mekking
b1dc79b5d7 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
2020-06-02 09:31:54 +00:00
Matthijs Mekking
e71d60299f 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.
2020-06-02 10:01:28 +02:00
Matthijs Mekking
c08d0f7dd6 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.
2020-06-02 10:00:53 +02:00
Matthijs Mekking
bcf8192438 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.
2020-06-02 10:00:53 +02:00
Matthijs Mekking
0d578097ef 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.
2020-06-02 10:00:51 +02:00
Matthijs Mekking
ab036232f0 Merge branch '1843-print-correct-keytiming-metadata' into 'master'
Resolve "kasp: Set correct keytimings"

Closes #1843

See merge request isc-projects/bind9!3534
2020-06-02 07:56:38 +00:00
Matthijs Mekking
5b3decaf48 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.
2020-06-02 09:14:27 +02:00
Matthijs Mekking
bcf3c9fecf Add change entry 2020-06-02 09:14:25 +02:00
Matthijs Mekking
61c1040ae5 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.
2020-06-02 09:14:24 +02:00
Matthijs Mekking
da5e1e3a0f Test keytimes on policy changes
This improves keytime testing on reconfiguration of the
dnssec-policy.
2020-06-02 09:14:22 +02:00
Matthijs Mekking
e233433772 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.
2020-06-02 09:14:18 +02:00