]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
6 years agoFix the tkey system test to allow parallel run
Ondřej Surý [Wed, 18 Mar 2020 14:33:52 +0000 (15:33 +0100)] 
Fix the tkey system test to allow parallel run

The tkey test was not adapted to dynamic ports, so we had to run it in
sequence.  This commit adds support for dynamic ports, and also makes
all the scripts shellcheck clean.

6 years agoFix the eddsa system test to allow parallel run
Ondřej Surý [Wed, 18 Mar 2020 14:30:56 +0000 (15:30 +0100)] 
Fix the eddsa system test to allow parallel run

The eddsa test was not adapted to dynamic ports, so we had to run it in
sequence.  This commit adds support for dynamic ports, and also makes
all the scripts shellcheck clean.

6 years agoFix the ecdsa system test to allow parallel run
Ondřej Surý [Wed, 18 Mar 2020 14:24:15 +0000 (15:24 +0100)] 
Fix the ecdsa system test to allow parallel run

The ecdsa test was not adapted to dynamic ports, so we had to run it in
sequence.  This commit adds support for dynamic ports, and also makes
all the scripts shellcheck clean.

6 years agoMerge branch '1679-remove-workaround-for-systems-with-broken-gettimeofday-system...
Ondřej Surý [Thu, 19 Mar 2020 08:34:49 +0000 (08:34 +0000)] 
Merge branch '1679-remove-workaround-for-systems-with-broken-gettimeofday-system-calls' into 'master'

Remove Solaris 2.8 broken gettimeofday() workaround

Closes #1679

See merge request isc-projects/bind9!3238

6 years agoUse clock_gettime() instead of gettimeofday() for isc_stdtime function
Ondřej Surý [Mon, 16 Mar 2020 08:58:30 +0000 (09:58 +0100)] 
Use clock_gettime() instead of gettimeofday() for isc_stdtime function

This also removes Solaris 2.8 broken gettimeofday() workaround

6 years agoMerge branch '4-gitlab-ci.yml-improvement' into 'master'
Ondřej Surý [Wed, 18 Mar 2020 11:51:59 +0000 (11:51 +0000)] 
Merge branch '4-gitlab-ci.yml-improvement' into 'master'

Improve GitLab CI configuration

See merge request isc-projects/bind9!3254

6 years agoRename MAKE environment variable to MAKE_COMMAND
Ondřej Surý [Tue, 7 Aug 2018 14:46:53 +0000 (16:46 +0200)] 
Rename MAKE environment variable to MAKE_COMMAND

The environment variable MAKE has been replaced with MAKE_COMMAND,
because overriding MAKE variable also changed the definition of the MAKE
inside the Makefiles, and we want only a single wrapper around the whole
build process.

Previously, setting `MAKE` to `bear make` meant that `bear make` would
be run at every nested make invocation, which messed up the upcoming
automake transition as compile_commands.json would be generated in every
subdirectory instead of just having one central file at the top of the
build tree.

6 years agoRemove cppcheck arm64 job
Ondřej Surý [Tue, 7 Aug 2018 14:46:53 +0000 (16:46 +0200)] 
Remove cppcheck arm64 job

All *:sid:amd64 jobs were errorneously copied to *:sid:arm64 including
the extra cppcheck run.  Remove the extra definitions from arm64 jobs.

6 years agoReplace dependencies+needs with needs+artifacts in GitLabCI config
Ondřej Surý [Tue, 7 Aug 2018 14:46:53 +0000 (16:46 +0200)] 
Replace dependencies+needs with needs+artifacts in GitLabCI config

All jobs now use solely the newer needs configuration to declare
dependencies between jobs:

    needs:
      - job: <foo>
        artifacts: true

instead of combination of dependencies and needs which is deprecated.
This change completely unbundles the stages (alas the stages still needs
to stay because the job graph has to stay acyclic between the stages).

6 years agoMerge branch '1675-logfileconfig-system-test-crashes-occasionally-rwlock' into 'master'
Ondřej Surý [Wed, 18 Mar 2020 11:50:39 +0000 (11:50 +0000)] 
Merge branch '1675-logfileconfig-system-test-crashes-occasionally-rwlock' into 'master'

Use isc_rwlock to lock .logconfig member of isc_log_t

Closes #1675

See merge request isc-projects/bind9!3229

6 years agoUse isc_rwlock to lock .logconfig member of isc_log_t
Ondřej Surý [Fri, 13 Mar 2020 14:16:14 +0000 (15:16 +0100)] 
Use isc_rwlock to lock .logconfig member of isc_log_t

