]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
7 years agoPart2: don't attach/detach view wpk-less-refs
Witold Kręcicki [Thu, 16 May 2019 16:16:40 +0000 (18:16 +0200)] 
Part2: don't attach/detach view

7 years agoPart1: make zt->references an isc_refcount_t
Witold Kręcicki [Thu, 16 May 2019 16:14:55 +0000 (18:14 +0200)] 
Part1: make zt->references an isc_refcount_t

7 years agoTest: Don't attach/detach qctx->view
Witold Kręcicki [Thu, 16 May 2019 14:56:36 +0000 (16:56 +0200)] 
Test: Don't attach/detach qctx->view

7 years agoMerge branch 'ondrej/add-all-isc-atomic-defines' into 'master' 1942/head
Ondřej Surý [Mon, 13 May 2019 07:03:17 +0000 (03:03 -0400)] 
Merge branch 'ondrej/add-all-isc-atomic-defines' into 'master'

Add most useful relaxed and acquire-relase stdatomic convenience macros

See merge request isc-projects/bind9!1935

7 years agoAdd most useful relaxed and acquire-relase stdatomic convenience macros
Ondřej Surý [Mon, 13 May 2019 05:17:21 +0000 (12:17 +0700)] 
Add most useful relaxed and acquire-relase stdatomic convenience macros

The header file <isc/atomic.h> now contains convenience macros for
most useful explicit memory ordering for C11 stdatomics, only relaxed
and acquire-release semantics is being used.  These macros SHOULD be
used instead of atomic_<func>_explicit functions.

7 years agoMerge branch '899-remove-unspec' into 'master'
Ondřej Surý [Mon, 13 May 2019 03:51:14 +0000 (23:51 -0400)] 
Merge branch '899-remove-unspec' into 'master'

Remove UNSPEC rrtype

Closes #899

See merge request isc-projects/bind9!1931

7 years agoRemove UNSPEC rrtype
Witold Kręcicki [Wed, 27 Feb 2019 09:04:37 +0000 (10:04 +0100)] 
Remove UNSPEC rrtype

7 years agoMerge branch '981-armv5-build-is-broken' into 'master'
Mark Andrews [Mon, 13 May 2019 01:51:21 +0000 (21:51 -0400)] 
Merge branch '981-armv5-build-is-broken' into 'master'

Resolve "armv5 build is broken"

Closes #981

See merge request isc-projects/bind9!1892

7 years agoarm: just use the compiler's default yield support
Mark Andrews [Mon, 6 May 2019 08:06:59 +0000 (18:06 +1000)] 
arm: just use the compiler's default yield support

7 years agoMerge branch '984-remove-dead-code-in-pkcs11-keygen-c' into 'master'
Mark Andrews [Mon, 13 May 2019 01:38:58 +0000 (21:38 -0400)] 
Merge branch '984-remove-dead-code-in-pkcs11-keygen-c' into 'master'

Resolve "Remove dead code in pkcs11-keygen.c"

Closes #984

See merge request isc-projects/bind9!1814

7 years agoremove dead code and unnecessary call to pkcs_C_GetAttributeValue
Mark Andrews [Wed, 17 Apr 2019 00:56:36 +0000 (10:56 +1000)] 
remove dead code and unnecessary call to pkcs_C_GetAttributeValue

7 years agoMerge branch '713-mem-benchmark' into 'master'
Ondřej Surý [Fri, 10 May 2019 21:20:26 +0000 (17:20 -0400)] 
Merge branch '713-mem-benchmark' into 'master'

Add benchmark for isc_{mem,mempool}_{get,put} operations

Closes #713

See merge request isc-projects/bind9!1928

7 years agoAdd benchmark for isc_{mem,mempool}_{get,put} operations
Ondřej Surý [Fri, 10 May 2019 19:09:50 +0000 (02:09 +0700)] 
Add benchmark for isc_{mem,mempool}_{get,put} operations

7 years agoMerge branch 'prep-release' v9.15.0
Tinderbox User [Fri, 10 May 2019 04:39:56 +0000 (04:39 +0000)] 
Merge branch 'prep-release'

7 years agoprep 9.15.0
Tinderbox User [Fri, 10 May 2019 04:32:56 +0000 (04:32 +0000)] 
prep 9.15.0

7 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Fri, 10 May 2019 03:59:54 +0000 (23:59 -0400)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!1923

