Commit Graph
28021 Commits
Author SHA1 Message Date
Mark AndrewsandOndřej Surý cf78ae96e5 always obtain write lock when updating version->{records,bytes}
(cherry picked from commit 0cda448248)
2019-11-20 01:01:51 +08:00
Michał Kępień fc91e783b1 Merge branch '1308-fix-tcp-system-test-v9_11' into 'v9_11'
[v9_11] Fix "tcp" system test

See merge request isc-projects/bind9!2592
2019-11-19 15:19:19 +00:00
Michał Kępień 87f7838a99 Address ShellCheck warnings
Address all outstanding warnings that ShellCheck reports for
bin/tests/system/tcp/tests.sh.

(cherry picked from commit 23ca0ec55b)
2019-11-19 15:46:55 +01:00
Michał Kępień a390e261ad Use "set -e" in the "tcp" system test
Ensure any unexpected failure in the "tcp" system test causes it to be
immediately interrupted with an error to make the aforementioned test
more reliable.  Since the exit code for "expr 0 + 0" is 1, the status
variable needs to be updated using arithmetic expansion.

(cherry picked from commit 9841635b7f)
2019-11-19 15:46:35 +01:00
Michał Kępień 06705a0ee5 Ensure all "tcp" system test errors are caught
Ensure any "rndc stats" failure causes the "tcp" system test to fail.
Do not hide "rndc stats" output.

(cherry picked from commit 46df363a0d)
2019-11-19 15:46:34 +01:00
Michał Kępień bc498bd6c9 Make all "tcp" system test checks numbered
Ensure all checks in the "tcp" system test are numbered, so that
forensic data is preserved in case of any failure.

(cherry picked from commit 2f4877d11c)
2019-11-19 15:46:04 +01:00
Michał Kępień 01a413cecc Fix argument order in assert_int_equal()
assert_int_equal() calls in bin/tests/system/tcp/tests.sh pass the found
value as the first argument and the expected value as the second
argument, while the function interprets its arguments the other way
round.  Fix argument handling in assert_int_equal() to make sure the
error messages printed by that function are correct.

(cherry picked from commit 6bd1f68bef)
2019-11-19 15:45:07 +01:00
Michał Kępień 3e9781087a Allow retries when checking TCP high-water stats
In the TCP high-water checks, "rndc stats" is run after ans6 reports
that it opened the requested number of TCP connections.  However, we
fail to account for the fact that ns5 might not yet have called accept()
for these connections, in which case the counts output by "rndc stats"
will be off.  To prevent intermittent "tcp" system test failures, allow
the relevant connection count checks to be retried (just once, after one
second, as that should be enough for any system to accept() a dozen TCP
connections under any circumstances).

(cherry picked from commit 1e22e052d0)
2019-11-19 15:43:16 +01:00
Mark Andrews 434615407e Merge branch '1299-parse-commandline-code-should-be-done-in-alphabetical-order-v9_11' into 'v9_11'
alphabetize command line switch

See merge request isc-projects/bind9!2590
2019-11-19 10:11:06 +00:00
Mark Andrews 8cff0b74ac alphabetize command line switch
(cherry picked from commit ca83a66618)
2019-11-19 20:54:49 +11:00
Ondřej Surý 1e24b9296c Merge branch 'ondrej/dont-call-dns_adb_endupdfetch-for-TCP-queries-v9_11' into 'v9_11'
lib/dns/resolver.c: Call dns_adb_endudpfetch() only for UDP queries

See merge request isc-projects/bind9!2586
2019-11-18 20:16:13 +00:00
Ondřej SurýandOndřej Surý ab4e6c2fe7 lib/dns/resolver.c: Call dns_adb_endudpfetch() only for UDP queries
The dns_adb_beginudpfetch() is called only for UDP queries, but
the dns_adb_endudpfetch() is called for all queries, including
TCP.  This messages the quota counting in adb.c.

(cherry picked from commit a5189eefa5)
2019-11-19 03:48:47 +08:00
Ondřej Surý 666c4a28e5 Merge branch 'ondrej/switch-coccinelle-job-to-buster-v9_11' into 'v9_11'
Installing coccinelle on Debian sid is broken, switch to Debian buster

See merge request isc-projects/bind9!2584
2019-11-18 18:05:11 +00:00
Ondřej Surý 38cf022442 Installing coccinelle on Debian sid is broken, switch to Debian buster
(cherry picked from commit 0946db13de)
2019-11-19 02:02:48 +08:00
Michał Kępień 163be9bcf9 Merge branch 'fix-url-in-readme-v9_11' into 'v9_11'
[v9_11] updated a broken link for newer release notes.