In isc_log_woudlog() the .logconfig member of isc_log_t structure was
accessed unlocked on the merit that there could be just a race when
.logconfig would be NULL, so the message would not be logged.  This
turned not to be true, as there's also data race deeper.  The accessed
isc_logconfig_t object could be in the middle of destruction, so the
pointer would be still non-NULL, but the structure members could point
to a chunk of memory no longer belonging to the object.  Since we are
only accessing integer types (the log level), this would never lead to
a crash, it leads to memory access to memory area no longer belonging to
the object and this a) wrong, b) raises a red flag in thread-safety tools.

6 years agoMerge branch 'marka-memget-cannot-fail-logging' into 'master'
Ondřej Surý [Wed, 18 Mar 2020 10:34:28 +0000 (10:34 +0000)] 
Merge branch 'marka-memget-cannot-fail-logging' into 'master'

Cleanup logging API now that isc_mem_get cannot fail.

See merge request isc-projects/bind9!3252

6 years agoRefactor the isc_log API so it cannot fail on memory failures
Mark Andrews [Wed, 18 Mar 2020 03:17:55 +0000 (14:17 +1100)] 
Refactor the isc_log API so it cannot fail on memory failures

The isc_mem API now crashes on memory allocation failure, and this is
the next commit in series to cleanup the code that could fail before,
but cannot fail now, e.g. isc_result_t return type has been changed to
void for the isc_log API functions that could only return ISC_R_SUCCESS.

6 years agoMerge branch 'each-lgtm-fixes' into 'master'
Evan Hunt [Tue, 17 Mar 2020 22:18:10 +0000 (22:18 +0000)] 
Merge branch 'each-lgtm-fixes' into 'master'

fix LGTM warnings

See merge request isc-projects/bind9!3200

6 years agoAdd C11 localtime_r and gmtime_r shims for Windows
Ondřej Surý [Fri, 13 Mar 2020 07:38:37 +0000 (08:38 +0100)] 
Add C11 localtime_r and gmtime_r shims for Windows

On Windows, C11 localtime_r() and gmtime_r() functions are not
available.  While localtime() and gmtime() functions are already thread
safe because they use Thread Local Storage, it's quite ugly to #ifdef
around every localtime_r() and gmtime_r() usage to make the usage also
thread-safe on POSIX platforms.

The commit adds wrappers around Windows localtime_s() and gmtime_s()
functions.

NOTE: The implementation of localtime_s and gmtime_s in Microsoft CRT
are incompatible with the C standard since it has reversed parameter
order and errno_t return type.

6 years agosilence a warning about unsafe snprintf() call
Evan Hunt [Tue, 10 Mar 2020 03:51:21 +0000 (20:51 -0700)] 
silence a warning about unsafe snprintf() call

6 years agoclean up dead code
Evan Hunt [Tue, 10 Mar 2020 03:01:29 +0000 (20:01 -0700)] 
clean up dead code

removed an if statement that always evaluated to false

6 years agoreplace unsafe ctime() and gmtime() function calls
Evan Hunt [Tue, 10 Mar 2020 01:52:33 +0000 (18:52 -0700)] 
replace unsafe ctime() and gmtime() function calls

This silences LGTM warnings that these functions are not thread-safe.

6 years agoremove or comment empty conditional branches
Evan Hunt [Tue, 10 Mar 2020 01:23:13 +0000 (18:23 -0700)] 
remove or comment empty conditional branches

some empty conditional branches which contained a semicolon were
"fixed" by clang-format to contain nothing. add comments to prevent this.

6 years agoMerge branch '1684-timer-test-build' into 'master'
Evan Hunt [Tue, 17 Mar 2020 20:10:02 +0000 (20:10 +0000)] 
Merge branch '1684-timer-test-build' into 'master'

fix a pointer-to-int cast error

Closes #1684

See merge request isc-projects/bind9!3246

6 years agofix a pointer-to-int cast error
Evan Hunt [Tue, 17 Mar 2020 18:18:36 +0000 (11:18 -0700)] 
fix a pointer-to-int cast error

6 years agoMerge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc...
Ondřej Surý [Tue, 17 Mar 2020 15:00:56 +0000 (15:00 +0000)] 
Merge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc/md.h' into 'master'

Make isc_md API to not leak OpenSSL symbols

Closes #1672

See merge request isc-projects/bind9!3218

6 years agoStop leaking OpenSSL types and defines in the isc/md.h
Ondřej Surý [Thu, 12 Mar 2020 09:20:37 +0000 (10:20 +0100)] 
Stop leaking OpenSSL types and defines in the isc/md.h

