]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
6 years agoMerge branch '1159-bits-65-72-of-the-dns64-prefix-are-supposed-to-be-zero' into ...
Mark Andrews [Wed, 31 Jul 2019 12:11:45 +0000 (08:11 -0400)] 
Merge branch '1159-bits-65-72-of-the-dns64-prefix-are-supposed-to-be-zero' into 'master'

Resolve "Bits 64..71 of the dns64 prefix are supposed to be zero"

Closes #1159

See merge request isc-projects/bind9!2193

6 years agoadd CHANGES
Mark Andrews [Wed, 31 Jul 2019 07:08:55 +0000 (17:08 +1000)] 
add CHANGES

6 years agocheck that bits 64..71 in a dns64 prefix are zero
Mark Andrews [Tue, 23 Jul 2019 18:53:13 +0000 (04:53 +1000)] 
check that bits 64..71 in a dns64 prefix are zero

6 years agoMerge branch 'ondrej/cleanup-isc_thread-api' into 'master'
Ondřej Surý [Wed, 31 Jul 2019 10:09:45 +0000 (06:09 -0400)] 
Merge branch 'ondrej/cleanup-isc_thread-api' into 'master'

Cleanup the isc_thread API

See merge request isc-projects/bind9!2159

6 years agoMake isc_thread_join() assert internally on failure
Ondřej Surý [Thu, 18 Jul 2019 15:47:40 +0000 (17:47 +0200)] 
Make isc_thread_join() assert internally on failure

Previously isc_thread_join() would return ISC_R_UNEXPECTED on a failure to
create new thread.  All such occurences were caught and wrapped into assert
function at higher level.  The function was simplified to assert directly in the
isc_thread_join() function and all caller level assertions were removed.

6 years agoMake isc_thread_create() assert internally on failure
Ondřej Surý [Thu, 18 Jul 2019 15:24:05 +0000 (17:24 +0200)] 
Make isc_thread_create() assert internally on failure

Previously isc_thread_create() would return ISC_R_UNEXPECTED on a failure to
create new thread.  All such occurences were caught and wrapped into assert
function at higher level.  The function was simplified to assert directly in the
isc_thread_create() function and all caller level assertions were removed.

6 years agoMerge branch 'michal/wildcard-system-test-make-root-hints-consistent-with-authoritati...
Michał Kępień [Wed, 31 Jul 2019 09:43:17 +0000 (05:43 -0400)] 
Merge branch 'michal/wildcard-system-test-make-root-hints-consistent-with-authoritative-data' into 'master'

"wildcard" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2190

6 years agoMake root hints consistent with authoritative data
Michał Kępień [Wed, 31 Jul 2019 09:06:34 +0000 (11:06 +0200)] 
Make root hints consistent with authoritative data

Multiple resolvers in the "wildcard" system test are configured with a
single root hint: "ns.root-servers.nil", pointing to 10.53.0.1, which is
inconsistent with authoritative data served by ns1.  This may cause
intermittent resolution failures, triggering false positives for the
"wildcard" system test.  Prevent this from happening by making ns2, ns3,
and ns5 use root hints corresponding to the contents of ns1/root.db.in.

6 years agoMerge branch '1123-remove-isc-config.sh' into 'master'
Ondřej Surý [Wed, 31 Jul 2019 09:04:00 +0000 (05:04 -0400)] 
Merge branch '1123-remove-isc-config.sh' into 'master'

The BIND 9 libraries are now internal-only, so remove isc-config.sh

Closes #1123

See merge request isc-projects/bind9!2115

6 years agoThe BIND 9 libraries are now internal-only, so remove isc-config.sh
Ondřej Surý [Wed, 26 Jun 2019 08:21:49 +0000 (10:21 +0200)] 
The BIND 9 libraries are now internal-only, so remove isc-config.sh

The isc-config.sh script was introduced before pkg-config as is a purely
historical thing.  There are two reason for removal of isc-config.sh scripts:

a) The BIND 9 libraries are now meant to be used only from BIND 9, so there's no
   reason to provide convenience script to link with the libraries.

b) Even if that was not the case, we should and would replace the isc-config.sh
   with respective pkg-config (.pc) file for every library.

6 years agoMerge branch '1160-properly-use-isc_mem_putanddetach' into 'master'
Ondřej Surý [Wed, 31 Jul 2019 08:39:40 +0000 (04:39 -0400)] 
Merge branch '1160-properly-use-isc_mem_putanddetach' into 'master'

Resolve "Replace the isc_mem_put(mctx, ...)+isc_mem_detach(&mctx) usage with isc_mem_putanddetach(&mctx)"