7 years agoadd a placeholder that was missed earlier; update subsequent change numbers
Evan Hunt [Fri, 10 May 2019 03:58:27 +0000 (20:58 -0700)] 
add a placeholder that was missed earlier; update subsequent change numbers

7 years agoMerge branch '997-make-ntas-work-with-validating-forwarders' into 'master'
Evan Hunt [Fri, 10 May 2019 03:12:10 +0000 (23:12 -0400)] 
Merge branch '997-make-ntas-work-with-validating-forwarders' into 'master'

Make NTAs work with validating forwarders

Closes #997

See merge request isc-projects/bind9!1859

7 years agoAdd CHANGES entry
Michał Kępień [Wed, 24 Apr 2019 09:17:15 +0000 (11:17 +0200)] 
Add CHANGES entry

5219. [bug] Negative trust anchors did not work with "forward only;"
to validating resolvers. [GL #997]

7 years agoMake NTAs work with validating forwarders
Michał Kępień [Wed, 24 Apr 2019 09:17:15 +0000 (11:17 +0200)] 
Make NTAs work with validating forwarders

If named is configured to perform DNSSEC validation and also forwards
all queries ("forward only;") to validating resolvers, negative trust
anchors do not work properly because the CD bit is not set in queries
sent to the forwarders.  As a result, instead of retrieving bogus DNSSEC
material and making validation decisions based on its configuration,
named is only receiving SERVFAIL responses to queries for bogus data.
Fix by ensuring the CD bit is always set in queries sent to forwarders
if the query name is covered by an NTA.

7 years agoMerge branch '958-improve-message-about-python-ply' into 'master'
Evan Hunt [Fri, 10 May 2019 02:50:54 +0000 (22:50 -0400)] 
Merge branch '958-improve-message-about-python-ply' into 'master'

Improve the error message about missing PLY Python package

Closes #958

See merge request isc-projects/bind9!1918

7 years agoImprove the error message about missing PLY Python package
Ondřej Surý [Fri, 10 May 2019 02:29:00 +0000 (09:29 +0700)] 
Improve the error message about missing PLY Python package

Previously, only a message about missing Python was printed, which was
misleading to many users.  The new message clearly states that Python
AND PLY is required and prints basic instructions how to install PLY
package.

7 years agoMerge branch 'ondrej/reproducible-build' into 'master'
Ondřej Surý [Thu, 9 May 2019 08:24:35 +0000 (04:24 -0400)] 
Merge branch 'ondrej/reproducible-build' into 'master'

Make lib/dns/gen.c compatible with reproducible builds.

See merge request isc-projects/bind9!1758

7 years agoMake lib/dns/gen.c compatible with reproducible builds.
Ondřej Surý [Fri, 29 Mar 2019 15:17:00 +0000 (16:17 +0100)] 
Make lib/dns/gen.c compatible with reproducible builds.

The gen.c will now use SOURCE_DATE_EPOCH[1] if found in environment
to make the build more reproducible build friendly.

1. https://reproducible-builds.org/specs/source-date-epoch/

7 years agoMerge branch '960-add-edns-client-tag-and-edns-server-tag' into 'master'
Mark Andrews [Thu, 9 May 2019 07:55:38 +0000 (03:55 -0400)] 
Merge branch '960-add-edns-client-tag-and-edns-server-tag' into 'master'

Resolve "Add EDNS Client Tag and EDNS Server Tag"

Closes #960

See merge request isc-projects/bind9!1754

7 years agoRecognise EDNS Client Tag and EDNS Server Tag
Mark Andrews [Wed, 27 Mar 2019 06:16:57 +0000 (17:16 +1100)] 
Recognise EDNS Client Tag and EDNS Server Tag

7 years agoMerge branch '1015-ds-sha-1-deprecation' into 'master'
Evan Hunt [Thu, 9 May 2019 01:32:27 +0000 (21:32 -0400)] 
Merge branch '1015-ds-sha-1-deprecation' into 'master'

Deprecate SHA-1 hash in DS/CDS

Closes #1015

See merge request isc-projects/bind9!1908

7 years agoadd CHANGES and release note
Tony Finch [Wed, 30 Jan 2019 22:10:12 +0000 (22:10 +0000)] 
add CHANGES and release note

7 years agoDeprecate SHA-1 CDS records
Tony Finch [Wed, 30 Jan 2019 18:25:21 +0000 (18:25 +0000)] 
Deprecate SHA-1 CDS records

This affects CDS records generated by `named` and `dnssec-signzone`
based on `-P sync` and `-D sync` key timing instructions.

This is for conformance with the DS/CDS algorithm requirements in
https://tools.ietf.org/html/draft-ietf-dnsop-algorithm-update

7 years agoDeprecate SHA-1 DS digests in `dnssec-signzone`
Tony Finch [Wed, 30 Jan 2019 18:04:52 +0000 (18:04 +0000)] 
Deprecate SHA-1 DS digests in `dnssec-signzone`

This affects two cases:

  * When writing a `dsset` file for this zone, to be used by its
    parent, only write a SHA-256 DS record.

  * When reading a `keyset` file for a child, to generate DS records
    to include in this zone, generate SHA-256 DS records only.

This change does not affect digests used in CDS records.

This is for conformance with the DS/CDS algorithm requirements in
https://tools.ietf.org/html/draft-ietf-dnsop-algorithm-update

7 years agoDeprecate SHA-1 in `dnssec-checkds`
Tony Finch [Mon, 4 Feb 2019 13:46:51 +0000 (13:46 +0000)] 
Deprecate SHA-1 in `dnssec-checkds`

This changes the behaviour so that it explicitly lists DS records that
are present in the parent but do not have keys in the child. Any
inconsistency is reported as an error, which is somewhat stricter than
before.

This is for conformance with the DS/CDS algorithm requirements in
https://tools.ietf.org/html/draft-ietf-dnsop-algorithm-update

7 years agoDeprecate SHA-1 in `dnssec-dsfromkey`
Tony Finch [Thu, 31 Jan 2019 17:05:57 +0000 (17:05 +0000)] 
Deprecate SHA-1 in `dnssec-dsfromkey`

This makes the `-12a` options to `dnssec-dsfromkey` work more like
`dnssec-cds`, in that you can specify more than one digest and you
will get multiple records. (Previously you could only get one
non-default digest type at a time.)

The default is now `-2`. You can get the old behaviour with `-12`.

Tests and tools that use `dnssec-dsfromkey` have been updated to use
`-12` where necessary.

This is for conformance with the DS/CDS algorithm requirements in
https://tools.ietf.org/html/draft-ietf-dnsop-algorithm-update

7 years agobin/dnssec: move a little boilerplate into shared code
Tony Finch [Tue, 29 Jan 2019 16:43:54 +0000 (16:43 +0000)] 
bin/dnssec: move a little boilerplate into shared code

7 years agotests/resolver: look for hash algorithm 2 (SHA-256) now
Mark Andrews [Tue, 12 Mar 2019 05:09:01 +0000 (16:09 +1100)] 
tests/resolver: look for hash algorithm 2 (SHA-256) now

7 years agoMerge branch '899-totext-fromtext-fuzz' into 'master'
Mark Andrews [Thu, 9 May 2019 00:41:57 +0000 (20:41 -0400)] 
Merge branch '899-totext-fromtext-fuzz' into 'master'

fuzz dns_rdata_fromwire

See merge request isc-projects/bind9!1582

7 years agodns_rdata_fromwire_text fuzzer
Mark Andrews [Fri, 1 Mar 2019 02:46:48 +0000 (13:46 +1100)] 
dns_rdata_fromwire_text fuzzer

Fuzz input to dns_rdata_fromwire(). Then convert the result
to text, back to wire format, to multiline text, and back to wire
format again, checking for consistency throughout the sequence.

7 years agoMerge branch '852-bind-returning-malformed-packet-error-when-sshfp-record-has-fingerp...
Mark Andrews [Wed, 8 May 2019 22:42:56 +0000 (18:42 -0400)] 
Merge branch '852-bind-returning-malformed-packet-error-when-sshfp-record-has-fingerprint-value-less-than-4-characters' into 'master'

Resolve "Bind returning malformed packet error when sshfp record has fingerprint value less than 4 characters"

Closes #852

See merge request isc-projects/bind9!1445

7 years agoenforce known SSHFP finger print lengths
Mark Andrews [Fri, 1 Feb 2019 07:18:34 +0000 (18:18 +1100)] 
enforce known SSHFP finger print lengths

7 years agoMerge branch '868-fix-trusted-keys-handling-with-dnssec-validation-auto' into 'master'
Evan Hunt [Wed, 8 May 2019 18:38:52 +0000 (14:38 -0400)] 
Merge branch '868-fix-trusted-keys-handling-with-dnssec-validation-auto' into 'master'

fix incorrect behavior mixing trusted-keys with validation auto

Closes #868

See merge request isc-projects/bind9!1483

7 years agoCHANGES, release notes
Evan Hunt [Fri, 8 Feb 2019 06:45:28 +0000 (22:45 -0800)] 
CHANGES, release notes

7 years agoreject the use of trusted-keys and managed-keys for the same name
Evan Hunt [Thu, 7 Feb 2019 23:10:41 +0000 (15:10 -0800)] 
reject the use of trusted-keys and managed-keys for the same name

7 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Wed, 8 May 2019 02:40:34 +0000 (22:40 -0400)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!1903

7 years agoplaceholder
Evan Hunt [Wed, 8 May 2019 02:39:39 +0000 (19:39 -0700)] 
placeholder

7 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Tue, 7 May 2019 05:20:50 +0000 (01:20 -0400)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!1902

7 years agoplaceholder
Evan Hunt [Tue, 7 May 2019 05:19:48 +0000 (22:19 -0700)] 
placeholder

7 years agoMerge branch '765-allow-dig-to-print-aaaa-records-fully-expanded' into 'master'
Mark Andrews [Tue, 7 May 2019 05:06:18 +0000 (01:06 -0400)] 
Merge branch '765-allow-dig-to-print-aaaa-records-fully-expanded' into 'master'

Resolve "Allow dig to print AAAA records fully expanded."

Closes #765

See merge request isc-projects/bind9!1188

7 years agoadd CHANGES
Mark Andrews [Fri, 8 Mar 2019 06:00:27 +0000 (17:00 +1100)] 
add CHANGES

7 years agosupport printing AAAA in expanded form
Mark Andrews [Thu, 6 Dec 2018 06:36:46 +0000 (17:36 +1100)] 
support printing AAAA in expanded form

7 years agoMerge branch '991-provide-ixfr-should-only-be-tests-on-tcp-clients' into 'master'
Mark Andrews [Tue, 7 May 2019 03:23:37 +0000 (23:23 -0400)] 
Merge branch '991-provide-ixfr-should-only-be-tests-on-tcp-clients' into 'master'

Resolve "provide-ixfr should only be tested on TCP clients."

Closes #991

See merge request isc-projects/bind9!1846

7 years agoadd CHANGES
Mark Andrews [Tue, 7 May 2019 03:00:55 +0000 (13:00 +1000)] 
add CHANGES

7 years agoadd test for 'provide-ixfr no;' ; add forensics support
Mark Andrews [Wed, 24 Apr 2019 07:50:00 +0000 (17:50 +1000)] 
add test for 'provide-ixfr no;' ; add forensics support

7 years agoonly test provideixfr if the transport is TCP
Mark Andrews [Tue, 23 Apr 2019 07:48:07 +0000 (17:48 +1000)] 
only test provideixfr if the transport is TCP

7 years agoMerge branch '1005-filter-aaaa-crash-in-9-14-1' into 'master'
Mark Andrews [Tue, 7 May 2019 00:57:51 +0000 (20:57 -0400)] 
Merge branch '1005-filter-aaaa-crash-in-9-14-1' into 'master'

Resolve "filter-aaaa crash in 9.14.1"

Closes #1005

See merge request isc-projects/bind9!1886

7 years agoadd CHANGES
Mark Andrews [Tue, 7 May 2019 00:39:49 +0000 (10:39 +1000)] 
add CHANGES

7 years agolock accesses to hash table
Mark Andrews [Mon, 29 Apr 2019 23:49:42 +0000 (09:49 +1000)] 
lock accesses to hash table

7 years agoclear pointer before hash table
Mark Andrews [Mon, 29 Apr 2019 23:44:12 +0000 (09:44 +1000)] 
clear pointer before hash table

7 years agoMerge branch '983-delv-www-isc-org-any-rtrace-multiline-leaks-memory' into 'master'
Mark Andrews [Tue, 7 May 2019 00:18:43 +0000 (20:18 -0400)] 
Merge branch '983-delv-www-isc-org-any-rtrace-multiline-leaks-memory' into 'master'

Resolve "'delv www.isc.org ANY +rtrace +multiline' leaks memory"

Closes #983

See merge request isc-projects/bind9!1812

7 years agoadd CHANGES note
Mark Andrews [Wed, 17 Apr 2019 03:46:18 +0000 (13:46 +1000)] 
add CHANGES note

7 years agocheck that delv -t any works
Mark Andrews [Wed, 17 Apr 2019 03:41:07 +0000 (13:41 +1000)] 
check that delv -t any works

7 years agofix whitespace
Mark Andrews [Wed, 17 Apr 2019 02:48:21 +0000 (12:48 +1000)] 
fix whitespace

7 years agoreturn rdatasets when processing ANY queries in client_resfind
Mark Andrews [Tue, 16 Apr 2019 14:13:14 +0000 (00:13 +1000)] 
return rdatasets when processing ANY queries in client_resfind

7 years agoMerge branch 'each-win32-parallel-tests' into 'master'
Evan Hunt [Mon, 6 May 2019 22:53:32 +0000 (18:53 -0400)] 
Merge branch 'each-win32-parallel-tests' into 'master'

enable parallel system tests on windows

See merge request isc-projects/bind9!1401

7 years agoCHANGES
Evan Hunt [Mon, 6 May 2019 21:20:25 +0000 (14:20 -0700)] 
CHANGES

7 years agomove the test lists into conf.sh.common
Evan Hunt [Thu, 31 Jan 2019 02:16:07 +0000 (18:16 -0800)] 
move the test lists into conf.sh.common

there is now a common list of tests in conf.sh.common, with the
tests that are either unique to windows or to unix, or which are
enabled or disabled by configure or Configure, being listed in
separate variables in conf.sh.in and conf.sh.win32.

7 years agoenable parallel system tests on windows
Evan Hunt [Sat, 26 Jan 2019 18:36:47 +0000 (10:36 -0800)] 
enable parallel system tests on windows

this moves the creation of "parallel.mk" into a separate shell script
instead of bin/tests/system/Makefile. that shell script can now be
executed by runall.sh, allowing us to make use of the cygwin "make"
command, which supports parallel execution.

7 years agoMerge branch 'each-simplify-stats' into 'master'
Evan Hunt [Mon, 6 May 2019 20:08:34 +0000 (16:08 -0400)] 
Merge branch 'each-simplify-stats' into 'master'

simplify the isc_stat structure to take avantage of atomics

See merge request isc-projects/bind9!1493

7 years agoCHANGES
Evan Hunt [Thu, 14 Mar 2019 22:13:18 +0000 (15:13 -0700)] 
CHANGES

7 years agosimplify the isc_stat structure to take avantage of atomics
Evan Hunt [Fri, 8 Feb 2019 03:41:43 +0000 (19:41 -0800)] 
simplify the isc_stat structure to take avantage of atomics

7 years agoMerge branch '1000-arm-doc-rpz-nodata-policy-says-ancount-1' into 'master'
Mark Andrews [Mon, 6 May 2019 07:35:15 +0000 (03:35 -0400)] 
Merge branch '1000-arm-doc-rpz-nodata-policy-says-ancount-1' into 'master'

Resolve "ARM doc RPZ NODATA policy says ANCOUNT=1"

Closes #1000

See merge request isc-projects/bind9!1889

7 years agoA NODATA response has ANCOUNT of 0 assuming no CNAME/DNAMES
Mark Andrews [Mon, 6 May 2019 07:13:18 +0000 (17:13 +1000)] 
A NODATA response has ANCOUNT of 0 assuming no CNAME/DNAMES

7 years agoMerge branch 'ondrej/update-dir-locals.el-for-config.h' into 'master'
Ondřej Surý [Thu, 2 May 2019 08:55:42 +0000 (04:55 -0400)] 
Merge branch 'ondrej/update-dir-locals.el-for-config.h' into 'master'

Adjust .dir-locals.el to make clang always include config.h

See merge request isc-projects/bind9!1888

7 years agoAdjust .dir-locals.el to make clang always include config.h
Ondřej Surý [Thu, 2 May 2019 08:52:08 +0000 (10:52 +0200)] 
Adjust .dir-locals.el to make clang always include config.h

7 years agoMerge branch '956-fix-dnstap-test' into 'master'
Evan Hunt [Fri, 26 Apr 2019 22:53:11 +0000 (18:53 -0400)] 
Merge branch '956-fix-dnstap-test' into 'master'

attach memory context sooner so that cleanup will work correctly

Closes #956

See merge request isc-projects/bind9!1882

7 years agoattach memory context sooner so that cleanup will work correctly
Evan Hunt [Fri, 26 Apr 2019 22:24:45 +0000 (15:24 -0700)] 
attach memory context sooner so that cleanup will work correctly

7 years agoMerge branch '999-tcp-client-crash-v9_11-locks-v9_14-master' into 'master'
Ondřej Surý [Fri, 26 Apr 2019 20:25:49 +0000 (16:25 -0400)] 
Merge branch '999-tcp-client-crash-v9_11-locks-v9_14-master' into 'master'

Replace atomic operations in bin/named/client.c with isc_refcount reference counting

Closes #999

See merge request isc-projects/bind9!1881

7 years agoReplace atomic operations in bin/named/client.c with isc_refcount reference counting
Ondřej Surý [Wed, 17 Apr 2019 13:22:27 +0000 (15:22 +0200)] 
Replace atomic operations in bin/named/client.c with isc_refcount reference counting

(cherry picked from commit ef49780d30d3ddc5735cfc32561b678a634fa72f)
(cherry picked from commit e203d4d65a3bbba4303b9f185bd38314c0a3f77c)

7 years agoMerge branch 'michal/simplify-trailing-period-handling-in-system-tests' into 'master'
Michał Kępień [Fri, 26 Apr 2019 19:12:08 +0000 (15:12 -0400)] 
Merge branch 'michal/simplify-trailing-period-handling-in-system-tests' into 'master'

Simplify trailing period handling in system tests

See merge request isc-projects/bind9!1860

7 years agoSimplify trailing period handling in system tests
Michał Kępień [Fri, 26 Apr 2019 18:38:02 +0000 (20:38 +0200)] 
Simplify trailing period handling in system tests

Windows systems do not allow a trailing period in file names while Unix
systems do.  When BIND system tests are run, the $TP environment
variable is set to an empty string on Windows systems and to "." on Unix
systems.  This environment variable is then used by system test scripts
for handling this discrepancy properly.

In multiple system test scripts, a variable holding a zone name is set
to a string with a trailing period while the names of the zone's
corresponding dlvset-* and/or dsset-* files are determined using
numerous sed invocations like the following one:

    dlvsets="$dlvsets dlvset-`echo $zone |sed -e "s/.$//g"`$TP"

In order to improve code readability, use zone names without trailing
periods and replace sed invocations with variable substitutions.

To retain local consistency, also remove the trailing period from
certain other zone names used in system tests that are not subsequently
processed using sed.

7 years agoMerge branch 'michal/fix-rare-allow-query-system-test-failures' into 'master'
Michał Kępień [Fri, 26 Apr 2019 09:31:25 +0000 (05:31 -0400)] 
Merge branch 'michal/fix-rare-allow-query-system-test-failures' into 'master'

Fix rare "allow-query" system test failures

See merge request isc-projects/bind9!1857

7 years agoMake root zone data match root hints
Michał Kępień [Fri, 26 Apr 2019 09:05:56 +0000 (11:05 +0200)] 
Make root zone data match root hints

In the "allow-query" system test, ns3 uses a root hints file which
contains a single entry for a.root-servers.nil (10.53.0.1).  This name
is not present in the root zone served by ns1, which means querying it
for that name and any type will yield an NXDOMAIN response.  When
combined with unfavorable thread scheduling, this can lead to ns3
caching an NXDOMAIN response for the only root server it is aware of and
thus to false positives for the "allow-query" system test caused by ns3
returning unexpected SERVFAIL responses.  Fix by modifying the root zone
served by ns1 so that authoritative responses to a.root-servers.nil
queries match the root hints file used by ns3.

7 years agoMerge branch '982-filter-aaaa-race' into 'master'
Evan Hunt [Fri, 26 Apr 2019 07:05:39 +0000 (03:05 -0400)] 
Merge branch '982-filter-aaaa-race' into 'master'

Resolve "filter-aaaa crash in 9.14.0"

Closes #982

See merge request isc-projects/bind9!1861

7 years agoCHANGES
Evan Hunt [Thu, 25 Apr 2019 04:54:03 +0000 (21:54 -0700)] 
CHANGES

7 years agoassociate a lock with the memory pool in the filter-aaaa plugin
Evan Hunt [Thu, 25 Apr 2019 04:52:06 +0000 (21:52 -0700)] 
associate a lock with the memory pool in the filter-aaaa plugin

7 years agoMerge branch '615-tcp-client-crash-v9_14-master' into 'master'
Ondřej Surý [Thu, 25 Apr 2019 15:14:50 +0000 (11:14 -0400)] 
Merge branch '615-tcp-client-crash-v9_14-master' into 'master'

Resolve "tcp-clients mostly ineffective"

Closes #615

See merge request isc-projects/bind9!1871

7 years agoCHANGES, release note
Evan Hunt [Thu, 3 Jan 2019 19:04:41 +0000 (11:04 -0800)] 
CHANGES, release note

(cherry picked from commit 244e44af432121a05e0a308b7ccce96a8ecd28ab)
(cherry picked from commit 79fad84bf6981dfd2a13971d966c0ebee057c448)

7 years agorestore allowance for tcp-clients < interfaces
Evan Hunt [Fri, 22 Feb 2019 22:53:30 +0000 (14:53 -0800)] 
restore allowance for tcp-clients < interfaces

in the "refactor tcpquota and pipeline refs" commit, the counting
of active interfaces was tightened in such a way that named could
fail to listen on an interface if there were more interfaces than
tcp-clients. when checking the quota to start accepting on an
interface, if the number of active clients was above zero, then
it was presumed that some other client was able to handle accepting
new connections. this, however, ignored the fact that the current client
could be included in that count, so if the quota was already exceeded
before all the interfaces were listening, some interfaces would never
listen.

we now check whether the current client has been marked active; if so,
then the number of active clients on the interface must be greater
than 1, not 0.

(cherry picked from commit 02365b87ea0b1ea5ea8b17376f6734c811c95e61)
(cherry picked from commit cae79e1bab677ed1c2ce3adc5d54163a78f0d30b)

7 years agorefactor tcpquota and pipeline refs; allow special-case overrun in isc_quota
Evan Hunt [Wed, 6 Feb 2019 19:27:11 +0000 (11:27 -0800)] 
refactor tcpquota and pipeline refs; allow special-case overrun in isc_quota

- if the TCP quota has been exceeded but there are no clients listening
  for new connections on the interface, we can now force attachment to the
  quota using isc_quota_force(), instead of carrying on with the quota not
  attached.
- the TCP client quota is now referenced via a reference-counted
  'ns_tcpconn' object, one of which is created whenever a client begins
  listening for new connections, and attached to by members of that
  client's pipeline group. when the last reference to the tcpconn
  object is detached, it is freed and the TCP quota slot is released.
- reduce code duplication by adding mark_tcp_active() function
- convert counters to stdatomic

(cherry picked from commit a8dd133d270873b736c1be9bf50ebaa074f5b38f)
(cherry picked from commit 4a8fc979c49104534cf6be5d81dc54da5b6836c9)

7 years agobetter tcpquota accounting and client mortality checks
Evan Hunt [Wed, 6 Feb 2019 19:26:36 +0000 (11:26 -0800)] 
better tcpquota accounting and client mortality checks

- ensure that tcpactive is cleaned up correctly when accept() fails.
- set 'client->tcpattached' when the client is attached to the tcpquota.
  carry this value on to new clients sharing the same pipeline group.
  don't call isc_quota_detach() on the tcpquota unless tcpattached is
  set.  this way clients that were allowed to accept TCP connections
  despite being over quota (and therefore, were never attached to the
  quota) will not inadvertently detach from it and mess up the
  accounting.
- simplify the code for tcpquota disconnection by using a new function
  tcpquota_disconnect().
- before deciding whether to reject a new connection due to quota
  exhaustion, check to see whether there are at least two active
  clients. previously, this was "at least one", but that could be
  insufficient if there was one other client in READING state (waiting
  for messages on an open connection) but none in READY (listening
  for new connections).
- before deciding whether a TCP client object can to go inactive, we
  must ensure there are enough other clients to maintain service
  afterward -- both accepting new connections and reading/processing new
  queries.  A TCP client can't shut down unless at least one
  client is accepting new connections and (in the case of pipelined
  clients) at least one additional client is waiting to read.

(cherry picked from commit 427a2fb4d17bc04ca3262f58a9dcf5c93fc6d33e)
(cherry picked from commit 08968412726d680777de6e596c836c6be07819a1)

7 years agouse reference counter for pipeline groups (v3)
Michał Kępień [Thu, 17 Jan 2019 14:53:38 +0000 (15:53 +0100)] 
use reference counter for pipeline groups (v3)

Track pipeline groups using a shared reference counter
instead of a linked list.

(cherry picked from commit 31f392db20207a1b05d6286c3c56f76c8d69e574)
(cherry picked from commit 2211120222b5f008a96145474b7f6749d4307028)

7 years agotcp-clients could still be exceeded (v2)
Witold Kręcicki [Fri, 4 Jan 2019 11:50:51 +0000 (12:50 +0100)] 
tcp-clients could still be exceeded (v2)

the TCP client quota could still be ineffective under some
circumstances.  this change:

- improves quota accounting to ensure that TCP clients are
  properly limited, while still guaranteeing that at least one client
  is always available to serve TCP connections on each interface.
- uses more descriptive names and removes one (ntcptarget) that
  was no longer needed
- adds comments

(cherry picked from commit 9e74969f85329fe26df2fad390468715215e2edd)
(cherry picked from commit d7e84cee0bd7957a0707b86d47c29de4b798d350)

7 years agofix enforcement of tcp-clients (v1)
Witold Kręcicki [Thu, 3 Jan 2019 13:17:43 +0000 (14:17 +0100)] 
fix enforcement of tcp-clients (v1)

tcp-clients settings could be exceeded in some cases by
creating more and more active TCP clients that are over
the set quota limit, which in the end could lead to a
DoS attack by e.g. exhaustion of file descriptors.

If TCP client we're closing went over the quota (so it's
not attached to a quota) mark it as mortal - so that it
will be destroyed and not set up to listen for new
connections - unless it's the last client for a specific
interface.