The <isc/md.h> header directly included <openssl/evp.h> header which
enforced all users of the libisc library to explicitly list the include
path to OpenSSL and link with -lcrypto.  By hiding the specific
implementation into the private namespace, we no longer enforce this.
In the long run, this might also allow us to switch cryptographic
library implementation without affecting the downstream users.

While making the isc_md_type_t type opaque, the API using the data type
was changed to use the pointer to isc_md_type_t instead of using the
type directly.

6 years agoMerge branch '1682-dighost-c-idn_output_filter-has-off-by-one-error' into 'master'
Mark Andrews [Tue, 17 Mar 2020 04:43:46 +0000 (04:43 +0000)] 
Merge branch '1682-dighost-c-idn_output_filter-has-off-by-one-error' into 'master'

Resolve "dighost.c: idn_output_filter has off by one error"

Closes #1682

See merge request isc-projects/bind9!3243

6 years agoaddress off by one error in idn_output_filter
Mark Andrews [Tue, 17 Mar 2020 02:56:30 +0000 (13:56 +1100)] 
address off by one error in idn_output_filter

6 years agoMerge branch '1138-from-bugs-43718-extend-nsip-wait-recurse-or-add-nsdname-wait-recur...
Diego dos Santos Fronza [Mon, 16 Mar 2020 18:50:53 +0000 (18:50 +0000)] 
Merge branch '1138-from-bugs-43718-extend-nsip-wait-recurse-or-add-nsdname-wait-recurse' into 'master'

Resolve "From Bugs (#43718) : extend nsip-wait-recurse or add nsdname-wait-recurse"

Closes #1138

See merge request isc-projects/bind9!3134

6 years agoAdd CHANGES and release note
Diego Fronza [Wed, 11 Mar 2020 19:32:47 +0000 (16:32 -0300)] 
Add CHANGES and release note

6 years agoAdded nsdname-wait-recurse documentation to ARM
Diego Fronza [Wed, 11 Mar 2020 19:58:36 +0000 (16:58 -0300)] 
Added nsdname-wait-recurse documentation to ARM

6 years agoincidental fix: dnsrps test was failing
Evan Hunt [Thu, 12 Mar 2020 07:28:26 +0000 (00:28 -0700)] 
incidental fix: dnsrps test was failing

the test for logging of invalid prefixes doesn't work when running
with dnsrps; disable it in that case.

6 years agoAdded test for nsdname-wait-recurse option
Diego Fronza [Mon, 2 Mar 2020 18:16:34 +0000 (15:16 -0300)] 
Added test for nsdname-wait-recurse option

6 years agoAdded RPZ configuration option "nsdname-wait-recurse"
Diego Fronza [Mon, 2 Mar 2020 17:52:10 +0000 (14:52 -0300)] 
Added RPZ configuration option "nsdname-wait-recurse"

This new option was added to fill a gap in RPZ configuration
options.

It was possible to instruct BIND wheter NSIP rewritting rules would
apply or not, as long as the required data was already in cache or not,
respectively, by means of the option nsip-wait-recurse.

A value of yes (default) could incur a little processing cost, since
BIND would need to recurse to find NS addresses in case they were not in
the cache.

This behavior could be changed by setting nsip-wait-recurse value to no,
in which case BIND would promptly return some error code if the NS IP addresses
data were not in cache, then BIND would start a recursive query
in background, so future similar requests would have the required data
(NS IPs) in cache, allowing BIND to apply NSIP rules accordingly.

A similar feature wasn't available for NSDNAME triggers, so this commit
adds the option nsdname-wait-recurse to fill this gap, as it was
expected by couple BIND users.

6 years agoMerge branch 'michal/update-gitlab-ci-to-freebsd-12.1' into 'master'
Michał Kępień [Mon, 16 Mar 2020 10:33:31 +0000 (10:33 +0000)] 
Merge branch 'michal/update-gitlab-ci-to-freebsd-12.1' into 'master'

Update GitLab CI to FreeBSD 12.1

See merge request isc-projects/bind9!3180

6 years agoMove FreeBSD CI jobs to libvirt-based executors
Michał Kępień [Mon, 16 Mar 2020 10:32:46 +0000 (11:32 +0100)] 
Move FreeBSD CI jobs to libvirt-based executors

To get rid of the currently used FreeBSD-specific executor, move FreeBSD
CI jobs to libvirt-based executors.  Make the necessary tag and variable
adjustments.

6 years agoUpdate GitLab CI to FreeBSD 12.1
Michał Kępień [Mon, 16 Mar 2020 10:32:46 +0000 (11:32 +0100)] 
Update GitLab CI to FreeBSD 12.1