Closes #1160

See merge request isc-projects/bind9!2195

6 years agoWe need to wrap isc__mem_putanddetach in tkey_test.c unit too now
Ondřej Surý [Thu, 25 Jul 2019 19:36:35 +0000 (21:36 +0200)] 
We need to wrap isc__mem_putanddetach in tkey_test.c unit too now

6 years agoReplace usage of isc_mem_put+isc_mem_detach with isc_mem_putanddetach
Ondřej Surý [Tue, 23 Jul 2019 21:16:57 +0000 (17:16 -0400)] 
Replace usage of isc_mem_put+isc_mem_detach with isc_mem_putanddetach

Using isc_mem_put(mctx, ...) + isc_mem_detach(mctx) required juggling with the
local variables when mctx was part of the freed object. The isc_mem_putanddetach
function can handle this case internally, but it wasn't used everywhere.  This
commit apply the semantic patching plus bit of manual work to replace all such
occurrences with proper usage of isc_mem_putanddetach().

6 years agoAdd spatch to replace isc_mem_put+isc_mem_detach with isc_mem_putanddetach
Ondřej Surý [Tue, 23 Jul 2019 21:28:02 +0000 (17:28 -0400)] 
Add spatch to replace isc_mem_put+isc_mem_detach with isc_mem_putanddetach

6 years agoMerge branch '1151-inconsistent-usage-of-stdout-vs-stderr-in-signing-tools' into...
Ondřej Surý [Wed, 31 Jul 2019 08:24:50 +0000 (04:24 -0400)] 
Merge branch '1151-inconsistent-usage-of-stdout-vs-stderr-in-signing-tools' into 'master'

Resolve "Inconsistent usage of stdout vs stderr in signing tools"

Closes #1151

See merge request isc-projects/bind9!2165

6 years agoAdd CHANGES and release note
Ondřej Surý [Sun, 21 Jul 2019 12:18:56 +0000 (08:18 -0400)] 
Add CHANGES and release note

6 years agoadd -q to getopt flags, and use newlines consistently with report()
Evan Hunt [Tue, 30 Jul 2019 15:43:30 +0000 (08:43 -0700)] 
add -q to getopt flags, and use newlines consistently with report()

6 years agodocument `-q` option in dnssec-signzone and dnssec-verify man pages
Evan Hunt [Tue, 30 Jul 2019 15:43:12 +0000 (08:43 -0700)] 
document `-q` option in dnssec-signzone and dnssec-verify man pages

6 years agoAdd -q (quiet) option to dnssec-signzone and dnssec-verify tool
Ondřej Surý [Mon, 22 Jul 2019 14:33:17 +0000 (10:33 -0400)] 
Add -q (quiet) option to dnssec-signzone and dnssec-verify tool

With the move of the normal output to stdout, we need a way how to silence the
extra output, so the signed file name can be captured in a simple way.  This
commit adds `-q` command line option that will silence all the normal output
that get's printed from both tools.

6 years agoRemove 2>&1 from the dnssec-signzone invocation in tests
Ondřej Surý [Sat, 20 Jul 2019 22:06:16 +0000 (18:06 -0400)] 
Remove 2>&1 from the dnssec-signzone invocation in tests

6 years agoChange the zoneverify.c to print the information to user supplied function
Ondřej Surý [Sun, 21 Jul 2019 12:07:20 +0000 (08:07 -0400)] 
Change the zoneverify.c to print the information to user supplied function

The lib/dns/zoneverify.c output was hardwired to stderr, which was inconsistent
with lib/dns/dnssec.c.  This commit changes zoneverify.c to print the normal run
information to caller supplied function - same model as in the lib/dns/dnssec.c.

6 years agoUse stdout to print information about signing
Ondřej Surý [Sun, 21 Jul 2019 11:36:13 +0000 (07:36 -0400)] 
Use stdout to print information about signing

Previously, the default output from the libdns library went to stderr by
default.  This was inconsistent with the rest of the output.  This commit
changes the default logging to go to stdout, with notable exception - when the
output of the signing process goes to stdout, the messages are printed to the
stderr.  This is consistent with other functions that output information about
the signing process - e.g. print_stats().

6 years agoMerge branch 'michal/staticstub-system-test-make-root-hints-consistent-with-authorita...
Michał Kępień [Wed, 31 Jul 2019 07:42:41 +0000 (03:42 -0400)] 
Merge branch 'michal/staticstub-system-test-make-root-hints-consistent-with-authoritative-data' into 'master'

"staticstub" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2161

