]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
5 years agoRemove the requirement for the release notes to have copyright
Ondřej Surý [Wed, 9 Dec 2020 09:35:13 +0000 (10:35 +0100)] 
Remove the requirement for the release notes to have copyright

The release notes doesn't have to have copyright header, it doesn't add
any value there as the release notes are useless outside the project.

(cherry picked from commit cb30d9892d45d23e19e15de6725bcd771ed5035f)

5 years agoMerge branch 'ondrej/clang-format-11-v9_16' into 'v9_16'
Ondřej Surý [Tue, 8 Dec 2020 19:14:15 +0000 (19:14 +0000)] 
Merge branch 'ondrej/clang-format-11-v9_16' into 'v9_16'

Bump the clang version to 11 (v9.16)

See merge request isc-projects/bind9!4480

5 years agoBump the clang version to 11 (stable)
Ondřej Surý [Mon, 24 Aug 2020 07:24:25 +0000 (09:24 +0200)] 
Bump the clang version to 11 (stable)

(cherry picked from commit c1eb385fdf937f1cfe0181d070c59ea1f2d3a9c5)

5 years agoReformat sources using clang-format-11
Ondřej Surý [Mon, 24 Aug 2020 07:23:19 +0000 (09:23 +0200)] 
Reformat sources using clang-format-11

(cherry picked from commit 7ba18870dc535ac2afb61829a7edd9487c519211)

5 years agoExplicitly configure new clang-format-11 options
Ondřej Surý [Mon, 24 Aug 2020 07:23:06 +0000 (09:23 +0200)] 
Explicitly configure new clang-format-11 options

(cherry picked from commit 6c28834354e96890235addf13913fe02956fa78a)

5 years agoMerge branch '2250-dns-flag-day-2020-revert-nocookie-udp-size-v9_16' into 'v9_16'
Ondřej Surý [Wed, 2 Dec 2020 15:33:06 +0000 (15:33 +0000)] 
Merge branch '2250-dns-flag-day-2020-revert-nocookie-udp-size-v9_16' into 'v9_16'

Resolve "DNS Flag Day 2020 - EDNS buffer size configuring does not work anymore"

See merge request isc-projects/bind9!4456

5 years agoAdd CHANGES and release not for GL #2250
Ondřej Surý [Tue, 1 Dec 2020 18:01:30 +0000 (19:01 +0100)] 
Add CHANGES and release not for GL #2250

(cherry picked from commit c7d81f12f820beecebaeab184afc8df57e4f9a76)

5 years agoChange the default value for nocookie-udp-size back to 4096
Ondřej Surý [Tue, 1 Dec 2020 17:53:26 +0000 (18:53 +0100)] 
Change the default value for nocookie-udp-size back to 4096

The DNS Flag Day 2020 reduced all the EDNS buffer sizes to 1232.  In
this commit, we revert the default value for nocookie-udp-size back to
4096 because the option is too obscure and most people don't realize
that they also need to change this configuration option in addition to
max-udp-size.

(cherry picked from commit 79c196fc778a0e68eebcceaf04d03bf772ea70a3)

5 years agoMerge branch '2305-adjust-recursion-limits-v9_16' into 'v9_16'
Mark Andrews [Tue, 1 Dec 2020 14:13:40 +0000 (14:13 +0000)] 
Merge branch '2305-adjust-recursion-limits-v9_16' into 'v9_16'

Adjust default value of "max-recursion-queries"

See merge request isc-projects/bind9!4447

5 years agoAdjust default value of "max-recursion-queries"
Mark Andrews [Thu, 26 Nov 2020 04:59:14 +0000 (15:59 +1100)] 
Adjust default value of "max-recursion-queries"

Since the queries sent towards root and TLD servers are now included in
the count (as a result of the fix for CVE-2020-8616),
"max-recursion-queries" has a higher chance of being exceeded by
non-attack queries.  Increase its default value from 75 to 100.

(cherry picked from commit ab0bf492035c01687dfff8f546b78ac30739348c)

5 years agoMerge branch '2315-bind-9-11-22-9-11-25-fails-to-build-for-aep-hsm-native-pkcs11...
Mark Andrews [Tue, 1 Dec 2020 13:50:49 +0000 (13:50 +0000)] 
Merge branch '2315-bind-9-11-22-9-11-25-fails-to-build-for-aep-hsm-native-pkcs11-v9_16' into 'v9_16'

Resolve "BIND 9.11.22 - 9.11.25 fails to build for AEP HSM native pkcs11"

See merge request isc-projects/bind9!4445