(cherry picked from commit eafcff07c25bdbe038ae1e4b6660602a080b9395)
(cherry picked from commit 9e7617cc84f465769be1a3f426f30cd516220902)

7 years agoMerge branch '880-secure-asdfasdfasdf-abacadabra-crash-v9_14-master' into 'master'
Ondřej Surý [Thu, 25 Apr 2019 14:27:33 +0000 (10:27 -0400)] 
Merge branch '880-secure-asdfasdfasdf-abacadabra-crash-v9_14-master' into 'master'

Resolve "CVE-2019-6467: lib/ns/query.c:9176: INSIST(!qctx->is_zone) failed, back trace"

Closes #880

See merge request isc-projects/bind9!1868

7 years agoCHANGES, release note
Evan Hunt [Tue, 12 Mar 2019 22:21:10 +0000 (15:21 -0700)] 
CHANGES, release note

(cherry picked from commit ab5473007e91f011d003ff0ba5ab32fa0d56360c)
(cherry picked from commit 404be59527c95b4631f2c6cdf072d5c7e0e3240d)

7 years agoFix nxdomain-redirect assertion failure
Matthijs Mekking [Tue, 26 Feb 2019 14:55:29 +0000 (15:55 +0100)] 
Fix nxdomain-redirect assertion failure