6 years agoMake root hints consistent with authoritative data
Michał Kępień [Wed, 31 Jul 2019 07:18:02 +0000 (09:18 +0200)] 
Make root hints consistent with authoritative data

The ns2 named instance in the "staticstub" system test is configured
with a single root hint commonly used in BIND system tests
(a.root-servers.nil with an address of 10.53.0.1), which is inconsistent
with authoritative data served by ns1.  This may cause intermittent
resolution failures, triggering false positives for the "staticstub"
system test.  Prevent this from happening by making ns1 serve data
corresponding to the contents of bin/tests/system/common/root.hint.

6 years agoMerge branch 'michal/update-gitlab-ci-to-fedora-30' into 'master'
Michał Kępień [Wed, 31 Jul 2019 07:14:25 +0000 (03:14 -0400)] 
Merge branch 'michal/update-gitlab-ci-to-fedora-30' into 'master'

Update GitLab CI to Fedora 30

See merge request isc-projects/bind9!2196

6 years agoUpdate GitLab CI to Fedora 30
Michał Kępień [Wed, 31 Jul 2019 06:47:02 +0000 (08:47 +0200)] 
Update GitLab CI to Fedora 30

Since Fedora 30 is the current Fedora release, replace Fedora 29 GitLab
CI jobs with their up-to-date counterparts.

6 years agoMerge branch '1152-dig-expandaaaa-doesn-t-work-with-short' into 'master'
Mark Andrews [Wed, 31 Jul 2019 01:40:49 +0000 (21:40 -0400)] 
Merge branch '1152-dig-expandaaaa-doesn-t-work-with-short' into 'master'

Resolve "dig +expandaaaa doesn't work with +short"

Closes #1152

See merge request isc-projects/bind9!2169

6 years agoadd CHANGES
Mark Andrews [Wed, 31 Jul 2019 01:09:08 +0000 (11:09 +1000)] 
add CHANGES

6 years agocheck that dig +short +expandaaaa works
Mark Andrews [Sun, 21 Jul 2019 19:06:48 +0000 (05:06 +1000)] 
check that dig +short +expandaaaa works

6 years agoset DNS_STYLEFLAG_EXPANDAAAA flag in say_message if appropriate
Mark Andrews [Sun, 21 Jul 2019 19:03:15 +0000 (05:03 +1000)] 
set DNS_STYLEFLAG_EXPANDAAAA flag in say_message if appropriate

6 years agoMerge branch '1133-your-problem-or-cygwin-s' into 'master'
Mark Andrews [Wed, 31 Jul 2019 00:58:36 +0000 (20:58 -0400)] 
Merge branch '1133-your-problem-or-cygwin-s' into 'master'

Resolve "Your problem or Cygwin's ?????"

Closes #1133

See merge request isc-projects/bind9!2137

6 years agoadd CHANGES
Mark Andrews [Mon, 8 Jul 2019 01:34:22 +0000 (11:34 +1000)] 
add CHANGES

6 years agohandle connect() returning ETIMEDOUT on a non-blocking socket
Mark Andrews [Mon, 8 Jul 2019 01:32:20 +0000 (11:32 +1000)] 
handle connect() returning ETIMEDOUT on a non-blocking socket

6 years agoMerge branch '1171-alpine-linux-tweaks' into 'master'
Michał Kępień [Tue, 30 Jul 2019 20:49:15 +0000 (16:49 -0400)] 
Merge branch '1171-alpine-linux-tweaks' into 'master'

Alpine Linux tweaks

Closes #1171

See merge request isc-projects/bind9!2204

6 years agoAdd Alpine Linux to GitLab CI
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Add Alpine Linux to GitLab CI

Ensure BIND is continuously tested on Alpine Linux as it is commonly
used as a base for Docker containers and employs a less popular libc
implementation, musl libc.

6 years agoDo not use legacy time zone names
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Do not use legacy time zone names

"PST8PDT" is a legacy time zone name whose use in modern code is
discouraged.  It so happens that using this time zone with musl libc
time functions results in different output than for other libc
implementations, which breaks the lib/isc/tests/time_test unit test.
Use the "America/Los_Angeles" time zone instead in order to get
consistent output across all tested libc implementations.

6 years agoFix awk invocation in the "verify" system test
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Fix awk invocation in the "verify" system test

Appending output of a command to the same file as the one that command
is reading from is a dangerous practice.  It seems to have accidentally
worked with all the awk implementations we have tested against so far,
but for BusyBox awk, doing this may result in the input/output file
being written to in an infinite loop.  Prevent this from happening by
redirect awk output to a temporary file and appending its contents to
the original file in a separate shell pipeline.