5 years agoAdd release note for [GL #2315]
Mark Andrews [Mon, 30 Nov 2020 23:39:41 +0000 (10:39 +1100)] 
Add release note for [GL #2315]

(cherry picked from commit 356243aaec74e04a0f043c455c23efa06202e461)

5 years agoAdd CHANGES
Mark Andrews [Mon, 30 Nov 2020 01:16:41 +0000 (12:16 +1100)] 
Add CHANGES

(cherry picked from commit 11a3545e3257dafa13f842eeb6986909afaa9b67)

5 years agoFix misplaced declaration
Mark Andrews [Fri, 27 Nov 2020 21:13:44 +0000 (08:13 +1100)] 
Fix misplaced declaration

(cherry picked from commit 49b9219bb332b4025ac5d2c8fa030ed5ff4fc98d)

5 years agoMerge branch '2274-drop-centos-6-support-after-november-30-2020' into 'v9_16'
Michal Nowak [Mon, 30 Nov 2020 13:29:02 +0000 (13:29 +0000)] 
Merge branch '2274-drop-centos-6-support-after-november-30-2020' into 'v9_16'

Remove CentOS 6 from GitLab CI

See merge request isc-projects/bind9!4392

5 years agoRemove CentOS 6 from GitLab CI
Michal Nowak [Fri, 13 Nov 2020 09:56:53 +0000 (10:56 +0100)] 
Remove CentOS 6 from GitLab CI

CentOS 6 reaches EOL on November 30, 2020 and will not be officially
supported by the CentOS project.

5 years agoMerge branch '2275-tighten-dns-cookie-response-handling-v9_16' into 'v9_16'
Mark Andrews [Thu, 26 Nov 2020 22:25:42 +0000 (22:25 +0000)] 
Merge branch '2275-tighten-dns-cookie-response-handling-v9_16' into 'v9_16'

Resolve "Tighten DNS COOKIE response handling"

See merge request isc-projects/bind9!4438

5 years agoAdd release note for [GL #2275]
Mark Andrews [Tue, 24 Nov 2020 14:00:19 +0000 (01:00 +1100)] 
Add release note for [GL #2275]

(cherry picked from commit d0dd71380b137e0beb7a77c7e76968d5d1e67dd4)

5 years agoAdd CHANGES note for [GL #2275]
Mark Andrews [Fri, 13 Nov 2020 04:44:39 +0000 (15:44 +1100)] 
Add CHANGES note for [GL #2275]

(cherry picked from commit 15e7a4b04768aa0b6cd893af4e8ea918db720a45)

5 years agoAdd comment about cookie sizes
Mark Andrews [Tue, 24 Nov 2020 13:12:00 +0000 (00:12 +1100)] 
Add comment about cookie sizes

(cherry picked from commit 304df539919beb5da6d33d8690b5e588476308d8)

5 years agoCheck that missing cookies are handled
Mark Andrews [Fri, 13 Nov 2020 04:38:49 +0000 (15:38 +1100)] 
Check that missing cookies are handled

(cherry picked from commit bd9155590ec34c27f1af1d00d09791292309064c)

5 years agoTighten DNS COOKIE response handling
Mark Andrews [Thu, 12 Nov 2020 22:45:47 +0000 (09:45 +1100)] 
Tighten DNS COOKIE response handling

Fallback to TCP when we have already seen a DNS COOKIE response
from the given address and don't have one in this UDP response. This
could be a server that has turned off DNS COOKIE support, a
misconfigured anycast server with partial DNS COOKIE support, or a
spoofed response. Falling back to TCP is the correct behaviour in
all 3 cases.

(cherry picked from commit 0e3b1f5a25c0518210db62191405f4b0bbe6bf50)

5 years agoMerge branch '2224-fixup-core-back-traces-v9_16' into 'v9_16'
Michal Nowak [Thu, 26 Nov 2020 17:40:11 +0000 (17:40 +0000)] 
Merge branch '2224-fixup-core-back-traces-v9_16' into 'v9_16'

[v9_16] Resolve "Fixup core back traces."

See merge request isc-projects/bind9!4435

5 years agoWrite traceback file to the same directory as core file
Michal Nowak [Tue, 24 Nov 2020 16:39:23 +0000 (17:39 +0100)] 
Write traceback file to the same directory as core file

The traceback files could overwrite each other on systems which do not
use different core dump file names for different processes.  Prevent
that by writing the traceback file to the same directory as the core
dump file.

These changes still do not prevent the operating system from overwriting
a core dump file if the same binary crashes multiple times in the same
directory and core dump files are named identically for different
processes.

(cherry picked from commit 6428fc26af232e0954b65347c1a232e203377321)

5 years agoUnify whitespace in bin/tests/system/run.sh
Mark Andrews [Thu, 26 Nov 2020 17:13:27 +0000 (18:13 +0100)] 
Unify whitespace in bin/tests/system/run.sh

Replace tabs with spaces to make whitespace consistent across the entire
bin/tests/system/run.sh script.

(cherry picked from commit 0f0a006c7e30829ead5fbadb725a5be479fed1cb)

5 years agoMerge branch '2281-cid-313104-error-handling-issues-in-lib-ns-query-c-v9_16' into...
Diego dos Santos Fronza [Thu, 26 Nov 2020 14:57:49 +0000 (14:57 +0000)] 
Merge branch '2281-cid-313104-error-handling-issues-in-lib-ns-query-c-v9_16' into 'v9_16'

Resolve "CID 313104: Error handling issues in lib/ns/query.c"

See merge request isc-projects/bind9!4418

5 years agoSilence coverity warnings in query.c
Diego Fronza [Wed, 25 Nov 2020 19:39:19 +0000 (16:39 -0300)] 
Silence coverity warnings in query.c

Return value of dns_db_getservestalerefresh() and
dns_db_getservestalettl() functions were previously unhandled.

This commit purposefully ignore those return values since there is
no side effect if those results are != ISC_R_SUCCESS, it also supress
Coverity warnings.

5 years agoMerge branch '1620-dnssec-policy-nsec3-saltlen-v9_16' into 'v9_16'
Matthijs Mekking [Thu, 26 Nov 2020 14:15:41 +0000 (14:15 +0000)] 
Merge branch '1620-dnssec-policy-nsec3-saltlen-v9_16' into 'v9_16'

Resolve "dnssec-policy NSEC3 support" (9.16)

See merge request isc-projects/bind9!4423

5 years agoAdd NSEC3PARAM unit test, refactor zone.c
Matthijs Mekking [Fri, 13 Nov 2020 11:26:05 +0000 (12:26 +0100)] 
Add NSEC3PARAM unit test, refactor zone.c

Add unit test to ensure the right NSEC3PARAM event is scheduled in
'dns_zone_setnsec3param()'.  To avoid scheduling and managing actual
tasks, split up the 'dns_zone_setnsec3param()' function in two parts:

1. 'dns__zone_lookup_nsec3param()' that will check if the requested
   NSEC3 parameters already exist, and if a new salt needs to be
   generated.

2. The actual scheduling of the new NSEC3PARAM event (if needed).

(cherry picked from commit 64db30942df50ef229624d48c8bfe08bc300a528)

5 years agoDetect NSEC3 salt collisions
Matthijs Mekking [Thu, 5 Nov 2020 10:12:24 +0000 (11:12 +0100)] 
Detect NSEC3 salt collisions

When generating a new salt, compare it with the previous NSEC3
paremeters to ensure the new parameters are different from the
previous ones.

This moves the salt generation call from 'bin/named/*.s' to
'lib/dns/zone.c'. When setting new NSEC3 parameters, you can set a new
function parameter 'resalt' to enforce a new salt to be generated. A
new salt will also be generated if 'salt' is set to NULL.

Logging salt with zone context can now be done with 'dnssec_log',
removing the need for 'dns_nsec3_log_salt'.

(cherry picked from commit 6b5d7357dfb9d695f02dabb510dbe2ea404ba241)

5 years agoAdd zone context to "generated salt" logs
Matthijs Mekking [Wed, 4 Nov 2020 15:30:19 +0000 (16:30 +0100)] 
Add zone context to "generated salt" logs

(cherry picked from commit 3b4c764b437896372f2cf12d8ba8b8e8238742a2)

5 years agoMove logging of salt in separate function
Matthijs Mekking [Tue, 27 Oct 2020 09:23:16 +0000 (10:23 +0100)] 
Move logging of salt in separate function

There may be a desire to log the salt without losing the context
of log module, level, and category.

(cherry picked from commit 7878f300ffc246af2c3ef48d7fd583abe74544ad)

5 years agoChange nsec3param salt config to saltlen
Matthijs Mekking [Fri, 23 Oct 2020 13:02:19 +0000 (15:02 +0200)] 
Change nsec3param salt config to saltlen

Upon request from Mark, change the configuration of salt to salt
length.

Introduce a new function 'dns_zone_checknsec3aram' that can be used
upon reconfiguration to check if the existing NSEC3 parameters are
in sync with the configuration. If a salt is used that matches the
configured salt length, don't change the NSEC3 parameters.

(cherry picked from commit 6f97bb6b1fae8031d9c6a1eb699d463a7369e672)

5 years agoAdd check for NSEC3 and key algorithms
Matthijs Mekking [Mon, 19 Oct 2020 08:19:52 +0000 (10:19 +0200)] 
Add check for NSEC3 and key algorithms

NSEC3 is not backwards compatible with key algorithms that existed
before the RFC 5155 specification was published.

(cherry picked from commit 00c5dabea32204e27cbec835ff985c639a7d173d)

5 years agoDisable one nsec3 test due to GL #2216
Matthijs Mekking [Wed, 14 Oct 2020 14:56:22 +0000 (16:56 +0200)] 
Disable one nsec3 test due to GL #2216

This known bug makes the test fail. There is no trivial fix so disable
test case for now.

(cherry picked from commit f10790b02d98c824d0d1d626aa77c85c0dd24cd6)

5 years agoAdd changes and notes for kasp NSEC3 support
Matthijs Mekking [Wed, 14 Oct 2020 08:10:01 +0000 (10:10 +0200)] 
Add changes and notes for kasp NSEC3 support

This feature is news worthy.

(cherry picked from commit 9adad77ac3e0799c1eac4591d9b941e320e955ce)

5 years agoAdd some NSEC3 optout tests
Matthijs Mekking [Wed, 14 Oct 2020 08:03:13 +0000 (10:03 +0200)] 
Add some NSEC3 optout tests

Make sure that just changing the optout value recreates the chain.

(cherry picked from commit a5b45bdd03a8df98c123537f7e586f55c957cf3f)

5 years agoCheck nsec3param configuration values
Matthijs Mekking [Tue, 13 Oct 2020 15:48:22 +0000 (17:48 +0200)] 
Check nsec3param configuration values

Check 'nsec3param' configuration for the number of iterations.  The
maximum number of iterations that are allowed are based on the key
size (see https://tools.ietf.org/html/rfc5155#section-10.3).

Check 'nsec3param' configuration for correct salt. If the string is
not "-" or hex-based, this is a bad salt.

(cherry picked from commit 7039c5f80529f06a0fb53d40a25cdd49e61a63af)

5 years agoDon't use 'rndc signing' with kasp
Matthijs Mekking [Tue, 13 Oct 2020 12:52:02 +0000 (14:52 +0200)] 
Don't use 'rndc signing' with kasp

The 'rndc signing' command allows you to manipulate the private
records that are used to store signing state. Don't use these with
'dnssec-policy' as such manipulations may violate the policy (if you
want to change the NSEC3 parameters, change the policy and reconfig).

(cherry picked from commit eae9a6d297602d316287b1596f4446841d3c05b8)

5 years agoFix a reconfig bug wrt inline-signing
Matthijs Mekking [Tue, 13 Oct 2020 12:48:04 +0000 (14:48 +0200)] 
Fix a reconfig bug wrt inline-signing

When doing 'rndc reconfig', named may complain about a zone not being
reusable because it has a raw version of the zone, and the new
configuration has not set 'inline-signing'. However, 'inline-signing'
may be implicitly true if a 'dnssec-policy' is used for the zone, and
the zone is not dynamic.

Improve the check in 'named_zone_reusable'.  Create a new function for
checking 'inline-signing' configuration that matches existing code in
'bin/named/server.c'.

(cherry picked from commit ba8128ea0038298bd379662ea6f438c650f68340)

5 years agoSupport for NSEC3 in dnssec-policy
Matthijs Mekking [Tue, 13 Oct 2020 12:39:21 +0000 (14:39 +0200)] 
Support for NSEC3 in dnssec-policy

Implement support for NSEC3 in dnssec-policy.  Store the configuration
in kasp objects. When configuring a zone, call 'dns_zone_setnsec3param'
to queue an nsec3param event. This will ensure that any previous
chains will be removed and a chain according to the dnssec-policy is
created.

Add tests for dnssec-policy zones that uses the new 'nsec3param'
option, as well as changing to new values, changing to NSEC, and
changing from NSEC.

(cherry picked from commit 114af58ee28329933e6d39f5f65fd75a63b3ff4a)

5 years agoAdd kasp nsec3param configuration
Matthijs Mekking [Fri, 9 Oct 2020 12:19:10 +0000 (14:19 +0200)] 
Add kasp nsec3param configuration

Add configuration and documentation on how to enable NSEC3 when
using dnssec-policy for signing your zones.

(cherry picked from commit f7ca96c8051cfbc3613fb845c63879e3e1370c5c)

5 years agoMove generate_salt function to lib/dns/nsec3
Matthijs Mekking [Fri, 23 Oct 2020 12:56:04 +0000 (14:56 +0200)] 
Move generate_salt function to lib/dns/nsec3

We will be using this function also on reconfig, so it should have
a wider availability than just bin/named/server.

(cherry picked from commit 84a4273074ce74a18d07aa652e620107ebf8ed32)

5 years agoMerge branch '1770-review-how-we-use-sys-un-h' into 'v9_16'
Michal Nowak [Thu, 26 Nov 2020 14:04:55 +0000 (14:04 +0000)] 
Merge branch '1770-review-how-we-use-sys-un-h' into 'v9_16'

Fix typo in ISC_PLAFORM_HAVESYSUNH

See merge request isc-projects/bind9!4417

5 years agoFix typo in ISC_PLAFORM_HAVESYSUNH
Michal Nowak [Wed, 25 Nov 2020 10:28:08 +0000 (11:28 +0100)] 
Fix typo in ISC_PLAFORM_HAVESYSUNH

5 years agoMerge branch 'michal/use-proper-cmocka-macros-for-pointer-checks-v9_16' into 'v9_16'
Michał Kępień [Thu, 26 Nov 2020 12:19:39 +0000 (12:19 +0000)] 
Merge branch 'michal/use-proper-cmocka-macros-for-pointer-checks-v9_16' into 'v9_16'

[v9_16] Use proper cmocka macros for pointer checks

See merge request isc-projects/bind9!4429

5 years agoUse proper cmocka macros for pointer checks
Michał Kępień [Thu, 26 Nov 2020 12:10:40 +0000 (13:10 +0100)] 
Use proper cmocka macros for pointer checks

Make sure pointer checks in unit tests use cmocka assertion macros
dedicated for use with pointers instead of those dedicated for use with
integers or booleans.

(cherry picked from commit f44060012685213e4deedc1bce8be3868edd6af1)

5 years agoMerge branch 'v9_16_9-release' into 'v9_16'
Michał Kępień [Thu, 26 Nov 2020 11:31:46 +0000 (11:31 +0000)] 
Merge branch 'v9_16_9-release' into 'v9_16'

Merge 9.16.9 release branch

See merge request isc-projects/bind9!4427

5 years agoSet up release notes for BIND 9.16.10
Michał Kępień [Thu, 26 Nov 2020 11:30:25 +0000 (12:30 +0100)] 
Set up release notes for BIND 9.16.10

5 years agoBump BIND_BASELINE_VERSION for ABI checks
Michał Kępień [Thu, 26 Nov 2020 11:30:25 +0000 (12:30 +0100)] 
Bump BIND_BASELINE_VERSION for ABI checks

5 years agoMerge branch 'prep-release' into v9_16_9-release
Tinderbox User [Mon, 16 Nov 2020 14:44:37 +0000 (14:44 +0000)] 
Merge branch 'prep-release' into v9_16_9-release

5 years agoMerge branch 'michal/prepare-release-notes-for-bind-9.16.9' into 'v9_16_9-release'
Michał Kępień [Mon, 16 Nov 2020 14:19:22 +0000 (14:19 +0000)] 
Merge branch 'michal/prepare-release-notes-for-bind-9.16.9' into 'v9_16_9-release'

Prepare release notes for BIND 9.16.9

See merge request isc-private/bind9!221

5 years agoprep 9.16.9
Tinderbox User [Mon, 16 Nov 2020 14:29:43 +0000 (14:29 +0000)] 
prep 9.16.9

5 years agoPrepare release notes for BIND 9.16.9
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Prepare release notes for BIND 9.16.9

5 years agoAdd release note for GL #2244
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Add release note for GL #2244

5 years agoAdd release note for GL #2236
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Add release note for GL #2236

5 years agoAdd release note for GL #1736
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Add release note for GL #1736

5 years agoReorder release notes
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Reorder release notes

5 years agoTweak and reword release notes
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Tweak and reword release notes

5 years agoTweak and reword recent CHANGES entries
Michał Kępień [Mon, 16 Nov 2020 13:49:34 +0000 (14:49 +0100)] 
Tweak and reword recent CHANGES entries

5 years agoMerge branch 'michal/fix-cppcheck-2.2-issues-v9_16' into 'v9_16'
Michał Kępień [Wed, 25 Nov 2020 12:43:01 +0000 (12:43 +0000)] 
Merge branch 'michal/fix-cppcheck-2.2-issues-v9_16' into 'v9_16'

[v9_16] Fix cppcheck 2.2 issues

See merge request isc-projects/bind9!4413

5 years agoRemove now redundant check for state != NULL
Mark Andrews [Wed, 24 Jun 2020 03:43:50 +0000 (13:43 +1000)] 
Remove now redundant check for state != NULL

(cherry picked from commit ee135d894620d9b2d51681b11f770c6133dcc236)

5 years agoConvert add_quota() to a function
Michał Kępień [Wed, 25 Nov 2020 11:45:47 +0000 (12:45 +0100)] 
Convert add_quota() to a function

cppcheck 2.2 reports the following false positive:

    lib/isc/tests/quota_test.c:71:21: error: Array 'quotas[101]' accessed at index 110, which is out of bounds. [arrayIndexOutOfBounds]
     isc_quota_t *quotas[110];
                        ^

The above is not even an array access, so this report is obviously
caused by a cppcheck bug.  Yet, it seems to be triggered by the presence
of the add_quota() macro, which should really be a function.  Convert
the add_quota() macro to a function in order to make the code cleaner
and to prevent the above cppcheck 2.2 false positive from being
triggered.

(cherry picked from commit ea54a932d225fc55d2a815d200c3f3b988675709)

5 years agoSilence cppcheck 2.2 false positive in udp_recv()
Michał Kępień [Wed, 25 Nov 2020 11:45:47 +0000 (12:45 +0100)] 
Silence cppcheck 2.2 false positive in udp_recv()

cppcheck 2.2 reports the following false positive:

    lib/dns/dispatch.c:1241:14: warning: Either the condition 'resp==NULL' is redundant or there is possible null pointer dereference: resp. [nullPointerRedundantCheck]
     if (disp != resp->disp) {
                 ^
    lib/dns/dispatch.c:1212:11: note: Assuming that condition 'resp==NULL' is not redundant
     if (resp == NULL) {
              ^
    lib/dns/dispatch.c:1241:14: note: Null pointer dereference
     if (disp != resp->disp) {
                 ^

Apparently this version of cppcheck gets confused about conditional
"goto" statements because line 1241 can never be reached if 'resp' is
NULL.

Move a code block to prevent the above false positive from being
reported without affecting the processing logic.

(cherry picked from commit 0b6216d1c702ef0aaa66a2a1bea70cfb12c81468)

5 years agoTeach cppcheck that fatal() does not return
Michał Kępień [Wed, 25 Nov 2020 11:45:47 +0000 (12:45 +0100)] 
Teach cppcheck that fatal() does not return

cppcheck is not aware that the bin/dnssec/dnssectool.c:fatal() function
does not return.  This triggers certain cppcheck 2.2 false positives,
for example:

    bin/dnssec/dnssec-signzone.c:3470:13: warning: Either the condition 'ndskeys==8' is redundant or the array 'dskeyfile[8]' is accessed at index 8, which is out of bounds. [arrayIndexOutOfBoundsCond]
       dskeyfile[ndskeys++] = isc_commandline_argument;
                ^
    bin/dnssec/dnssec-signzone.c:3467:16: note: Assuming that condition 'ndskeys==8' is not redundant
       if (ndskeys == MAXDSKEYS) {
                   ^
    bin/dnssec/dnssec-signzone.c:3470:13: note: Array index out of bounds
       dskeyfile[ndskeys++] = isc_commandline_argument;
                ^

    bin/dnssec/dnssec-signzone.c:771:20: warning: Either the condition 'l->hashbuf==NULL' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
     memset(l->hashbuf + l->entries * l->length, 0, l->length);
                       ^
    bin/dnssec/dnssec-signzone.c:767:18: note: Assuming that condition 'l->hashbuf==NULL' is not redundant
      if (l->hashbuf == NULL) {
                     ^
    bin/dnssec/dnssec-signzone.c:771:20: note: Null pointer addition
     memset(l->hashbuf + l->entries * l->length, 0, l->length);
                       ^

Instead of suppressing all such warnings individually, conditionally
define a preprocessor macro which prevents them from being triggered.

(cherry picked from commit d9701e22b5b98fbc9915c319eb364a56652979bc)

5 years agoRemove cppcheck 2.0 false positive workarounds
Michał Kępień [Wed, 25 Nov 2020 11:45:47 +0000 (12:45 +0100)] 
Remove cppcheck 2.0 false positive workarounds

The cppcheck bug which commit 4c2c93c821631e0411d3df91f1b7f2ae75535bd7
works around was fixed in cppcheck 2.2.  Drop the relevant hack from the
definition of the cppcheck GitLab CI job.

(cherry picked from commit f06dfe03976064a1d770f9d1dd06b496f20f90e0)

5 years agoMerge branch '1730-clean-up-no-op-ac_subst-calls-v9_16' into 'v9_16'
Michal Nowak [Tue, 24 Nov 2020 17:38:56 +0000 (17:38 +0000)] 
Merge branch '1730-clean-up-no-op-ac_subst-calls-v9_16' into 'v9_16'

[v9_16] Remove unused Autoconf variables

See merge request isc-projects/bind9!4403

5 years agoRemove unused Autoconf variables
Michal Nowak [Thu, 19 Nov 2020 16:15:44 +0000 (17:15 +0100)] 
Remove unused Autoconf variables

5 years agoMerge branch 'michal/enable-stress-tests-to-be-run-on-demand-v9_16' into 'v9_16'
Michał Kępień [Mon, 23 Nov 2020 10:54:24 +0000 (10:54 +0000)] 
Merge branch 'michal/enable-stress-tests-to-be-run-on-demand-v9_16' into 'v9_16'

[v9_16] Enable "stress" tests to be run on demand

See merge request isc-projects/bind9!4408

5 years agoEnable "stress" tests to be run on demand
Michał Kępień [Mon, 23 Nov 2020 10:46:50 +0000 (11:46 +0100)] 
Enable "stress" tests to be run on demand

The "stress" test can be run in different ways, depending on:

  - the tested scenario (authoritative, recursive),
  - the operating system used (Linux, FreeBSD),
  - the architecture used (amd64, arm64).

Currently, all supported "stress" test variants are automatically
launched for all scheduled pipelines and for pipelines started for tags;
there is no possibility of running these tests on demand, which could be
useful in certain circumstances.

Employ the "only:variables" key to enable fine-grained control over the
list of "stress" test jobs to be run for a given pipeline.  Three CI
variables are used to specify the list of "stress" test jobs to create:

  - BIND_STRESS_TEST_MODE: specifies the test mode to use; must be
    explicitly set in order for any "stress" test job to be created;
    allowed values are: "authoritative", "recursive",

  - BIND_STRESS_TEST_OS: specifies the operating system to run the test
    on; allowed values are: "linux", "freebsd"; defaults to "linux", may
    be overridden at pipeline creation time,

  - BIND_STRESS_TEST_ARCH: specifies the architecture to run the test
    on; allowed values are: "amd64", "arm64"; defaults to "amd64", may
    be overridden at pipeline creation time.

Since case-insensitive regular expressions are used for determining
which jobs to run, every variable described above may contain multiple
values.  For example, setting the BIND_STRESS_TEST_MODE variable to
"authoritative,recursive" will cause the "stress" test to be run in both
supported scenarios (either on the default OS/architecture combination,
i.e. Linux/amd64, or, if the relevant variables are explicitly
specified, the requested OS/architecture combinations).

(cherry picked from commit f23094223e61908012204cde59ee72102b0b74ae)

5 years agoMerge branch 'matthijs-fix-echo_i-in-auth-test-v9_16' into 'v9_16'
Mark Andrews [Fri, 20 Nov 2020 00:27:58 +0000 (00:27 +0000)] 
Merge branch 'matthijs-fix-echo_i-in-auth-test-v9_16' into 'v9_16'

Fix syntax in echo_i messages

See merge request isc-projects/bind9!4404

5 years agoFix syntax in echo_i messages
Matthijs Mekking [Thu, 19 Nov 2020 10:40:19 +0000 (11:40 +0100)] 
Fix syntax in echo_i messages

It's either "record returns" or "records return".

(cherry picked from commit 53188daf5bfb0db5756575404a3cf9852f9064ac)

5 years agoMerge branch '2280-check-dname-handling-when-qtype-is-cname-any-v9_16' into 'v9_16'
Mark Andrews [Thu, 19 Nov 2020 01:07:54 +0000 (01:07 +0000)] 
Merge branch '2280-check-dname-handling-when-qtype-is-cname-any-v9_16' into 'v9_16'

Fix DNAME when QTYPE is CNAME or ANY

See merge request isc-projects/bind9!4398

5 years agoFix DNAME when QTYPE is CNAME or ANY
Mark Andrews [Tue, 17 Nov 2020 00:03:21 +0000 (11:03 +1100)] 
Fix DNAME when QTYPE is CNAME or ANY

The synthesised CNAME is not supposed to be followed when the
QTYPE is CNAME or ANY as the lookup is satisfied by the CNAME
record.

(cherry picked from commit e980affba0ed40476d977d284d142988633b6a7d)

5 years agoMerge branch '2066-fix-serve-stale-v9_16' into 'v9_16'
Matthijs Mekking [Thu, 12 Nov 2020 09:46:31 +0000 (09:46 +0000)] 
Merge branch '2066-fix-serve-stale-v9_16' into 'v9_16'

Resolve "Fix serve-stale so that it is usable when needed"

See merge request isc-projects/bind9!4387

5 years agoUpdate ARM and other documents
Diego Fronza [Wed, 11 Nov 2020 19:33:24 +0000 (16:33 -0300)] 
Update ARM and other documents

5 years agoAdd CHANGES and release notes entry
Diego Fronza [Wed, 11 Nov 2020 19:09:15 +0000 (16:09 -0300)] 
Add CHANGES and release notes entry

5 years agoAdjusted test to match new rndc serve-stale status output
Diego Fronza [Tue, 10 Nov 2020 21:08:23 +0000 (18:08 -0300)] 
Adjusted test to match new rndc serve-stale status output

5 years agoOutput 'stale-refresh-time' value on rndc serve-stale status
Diego Fronza [Tue, 10 Nov 2020 17:30:01 +0000 (14:30 -0300)] 
Output 'stale-refresh-time' value on rndc serve-stale status

5 years agoCheck 'stale-refresh-time' when sharing cache between views
Diego Fronza [Tue, 10 Nov 2020 16:50:54 +0000 (13:50 -0300)] 
Check 'stale-refresh-time' when sharing cache between views

This commit ensures that, along with previous restrictions, a cache is
shareable between views only if their 'stale-refresh-time' value are
equal.

5 years agoAdd two more system tests for stale-refresh-time
Matthijs Mekking [Tue, 10 Nov 2020 13:55:18 +0000 (14:55 +0100)] 
Add two more system tests for stale-refresh-time

Add one test that checks the behavior when serve-stale is enabled
via configuration (as opposed to enabled via rndc).

Add one test that checks the behavior when stale-refresh-time is
disabled (set to 0).

5 years agoChange serve-stale test stale-answer-ttl
Matthijs Mekking [Tue, 10 Nov 2020 13:48:24 +0000 (14:48 +0100)] 
Change serve-stale test stale-answer-ttl

Using a 'stale-answer-ttl' the same value as the authoritative ttl
value makes it hard to differentiate between a response from the
stale cache and a response from the authoritative server.

Change the stale-answer-ttl from 2 to 4, so that it differs from the
authoritative ttl.

5 years agoWait for multiple parallel dig commands to fully finish
Diego Fronza [Tue, 20 Oct 2020 19:07:56 +0000 (16:07 -0300)] 
Wait for multiple parallel dig commands to fully finish

The strategy of running many dig commands in parallel and
waiting for the respective output files to be non empty was
resulting in random test failures, hard to reproduce, where
it was possible that the subsequent reading of the files could
have been failing due to the file's content not being fully flushed.

Instead of checking if output files are non empty, we now wait
for the dig processes to finish.

5 years agoAdded system test for stale-refresh-time
Diego Fronza [Tue, 20 Oct 2020 00:25:34 +0000 (21:25 -0300)] 
Added system test for stale-refresh-time

This test works as follow:
- Query for data.example rrset.
- Sleep until its TTL expires (2 secs).
- Disable authoritative server.
- Query for data.example again.
- Since server is down, answer come from stale cache, which has
  a configured stale-answer-ttl of 3 seconds.
- Enable authoritative server.
- Query for data.example again
- Since last query before activating authoritative server failed, and
  since 'stale-refresh-time' seconds hasn't elapsed yet, answer should
  come from stale cache and not from the authoritative server.

5 years agoAdjusted ancient rrset system test
Diego Fronza [Tue, 20 Oct 2020 00:24:38 +0000 (21:24 -0300)] 
Adjusted ancient rrset system test

Before the stale-refresh-time feature, the system test for ancient rrset
was somewhat based on the average time the previous tests and queries
were taking, thus not very precise.

After the addition of stale-refresh-time the system test for ancient
rrset started to fail since the queries for stale records (low
max-stale-ttl) were not taking the time to do a full resolution
anymore, since the answers now were coming from the cache (because the
rrset were stale and within stale-refresh-time window after the
previous resolution failure).

To handle this, the correct time to wait before rrset become ancient is
calculated from max-stale-ttl configuration plus the TTL set in the
rrset used in the tests (ans2/ans.pl).

Then before sending queries for ancient rrset, we check if we need to
sleep enough to ensure those rrset will be marked as ancient.

5 years agoWarn if 'stale-refresh-time' < 30 (default)
Diego Fronza [Thu, 5 Nov 2020 16:07:47 +0000 (13:07 -0300)] 
Warn if 'stale-refresh-time' < 30 (default)

RFC 8767 recommends that attempts to refresh to be done no more
frequently than every 30 seconds.

Added check into named-checkconf, which will warn if values below the
default are found in configuration.

BIND will also log the warning during loading of configuration in the
same fashion.

5 years agoAdd stale-refresh-time option
Diego Fronza [Mon, 19 Oct 2020 20:02:03 +0000 (17:02 -0300)] 
Add stale-refresh-time option

Before this update, BIND would attempt to do a full recursive resolution
process for each query received if the requested rrset had its ttl
expired. If the resolution fails for any reason, only then BIND would
check for stale rrset in cache (if 'stale-cache-enable' and
'stale-answer-enable' is on).

The problem with this approach is that if an authoritative server is
unreachable or is failing to respond, it is very unlikely that the
problem will be fixed in the next seconds.

A better approach to improve performance in those cases, is to mark the
moment in which a resolution failed, and if new queries arrive for that
same rrset, try to respond directly from the stale cache, and do that
for a window of time configured via 'stale-refresh-time'.

Only when this interval expires we then try to do a normal refresh of
the rrset.

The logic behind this commit is as following:

- In query.c / query_gotanswer(), if the test of 'result' variable falls
  to the default case, an error is assumed to have happened, and a call
  to 'query_usestale()' is made to check if serving of stale rrset is
  enabled in configuration.

- If serving of stale answers is enabled, a flag will be turned on in
  the query context to look for stale records:
  query.c:6839
  qctx->client->query.dboptions |= DNS_DBFIND_STALEOK;

- A call to query_lookup() will be made again, inside it a call to
  'dns_db_findext()' is made, which in turn will invoke rbdb.c /
  cache_find().

- In rbtdb.c / cache_find() the important bits of this change is the
  call to 'check_stale_header()', which is a function that yields true
  if we should skip the stale entry, or false if we should consider it.

- In check_stale_header() we now check if the DNS_DBFIND_STALEOK option
  is set, if that is the case we know that this new search for stale
  records was made due to a failure in a normal resolution, so we keep
  track of the time in which the failured occured in rbtdb.c:4559:
  header->last_refresh_fail_ts = search->now;

- In check_stale_header(), if DNS_DBFIND_STALEOK is not set, then we
  know this is a normal lookup, if the record is stale and the query
  time is between last failure time + stale-refresh-time window, then
  we return false so cache_find() knows it can consider this stale
  rrset entry to return as a response.

The last additions are two new methods to the database interface:
- setservestale_refresh
- getservestale_refresh

Those were added so rbtdb can be aware of the value set in configuration
option, since in that level we have no access to the view object.

5 years agoMerge branch '2211-tsan-error-previous_closest_nsec-dns_rbt_findnode-vs-subtractrdata...
Mark Andrews [Tue, 10 Nov 2020 21:41:31 +0000 (21:41 +0000)] 
Merge branch '2211-tsan-error-previous_closest_nsec-dns_rbt_findnode-vs-subtractrdataset-v9_16' into 'v9_16'

Address TSAN error between dns_rbt_findnode() and subtractrdataset().

See merge request isc-projects/bind9!4384

5 years agoAddress TSAN error between dns_rbt_findnode() and subtractrdataset().
Mark Andrews [Tue, 13 Oct 2020 02:00:36 +0000 (13:00 +1100)] 
Address TSAN error between dns_rbt_findnode() and subtractrdataset().

Having dns_rbt_findnode() in previous_closest_nsec() check of
node->data is a optimisation that triggers a TSAN error with
subtractrdataset().  find_closest_nsec() still needs to check if
the NSEC record are active or not and look for a earlier NSEC records
if it isn't.  Set DNS_RBTFIND_EMPTYDATA so node->data isn't referenced
without the node lock being held.

    WARNING: ThreadSanitizer: data race
    Read of size 8 at 0x000000000001 by thread T1 (mutexes: read M1, read M2):
    #0 dns_rbt_findnode lib/dns/rbt.c:1708
    #1 previous_closest_nsec lib/dns/rbtdb.c:3760
    #2 find_closest_nsec lib/dns/rbtdb.c:3942
    #3 zone_find lib/dns/rbtdb.c:4091
    #4 dns_db_findext lib/dns/db.c:536
    #5 query_lookup lib/ns/query.c:5582
    #6 ns__query_start lib/ns/query.c:5505
    #7 query_setup lib/ns/query.c:5229
    #8 ns_query_start lib/ns/query.c:11380
    #9 ns__client_request lib/ns/client.c:2166
    #10 processbuffer netmgr/tcpdns.c:230
    #11 dnslisten_readcb netmgr/tcpdns.c:309
    #12 read_cb netmgr/tcp.c:832
    #13 <null> <null>
    #14 <null> <null>

    Previous write of size 8 at 0x000000000001 by thread T2 (mutexes: write M3):
    #0 subtractrdataset lib/dns/rbtdb.c:7133
    #1 dns_db_subtractrdataset lib/dns/db.c:742
    #2 diff_apply lib/dns/diff.c:368
    #3 dns_diff_apply lib/dns/diff.c:459
    #4 do_one_tuple lib/dns/update.c:247
    #5 update_one_rr lib/dns/update.c:275
    #6 delete_if_action lib/dns/update.c:689
    #7 foreach_rr lib/dns/update.c:471
    #8 delete_if lib/dns/update.c:716
    #9 dns_update_signaturesinc lib/dns/update.c:1948
    #10 receive_secure_serial lib/dns/zone.c:15637
    #11 dispatch lib/isc/task.c:1152
    #12 run lib/isc/task.c:1344
    #13 <null> <null>

    Location is heap block of size 130 at 0x000000000028 allocated by thread T3:
    #0 malloc <null>
    #1 default_memalloc lib/isc/mem.c:713
    #2 mem_get lib/isc/mem.c:622
    #3 mem_allocateunlocked lib/isc/mem.c:1268
    #4 isc___mem_allocate lib/isc/mem.c:1288
    #5 isc__mem_allocate lib/isc/mem.c:2453
    #6 isc___mem_get lib/isc/mem.c:1037
    #7 isc__mem_get lib/isc/mem.c:2432
    #8 create_node lib/dns/rbt.c:2239
    #9 dns_rbt_addnode lib/dns/rbt.c:1202
    #10 dns_rbtdb_create lib/dns/rbtdb.c:8668
    #11 dns_db_create lib/dns/db.c:118
    #12 receive_secure_db lib/dns/zone.c:16154
    #13 dispatch lib/isc/task.c:1152
    #14 run lib/isc/task.c:1344
    #15 <null> <null>

    Mutex M1 (0x000000000040) created at:
    #0 pthread_rwlock_init <null>
    #1 isc_rwlock_init lib/isc/rwlock.c:39
    #2 dns_rbtdb_create lib/dns/rbtdb.c:8527
    #3 dns_db_create lib/dns/db.c:118
    #4 receive_secure_db lib/dns/zone.c:16154
    #5 dispatch lib/isc/task.c:1152
    #6 run lib/isc/task.c:1344
    #7 <null> <null>

    Mutex M2 (0x000000000044) created at:
    #0 pthread_rwlock_init <null>
    #1 isc_rwlock_init lib/isc/rwlock.c:39
    #2 dns_rbtdb_create lib/dns/rbtdb.c:8600
    #3 dns_db_create lib/dns/db.c:118
    #4 receive_secure_db lib/dns/zone.c:16154
    #5 dispatch lib/isc/task.c:1152
    #6 run lib/isc/task.c:1344
    #7 <null> <null>

    Mutex M3 (0x000000000046) created at:
    #0 pthread_rwlock_init <null>
    #1 isc_rwlock_init lib/isc/rwlock.c:39
    #2 dns_rbtdb_create lib/dns/rbtdb.c:8600
    #3 dns_db_create lib/dns/db.c:118
    #4 receive_secure_db lib/dns/zone.c:16154
    #5 dispatch lib/isc/task.c:1152
    #6 run lib/isc/task.c:1344
    #7 <null> <null>

    Thread T1 (running) created by main thread at:
    #0 pthread_create <null>
    #1 isc_thread_create pthreads/thread.c:73
    #2 isc_nm_start netmgr/netmgr.c:232
    #3 create_managers bin/named/main.c:909
    #4 setup bin/named/main.c:1223
    #5 main bin/named/main.c:1523

    Thread T2 (running) created by main thread at:
    #0 pthread_create <null>
    #1 isc_thread_create pthreads/thread.c:73
    #2 isc_taskmgr_create lib/isc/task.c:1434
    #3 create_managers bin/named/main.c:915
    #4 setup bin/named/main.c:1223
    #5 main bin/named/main.c:1523

    Thread T3 (running) created by main thread at:
    #0 pthread_create <null>
    #1 isc_thread_create pthreads/thread.c:73
    #2 isc_taskmgr_create lib/isc/task.c:1434
    #3 create_managers bin/named/main.c:915
    #4 setup bin/named/main.c:1223
    #5 main bin/named/main.c:1523

    SUMMARY: ThreadSanitizer: data race lib/dns/rbt.c:1708 in dns_rbt_findnode

(cherry picked from commit 244f84a84ba7e9551edb374911438e0c36d375cc)

5 years agoMerge branch 'mnowak/test-with-DDEBUG-v9_16' into 'v9_16'
Michal Nowak [Tue, 10 Nov 2020 19:05:38 +0000 (19:05 +0000)] 
Merge branch 'mnowak/test-with-DDEBUG-v9_16' into 'v9_16'

[v9_16] Enable debug build on Tumbleweed in CI

See merge request isc-projects/bind9!4371

5 years agoEnable debug build on Tumbleweed in CI
Michal Nowak [Fri, 6 Nov 2020 14:41:33 +0000 (15:41 +0100)] 
Enable debug build on Tumbleweed in CI

(cherry picked from commit 59a09b5db8288c051d703485a1014a0a7c4582d3)

5 years agoMerge branch 'matthijs-query-header-cleanup-v9_16' into 'v9_16'
Matthijs Mekking [Tue, 10 Nov 2020 15:33:43 +0000 (15:33 +0000)] 
Merge branch 'matthijs-query-header-cleanup-v9_16' into 'v9_16'

Cleanup query.h duplicate definitions (9.16)

See merge request isc-projects/bind9!4382

5 years agoCleanup duplicate definitions in query.h
Matthijs Mekking [Tue, 10 Nov 2020 14:23:12 +0000 (15:23 +0100)] 
Cleanup duplicate definitions in query.h

(cherry picked from commit 31692744cc47eef7ad6b41aeb53f5566ca6e7efe)

5 years agoMerge branch '2252-ns_client_sendraw-is-missing-dnstap-support-v9_16' into 'v9_16'
Mark Andrews [Tue, 10 Nov 2020 07:41:14 +0000 (07:41 +0000)] 
Merge branch '2252-ns_client_sendraw-is-missing-dnstap-support-v9_16' into 'v9_16'

Resolve "ns_client_sendraw() is missing DNSTAP support."

See merge request isc-projects/bind9!4379

5 years agoAdd CHANGES not for [GL #2252]
Mark Andrews [Mon, 9 Nov 2020 05:32:42 +0000 (16:32 +1100)] 
Add CHANGES not for [GL #2252]

(cherry picked from commit 157e3a98f28f7afaea9d20ff76ee02c83da80a61)

5 years agoCheck that DNSTAP captures forwarded UPDATE responses
Mark Andrews [Mon, 9 Nov 2020 05:26:56 +0000 (16:26 +1100)] 
Check that DNSTAP captures forwarded UPDATE responses

(cherry picked from commit 2b7128fedee526fb0bb79653e3e62b399640713c)

5 years agoImplement DNSTAP support in ns_client_sendraw()
Mark Andrews [Mon, 9 Nov 2020 02:44:22 +0000 (13:44 +1100)] 
Implement DNSTAP support in ns_client_sendraw()

ns_client_sendraw() is currently only used to relay UPDATE
responses back to the client.  dns_dt_send() is called with
this assumption.

(cherry picked from commit b09727a765edddf5604f1d0be9501a9cc04c7756)

5 years agoMerge branch '2259-zone_namerd_tostr-called-w-o-lock-being-held-v9_16' into 'v9_16'
Mark Andrews [Tue, 10 Nov 2020 06:52:38 +0000 (06:52 +0000)] 
Merge branch '2259-zone_namerd_tostr-called-w-o-lock-being-held-v9_16' into 'v9_16'

Lock zone before calling zone_namerd_tostr()

See merge request isc-projects/bind9!4377

5 years agoLock zone before calling zone_namerd_tostr()
Mark Andrews [Tue, 10 Nov 2020 04:53:06 +0000 (15:53 +1100)] 
Lock zone before calling zone_namerd_tostr()

    WARNING: ThreadSanitizer: data race
    Read of size 8 at 0x000000000001 by thread T1:
    #0 inline_raw lib/dns/zone.c:1375
    #1 zone_namerd_tostr lib/dns/zone.c:15316
    #2 dns_zone_name lib/dns/zone.c:15391
    #3 xfrin_log lib/dns/xfrin.c:1605
    #4 xfrin_destroy lib/dns/xfrin.c:1477
    #5 dns_xfrin_detach lib/dns/xfrin.c:739
    #6 xfrin_connect_done lib/dns/xfrin.c:970
    #7 tcpdnsconnect_cb netmgr/tcpdns.c:786
    #8 tcp_connect_cb netmgr/tcp.c:292
    #9 <null> <null>
    #10 <null> <null>

    Previous write of size 8 at 0x000000000001 by thread T2 (mutexes: write M1):
    #0 zone_shutdown lib/dns/zone.c:14462
    #1 dispatch lib/isc/task.c:1152
    #2 run lib/isc/task.c:1344
    #3 <null> <null>

    Location is heap block of size 2769 at 0x000000000013 allocated by thread T3:
    #0 malloc <null>
    #1 default_memalloc lib/isc/mem.c:713
    #2 mem_get lib/isc/mem.c:622
    #3 mem_allocateunlocked lib/isc/mem.c:1268
    #4 isc___mem_allocate lib/isc/mem.c:1288
    #5 isc__mem_allocate lib/isc/mem.c:2453
    #6 isc___mem_get lib/isc/mem.c:1037
    #7 isc__mem_get lib/isc/mem.c:2432
    #8 dns_zone_create lib/dns/zone.c:984
    #9 configure_zone bin/named/server.c:6502
    #10 do_addzone bin/named/server.c:13391
    #11 named_server_changezone bin/named/server.c:13788
    #12 named_control_docommand bin/named/control.c:207
    #13 control_command bin/named/controlconf.c:392
    #14 dispatch lib/isc/task.c:1152
    #15 run lib/isc/task.c:1344
    #16 <null> <null>

(cherry picked from commit 84f43903da742a4d1040ad0dd7f1d1dca23ac31c)

5 years agoMerge branch '2239-fctx-id-is-uninitialized-and-effectively-unused-2' into 'v9_16'
Mark Andrews [Mon, 9 Nov 2020 22:12:40 +0000 (22:12 +0000)] 
Merge branch '2239-fctx-id-is-uninitialized-and-effectively-unused-2' into 'v9_16'

Resolve "fctx:id is uninitialized and effectively unused"

See merge request isc-projects/bind9!4347