Since FreeBSD 12.1 is the current FreeBSD 12.x release, replace FreeBSD
12.0 GitLab CI jobs with their up-to-date counterparts.

6 years agoMerge branch '4-convert-lmdb-check-to-macro' into 'master'
Ondřej Surý [Mon, 16 Mar 2020 09:44:49 +0000 (09:44 +0000)] 
Merge branch '4-convert-lmdb-check-to-macro' into 'master'

Add AX_LIB_LMDB macro

See merge request isc-projects/bind9!3205

6 years agoLink with LMDB only where needed
Ondřej Surý [Tue, 10 Mar 2020 11:45:36 +0000 (12:45 +0100)] 
Link with LMDB only where needed

6 years agoConvert lmdb check to m4 macro
Ondřej Surý [Tue, 10 Mar 2020 11:37:25 +0000 (12:37 +0100)] 
Convert lmdb check to m4 macro

6 years agoMerge branch '1681-compile-error-geoip_test-c-maxminddb-h-file-not-found' into 'master'
Mark Andrews [Mon, 16 Mar 2020 07:50:16 +0000 (07:50 +0000)] 
Merge branch '1681-compile-error-geoip_test-c-maxminddb-h-file-not-found' into 'master'

Resolve "compile error: geoip_test.c - maxminddb.h file not found"

Closes #1681

See merge request isc-projects/bind9!3233

6 years agoAdd MAXMINDDB_CFLAGS to CINCLUDES
Mark Andrews [Mon, 16 Mar 2020 05:15:03 +0000 (16:15 +1100)] 
Add MAXMINDDB_CFLAGS to CINCLUDES

6 years agoMerge branch '1676-address-timing-issue-in-forward-system-test' into 'master'
Mark Andrews [Sun, 15 Mar 2020 23:30:46 +0000 (23:30 +0000)] 
Merge branch '1676-address-timing-issue-in-forward-system-test' into 'master'

Resolve "Address timing issue in forward system test."

Closes #1676

See merge request isc-projects/bind9!3221

6 years agowait for the reply message before checking to avoid false negative.
Mark Andrews [Fri, 13 Mar 2020 00:23:40 +0000 (11:23 +1100)] 
wait for the reply message before checking to avoid false negative.

Waiting for the reply message will ensure that all messages being
looked for exist in the logs at the time of checking.  When the
test was only waiting for the send message there was a race between
grep and the ns1 instance of named logging that it had seen the
request.

6 years agoMerge branch '1655-bind-9-11-5-writes-syntax-errors-to-its-zone-cache' into 'master'
Mark Andrews [Fri, 13 Mar 2020 04:00:26 +0000 (04:00 +0000)] 
Merge branch '1655-bind-9-11-5-writes-syntax-errors-to-its-zone-cache' into 'master'

Resolve "BIND 9.11.5 writes syntax errors to its zone cache"

Closes #1655

See merge request isc-projects/bind9!3150

6 years agoAdd CHANGES note
Mark Andrews [Wed, 4 Mar 2020 02:09:54 +0000 (13:09 +1100)] 
Add CHANGES note

6 years agoQuote zone name so that specials are handled
Mark Andrews [Wed, 4 Mar 2020 02:04:15 +0000 (13:04 +1100)] 
Quote zone name so that specials are handled

6 years agoPass NUL terminated buffer name to cfg_parse_buffer
Mark Andrews [Wed, 4 Mar 2020 02:02:50 +0000 (13:02 +1100)] 
Pass NUL terminated buffer name to cfg_parse_buffer

6 years agoTest reloading of zones with special
Mark Andrews [Wed, 4 Mar 2020 01:58:55 +0000 (12:58 +1100)] 
Test reloading of zones with special

6 years agoMerge branch 'marka-maybe-silence-missing-unlock' into 'master'
Mark Andrews [Fri, 13 Mar 2020 02:14:14 +0000 (02:14 +0000)] 
Merge branch 'marka-maybe-silence-missing-unlock' into 'master'

Silence missing unlock from Coverity.

See merge request isc-projects/bind9!3185

6 years agoSilence missing unlock from Coverity.
Mark Andrews [Mon, 9 Mar 2020 00:33:05 +0000 (11:33 +1100)] 
Silence missing unlock from Coverity.

Save 'i' to 'locknum' and use that rather than using
'header->node->locknum' when performing the deferred
unlock as 'header->node->locknum' can theoretically be
different to 'i'.

6 years agoMerge branch '1652-nslookup-assertion-at-soa_6-c-302-require-rdata-length-0-failed...
Mark Andrews [Fri, 13 Mar 2020 00:44:24 +0000 (00:44 +0000)] 
Merge branch '1652-nslookup-assertion-at-soa_6-c-302-require-rdata-length-0-failed-back-trace' into 'master'