See merge request isc-projects/bind9!2570
2019-11-13 12:02:29 +00:00
Vicky RiskandMichał Kępień 6c4fb259c4 Update broken release notes link
(cherry picked from commit c830a9116d)
2019-11-13 13:00:18 +01:00
Ondřej Surý b734276748 Merge branch 'hurd-v9_11' into 'v9_11'
hurd: Fix build

See merge request isc-projects/bind9!2564
2019-11-12 09:08:28 +00:00
Ondřej Surý d2c86b2159 Internally, use {PATH,NAME}_MAX instead of ISC_DIR_{PATH,NAME}MAX 2019-11-12 09:31:40 +01:00
Samuel ThibaultandOndřej Surý 88061c2acb hurd: Fix build
Move PATH_MAX, NAME_MAX, IOV_MAX default definitions to the common
<isc/platform.h>.

(cherry picked from commit d10fbdec84)
2019-11-12 09:22:15 +01:00
Michał Kępień 3b92b68d22 Merge branch '1298-do-not-use-sys-sysctl.h-on-linux-v9_11' into 'v9_11'
[v9_11] Do not use <sys/sysctl.h> on Linux

See merge request isc-projects/bind9!2546
2019-11-06 20:25:14 +00:00
Michał Kępień 4876a88fc0 Do not use <sys/sysctl.h> on Linux
glibc 2.30 deprecated the <sys/sysctl.h> header [1].  However, that
header is still used on other Unix-like systems, so only prevent it from
being used on Linux, in order to prevent compiler warnings from being
triggered.

[1] https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html

(cherry picked from commit 65a8b53bd0)
2019-11-06 21:11:20 +01:00
Michał Kępień 55786b9755 Merge branch '1206-add-assert_int_equal-shell-function-v9_11' into 'v9_11'
[v9_11] Add assert_int_equal() shell function

See merge request isc-projects/bind9!2545
2019-11-06 20:10:33 +00:00
Michał Kępień 69697ee680 Add assert_int_equal() shell function
Add a shell function which is used in the "tcp" system test, but has
been accidentally omitted from !2425.  Make sure the function does not
change the value of "ret" itself, so that the caller can decide what to
do with the function's return value.

(cherry picked from commit 8bb7f1f2a1)
2019-11-06 21:07:02 +01:00
Michał Kępień 58df62baaf Merge branch '1206-fix-tcp-high-water-release-note-v9_11' into 'v9_11'
[v9_11] Fix TCP high-water release note

See merge request isc-projects/bind9!2544
2019-11-06 20:05:09 +00:00
Michał Kępień 689e648059 Fix TCP high-water release note
Add missing GitLab issue number to the TCP high-water release note.

(cherry picked from commit d0a3273d4d)
2019-11-06 21:00:28 +01:00
Michał Kępień df8d60a7d5 Merge branch '664-fetches-per-server-quota-docs-v9_11' into 'v9_11'
[v9_11] Describe the polynomial backoff curve used in the quota adjustment

See merge request isc-projects/bind9!2543
2019-11-06 19:52:52 +00:00
Ondřej SurýandMichał Kępień b154ef1f86 Describe the polynomial backoff curve used in the quota adjustment
(cherry picked from commit 56ef09c3a1)
2019-11-06 20:50:46 +01:00
Matthijs Mekking edd73f91b2 Merge branch '1256-jitter-dynamically-updated-signatures-v9_11' into 'v9_11'
Resolve "Signature Expiration Jitter not working for dynamic NSEC3 zones"

See merge request isc-projects/bind9!2536
2019-11-06 15:52:21 +00:00
Matthijs Mekking 26252892b3 Update copyrights 2019-11-06 16:30:50 +01:00
Ondřej SurýandMatthijs Mekking 653da9d5e7 Add CHANGES 2019-11-06 16:30:50 +01:00
Matthijs Mekking 32b5cae3ee Test jitter distribution
Test jitter distribution in NSEC3 dynamic zone and for a zone that has old
signatures.  In both cases the generated signatures should be spread nicely.

(cherry picked from commit 540b90fd6c)
2019-11-06 16:30:50 +01:00
Witold KręcickiandMatthijs Mekking bc96d7b3bb Jitter signatures times when adding dynamic records.
When doing regular signing expiry time is jittered to make sure
that the re-signing times are not clumped together. This expands
this behaviour to expiry times of dynamically added records.

When incrementally re-signing a zone use the full jitter range if
the server appears to have been offline for greater than 5 minutes
otherwise use a small jitter range of 3600 seconds.  This will stop
the signatures becoming more clustered if the server has been off
line for a significant period of time (> 5 minutes).

Manually edits: resolve conflicts, replace isc_random_uniform
with isc_random_jitter.