6 years agoExtend prerequisites for the "xfer" system test
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Extend prerequisites for the "xfer" system test

The Net::DNS Perl module needs the Digest::HMAC module to support TSIG.
However, since the latter is not a hard requirement for the former, some
packagers do not make Net::DNS depend on Digest::HMAC.  If Net::DNS is
installed on a host but Digest::HMAC is not, the "xfer" system test
breaks in a very hard-to-debug way (ans5 returns TSIG RRs with empty
RDATA, which prevents TSIG-signed SOA queries and transfers from
working).  Prevent this from happening by making the "xfer" system test
explicitly require Digest::HMAC apart from Net::DNS.

6 years agoMake "digdelv" system test work with BusyBox sed
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Make "digdelv" system test work with BusyBox sed

The BusyBox version of sed treats leading '\+' in a regular expression
to be matched as a syntax error ("Repetition not preceded by valid
expression"), which triggers false positives for the "digdelv" system
test.  Make the relevant sed invocations work portably across all sed
implementations by removing the leading backslash.

6 years agoMake "autosign" system test work with BusyBox awk
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Make "autosign" system test work with BusyBox awk

The BusyBox version of awk treats some variables which other awk
implementations consider to be decimal values as octal values.  This
intermittently breaks key event interval calculations in the "autosign"
system test, trigger false positives for it.  Prevent the problem from
happening by stripping leading zeros from the affected awk variables.

6 years agoTweak buffer sizes to prevent compilation warnings
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Tweak buffer sizes to prevent compilation warnings

For some libc implementations, BUFSIZ is small enough (e.g. 1024 for
musl libc) to trigger compilation warnings about insufficient size of
certain buffers.  Since the relevant buffers are used for printing DNS
names, increase their size to '(n + 1) * DNS_NAME_FORMATSIZE', where 'n'
is the number of DNS names which are printed to a given buffer.  This
results in somewhat arbitrary, albeit nicely-aligned and large enough
buffer sizes.

6 years agoAlways include <errno.h> instead of <sys/errno.h>
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Always include <errno.h> instead of <sys/errno.h>

Including <sys/errno.h> instead of <errno.h> raises a compiler warning
when building against musl libc.  Always include <errno.h> instead of
<sys/errno.h> to prevent that compilation warning from being triggered
and to achieve consistency in this regard across the entire source tree.

6 years agoUnify header ordering in unit tests
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Unify header ordering in unit tests

Make sure all unit tests include headers in a similar order:

 1. Three headers which must be included before <cmocka.h>.
 2. System headers.
 3. UNIT_TESTING definition, followed by the <cmocka.h> header.
 4. libisc headers.
 5. Headers from other BIND libraries.
 6. Local headers.

Also make sure header file names are sorted alphabetically within each
block of #include directives.

6 years agoInclude <sched.h> where necessary for musl libc
Michał Kępień [Tue, 30 Jul 2019 19:08:40 +0000 (21:08 +0200)] 
Include <sched.h> where necessary for musl libc

All unit tests define the UNIT_TESTING macro, which causes <cmocka.h> to
replace malloc(), calloc(), realloc(), and free() with its own functions
tracking memory allocations.  In order for this not to break
compilation, the system header declaring the prototypes for these
standard functions must be included before <cmocka.h>.

Normally, these prototypes are only present in <stdlib.h>, so we make
sure it is included before <cmocka.h>.  However, musl libc also defines
the prototypes for calloc() and free() in <sched.h>, which is included
by <pthread.h>, which is included e.g. by <isc/mutex.h>.  Thus, unit
tests including "dnstest.h" (which includes <isc/mem.h>, which includes
<isc/mutex.h>) after <cmocka.h> will not compile with musl libc as for
these programs, <sched.h> will be included after <cmocka.h>.

Always including <cmocka.h> after all other header files is not a
feasible solution as that causes the mock assertion macros defined in
<isc/util.h> to mangle the contents of <cmocka.h>, thus breaking
compilation.  We cannot really use the __noreturn__ or analyzer_noreturn
attributes with cmocka assertion functions because they do return if the
tested condition is true.  The problem is that what BIND unit tests do
is incompatible with Clang Static Analyzer's assumptions: since we use
cmocka, our custom assertion handlers are present in a shared library
(i.e. it is the cmocka library that checks the assertion condition, not
a macro in unit test code).  Redefining cmocka's assertion macros in
<isc/util.h> is an ugly hack to overcome that problem - unfortunately,
this is the only way we can think of to make Clang Static Analyzer
properly process unit test code.  Giving up on Clang Static Analyzer
being able to properly process unit test code is not a satisfactory
solution.

Undefining _GNU_SOURCE for unit test code could work around the problem
(musl libc's <sched.h> only defines the prototypes for calloc() and
free() when _GNU_SOURCE is defined), but doing that could introduce
discrepancies for unit tests including entire *.c files, so it is also
not a good solution.

All in all, including <sched.h> before <cmocka.h> for all affected unit
tests seems to be the most benign way of working around this musl libc
quirk.  While quite an ugly solution, it achieves our goals here, which
are to keep the benefit of proper static analysis of unit test code and
to fix compilation against musl libc.

6 years agoMerge branch 'michal/filter-aaaa-system-test-make-root-hints-consistent-with-authorit...
Michał Kępień [Mon, 29 Jul 2019 20:10:44 +0000 (16:10 -0400)] 
Merge branch 'michal/filter-aaaa-system-test-make-root-hints-consistent-with-authoritative-data' into 'master'

"filter-aaaa" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2057

6 years agoMake root hints consistent with authoritative data
Michał Kępień [Mon, 29 Jul 2019 19:44:31 +0000 (21:44 +0200)] 
Make root hints consistent with authoritative data

Resolvers in the "filter-aaaa" system test are configured with a single
root hint: "ns.rootservers.net", pointing to 10.53.0.1.  However,
querying ns1 for "ns.rootservers.net" results in NXDOMAIN answers.
Since the TTL for the root hint is set to 0, it may happen that a
resolver's ADB will be asked to return any known addresses for
"ns.rootservers.net", but it will only have access to a cached NXDOMAIN
answer for that name and an expired root hint, which will result in a
resolution failure, triggering a false positive for the "filter-aaaa"
system test.  Prevent this from happening by making all the root hints
consistent with authoritative data served by ns1.

6 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Fri, 26 Jul 2019 02:05:03 +0000 (22:05 -0400)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!2202

6 years agoplaceholder
Evan Hunt [Fri, 26 Jul 2019 02:04:29 +0000 (22:04 -0400)] 
placeholder

6 years agoMerge branch '1030-statistics-channel-improvements-generated-files' into 'master'
Ondřej Surý [Fri, 26 Jul 2019 01:43:52 +0000 (21:43 -0400)] 
Merge branch '1030-statistics-channel-improvements-generated-files' into 'master'

Regenerate bind9.xsl.h

Closes #1030

See merge request isc-projects/bind9!2201

6 years agoRegenerate bind9.xsl.h
Ondřej Surý [Fri, 26 Jul 2019 01:31:47 +0000 (21:31 -0400)] 
Regenerate bind9.xsl.h

6 years agoMerge branch 'matthijs-addzone-ignored-some-test-results' into 'master'
Matthijs Mekking [Thu, 25 Jul 2019 15:03:40 +0000 (11:03 -0400)] 
Merge branch 'matthijs-addzone-ignored-some-test-results' into 'master'

The 'addzone' test ignored some test results

See merge request isc-projects/bind9!2198

6 years agoThe 'addzone' test ignored some test results
Matthijs Mekking [Thu, 25 Jul 2019 14:30:20 +0000 (16:30 +0200)] 
The 'addzone' test ignored some test results

6 years agoMerge branch '1030-statistics-channel-improvements' into 'master'
Ondřej Surý [Thu, 25 Jul 2019 12:22:32 +0000 (08:22 -0400)] 
Merge branch '1030-statistics-channel-improvements' into 'master'

Statistics Channel Improvements

Closes #1030

See merge request isc-projects/bind9!1944

6 years agoadd CHANGES
Mark Andrews [Thu, 16 May 2019 01:06:48 +0000 (11:06 +1000)] 
add CHANGES

6 years agouse h?+script selectors
Mark Andrews [Wed, 15 May 2019 08:17:26 +0000 (18:17 +1000)] 
use h?+script selectors

6 years agotoggle graph/counter pairs
Mark Andrews [Wed, 15 May 2019 07:36:18 +0000 (17:36 +1000)] 
toggle graph/counter pairs

6 years agotoggle graph/counter pairs
Mark Andrews [Wed, 15 May 2019 06:46:25 +0000 (16:46 +1000)] 
toggle graph/counter pairs

6 years agoMake statistics tables (in HTML view) togglable
Timothe Litt [Tue, 14 May 2019 21:21:56 +0000 (17:21 -0400)] 
Make statistics tables (in HTML view) togglable

The HTML view of the statistics channel creates
pages with many long tables.  These can be difficult
to navigate.

This commit adds a "show/hide" toggle to each
heading, which makes it easy to compress/expand
the view.

6 years agoMerge branch 'ondrej/cleanup_isc_mem_get_failure_handling_blocks' into 'master'
Ondřej Surý [Tue, 23 Jul 2019 20:25:14 +0000 (16:25 -0400)] 
Merge branch 'ondrej/cleanup_isc_mem_get_failure_handling_blocks' into 'master'

Cleanup isc_mem_get() failure handling blocks

See merge request isc-projects/bind9!2155

6 years agofurther cleanup
Evan Hunt [Tue, 23 Jul 2019 18:56:24 +0000 (14:56 -0400)] 
further cleanup

- removed some dead code
- dns_zone_setdbtype is now void as it could no longer return
  anything but ISC_R_SUCCESS; calls to it no longer check for a result
- controlkeylist_fromconfig() is also now void
- fixed a whitespace error

6 years agoCleanup the failure handling in isc_mem_allocate
Ondřej Surý [Tue, 23 Jul 2019 18:34:19 +0000 (14:34 -0400)] 
Cleanup the failure handling in isc_mem_allocate

6 years agoAdjust tkey_test.c test to mock_assert() when there's no memory
Ondřej Surý [Tue, 23 Jul 2019 15:55:19 +0000 (11:55 -0400)] 
Adjust tkey_test.c test to mock_assert() when there's no memory

6 years agoCleanup stray goto labels from removing isc_mem_allocate/strdup checking blocks
Ondřej Surý [Tue, 23 Jul 2019 15:18:14 +0000 (11:18 -0400)] 
Cleanup stray goto labels from removing isc_mem_allocate/strdup checking blocks

6 years agoUse coccinelle to cleanup the failure handling blocks from isc_mem_strdup
Ondřej Surý [Tue, 23 Jul 2019 15:12:11 +0000 (11:12 -0400)] 
Use coccinelle to cleanup the failure handling blocks from isc_mem_strdup

6 years agoUse coccinelle to cleanup the failure handling blocks from isc_mem_allocate
Ondřej Surý [Tue, 23 Jul 2019 14:56:26 +0000 (10:56 -0400)] 
Use coccinelle to cleanup the failure handling blocks from isc_mem_allocate

6 years agoAdd spatch for isc_mem_allocate; it also cannot fail gracefully
Ondřej Surý [Tue, 23 Jul 2019 14:54:52 +0000 (10:54 -0400)] 
Add spatch for isc_mem_allocate; it also cannot fail gracefully

6 years agoAdd spatch for isc_mem_strdup; it also cannot fail gracefully
Ondřej Surý [Tue, 23 Jul 2019 14:52:31 +0000 (10:52 -0400)] 
Add spatch for isc_mem_strdup; it also cannot fail gracefully

6 years agoRemove blocks checking whether isc_mem_get() failed using the coccinelle
Ondřej Surý [Tue, 16 Jul 2019 13:52:14 +0000 (15:52 +0200)] 
Remove blocks checking whether isc_mem_get() failed using the coccinelle

6 years agoAdd semantic patch to remove checking for isc_mem_get() return value
Ondřej Surý [Tue, 16 Jul 2019 13:50:45 +0000 (15:50 +0200)] 
Add semantic patch to remove checking for isc_mem_get() return value

The isc_mem_get() cannot fail gracefully now, it either gets memory of
assert()s.  The added semantic patch cleans all the blocks checking whether
the return value of isc_mem_get() was NULL.

6 years agoRevert to patch generating check-cocci script
Ondřej Surý [Tue, 16 Jul 2019 14:50:09 +0000 (16:50 +0200)] 
Revert to patch generating check-cocci script

The coccinelle and util/update_copyright script have different
idea about how the whitespace should look like.  Revert the script
to the previous version, so it doesn't mangle the files in place,
and deal with just whitespace changes.

6 years agoMerge branch 'ondrej/disable-LD_WRAP-without-libtool' into 'master'
Ondřej Surý [Tue, 23 Jul 2019 16:02:03 +0000 (12:02 -0400)] 
Merge branch 'ondrej/disable-LD_WRAP-without-libtool' into 'master'

Disable LD_WRAP tests when libtool is disabled

See merge request isc-projects/bind9!2192

6 years agoDisable LD_WRAP tests when libtool is disabled
Ondřej Surý [Tue, 23 Jul 2019 15:49:21 +0000 (11:49 -0400)] 
Disable LD_WRAP tests when libtool is disabled

6 years agoMerge branch 'ondrej/fix-LD_WRAP-Makefile' into 'master'
Ondřej Surý [Tue, 23 Jul 2019 13:05:36 +0000 (09:05 -0400)] 
Merge branch 'ondrej/fix-LD_WRAP-Makefile' into 'master'

Fix the lib/dns/tests/Makefile.in to work without LD_WRAP

See merge request isc-projects/bind9!2188

6 years agoFix the lib/dns/tests/Makefile.in to work without LD_WRAP
Ondřej Surý [Tue, 23 Jul 2019 12:59:36 +0000 (08:59 -0400)] 
Fix the lib/dns/tests/Makefile.in to work without LD_WRAP

6 years agoMerge branch '1149-restore-locking-in-resume_dslookup' into 'master'
Ondřej Surý [Tue, 23 Jul 2019 11:02:44 +0000 (07:02 -0400)] 
Merge branch '1149-restore-locking-in-resume_dslookup' into 'master'

Restore locking in resume_dslookup()

Closes #1149

See merge request isc-projects/bind9!2184

6 years agoRestore locking in resume_dslookup()
Michał Kępień [Tue, 23 Jul 2019 09:43:46 +0000 (11:43 +0200)] 
Restore locking in resume_dslookup()

Commit 9da902a201b6d0e1bdbac0af067a59bb0a489c9c removed locking around
the fctx_decreference() call inside resume_dslookup().  This allows
fctx_unlink() to be called without the bucket lock being held, which
must never happen.  Ensure the bucket lock is held by resume_dslookup()
before it calls fctx_decreference().

6 years agoMerge branch 'u/fanf2/arm-rrset-order-random' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 22:24:32 +0000 (18:24 -0400)] 
Merge branch 'u/fanf2/arm-rrset-order-random' into 'master'