Resolve "nslookup: assertion at soa_6.c:302: REQUIRE(rdata->length != 0) failed, back trace"

Closes #1652

See merge request isc-projects/bind9!3136

6 years agoCheck that dig/host/nslookup handle a UPDATE response.
Mark Andrews [Wed, 11 Mar 2020 04:15:08 +0000 (15:15 +1100)] 
Check that dig/host/nslookup handle a UPDATE response.

Additionally check that "delete $qname SOA" in the update
reponse doesn't trigger a insertion in nslookup.

6 years agoReport opcode mismatch
Mark Andrews [Wed, 11 Mar 2020 02:55:14 +0000 (13:55 +1100)] 
Report opcode mismatch

6 years agoturn off best effort processing in host and add the ability to specify the port
Mark Andrews [Tue, 3 Mar 2020 02:46:32 +0000 (13:46 +1100)] 
turn off best effort processing in host and add the ability to specify the port

6 years agoturn off best effort processing in nslookup
Mark Andrews [Tue, 3 Mar 2020 02:46:00 +0000 (13:46 +1100)] 
turn off best effort processing in nslookup

6 years agoMerge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc...
Ondřej Surý [Thu, 12 Mar 2020 21:22:46 +0000 (21:22 +0000)] 
Merge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc/hmac.h' into 'master'

Make isc_hmac API to not leak OpenSSL symbols

See merge request isc-projects/bind9!3216

6 years agoStop leaking OpenSSL types and defines in the isc/hmac.h
Ondřej Surý [Thu, 12 Mar 2020 08:45:58 +0000 (09:45 +0100)] 
Stop leaking OpenSSL types and defines in the isc/hmac.h

The <isc/md.h> header directly included <openssl/hmac.h> header which
enforced all users of the libisc library to explicitly list the include
path to OpenSSL and link with -lcrypto.  By hiding the specific
implementation into the private namespace, we no longer enforce this.
In the long run, this might also allow us to switch cryptographic
library implementation without affecting the downstream users.

6 years agoMerge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc...
Ondřej Surý [Thu, 12 Mar 2020 19:07:51 +0000 (19:07 +0000)] 
Merge branch '1672-stop-leaking-external-headers-and-symbols-to-the-public-api-isc/safe.h' into 'master'

Make isc_safe API to not leak OpenSSL symbols

See merge request isc-projects/bind9!3215

6 years agoStop leaking OpenSSL types and defines in the isc/safe.h
Ondřej Surý [Wed, 11 Mar 2020 20:23:17 +0000 (21:23 +0100)] 
Stop leaking OpenSSL types and defines in the isc/safe.h

The two "functions" that isc/safe.h declared before were actually simple
defines to matching OpenSSL functions.  The downside of the approach was
enforcing all users of the libisc library to explicitly list the include
path to OpenSSL and link with -lcrypto.  By hiding the specific
implementation into the private namespace changing the defines into
simple functions, we no longer enforce this.  In the long run, this
might also allow us to switch cryptographic library implementation
without affecting the downstream users.

6 years agoMerge branch '1673-lib-isc-pk11-c-depend-on-libdns-headers' into 'master'
Ondřej Surý [Thu, 12 Mar 2020 19:05:29 +0000 (19:05 +0000)] 
Merge branch '1673-lib-isc-pk11-c-depend-on-libdns-headers' into 'master'

Use ISC_R_CRYPTOFAILURE instead DST_R_CRYPTOFAILURE in libisc

Closes #1673

See merge request isc-projects/bind9!3220

6 years agoUse ISC_R_CRYPTOFAILURE instead DST_R_CRYPTOFAILURE in libisc
Ondřej Surý [Thu, 12 Mar 2020 16:50:29 +0000 (17:50 +0100)] 
Use ISC_R_CRYPTOFAILURE instead DST_R_CRYPTOFAILURE in libisc

There was a circular libisc dependency on libdns headers for
DST_R_CRYPTOFAILURE return code.  Replace it with ISC_R_CRYPTOFAILURE to
break the loop.

6 years agoMerge branch '864-zone-type-table-in-arm-needs-improvement' into 'master'
Evan Hunt [Thu, 12 Mar 2020 08:48:23 +0000 (08:48 +0000)] 
Merge branch '864-zone-type-table-in-arm-needs-improvement' into 'master'

Resolve "zone type table in ARM needs improvement"

Closes #864

See merge request isc-projects/bind9!1544

6 years agobuild doc
Evan Hunt [Mon, 9 Mar 2020 22:40:00 +0000 (15:40 -0700)] 
build doc

