]>
git.ipfire.org Git - thirdparty/bind9.git/log
Mark Andrews [Thu, 20 Aug 2020 04:58:08 +0000 (14:58 +1000)]
set working directory
Mark Andrews [Thu, 20 Aug 2020 04:36:00 +0000 (14:36 +1000)]
look for more tsan.* files
Ondřej Surý [Tue, 18 Aug 2020 10:31:07 +0000 (10:31 +0000)]
Merge branch 'marka-fuzz-consolidated-v9_16-v9_11' into 'v9_11'
Consolidated fuzz fixes (v9.11)
See merge request isc-projects/bind9!3979
Mark Andrews [Sat, 15 Aug 2020 00:12:50 +0000 (10:12 +1000)]
A6: return FORMERR in fromwire if bits are non zero.
oss_fuzz: Issue 24864: bind9:dns_rdata_fromwire_text_fuzzer: Overwrites-const-input in dns_rdata_fromwire_text_fuzzer
(cherry picked from commit
8452404bd7facb89790c32bab508f55bf8d37cea )
(cherry picked from commit
d8a57d32b19942eea923eecfa1bdd863b3286835 )
Mark Andrews [Mon, 17 Aug 2020 01:21:41 +0000 (11:21 +1000)]
RRSIG: reject records with empty SIG section
(cherry picked from commit
f6d7b8c20d7ad0ce5ea74c6ee6f76c68e1f7208b )
(cherry picked from commit
6b1675a62c5a565b936b02f8379bb28f3193b4e0 )
Michal Nowak [Tue, 18 Aug 2020 09:28:52 +0000 (09:28 +0000)]
Merge branch 'mnowak/add-missing-only-schedules-v9_11' into 'v9_11'
[v9_11] Add missing 'only:schedules' to tarball-create job
See merge request isc-projects/bind9!3977
Michal Nowak [Tue, 18 Aug 2020 09:15:46 +0000 (11:15 +0200)]
Add missing 'only:schedules' to tarball-create job
Missing 'only:schedules' prevents schedule jobs to run.
Regressed in
2b5007ef1af739a73d4e6c470bb6741105136647 .
Michal Nowak [Mon, 17 Aug 2020 15:30:34 +0000 (15:30 +0000)]
Merge branch 'mnowak/gcovr-v9_11' into 'v9_11'
[v9_11] Report coverage with gcovr
See merge request isc-projects/bind9!3974
Michal Nowak [Tue, 4 Aug 2020 18:09:09 +0000 (20:09 +0200)]
Report coverage with gcovr
Michal Nowak [Mon, 17 Aug 2020 13:17:37 +0000 (13:17 +0000)]
Merge branch 'mnowak/broaden-abi-check-scope-v9_11' into 'v9_11'
[v9_11] Broaden scope of abi-check
See merge request isc-projects/bind9!3972
Michal Nowak [Thu, 6 Aug 2020 12:23:38 +0000 (14:23 +0200)]
Broaden scope of abi-check
For abi-check we should use as broad 'configure' options as possible.
(cherry picked from commit
8e43f5e86064343ce0c55d009204a0ef58731216 )
Mark Andrews [Thu, 13 Aug 2020 15:11:46 +0000 (15:11 +0000)]
Merge branch 'marka-fuzz-fixes-v9_11' into 'v9_11'
Marka fuzz fixes v9 11
See merge request isc-projects/bind9!3958
Mark Andrews [Thu, 13 Aug 2020 05:16:55 +0000 (15:16 +1000)]
Add CHANGES note
(cherry picked from commit
80d69ba04cbddcf763fdddadfa29edda179c4b97 )
Mark Andrews [Thu, 13 Aug 2020 04:13:49 +0000 (14:13 +1000)]
X25: Check that record is all ASCII digits
(cherry picked from commit
7e4968974681e63ac84d6309f66a30aa05d7618f )
Mark Andrews [Thu, 13 Aug 2020 03:33:32 +0000 (13:33 +1000)]
WKS: reject records with zero octets at the end of the bitmap
(cherry picked from commit
9d446142d89af49cdda65eb98054ae4cae69a0f8 )
Mark Andrews [Thu, 13 Aug 2020 02:30:04 +0000 (12:30 +1000)]
TLSA: fix fromwire length checks
(cherry picked from commit
3429c35f52be9dfea69b96fda7d5b7fe804614a5 )
Mark Andrews [Thu, 13 Aug 2020 00:51:40 +0000 (10:51 +1000)]
SIG: reject records with a zero length signature
(cherry picked from commit
9b93e5d68485469b704052c2997764891df7bff7 )
Mark Andrews [Thu, 13 Aug 2020 02:08:50 +0000 (12:08 +1000)]
NXT: fix fromwire bitmap checks
(cherry picked from commit
73dd8496558beea6f6097788e4c7c8ccb45d8c1a )
Mark Andrews [Thu, 13 Aug 2020 03:21:46 +0000 (13:21 +1000)]
NSEC3PARAM: check that saltlen is consistent with the rdata length
(cherry picked from commit
7dc8e720ff1360837fc8c0649445bcaa2b1236d4 )
Mark Andrews [Thu, 13 Aug 2020 02:46:55 +0000 (12:46 +1000)]
NSEC3: reject records with a zero length hash field
(cherry picked from commit
031ee9e2791bfe02a289b41bf5f35b3ee0534a27 )
Mark Andrews [Thu, 13 Aug 2020 03:08:17 +0000 (13:08 +1000)]
IPSECKEY: require non-zero length public keys
(cherry picked from commit
d7f701480341f33cfbad3bfff9ee3876859e0ce2 )
Mark Andrews [Thu, 13 Aug 2020 03:38:49 +0000 (13:38 +1000)]
CERT: reject records with a empty certificate field
(cherry picked from commit
a238f37239fa327a01414400fcccd203d42c0b43 )
Mark Andrews [Thu, 13 Aug 2020 03:59:32 +0000 (13:59 +1000)]
Get rid of type 'RESERVED0'.
(cherry picked from commit
3c492b3ef1438bf39a78c1925c946187823b519c )
Mark Andrews [Thu, 13 Aug 2020 00:22:49 +0000 (10:22 +1000)]
base32_decode*() could incorrectly decode a input.
base32_decode_char() added a extra zero octet to the output
if the fifth character was a pad character. The length
of octets to copy to the output was set to 3 instead of 2.
(cherry picked from commit
6c7e50c2678f8ecf877f5e580fa75fab59f63373 )
Michal Nowak [Wed, 12 Aug 2020 10:54:57 +0000 (10:54 +0000)]
Merge branch 'mnowak/fix-core-dumps-were-found-line-v9_11' into 'v9_11'
[v9_11] Make sure .txt files are not identified as crashed test
See merge request isc-projects/bind9!3948
Michal Nowak [Mon, 3 Aug 2020 06:36:05 +0000 (08:36 +0200)]
Make sure .txt files are not identified as crashed test
Previously .txt files with full backtrace may be identified as a
crashed test:
I:Core dumps were found for the following system tests:
I: core.19948-backtrace.txt
I: shutdown
Now .txt files are removed from the list.
Change 'run.sh.in' to match the core matching pattern in
'testsummary.sh'.
(cherry picked from commit
c2dcd9596697e768626d9cbc417467e399ceae3e )
(cherry picked from commit
01119ac4f97b492ed2a87fdedabd739a33513d5c )
Mark Andrews [Wed, 12 Aug 2020 00:27:41 +0000 (00:27 +0000)]
Merge branch '2045-readline-rltypedefs-h-35-22-error-this-function-declaration-is-not-a-prototype-on-netbsd-9-v9_11' into 'v9_11'
Resolve "readline/rltypedefs.h:35:22: error: this function declaration is not a prototype on NetBSD 9"
See merge request isc-projects/bind9!3946
Mark Andrews [Tue, 11 Aug 2020 12:02:10 +0000 (22:02 +1000)]
Ensure rl_message() gets prototype.
(cherry picked from commit
fd126553d450320eab1094508f6f2d7c76d737f5 )
Mark Andrews [Thu, 6 Aug 2020 07:52:48 +0000 (17:52 +1000)]
Stop deprecated functions being defined
(cherry picked from commit
1532a34658128c944defafbd5a76380bcbe7acb1 )
Michal Nowak [Tue, 11 Aug 2020 15:06:56 +0000 (15:06 +0000)]
Merge branch 'mnowak/run-tarball-tests-in-schedule-v9_11' into 'v9_11'
[v9_11] Run unit and system tarball tests on schedules
See merge request isc-projects/bind9!3944
Michal Nowak [Thu, 6 Aug 2020 13:02:25 +0000 (15:02 +0200)]
Run unit and system tarball tests on schedules
To prevent problems with unit and system tarball tests being revealed
during release process, run these tests on schedules.
(cherry picked from commit
439fe9bc3cdb3e2da14c602e5caaed4e60e86855 )
Mark Andrews [Tue, 11 Aug 2020 05:29:20 +0000 (05:29 +0000)]
Merge branch '2067-nta-related-crash-in-checkbogus-after-an-rndc-reload-v9_11' into 'v9_11'
Address use after free between view, resolver and nta.
See merge request isc-projects/bind9!3941
Mark Andrews [Fri, 7 Aug 2020 08:00:41 +0000 (18:00 +1000)]
Address use after free between view, resolver and nta.
Hold a weak reference to the view so that it can't go away while
nta is performing its lookups. Cancel nta timers once all external
references to the view have gone to prevent them triggering new work.
(cherry picked from commit
0b2555e8cfc187cb481080c06229a4eac416355d )
Mark Andrews [Tue, 11 Aug 2020 01:46:46 +0000 (01:46 +0000)]
Merge branch '2046-check-isc_mutex_init' into 'v9_11'
Resolve "lib/isc/nothreads/include/isc/mutex.h:20:12: error: right-hand operand of comma expression has no effect"
See merge request isc-projects/bind9!3925
Mark Andrews [Thu, 6 Aug 2020 05:41:31 +0000 (15:41 +1000)]
Don't use isc_thread_key_* when threads are disabled.
Mark Andrews [Thu, 6 Aug 2020 04:12:23 +0000 (14:12 +1000)]
Check isc_mutex_init() return values
Mark Andrews [Sat, 8 Aug 2020 08:01:02 +0000 (08:01 +0000)]
Merge branch '2068-spnego-c-1430-2-error-len-may-be-used-uninitialized-in-this-function-on-arm-v9_11' into 'v9_11'
Silence 'may be used uninitialized'
See merge request isc-projects/bind9!3933
Mark Andrews [Thu, 6 Aug 2020 13:50:42 +0000 (23:50 +1000)]
Silence 'may be used uninitialized'
(cherry picked from commit
8a4dd25562b5a2222b7f2c42dec570262a28bef9 )
Michał Kępień [Wed, 5 Aug 2020 10:12:06 +0000 (10:12 +0000)]
Merge branch 'michal/remove-arm64-jobs-from-gitlab-ci-v9_11' into 'v9_11'
[v9_11] Remove arm64 jobs from GitLab CI
See merge request isc-projects/bind9!3923
Michał Kępień [Wed, 5 Aug 2020 10:04:59 +0000 (12:04 +0200)]
Remove arm64 jobs from GitLab CI
The only arm64 runner we have at our disposal is suffering from
intermittent connectivity issues which make it unusable for extended
periods of time. Remove arm64 jobs from GitLab CI until we manage to
set up an arm64 runner with more reliable connectivity.
(cherry picked from commit
49f245f7c00faf1d85bc4eab81904cf742ad2cc3 )
Michał Kępień [Tue, 4 Aug 2020 19:56:12 +0000 (19:56 +0000)]
Merge branch '2030-bind-arm-incorrectly-documents-the-processing-of-forwarders-still-has-the-pre-9-3-0-explanation-v9_11' into 'v9_11'
[v9_11] Update description of forwarding behavior in ARM
See merge request isc-projects/bind9!3918
Suzanne Goldlust [Thu, 23 Jul 2020 13:05:43 +0000 (13:05 +0000)]
Update description of forwarding behavior in ARM
(cherry picked from commit
30e126ad02c703e51e6df58ec1e84bdb72884426 )
Mark Andrews [Tue, 4 Aug 2020 13:32:06 +0000 (13:32 +0000)]
Merge branch 'marka-DNS_R_BADTSIG-map-to-FORMERR-v9_11' into 'v9_11'
Marka dns r badtsig map to formerr v9 11
See merge request isc-projects/bind9!3915
Mark Andrews [Fri, 31 Jul 2020 10:36:14 +0000 (20:36 +1000)]
Check rcode is FORMERR
(cherry picked from commit
88ff6b846c652ea903913d58787fb4fe4c82ab91 )
Mark Andrews [Wed, 22 Jul 2020 23:47:49 +0000 (09:47 +1000)]
Map DNS_R_BADTSIG to FORMERR
Now that the log message has been printed set the result code to
DNS_R_FORMERR. We don't do this via dns_result_torcode() as we
don't want upstream errors to produce FORMERR if that processing
end with DNS_R_BADTSIG.
(cherry picked from commit
20488d6ad36c7b48f043e583ff32eb14ca52f035 )
Michal Nowak [Fri, 31 Jul 2020 07:28:00 +0000 (07:28 +0000)]
Merge branch 'mnowak/various-system-test-fixes-v9_11' into 'v9_11'
[v9_11] Various system test fixes
See merge request isc-projects/bind9!3899
Michal Nowak [Tue, 28 Jul 2020 10:58:51 +0000 (12:58 +0200)]
Fix name of the test directory of stop.pl in masterformat test
Michal Nowak [Tue, 28 Jul 2020 10:45:31 +0000 (12:45 +0200)]
Ensure test fails if packet.pl does not work as expected
Michał Kępień [Fri, 31 Jul 2020 05:58:41 +0000 (05:58 +0000)]
Merge branch 'michal/only-run-system-tests-as-root-in-developer-mode-v9_11' into 'v9_11'
[v9_11] Only run system tests as root in developer mode
See merge request isc-projects/bind9!3902
Michał Kępień [Fri, 31 Jul 2020 05:47:49 +0000 (07:47 +0200)]
Only run system tests as root in developer mode
Running system tests with root privileges is potentially dangerous.
Only allow it when explicitly requested (by building with
--enable-developer).
(cherry picked from commit
3ef106f69df076340914257df4bdd1a1c22a9440 )
Evan Hunt [Mon, 27 Jul 2020 21:26:56 +0000 (21:26 +0000)]
Merge branch '1619-rpz-wildcard-passthru-ignored-v9_11' into 'v9_11'
Resolve "RPZ wildcard passthru ignored"
See merge request isc-projects/bind9!3874
Diego Fronza [Wed, 22 Jul 2020 12:26:39 +0000 (09:26 -0300)]
Update copyrights
Diego Fronza [Tue, 21 Jul 2020 21:02:39 +0000 (18:02 -0300)]
Add CHANGES entry
Diego Fronza [Tue, 21 Jul 2020 21:00:06 +0000 (18:00 -0300)]
Add test for RPZ wildcard passthru ignored fix
Diego Fronza [Tue, 21 Jul 2020 20:59:04 +0000 (17:59 -0300)]
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.
Mark Andrews [Fri, 24 Jul 2020 06:00:41 +0000 (06:00 +0000)]
Merge branch '2043-dns_rdata_hip_next-fails-to-return-isc_r_nomore-at-the-right-time-v9_11' into 'v9_11'
Resolve "dns_rdata_hip_next() fails to return ISC_R_NOMORE at the right time."
See merge request isc-projects/bind9!3886
Mark Andrews [Wed, 22 Jul 2020 07:49:27 +0000 (17:49 +1000)]
Add CHANGES note
(cherry picked from commit
bcd049f116291ee809a6c5cd234874c936d67367 )
Mark Andrews [Wed, 22 Jul 2020 07:02:47 +0000 (17:02 +1000)]
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
78db46d746fd4296a45f0094279c1330b95d8001 )
Mark Andrews [Fri, 24 Jul 2020 04:44:23 +0000 (04:44 +0000)]
Merge branch 'feature/master/unix-cleanup-v9_11' into 'v9_11'
Remove few lines in unix socket handling
See merge request isc-projects/bind9!3883
Petr Menšík [Tue, 12 Mar 2019 12:20:11 +0000 (13:20 +0100)]
Remove few lines in unix socket handling
Reuse the same checks two times, make difference minimal.
(cherry picked from commit
72d81c4768a4731a1dd6a7c50a29286193105980 )
Mark Andrews [Thu, 23 Jul 2020 03:00:20 +0000 (03:00 +0000)]
Merge branch 'dstlib-failure-abort-v9_11' into 'v9_11'
Prevent crash on dst initialization failure
See merge request isc-projects/bind9!3879
Petr Menšík [Wed, 22 Jul 2020 16:55:02 +0000 (18:55 +0200)]
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
c5e7152cf04f75d0fe00163f076f4cc3cafce259 )
Michal Nowak [Mon, 20 Jul 2020 17:10:29 +0000 (17:10 +0000)]
Merge branch 'mnowak/try-harder-to-analyze-cores-v9_11' into 'v9_11'
[v9_11] Rationalize backtrace logging
See merge request isc-projects/bind9!3870
Michal Nowak [Mon, 22 Jun 2020 17:55:40 +0000 (19:55 +0200)]
Check tests for core files regardless of test status
Failed test should be checked for core files et al. and have
backtrace generated.
Michal Nowak [Mon, 20 Jul 2020 08:56:20 +0000 (10:56 +0200)]
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.
Evan Hunt [Thu, 16 Jul 2020 08:02:34 +0000 (08:02 +0000)]
Merge branch 'each-doc-fixes-v9_11' into 'v9_11'
additional text edits to ARM
See merge request isc-projects/bind9!3863
Evan Hunt [Thu, 16 Jul 2020 07:57:17 +0000 (00:57 -0700)]
Various text edits and fixes to the documentation
Michał Kępień [Wed, 15 Jul 2020 21:37:33 +0000 (21:37 +0000)]
Merge branch 'v9_11_21-release' into 'v9_11'
Merge 9.11.21 release branch
See merge request isc-projects/bind9!3862
Michał Kępień [Wed, 15 Jul 2020 21:33:51 +0000 (23:33 +0200)]
Set up release notes for BIND 9.11.22
Michał Kępień [Wed, 15 Jul 2020 21:33:51 +0000 (23:33 +0200)]
Bump BIND_BASELINE_VERSION for ABI checks
Tinderbox User [Fri, 3 Jul 2020 13:08:06 +0000 (13:08 +0000)]
Merge branch 'prep-release' into v9_11_21-release
Tinderbox User [Fri, 3 Jul 2020 13:06:52 +0000 (13:06 +0000)]
prep 9.11.21
Michał Kępień [Fri, 3 Jul 2020 12:38:48 +0000 (14:38 +0200)]
Merge branch 'michal/prepare-release-notes-for-bind-9.11.21' into v9_11_21-release
Michał Kępień [Fri, 3 Jul 2020 12:29:38 +0000 (14:29 +0200)]
Reorder release notes
Michał Kępień [Fri, 3 Jul 2020 12:29:38 +0000 (14:29 +0200)]
Tweak and reword release notes
Michał Kępień [Fri, 3 Jul 2020 12:29:38 +0000 (14:29 +0200)]
Tweak and reword recent CHANGES entries
Michał Kępień [Tue, 14 Jul 2020 08:32:46 +0000 (08:32 +0000)]
Merge branch 'michal/use-image-key-in-qemu-based-ci-job-templates-v9_11' into 'v9_11'
[v9_11] Use "image" key in QEMU-based CI job templates
See merge request isc-projects/bind9!3857
Michał Kępień [Tue, 14 Jul 2020 07:58:04 +0000 (09:58 +0200)]
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
72201badf0c6c57d1a5632a47bfb8f789182a760 )
Mark Andrews [Tue, 14 Jul 2020 01:44:41 +0000 (01:44 +0000)]
Merge branch '1994-netscope-c-23-50-error-unused-parameter-addr-when-have_if_nametoindex-undefined-on-illumos-v9_11' into 'v9_11'
Mark 'addr' as unused if HAVE_IF_NAMETOINDEX is not defined
See merge request isc-projects/bind9!3851
Mark Andrews [Thu, 9 Jul 2020 05:04:31 +0000 (15:04 +1000)]
Mark 'addr' as unused if HAVE_IF_NAMETOINDEX is not defined
Also 'zone' should be initialised to zero.
(cherry picked from commit
e7662c4c6347648e95606338ce98f360e5afb5a7 )
Evan Hunt [Mon, 13 Jul 2020 20:18:49 +0000 (20:18 +0000)]
Merge branch 'each-lmdb-lock-fix-v9_11' into 'v9_11'
ensure new_zone_lock is released after count_newzones()
See merge request isc-projects/bind9!3846
Evan Hunt [Sun, 12 Jul 2020 04:30:53 +0000 (21:30 -0700)]
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
ed37c63e2bbc4afe299dbe38ae98871dcc1d3470 )
Mark Andrews [Mon, 13 Jul 2020 06:49:33 +0000 (06:49 +0000)]
Merge branch '1235-system-tests-fail-with-new-etc-bind-keys-installed-v9_11' into 'v9_11'
Fallback to built in trust-anchors, managed-keys, or trusted-keys
See merge request isc-projects/bind9!3844
Mark Andrews [Thu, 9 Jul 2020 03:35:37 +0000 (13:35 +1000)]
Fallback to built in trust-anchors, managed-keys, or trusted-keys
if the bind.keys file cannot be parsed.
(cherry picked from commit
d02a14c79580de1888e96f32617d8123be1be060 )
Mark Andrews [Mon, 13 Jul 2020 03:59:52 +0000 (03:59 +0000)]
Merge branch '2012-add-assertion-check-to-silence-dereference-before-null-check-in-tsig_test-c-v9_11-v9_11' into 'v9_11'
Assert tsigout is non-NULL
See merge request isc-projects/bind9!3840
Mark Andrews [Tue, 7 Jul 2020 09:12:35 +0000 (19:12 +1000)]
Assert tsigout is non-NULL
(cherry picked from commit
827746e89b4b1b72d6d3dccb849f98d6918c03a2 )
Mark Andrews [Mon, 13 Jul 2020 02:44:42 +0000 (02:44 +0000)]
Merge branch '2013-unchecked-returns-of-inet_pton-in-geoip_test-c-v9_11' into 'v9_11'
check returns from inet_pton()
See merge request isc-projects/bind9!3838
Mark Andrews [Tue, 7 Jul 2020 09:52:23 +0000 (19:52 +1000)]
check returns from inet_pton()
(cherry picked from commit
9499adeb5e388c70eab47db587196d38a29f137e )
Mark Andrews [Mon, 13 Jul 2020 01:08:19 +0000 (01:08 +0000)]
Merge branch '2010-potential-null-pointer-dereference-9-11-in-dnstap-c' into 'v9_11'
Resolve "Potential NULL pointer dereference (9.11) in dnstap.c"
See merge request isc-projects/bind9!3813
Mark Andrews [Tue, 7 Jul 2020 08:52:16 +0000 (18:52 +1000)]
Add CHANGES note
Mark Andrews [Tue, 7 Jul 2020 08:46:44 +0000 (18:46 +1000)]
Check that handle is non-NULL before dereferencing it
Michał Kępień [Fri, 10 Jul 2020 10:17:36 +0000 (10:17 +0000)]
Merge branch '1976-fix-locking-for-lmdb-0.9.26-v9_11' into 'v9_11'
[v9_11] Fix locking for LMDB 0.9.26
See merge request isc-projects/bind9!3832
Michał Kępień [Fri, 10 Jul 2020 09:29:18 +0000 (11:29 +0200)]
Add CHANGES for GL #1976
(cherry picked from commit
7fffa5abbabd0396d641ad1e76be180331433927 )
Michał Kępień [Fri, 10 Jul 2020 09:29:18 +0000 (11:29 +0200)]
Fix locking for LMDB 0.9.26
When "rndc reconfig" is run, named first configures a fresh set of views
and then tears down the old views. Consider what happens for a single
view with LMDB enabled; "envA" is the pointer to the LMDB environment
used by the original/old version of the view, "envB" is the pointer to
the same LMDB environment used by the new version of that view:
1. mdb_env_open(envA) is called when the view is first created.
2. "rndc reconfig" is called.
3. mdb_env_open(envB) is called for the new instance of the view.
4. mdb_env_close(envA) is called for the old instance of the view.
This seems to have worked so far. However, an upstream change [1] in
LMDB which will be part of its 0.9.26 release prevents the above
sequence of calls from working as intended because the locktable mutexes
will now get destroyed by the mdb_env_close() call in step 4 above,
causing any subsequent mdb_txn_begin() calls to fail (because all of the
above steps are happening within a single named process).
Preventing the above scenario from happening would require either
redesigning the way we use LMDB in BIND, which is not something we can
easily backport, or redesigning the way BIND carries out its
reconfiguration process, which would be an even more severe change.
To work around the problem, set MDB_NOLOCK when calling mdb_env_open()
to stop LMDB from controlling concurrent access to the database and do
the necessary locking in named instead. Reuse the view->new_zone_lock
mutex for this purpose to prevent the need for modifying struct dns_view
(which would necessitate library API version bumps). Drop use of
MDB_NOTLS as it is made redundant by MDB_NOLOCK: MDB_NOTLS only affects
where LMDB reader locktable slots are stored while MDB_NOLOCK prevents
the reader locktable from being used altogether.
[1] https://git.openldap.org/openldap/openldap/-/commit/
2fd44e325195ae81664eb5dc36e7d265927c5ebc
(cherry picked from commit
53120279b57e25b6462ef3ac4ef9c205a4e9192b )
Mark Andrews [Wed, 8 Jul 2020 04:27:38 +0000 (04:27 +0000)]
Merge branch '2011-off-by-one-error-in-dns_rdatatype_attributes-v9_11' into 'v9_11'
Adjust range limit of unknown meta types
See merge request isc-projects/bind9!3824
Mark Andrews [Wed, 8 Jul 2020 01:11:37 +0000 (11:11 +1000)]
Adjust range limit of unknown meta types
(cherry picked from commit
092a159dcd3f639785356c18c1d06d76a4820519 )
Mark Andrews [Wed, 8 Jul 2020 01:08:07 +0000 (01:08 +0000)]
Merge branch '2009-update-isc-logo-in-documentation-v9_11' into 'v9_11'
Resolve "Update ISC logo in documentation"
See merge request isc-projects/bind9!3812
Mark Andrews [Tue, 7 Jul 2020 04:40:11 +0000 (14:40 +1000)]
Update BIND 9 logo
Michał Kępień [Thu, 2 Jul 2020 09:25:57 +0000 (09:25 +0000)]
Merge branch '1627-add-changes-entry-v9_11' into 'v9_11'
[v9_11] Add CHANGES entry for #1627
See merge request isc-projects/bind9!3798
Michał Kępień [Thu, 2 Jul 2020 09:19:30 +0000 (11:19 +0200)]
Add CHANGES entry for #1627
(cherry picked from commit
dee2b3c7c85203bbd4d5459789a1f3ed4e1fed45 )