- Always set is_zonep in query_getdb; previously it was only set if
  result was ISC_R_SUCCESS or ISC_R_NOTFOUND.
- Don't reset is_zone for redirect.
- Style cleanup.

(cherry picked from commit a85cc641d7a4c66cbde03cc4e31edc038a24df46)
(cherry picked from commit 486a201149ab7523e3b3089fc84f20d7f1a07a24)

7 years agoAdd test for nxdomain-redirect ncachenxdomain
Matthijs Mekking [Tue, 26 Feb 2019 14:38:18 +0000 (15:38 +0100)] 
Add test for nxdomain-redirect ncachenxdomain

(cherry picked from commit 2d65626630c19bb8159a025accb18e5179da5dc3)
(cherry picked from commit 05d29443eb422748eec0e359f03474bbb983d28c)

7 years agoMerge branch '995-dlz_open_driver-fix-build-failure-without-dlfcn-h' into 'master'
Mark Andrews [Tue, 23 Apr 2019 23:18:19 +0000 (19:18 -0400)] 
Merge branch '995-dlz_open_driver-fix-build-failure-without-dlfcn-h' into 'master'

Resolve "dlz_open_driver: fix build failure without dlfcn.h"

Closes #995

See merge request isc-projects/bind9!1854

7 years agoadd CHANGES
Mark Andrews [Tue, 23 Apr 2019 23:07:19 +0000 (09:07 +1000)] 
add CHANGES

7 years agoconditionally include <dlfcn.h>
Mark Andrews [Tue, 23 Apr 2019 23:06:08 +0000 (09:06 +1000)] 
conditionally include <dlfcn.h>

7 years agoMerge branch '996-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'
Mark Andrews [Tue, 23 Apr 2019 22:36:57 +0000 (18:36 -0400)] 
Merge branch '996-wrong-key-id-is-displayed-for-rsamd5-keys' into 'master'

Resolve "Wrong key id is displayed for RSAMD5 keys."

Closes #996

See merge request isc-projects/bind9!1852

7 years agoadd CHANGES
Mark Andrews [Tue, 23 Apr 2019 22:19:08 +0000 (08:19 +1000)] 
add CHANGES