6 years agoimprove readability of bibliogrpahy
Evan Hunt [Mon, 9 Mar 2020 21:32:37 +0000 (14:32 -0700)] 
improve readability of bibliogrpahy

Change <biblioentry> and <citetitle> sections to improve the readability
of the bibliography sections. Thanks to Sun Guonian.

6 years agoshorten text for mirror zones to prevent overspill
Evan Hunt [Mon, 9 Mar 2020 22:34:14 +0000 (15:34 -0700)] 
shorten text for mirror zones to prevent overspill

6 years agouse relative widths for zone table
Mark Andrews [Wed, 20 Feb 2019 03:57:32 +0000 (14:57 +1100)] 
use relative widths for zone table

6 years agoMerge branch 'placeholder' into 'master'
Evan Hunt [Thu, 12 Mar 2020 07:37:05 +0000 (07:37 +0000)] 
Merge branch 'placeholder' into 'master'

placeholder

See merge request isc-projects/bind9!3214

6 years agoplaceholder
Evan Hunt [Thu, 12 Mar 2020 07:36:23 +0000 (00:36 -0700)] 
placeholder

6 years agoMerge branch '4-make-libtool-mandatory' into 'master'
Ondřej Surý [Wed, 11 Mar 2020 23:07:53 +0000 (23:07 +0000)] 
Merge branch '4-make-libtool-mandatory' into 'master'

Remove no-libtool and internal symtable configure options

See merge request isc-projects/bind9!3207

6 years agoImprove the backtrace to print symbols when backtrace_symbols() is available
Ondřej Surý [Wed, 11 Mar 2020 08:55:48 +0000 (09:55 +0100)] 
Improve the backtrace to print symbols when backtrace_symbols() is available

The previous commit removed the code related to the internal symbol
table.  On platforms where available, we can now use backtrace_symbols()
to print more verbose symbols table to the output.

As there's now general availability of backtrace() and
backtrace_symbols() functions (see below), the commit also removes the
usage of glibc internals and the custom stack tracing.

* backtrace(), backtrace_symbols(), and backtrace_symbols_fd() are
  provided in glibc since version 2.1.
* backtrace(), backtrace_symbols(), and backtrace_symbols_fd() first
  appeared in Mac OS X 10.5.
* The backtrace() library of functions first appeared in NetBSD 7.0 and
  FreeBSD 10.0.

6 years agoRemove support for internal symbol table
Evan Hunt [Wed, 11 Mar 2020 04:15:43 +0000 (21:15 -0700)] 
Remove support for internal symbol table

Since we can no longer generate an internal symbol table, there
doesn't seem to be much reason to retain the code that reads it.

6 years agoRemove configure option to compile without libtool
Ondřej Surý [Tue, 10 Mar 2020 12:46:42 +0000 (13:46 +0100)] 
Remove configure option to compile without libtool