(cherry picked from commit 6b2fd40269)
2019-11-06 16:30:50 +01:00
Ondřej Surý 0b340031fe Merge branch '1206-tcp-high-water-stats-release-notes-fix-v9_11' into 'v9_11'
Fix the xml:id in the 9.11.13 release notes

See merge request isc-projects/bind9!2538
2019-11-06 14:55:55 +00:00
Ondřej Surý 5713de6182 Fix xml:id for 9.11.13 release notes 2019-11-06 15:51:51 +01:00
Ondřej Surý 361371a2c0 Merge branch '1206-tcp-high-water-stats-v9_11' into 'v9_11'
Resolve "Customer Feature Request:  Add "high-water" measurement for tcp-clients"

See merge request isc-projects/bind9!2506
2019-11-06 12:20:16 +00:00
Diego FronzaandOndřej Surý a1f081bb4b Added TCP high-water entry to CHANGES
(cherry picked from commit ba3fe75e65)
2019-11-06 12:54:40 +01:00
Diego FronzaandOndřej Surý 41f684819c Added TCP high-water entry to release notes
(cherry picked from commit dd492b64d9)
2019-11-06 12:54:40 +01:00
Ondřej Surý 55b0da1381 Backport isc_quota_getused() function 2019-11-06 12:54:40 +01:00
Ondřej Surý e8bf3c60f2 Avoid an extra atomic_load() call 2019-11-06 12:54:40 +01:00
Diego FronzaandOndřej Surý 270af739a7 Added TCP high-water system tests
Note: ans6/ans6.py is a helper script that allows tests.sh to open/close
TCP connections to some BIND instance.

(cherry picked from commit 29be224a04)
2019-11-06 12:54:40 +01:00
Diego FronzaandOndřej Surý 4ad2ab54cd Added TCP high-water statistics variable
This variable will report the maximum number of simultaneous tcp clients
that BIND has served while running.

It can be verified by running rndc status, then inspect "tcp high-water:
count", or by generating statistics file, rndc stats, then inspect the
line with "TCP connection high-water" text.

The tcp-highwater variable is atomically updated based on an existing
tcp-quota system handled in ns/client.c.

(cherry picked from commit 66fe8627de)
2019-11-06 12:54:40 +01:00
Diego FronzaandOndřej Surý 5a9c5166ce Add functions for collecting high-water counters
Add {isc,ns}_stats_{update_if_greater,get_counter}() functions that
are used to set and collect high-water type of statistics.

(cherry picked from commit a544e2e300)
2019-11-06 12:35:33 +01:00
Diego FronzaandOndřej Surý e4ebeff0e4 Change the isc_statscounter_t type from int to C99 int_fast64_t type
For TCP high-water work, we need to keep the used integer types widths
in sync.

Note: int_fast32_t is used on WIN32 platform
(cherry picked from commit 0fc98ef2d5)
2019-11-06 12:35:33 +01:00
Michał Kępień 2468817029 Merge branch 'michal/split-release-notes-into-per-version-sections-v9_11' into 'v9_11'
[v9_11] Split release notes into per-version sections

See merge request isc-projects/bind9!2534
2019-11-06 11:33:52 +00:00
Michał Kępień 169a142cfe Rebuild output files 2019-11-06 11:24:11 +01:00
Michał Kępień f0f34839a4 Update URLs used in release notes
Some URLs used in release notes became outdated.  Make sure they point
to currently available resources.
2019-11-06 11:23:45 +01:00
Michał Kępień c9530390dd Split release notes into per-version sections
Intertwining release notes from different BIND releases in a single XML
file has caused confusion in the past due to different (and often
arbitrary) approaches to keeping/removing release notes from older
releases on different BIND branches.  Divide doc/arm/notes.xml into
per-version sections to simplify determining the set of changes
introduced by a given release and to make adding/reviewing release notes
less error-prone.
2019-11-06 11:23:42 +01:00
Ondřej Surý 49547db798 Merge branch '1285-documentation-update-to-sortlist-feature-bugs-42615-v9_11' into 'v9_11'
arm: Add a sentence about overlaping selectors in sortlist statement

See merge request isc-projects/bind9!2533
2019-11-06 10:09:57 +00:00
Ondřej Surý 08249a7f57 arm: Add a sentence about overlaping selectors in sortlist statement
(cherry picked from commit ebc61946b2)
2019-11-06 11:08:59 +01:00
Mark Andrews 41cb1461aa Merge branch '1301-geoip2-default-data-path-v9_11' into 'v9_11'
Resolve "geoip2 default data path"

See merge request isc-projects/bind9!2527
2019-11-06 01:30:42 +00:00