doc/arm: correct default for rrset-order

See merge request isc-projects/bind9!2146

6 years agodoc/arm: correct default for rrset-order
Tony Finch [Wed, 10 Jul 2019 17:15:46 +0000 (18:15 +0100)] 
doc/arm: correct default for rrset-order

6 years agoMerge branch '195-add-dnstap-builds-to-ci' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 21:48:27 +0000 (17:48 -0400)] 
Merge branch '195-add-dnstap-builds-to-ci' into 'master'

Add dnstap builds to CI

Closes #195

See merge request isc-projects/bind9!2160

6 years agoAdd dnstap builds to CI
Michał Kępień [Fri, 19 Jul 2019 09:44:40 +0000 (11:44 +0200)] 
Add dnstap builds to CI

Ensure BIND with dnstap support enabled is being continuously tested by
adding --enable-dnstap to the ./configure invocation used for CentOS 7
and Debian sid builds in GitLab CI.

6 years agoMerge branch 'each-fix-ld-wrap-test' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 21:18:02 +0000 (17:18 -0400)] 
Merge branch 'each-fix-ld-wrap-test' into 'master'

Fix LD_WRAP test in configure

See merge request isc-projects/bind9!1806

6 years agoMake the symbol wrapping work with dynamic linking
Evan Hunt [Mon, 15 Apr 2019 20:41:21 +0000 (13:41 -0700)] 
Make the symbol wrapping work with dynamic linking