libtool is a requirement to use automake (see GL #4), so this commit
removes the ability to compile BIND 9 without libtool.

6 years agoRemove the ability to generate internal symbol table
Ondřej Surý [Tue, 10 Mar 2020 12:35:18 +0000 (13:35 +0100)] 
Remove the ability to generate internal symbol table

The internal symbol table cannot be generated when libtool is in use,
which is going to be a mandatory in the next commit.

6 years agoMerge branch 'ondrej/fix-clang-format-headers-symlinks' into 'master'
Ondřej Surý [Wed, 11 Mar 2020 09:21:07 +0000 (09:21 +0000)] 
Merge branch 'ondrej/fix-clang-format-headers-symlinks' into 'master'

Fix .clang-format.headers symlinks

See merge request isc-projects/bind9!3212

6 years agoFixup the headers formatting
Ondřej Surý [Wed, 11 Mar 2020 09:19:32 +0000 (10:19 +0100)] 
Fixup the headers formatting

6 years agoFix the deeper symlinks to .clang-format.headers
Ondřej Surý [Wed, 11 Mar 2020 09:16:45 +0000 (10:16 +0100)] 
Fix the deeper symlinks to .clang-format.headers

6 years agoMerge branch 'michal/minor-release-note-tweaks' into 'master'
Michał Kępień [Wed, 11 Mar 2020 08:52:35 +0000 (08:52 +0000)] 
Merge branch 'michal/minor-release-note-tweaks' into 'master'

Minor release note tweaks

See merge request isc-projects/bind9!3210

6 years agoReorder release note sections
Michał Kępień [Wed, 11 Mar 2020 08:45:31 +0000 (09:45 +0100)] 
Reorder release note sections

6 years agoAdd GitLab identifier to rwlock release note
Michał Kępień [Wed, 11 Mar 2020 08:45:31 +0000 (09:45 +0100)] 
Add GitLab identifier to rwlock release note

6 years agoMerge branch '1636-add-release-note-about-controlling-source-ports' into 'master'
Michał Kępień [Wed, 11 Mar 2020 08:22:53 +0000 (08:22 +0000)] 
Merge branch '1636-add-release-note-about-controlling-source-ports' into 'master'

Add release note about controlling source ports

Closes #1636

See merge request isc-projects/bind9!3192

6 years agoAdd release note about controlling source ports
Michał Kępień [Wed, 11 Mar 2020 08:06:40 +0000 (09:06 +0100)] 
Add release note about controlling source ports

6 years agoRelease note wording tweaks
Michał Kępień [Wed, 11 Mar 2020 08:06:40 +0000 (09:06 +0100)] 
Release note wording tweaks

6 years agoMove pthread rwlocks release note to a section
Michał Kępień [Wed, 11 Mar 2020 08:06:40 +0000 (09:06 +0100)] 
Move pthread rwlocks release note to a section

6 years agoMerge branch 'matthijs-disable-mscv-kasp-system-test' into 'master'
Michał Kępień [Wed, 11 Mar 2020 07:18:49 +0000 (07:18 +0000)] 
Merge branch 'matthijs-disable-mscv-kasp-system-test' into 'master'

Disable kasp test on Windows

See merge request isc-projects/bind9!3206

6 years agoRemove leftover set_keydir
Matthijs Mekking [Tue, 10 Mar 2020 12:48:48 +0000 (13:48 +0100)] 
Remove leftover set_keydir

6 years agoDisable kasp test on Windows
Matthijs Mekking [Tue, 10 Mar 2020 12:29:35 +0000 (13:29 +0100)] 
Disable kasp test on Windows

The kasp system test is timing critical.  The test passes on all
Linux based machines, but fails frequently on Windows.  The test
takes a lot more time on Windows and at the final checks fail
because the expected next key event is too far off.  For example:

I:kasp:check next key event for zone step2.algorithm-roll.kasp (570)
I:kasp:error: bad next key event time 20909 for zone \
  step2.algorithm-roll.kasp (expect 21600)
I:kasp:failed

This is because the kasp system test calculates the time when the
next key event should occur based on the policy.  This assumes that
named is able to do key management within a minute.  But starting,
named, doing key management for other zones, and reconfiguring takes
much more time on Windows and thus the next key event on Windows is
much shorter than anticipated.

That this happens is a good thing because this means that the
correct next key event is used, but is not so nice for testing, as
it is hard to determine how much time named needed before finishing
the current key event.

Disable the kasp test on Windows now because it is blocking the
release.  We know the cause of these test failures, and it is clear
that this is a fault in the test, not the code.  Therefore we feel
comfortable disabling the test right now and work on a fix while
unblocking the release.

6 years agoMerge branch '1476-threadsanitizer-data-race-lib-isc-log-multiple-issues' into 'master'
Matthijs Mekking [Tue, 10 Mar 2020 12:11:19 +0000 (12:11 +0000)] 
Merge branch '1476-threadsanitizer-data-race-lib-isc-log-multiple-issues' into 'master'

Resolve "ThreadSanitizer: data race lib/isc/log.c - multiple issues"

Closes #1476

See merge request isc-projects/bind9!2791

6 years agoFixed data race in log.c
Diego Fronza [Fri, 20 Dec 2019 22:29:18 +0000 (19:29 -0300)] 
Fixed data race in log.c

A data race was happening while BIND was starting due to
isc_log_wouldlog function accessing lctx->logconfig without a lock.

To prevent that without incurring much costs, that variable was made
atomic.

6 years agoMerge branch 'mnowak/abi-tracker-helper' into 'master'
Michal Nowak [Tue, 10 Mar 2020 08:47:04 +0000 (08:47 +0000)] 
Merge branch 'mnowak/abi-tracker-helper' into 'master'

Add API Checker

See merge request isc-projects/bind9!3120

6 years agoAdd API Checker
Michal Nowak [Wed, 26 Feb 2020 10:24:45 +0000 (11:24 +0100)] 
Add API Checker

ABI checker tools generate HTML and TXT API compatibility reports of
BIND libraries. Comparison is being done between two bind source trees
which hold built BIND.

In the CI one version is the reference version defined by
BIND_BASELINE_VERSION variable, the latter one is the HEAD of branch
under test.

6 years agoMerge branch '1664-double-unlock' into 'master'
Evan Hunt [Mon, 9 Mar 2020 23:47:11 +0000 (23:47 +0000)] 
Merge branch '1664-double-unlock' into 'master'

remove redundant ZONEDB_UNLOCK

Closes #1664

See merge request isc-projects/bind9!3197

6 years agoremove redundant ZONEDB_UNLOCK
Evan Hunt [Mon, 9 Mar 2020 21:05:14 +0000 (14:05 -0700)] 
remove redundant ZONEDB_UNLOCK

6 years agoMerge branch 'ondrej/clang-format-improve-includes' into 'master'
Ondřej Surý [Mon, 9 Mar 2020 15:42:24 +0000 (15:42 +0000)] 
Merge branch 'ondrej/clang-format-improve-includes' into 'master'

Improve #include block sorting and grouping in clang-format

See merge request isc-projects/bind9!3193

6 years agoUse the new sorting rules to regroup #include headers
Ondřej Surý [Mon, 9 Mar 2020 15:17:26 +0000 (16:17 +0100)] 
Use the new sorting rules to regroup #include headers

6 years agoImprove the #include block sorting
Ondřej Surý [Mon, 9 Mar 2020 14:26:54 +0000 (15:26 +0100)] 
Improve the #include block sorting

The IncludeCategories was incomplete, it missed pk11/ and dst/ headers
and the rule that put "" header after all <> headers was broken.

6 years agoMerge branch '1653-dnssec-policy-view-race' into 'master'
Matthijs Mekking [Mon, 9 Mar 2020 14:40:59 +0000 (14:40 +0000)] 
Merge branch '1653-dnssec-policy-view-race' into 'master'

Resolve "Race condition with dnssec-policy, same zone in different views"

Closes #1653

See merge request isc-projects/bind9!3142

6 years agoUpdate changes, documentation
Matthijs Mekking [Tue, 3 Mar 2020 06:52:23 +0000 (07:52 +0100)] 
Update changes, documentation

6 years agoFix race condition dnssec-policy with views
Matthijs Mekking [Tue, 3 Mar 2020 05:58:45 +0000 (06:58 +0100)] 
Fix race condition dnssec-policy with views

When configuring the same dnssec-policy for two zones with the same
name but in different views, there is a race condition for who will
run the keymgr first. If running sequential only one set of keys will
be created, if running parallel two set of keys will be created.

Lock the kasp when running looking for keys and running the key
manager. This way, for the same zone in different views only one
keyset will be created.

The dnssec-policy does not implement sharing keys between different
zones.

6 years agoMerge branch 'michal/do-not-run-openbsd-system-test-jobs-for-tags' into 'master'
Michał Kępień [Mon, 9 Mar 2020 13:33:59 +0000 (13:33 +0000)] 
Merge branch 'michal/do-not-run-openbsd-system-test-jobs-for-tags' into 'master'

Do not run OpenBSD system test jobs for tags

See merge request isc-projects/bind9!3183

6 years agoDo not run OpenBSD system test jobs for tags
Michał Kępień [Mon, 9 Mar 2020 13:33:04 +0000 (14:33 +0100)] 
Do not run OpenBSD system test jobs for tags

OpenBSD virtual machines seem to affected particularly badly by other
activity happening on the host.  This causes trouble around release
time: when multiple tags are pushed to the repository, a large number of
jobs is started concurrently on all CI runners.  In extreme cases, this
causes the system test suite to run for about an hour (!) on OpenBSD
VMs, with multiple tests failing.  We investigated the test artifacts
for all such cases in the past and the outcome was always the same: test
failures were caused by extremely slow I/O on the guest.  We tried
various tricks to work around this problem, but nothing helped.

Given the above, stop running OpenBSD system test jobs for pending BIND
releases to prevent the results of these jobs from affecting the
assessment of a given release's readiness for publication.  This change
does not affect OpenBSD build jobs.  OpenBSD system test jobs will still
be run for scheduled and web-requested pipelines, to make sure we catch
any severe issues with test code on that platform sooner or later.

6 years agoMerge branch 'matthijs-refactor-kasp-test' into 'master'
Matthijs Mekking [Mon, 9 Mar 2020 12:22:56 +0000 (12:22 +0000)] 
Merge branch 'matthijs-refactor-kasp-test' into 'master'

Refactor kasp system test

See merge request isc-projects/bind9!3141

6 years agoAdd check calls to kasp zsk-retired test
Matthijs Mekking [Mon, 9 Mar 2020 09:38:58 +0000 (10:38 +0100)] 
Add check calls to kasp zsk-retired test

The test case for zsk-retired was missing the actual checks.  Add
them and fix the set_policy call to expect three keys.