When the unit test is linked with dynamic libraries, the wrapping
doesn't occur, probably because it's different translation unit.

To workaround the issue, we provide thin wrappers with *real* symbol
names that just call the mocked functions.

6 years agoFix the configure.ac and Makefile.in to correctly test for --wrap
Ondřej Surý [Mon, 22 Jul 2019 15:52:55 +0000 (17:52 +0200)] 
Fix the configure.ac and Makefile.in to correctly test for --wrap

6 years agoMerge branch '1136-named-checkconf-should-report-missing-dnstap-output-option-when...
Mark Andrews [Mon, 22 Jul 2019 19:28:08 +0000 (15:28 -0400)] 
Merge branch '1136-named-checkconf-should-report-missing-dnstap-output-option-when-dnstap-option-is-set' into 'master'

Resolve "named-checkconf should report missing dnstap-output option when dnstap option is set"

Closes #1136

See merge request isc-projects/bind9!2147

6 years agonamed-checkconf failed to report dnstap-output missing
Mark Andrews [Fri, 12 Jul 2019 04:28:03 +0000 (14:28 +1000)] 
named-checkconf failed to report dnstap-output missing

from named.conf when dnstap was specified

6 years agoMerge branch '1106-interaction-between-dns64-and-rpz-can-cause-unexpected-results...
Mark Andrews [Mon, 22 Jul 2019 18:33:52 +0000 (14:33 -0400)] 
Merge branch '1106-interaction-between-dns64-and-rpz-can-cause-unexpected-results' into 'master'

Resolve "Interaction between dns64 and RPZ can cause unexpected results"

Closes #1106

See merge request isc-projects/bind9!2111

6 years agoadd CHANGES
Mark Andrews [Mon, 22 Jul 2019 18:18:05 +0000 (04:18 +1000)] 
add CHANGES

6 years agoDo not attempt to perform a DNS64 rewrite if RPZ returns NODATA.
Mark Andrews [Mon, 1 Jul 2019 03:44:30 +0000 (13:44 +1000)] 
Do not attempt to perform a DNS64 rewrite if RPZ returns NODATA.

6 years agoCheck that RPZ 'CNAME *.' (NODATA) works with DNS64.
Mark Andrews [Mon, 1 Jul 2019 01:23:28 +0000 (11:23 +1000)] 
Check that RPZ 'CNAME *.' (NODATA) works with DNS64.

6 years agoMerge branch 'michal/add-debian-buster-to-ci' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 15:18:47 +0000 (11:18 -0400)] 
Merge branch 'michal/add-debian-buster-to-ci' into 'master'

Add Debian buster to CI

See merge request isc-projects/bind9!2162

6 years agoAdd Debian buster to CI
Michał Kępień [Fri, 19 Jul 2019 09:56:24 +0000 (11:56 +0200)] 
Add Debian buster to CI

Ensure BIND is continuously tested on Debian 10 (buster) as it is the
current stable Debian release.

6 years agoMerge branch '1149-fix-crashes-during-resolver-shutdown' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 14:02:57 +0000 (10:02 -0400)] 
Merge branch '1149-fix-crashes-during-resolver-shutdown' into 'master'

Restore locking in dns_resolver_shutdown and dns_resolver_attach

Closes #1149

See merge request isc-projects/bind9!2164

6 years agoRestore more locking in the lib/dns/resolver.c code
Ondřej Surý [Mon, 22 Jul 2019 12:45:23 +0000 (08:45 -0400)] 
Restore more locking in the lib/dns/resolver.c code

1. Restore locking in the fctx_decreference() code, because the insides of the
   function needs to be protected when fctx->references drops to 0.

2. Restore locking in the dns_resolver_attach() code, because two variables are
   accessed at the same time and there's slight chance of data race.

6 years agoRestore locking in dns_resolver_shutdown and dns_resolver_attach
Ondřej Surý [Fri, 19 Jul 2019 10:54:23 +0000 (12:54 +0200)] 
Restore locking in dns_resolver_shutdown and dns_resolver_attach

Although the struct dns_resolver.exiting member is protected by stdatomics, we
actually need to wait for whole dns_resolver_shutdown() to finish before
destroying the resolver object.  Otherwise, there would be a data race and some
fctx objects might not be destroyed yet at the time we tear down the
dns_resolver object.

6 years agoMerge branch '605-fixes' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 12:15:34 +0000 (08:15 -0400)] 
Merge branch '605-fixes' into 'master'

Fix missing siphash_test from Kyuafile and missing endian.h from MSVC build files

Closes #605

See merge request isc-projects/bind9!2173

6 years agoAdd siphash_test to lib/isc/tests/Kyuafile
Ondřej Surý [Mon, 22 Jul 2019 11:56:00 +0000 (07:56 -0400)] 
Add siphash_test to lib/isc/tests/Kyuafile

6 years agoAdd endian.h to libisc.vcxproj.* files
Ondřej Surý [Mon, 22 Jul 2019 11:55:52 +0000 (07:55 -0400)] 
Add endian.h to libisc.vcxproj.* files

6 years agoMerge branch '1153-fix-broken-atomics-on-windows' into 'master'
Ondřej Surý [Mon, 22 Jul 2019 02:18:48 +0000 (22:18 -0400)] 
Merge branch '1153-fix-broken-atomics-on-windows' into 'master'

Fixup the increment vs decrement typo in lib/isc/win32/socket.c

Closes #1153

See merge request isc-projects/bind9!2172

6 years agoFixup the increment vs decrement typo in lib/isc/win32/socket.c
Ondřej Surý [Mon, 22 Jul 2019 02:05:24 +0000 (22:05 -0400)] 
Fixup the increment vs decrement typo in lib/isc/win32/socket.c

6 years agoMerge branch '605-add-siphash24-wpk' into 'master'
Ondřej Surý [Sun, 21 Jul 2019 19:30:30 +0000 (15:30 -0400)] 
Merge branch '605-add-siphash24-wpk' into 'master'

Synchronize the Cookie algorithm to SipHash-2-4 with other open-source DNS vendors

Closes #605

See merge request isc-projects/bind9!1788