]> git.ipfire.org Git - thirdparty/bind9.git/log
thirdparty/bind9.git
6 years agoAdded TCP high-water entry to CHANGES
Diego Fronza [Tue, 29 Oct 2019 18:57:39 +0000 (15:57 -0300)] 
Added TCP high-water entry to CHANGES

(cherry picked from commit ba3fe75e656e28f9e26446c48ae3fac3171c0c2f)

6 years agoAdded TCP high-water entry to release notes
Diego Fronza [Tue, 29 Oct 2019 19:21:00 +0000 (16:21 -0300)] 
Added TCP high-water entry to release notes

(cherry picked from commit dd492b64d91c5e5bd202e5fd4d4fd50a584219a8)

6 years agoAvoid an extra atomic_load() call
Ondřej Surý [Wed, 6 Nov 2019 09:49:28 +0000 (10:49 +0100)] 
Avoid an extra atomic_load() call

6 years agoAdded TCP high-water system tests
Diego Fronza [Tue, 5 Nov 2019 21:08:01 +0000 (18:08 -0300)] 
Added TCP high-water system tests

Note: ans6/ans6.py is a helper script that allows tests.sh to open/close
TCP connections to some BIND instance.

(cherry picked from commit 29be224a049d5f3c05390019fb92e8fe3e81e59c)

6 years agoAdded TCP high-water statistics variable
Diego Fronza [Tue, 5 Nov 2019 20:48:47 +0000 (17:48 -0300)] 
Added TCP high-water statistics variable

This variable will report the maximum number of simultaneous tcp clients
that BIND has served while running.

It can be verified by running rndc status, then inspect "tcp high-water:
count", or by generating statistics file, rndc stats, then inspect the
line with "TCP connection high-water" text.

The tcp-highwater variable is atomically updated based on an existing
tcp-quota system handled in ns/client.c.

(cherry picked from commit 66fe8627de2c8488b7808c7b342e6ceb51f65414)

6 years agoAdd functions for collecting high-water counters
Diego Fronza [Tue, 5 Nov 2019 20:48:47 +0000 (17:48 -0300)] 
Add functions for collecting high-water counters

Add {isc,ns}_stats_{update_if_greater,get_counter}() functions that
are used to set and collect high-water type of statistics.

(cherry picked from commit a544e2e3006cf426b4125a892ae828137d692e6b)

6 years agoChange the isc_stat_t type to isc__atomic_statcounter_t
Diego Fronza [Tue, 5 Nov 2019 20:48:47 +0000 (17:48 -0300)] 
Change the isc_stat_t type to isc__atomic_statcounter_t

The isc_stat_t type was too similar to isc_stats_t type, so the name was
changed to something more distinguishable.

(cherry picked from commit eb5611a7703e8226521db5472e110bf95b0d9725)

6 years agoChange the isc_statscounter_t type from int to C99 int_fast64_t type
Diego Fronza [Tue, 5 Nov 2019 20:48:47 +0000 (17:48 -0300)] 
Change the isc_statscounter_t type from int to C99 int_fast64_t type

For TCP high-water work, we need to keep the used integer types widths
in sync.

Note: int_fast32_t is used on WIN32 platform
(cherry picked from commit 0fc98ef2d50476e330d90632d4164f94018eb7d4)

6 years agoMerge branch '1285-documentation-update-to-sortlist-feature-bugs-42615-v9_14' into...
Ondřej Surý [Wed, 6 Nov 2019 10:09:26 +0000 (10:09 +0000)] 
Merge branch '1285-documentation-update-to-sortlist-feature-bugs-42615-v9_14' into 'v9_14'

arm: Add a sentence about overlaping selectors in sortlist statement

See merge request isc-projects/bind9!2532

6 years agoarm: Add a sentence about overlaping selectors in sortlist statement
Ondřej Surý [Fri, 1 Nov 2019 10:11:53 +0000 (05:11 -0500)] 
arm: Add a sentence about overlaping selectors in sortlist statement

(cherry picked from commit ebc61946b2d8f0c407eb64134768aba4669962ff)

6 years agoMerge branch 'michal/split-release-notes-into-per-version-sections-v9_14' into 'v9_14'
Michał Kępień [Wed, 6 Nov 2019 09:13:46 +0000 (09:13 +0000)] 
Merge branch 'michal/split-release-notes-into-per-version-sections-v9_14' into 'v9_14'

[v9_14] Split release notes into per-version sections

See merge request isc-projects/bind9!2529

6 years agoRebuild output files
Michał Kępień [Wed, 6 Nov 2019 08:29:56 +0000 (09:29 +0100)] 
Rebuild output files

6 years agoUpdate URLs used in release notes
Michał Kępień [Wed, 6 Nov 2019 08:29:56 +0000 (09:29 +0100)] 
Update URLs used in release notes

Some URLs used in release notes became outdated.  Make sure they point
to currently available resources.

6 years agoSplit release notes into per-version sections
Michał Kępień [Wed, 6 Nov 2019 08:29:56 +0000 (09:29 +0100)] 
Split release notes into per-version sections

Intertwining release notes from different BIND releases in a single XML
file has caused confusion in the past due to different (and often
arbitrary) approaches to keeping/removing release notes from older
releases on different BIND branches.  Divide doc/arm/notes.xml into
per-version sections to simplify determining the set of changes
introduced by a given release and to make adding/reviewing release notes
less error-prone.

6 years agoMerge branch '1301-geoip2-default-data-path-v9_14' into 'v9_14'
Mark Andrews [Wed, 6 Nov 2019 01:43:12 +0000 (01:43 +0000)] 
Merge branch '1301-geoip2-default-data-path-v9_14' into 'v9_14'

Resolve "geoip2 default data path"

See merge request isc-projects/bind9!2526

6 years agoAdd CHANGES note
Mark Andrews [Tue, 5 Nov 2019 23:23:06 +0000 (10:23 +1100)] 
Add CHANGES note

(cherry picked from commit 7b10faf1081827f302970059829f4fa952ff05b0)

6 years agoRegenerate configure.
Mark Andrews [Tue, 5 Nov 2019 23:20:00 +0000 (10:20 +1100)] 
Regenerate configure.

(cherry picked from commit 51fb42edcb2540fcae86d2c3af904e3185b20d57)

6 years agoHave 'named -V' report geoip-directory
Mark Andrews [Tue, 5 Nov 2019 01:56:58 +0000 (12:56 +1100)] 
Have 'named -V' report geoip-directory

(cherry picked from commit 2eaa75c3801252e6dd7a40dd87618bd07a915e20)

6 years agoThe default geoip-directory should be <MAXMINDDB_PREFIX>/share/GeoIP
Mark Andrews [Tue, 5 Nov 2019 01:56:18 +0000 (12:56 +1100)] 
The default geoip-directory should be <MAXMINDDB_PREFIX>/share/GeoIP

(cherry picked from commit fcd765a59db9b9a2b187448a90f3dbe6aa72fb84)

6 years agoMAXMINDDB_LIBS should end with '/lib' not '/libs'
Mark Andrews [Tue, 5 Nov 2019 01:54:35 +0000 (12:54 +1100)] 
MAXMINDDB_LIBS should end with '/lib' not '/libs'

(cherry picked from commit e0fe33506c0649ca708aa81fdee9df585b656840)

6 years agoMerge branch '664-fetches-per-server-quota-docs-v9_14' into 'v9_14'
Ondřej Surý [Tue, 5 Nov 2019 10:12:48 +0000 (10:12 +0000)] 
Merge branch '664-fetches-per-server-quota-docs-v9_14' into 'v9_14'

Describe the polynomial backoff curve used in the quota adjustment

See merge request isc-projects/bind9!2523

6 years agoDescribe the polynomial backoff curve used in the quota adjustment
Ondřej Surý [Fri, 1 Nov 2019 17:22:56 +0000 (12:22 -0500)] 
Describe the polynomial backoff curve used in the quota adjustment

(cherry picked from commit 56ef09c3a16c0777bc3ee8684923320b0d858190)

6 years agoMerge branch '45-integrate-llvm-scan-build-to-gitlab-ci-workflow-v9_14' into 'v9_14'
Ondřej Surý [Tue, 5 Nov 2019 09:19:49 +0000 (09:19 +0000)] 
Merge branch '45-integrate-llvm-scan-build-to-gitlab-ci-workflow-v9_14' into 'v9_14'

Resolve "Integrate LLVM scan-build to GitLab CI workflow"

See merge request isc-projects/bind9!2521

6 years agolibdns: add missing checks for return values in dnstap unit test
Ondřej Surý [Thu, 31 Oct 2019 11:50:58 +0000 (06:50 -0500)] 
libdns: add missing checks for return values in dnstap unit test

Related scan-build report:

dnstap_test.c:169:2: warning: Value stored to 'result' is never read
        result = dns_test_makeview("test", &view);
        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dnstap_test.c:193:2: warning: Value stored to 'result' is never read
        result = dns_compress_init(&cctx, -1, dt_mctx);
        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.

(cherry picked from commit e9acad638eb21e0ef0bd8558a196ca24c3099292)

6 years agonamed: remove named_g_defaultdnstap global variable
Ondřej Surý [Thu, 31 Oct 2019 11:46:32 +0000 (06:46 -0500)] 
named: remove named_g_defaultdnstap global variable

The named_g_defaultdnstap was never used as the dnstap requires
explicit configuration of the output file.

Related scan-build report:

./server.c:3476:14: warning: Value stored to 'dpath' during its initialization is never read
        const char *dpath = named_g_defaultdnstap;
                    ^~~~~   ~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

(cherry picked from commit 6decd145926387347216f5a9ecbf8ca4593d11be)

6 years agolibdns: Change check_dnskey_sigs() return type to void to match the reality how the...
Ondřej Surý [Thu, 24 Oct 2019 11:55:56 +0000 (13:55 +0200)] 
libdns: Change check_dnskey_sigs() return type to void to match the reality how the function is used

(cherry picked from commit 64cf5144a6873345877f9e18cca980474bf4e78d)

6 years agotests: Resolve scan-build false positive by adding extra assertion
Ondřej Surý [Sun, 13 Oct 2019 05:02:34 +0000 (07:02 +0200)] 
tests: Resolve scan-build false positive by adding extra assertion

(cherry picked from commit 309dca417cf4784c6453602aadd61bd9dd084878)

6 years agodnssec: don't qsort() empty hashlist
Ondřej Surý [Sun, 13 Oct 2019 04:53:06 +0000 (06:53 +0200)] 
dnssec: don't qsort() empty hashlist

(cherry picked from commit 6bbb0b8e42cd7b2d6ffd9de8517f1a85e60c8019)

6 years agonamed: Add INSIST() after bindkeysfile configuration load to silence scan-build FP
Ondřej Surý [Sun, 13 Oct 2019 04:47:26 +0000 (06:47 +0200)] 
named: Add INSIST() after bindkeysfile configuration load to silence scan-build FP

(cherry picked from commit 6bf364aec87773764c2850a95251aa6a15cf320e)

6 years agotests: Workaround scan-build false positive with FD_ZERO/FD_SET
Ondřej Surý [Sun, 13 Oct 2019 04:40:25 +0000 (06:40 +0200)] 
tests: Workaround scan-build false positive with FD_ZERO/FD_SET

(cherry picked from commit 7aa7f8592cf095712672070fdf5aec4e034d3a59)

6 years agolibdns: Remove useless checks for ISC_R_MEMORY, which cannot happen now
Ondřej Surý [Fri, 11 Oct 2019 22:15:51 +0000 (00:15 +0200)] 
libdns: Remove useless checks for ISC_R_MEMORY, which cannot happen now

(cherry picked from commit 80b55d25de1c116f2aad7c9585689f392e314ae7)

6 years agoci: Add LLVM/Clang scan-build checks into the GitLab CI
Ondřej Surý [Fri, 11 Oct 2019 21:35:43 +0000 (23:35 +0200)] 
ci: Add LLVM/Clang scan-build checks into the GitLab CI

(cherry picked from commit 5f584310bc139fb96fdf6aef523794ca8262ed32)

6 years agoMerge branch 'mnowak/1244-extra-quotes-around-TESTSOCK6/9_14' into 'v9_14'
Michal Nowak [Thu, 31 Oct 2019 16:32:07 +0000 (12:32 -0400)] 
Merge branch 'mnowak/1244-extra-quotes-around-TESTSOCK6/9_14' into 'v9_14'

[9.14] digdelv: Extra quotes prevent IPv6 runs

See merge request isc-projects/bind9!2515

6 years agodigdelv: Extra quotes prevent IPv6 runs
Michal Nowak [Thu, 31 Oct 2019 16:32:06 +0000 (12:32 -0400)] 
digdelv: Extra quotes prevent IPv6 runs

Portion of the digdelv test are skipped on IPv6 due to extra quotes
around $TESTSOCK6: "I:digdelv:IPv6 unavailable; skipping".

Researched by @michal.

Regressed with 351efd8812560c97e1bc7f6142b80ac5798d6ded.

(cherry picked from commit 1b6419f8a7ed988fb17abb3dcc1e628c9e71339d)

6 years agoMerge branch '876-documentation-feedback-v9_14' into 'v9_14'
Ondřej Surý [Thu, 31 Oct 2019 14:42:58 +0000 (10:42 -0400)] 
Merge branch '876-documentation-feedback-v9_14' into 'v9_14'

Resolve "Documentation feedback."

See merge request isc-projects/bind9!2513

6 years agoarm: add more text describing interaction between automatic-interface-scan and interf...
Ondřej Surý [Wed, 30 Oct 2019 19:38:17 +0000 (14:38 -0500)] 
arm: add more text describing interaction between automatic-interface-scan and interface-interval

(cherry picked from commit e0618174b6b84e8c82b9d50ff1ffa89d3277e3c0)

6 years agoarm: Fix the default for the lock-file command, it's 'none'
Ondřej Surý [Wed, 30 Oct 2019 19:22:41 +0000 (14:22 -0500)] 
arm: Fix the default for the lock-file command, it's 'none'

(cherry picked from commit f7eea400a8f1ae8b7112c0a79bf29a681cb1adc8)

6 years agoarm: Add an explanation on the effect of 'require-server-cookie yes;'
Brian Conry [Wed, 30 Oct 2019 19:16:04 +0000 (14:16 -0500)] 
arm: Add an explanation on the effect of 'require-server-cookie yes;'

(cherry picked from commit c6f91f8bd0edb9be84995cda9392ee475c5cd925)

6 years agoarm: add why when to set 'require-server-cookie yes;'
Mark Andrews [Thu, 24 Oct 2019 23:06:56 +0000 (10:06 +1100)] 
arm: add why when to set 'require-server-cookie yes;'

(cherry picked from commit c5453ea3283d4326116955a24cc0cd18397a5ebb)

6 years agoarm: document resolver-nonbackoff-tries and resolver-retry-interval
Mark Andrews [Thu, 24 Oct 2019 01:58:19 +0000 (12:58 +1100)] 
arm: document resolver-nonbackoff-tries and resolver-retry-interval

(cherry picked from commit 1ea6aadf6fe2c5047431546ea424f964e03ea121)

6 years agoarm: add default values for require-server-cookie and send-cookie options
Mark Andrews [Thu, 24 Oct 2019 01:41:28 +0000 (12:41 +1100)] 
arm: add default values for require-server-cookie and send-cookie options

(cherry picked from commit d8abf4f5b6e36f2feea608b509371f492aadc678)

6 years agoMerge branch '1059-prevent-tcp-failures-from-affecting-edns-stats-v9_14' into 'v9_14'
Michał Kępień [Thu, 31 Oct 2019 09:36:51 +0000 (05:36 -0400)] 
Merge branch '1059-prevent-tcp-failures-from-affecting-edns-stats-v9_14' into 'v9_14'

[v9_14] Prevent TCP failures from affecting EDNS stats

See merge request isc-projects/bind9!2511

6 years agoAdd CHANGES entry
Michał Kępień [Thu, 31 Oct 2019 07:48:35 +0000 (08:48 +0100)] 
Add CHANGES entry

5310. [bug] TCP failures were affecting EDNS statistics. [GL #1059]

(cherry picked from commit 36d3c66e4e139430e176da01f58b927fd572d64b)

6 years agoPrevent TCP failures from affecting EDNS stats
Michał Kępień [Thu, 31 Oct 2019 07:48:35 +0000 (08:48 +0100)] 
Prevent TCP failures from affecting EDNS stats

EDNS mechanisms only apply to DNS over UDP.  Thus, errors encountered
while sending DNS queries over TCP must not influence EDNS timeout
statistics.

(cherry picked from commit fce3c93ea2ac63cd06faf817abf3c775fe11a33d)

6 years agoMerge branch '1059-prevent-query-loops-for-misbehaving-servers-v9_14' into 'v9_14'
Michał Kępień [Thu, 31 Oct 2019 08:45:51 +0000 (04:45 -0400)] 
Merge branch '1059-prevent-query-loops-for-misbehaving-servers-v9_14' into 'v9_14'

[v9_14] Prevent query loops for misbehaving servers

See merge request isc-projects/bind9!2508

6 years agoPrevent query loops for misbehaving servers
Michał Kępień [Thu, 31 Oct 2019 07:48:35 +0000 (08:48 +0100)] 
Prevent query loops for misbehaving servers

If a TCP connection fails while attempting to send a query to a server,
the fetch context will be restarted without marking the target server as
a bad one.  If this happens for a server which:

  - was already marked with the DNS_FETCHOPT_EDNS512 flag,
  - responds to EDNS queries with the UDP payload size set to 512 bytes,
  - does not send response packets larger than 512 bytes,

and the response for the query being sent is larger than 512 byes, then
named will pointlessly alternate between sending UDP queries with EDNS
UDP payload size set to 512 bytes (which are responded to with truncated
answers) and TCP connections until the fetch context retry limit is
reached.  Prevent such query loops by marking the server as bad for a
given fetch context if the advertised EDNS UDP payload size for that
server gets reduced to 512 bytes and it is impossible to reach it using
TCP.

(cherry picked from commit 6cd115994e0d10631172c56a7dab1ace83e946b4)

6 years agoMerge branch '1288-log-dns_r_unchanged-from-sync_secure_journal-at-info-level-in...
Mark Andrews [Wed, 30 Oct 2019 01:32:49 +0000 (21:32 -0400)] 
Merge branch '1288-log-dns_r_unchanged-from-sync_secure_journal-at-info-level-in-receive_secure_serial-v9_14' into 'v9_14'

Resolve "Log DNS_R_UNCHANGED from sync_secure_journal at info level in receive_secure_serial."

See merge request isc-projects/bind9!2498

6 years agoadd CHANGES
Mark Andrews [Wed, 30 Oct 2019 00:19:34 +0000 (11:19 +1100)] 
add CHANGES

(cherry picked from commit e6ef7858c3feff71e77765006fc6d78ee71a9347)

6 years agoLog DNS_R_UNCHANGED from sync_secure_journal() at info level in receive_secure_serial()
Mark Andrews [Mon, 28 Oct 2019 02:44:50 +0000 (13:44 +1100)] 
Log DNS_R_UNCHANGED from sync_secure_journal() at info level in receive_secure_serial()

(cherry picked from commit 8eb09f3232caf817401b91863593b9db578c1033)

6 years agoMerge branch 'u/fanf2/compilezone-hang-v9_14' into 'v9_14'
Mark Andrews [Wed, 30 Oct 2019 00:14:35 +0000 (20:14 -0400)] 
Merge branch 'u/fanf2/compilezone-hang-v9_14' into 'v9_14'

Fix hang in `named-compilezone | head`

See merge request isc-projects/bind9!2496

6 years agoCHANGES
Tony Finch [Tue, 22 Oct 2019 14:58:23 +0000 (15:58 +0100)] 
CHANGES

(cherry picked from commit 548f29a4d9f938c1356ce2fafeae8a2ef39232cb)

6 years agoFix hang in `named-compilezone | head`
Tony Finch [Tue, 22 Oct 2019 14:37:38 +0000 (15:37 +0100)] 
Fix hang in `named-compilezone | head`

I was truncating zone files for experimental purposes when I found
that `named-compilezone | head` got stuck. The full command line that
exhibited the problem was:

dig axfr dotat.at |
named-compilezone -o /dev/stdout dotat.at /dev/stdin |
head

This requires a large enough zone to exhibit the problem, more than
about 70000 bytes of plain text output from named-compilezone.
I was running the command on Debian Stretch amd64.

This was puzzling since it looked like something was suppressing the
SIGPIPE. I used `strace` to examine what was happening at the hang.
The program was just calling write() a lot to print the zone file, and
the last write() hanged until I sent it a SIGINT.

During some discussion with friends, Ian Jackson guessed that opening
/dev/stdout O_RDRW might be the problem, and after some tests we found
that this does in fact suppress SIGPIPE.

Since `named-compilezone` only needs to write to its output file, the
fix is to omit the stdio "+" update flag.

(cherry picked from commit a87ccea03209fed52824cc05fdc892d2358aeea0)

6 years agoMerge branch '1265-disable-synth-from-dnssec-by-default-workaround-v9_14' into 'v9_14'
Ondřej Surý [Tue, 29 Oct 2019 11:39:27 +0000 (07:39 -0400)] 
Merge branch '1265-disable-synth-from-dnssec-by-default-workaround-v9_14' into 'v9_14'

Disable synth-from-dnssec by default [v9_14]

See merge request isc-projects/bind9!2494

6 years agoAdd CHANGES note
Ondřej Surý [Mon, 28 Oct 2019 20:09:01 +0000 (15:09 -0500)] 
Add CHANGES note

(cherry picked from commit 4a778cfa455a466fae5bb77d48c871b1b8b57c28)

6 years agoAdd release notes.
Ondřej Surý [Mon, 28 Oct 2019 20:07:43 +0000 (15:07 -0500)] 
Add release notes.

(cherry picked from commit fce5a01a63f4bdcb65e9f8786702b5ae66a6d4d7)

6 years agoAdjust synthfromdnssec system test to the changed defaults
Ondřej Surý [Mon, 28 Oct 2019 22:53:37 +0000 (17:53 -0500)] 
Adjust synthfromdnssec system test to the changed defaults

(cherry picked from commit 800d7843af8ee7dc0a5c4ac729762458ed310eb5)

6 years agoDisable NSEC Aggressive Cache (synth-from-dnssec) by default
Ondřej Surý [Mon, 28 Oct 2019 20:04:38 +0000 (15:04 -0500)] 
Disable NSEC Aggressive Cache (synth-from-dnssec) by default

It was found that NSEC Aggressive Caching has a significant performance impact
on BIND 9 when used as recursor.  This commit disables the synth-from-dnssec
configuration option by default to provide immediate remedy for people running
BIND 9.12+.  The NSEC Aggressive Cache will be enabled again after a proper fix
will be prepared.

(cherry picked from commit a20c42dca68737ca341bd24fff403cf5c7940aa1)

6 years agoMerge branch 'michal/add-centos-8-to-gitlab-ci-v9_14' into 'v9_14'
Michał Kępień [Tue, 29 Oct 2019 08:22:35 +0000 (04:22 -0400)] 
Merge branch 'michal/add-centos-8-to-gitlab-ci-v9_14' into 'v9_14'

[v9_14] Add CentOS 8 to GitLab CI

See merge request isc-projects/bind9!2492

6 years agoAdd CentOS 8 to GitLab CI
Michał Kępień [Fri, 25 Oct 2019 14:56:32 +0000 (16:56 +0200)] 
Add CentOS 8 to GitLab CI

Ensure BIND can be tested on CentOS 8 in GitLab CI to more quickly catch
build and test errors on that operating system.

(cherry picked from commit dce1c05042c840e7a3ea539ad864a54f2eb4a929)

6 years agoMerge branch '876-documentation-feedback-2-v9_14' into 'v9_14'
Mark Andrews [Thu, 24 Oct 2019 21:09:53 +0000 (17:09 -0400)] 
Merge branch '876-documentation-feedback-2-v9_14' into 'v9_14'

dnskey-sig-validity 0;

See merge request isc-projects/bind9!2487

6 years agoadd named-checkconf tests for dnskey-sig-validity at range limits
Mark Andrews [Thu, 24 Oct 2019 03:13:39 +0000 (14:13 +1100)] 
add named-checkconf tests for dnskey-sig-validity at range limits

(cherry picked from commit 918f020f9f5d3ca41cd230e489326654cf14c588)

6 years agoaccept 0 for dnskey-sig-validity (indicates off)
Mark Andrews [Thu, 24 Oct 2019 02:21:43 +0000 (13:21 +1100)] 
accept 0 for dnskey-sig-validity (indicates off)

(cherry picked from commit 20647657f9f64a51108c9f53240535d399bfcd4b)

6 years agoMerge branch '1281-dnstap-per-view-configuration-v9_14' into 'v9_14'
Mark Andrews [Mon, 21 Oct 2019 23:29:09 +0000 (19:29 -0400)] 
Merge branch '1281-dnstap-per-view-configuration-v9_14' into 'v9_14'

Resolve "dnstap per view configuration"

See merge request isc-projects/bind9!2479

6 years agoadd CHANGES
Mark Andrews [Mon, 21 Oct 2019 00:11:35 +0000 (11:11 +1100)] 
add CHANGES

(cherry picked from commit 6ce1e2e7315694889ff95c83958f00a845ac3018)

6 years agocheck for relationship between dnstap and dnstap-output seperately
Mark Andrews [Mon, 21 Oct 2019 00:08:06 +0000 (11:08 +1100)] 
check for relationship between dnstap and dnstap-output seperately

(cherry picked from commit c2fcc9f16f75d0a58767660d41dabf3bcd881787)

6 years agoadd more dnstap/dnstap-output combinations
Mark Andrews [Mon, 21 Oct 2019 00:06:21 +0000 (11:06 +1100)] 
add more dnstap/dnstap-output combinations

(cherry picked from commit f3d53630c302dffb9b429b2cbc0aa2c079116118)

6 years agoMerge branch 'security-v9_14' into v9_14
Tinderbox User [Sat, 19 Oct 2019 23:34:28 +0000 (23:34 +0000)] 
Merge branch 'security-v9_14' into v9_14

6 years agoMerge branch 'michal/address-cppcheck-1.89-warnings-v9_14' into 'v9_14'
Michał Kępień [Thu, 17 Oct 2019 09:50:06 +0000 (05:50 -0400)] 
Merge branch 'michal/address-cppcheck-1.89-warnings-v9_14' into 'v9_14'

[v9_14] Address cppcheck 1.89 warnings

See merge request isc-projects/bind9!2473

6 years agoSuppress cppcheck 1.89 false positive
Michał Kępień [Wed, 16 Oct 2019 20:06:00 +0000 (22:06 +0200)] 
Suppress cppcheck 1.89 false positive

cppcheck 1.89 emits a false positive for lib/dns/spnego_asn1.c:

    lib/dns/spnego_asn1.c:700:9: error: Uninitialized variable: data [uninitvar]
     memset(data, 0, sizeof(*data));
            ^
    lib/dns/spnego.c:1709:47: note: Calling function 'decode_NegTokenResp', 3rd argument '&resp' value is <Uninit>
     ret = decode_NegTokenResp(buf + taglen, len, &resp, NULL);
                                                  ^
    lib/dns/spnego_asn1.c:700:9: note: Uninitialized variable: data
     memset(data, 0, sizeof(*data));
            ^

This message started appearing with cppcheck 1.89 [1], but it will be
gone in the next release [2], so just suppress it for the time being.

[1] https://github.com/danmar/cppcheck/commit/af214e8212efa303e664920a468de00ee0b1fe3d

[2] https://github.com/danmar/cppcheck/commit/2595b826349a7ffbe1c958b806498b6e336bea33

(cherry picked from commit db7fd16346317600f6e1da0c25d50c37fddcf681)

6 years agoFix cppcheck 1.89 warnings
Michał Kępień [Wed, 16 Oct 2019 20:06:00 +0000 (22:06 +0200)] 
Fix cppcheck 1.89 warnings

cppcheck 1.89 enabled certain value flow analysis mechanisms [1] which
trigger null pointer dereference false positives in lib/dns/rpz.c:

    lib/dns/rpz.c:584:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^
    lib/dns/rpz.c:1425:44: note: Calling function 'adj_trigger_cnt', 4th argument '(void*)0' value is 0
      adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                               ^
    lib/dns/rpz.c:584:7: note: Null pointer dereference
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^
    lib/dns/rpz.c:598:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^
    lib/dns/rpz.c:1425:44: note: Calling function 'adj_trigger_cnt', 4th argument '(void*)0' value is 0
      adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                               ^
    lib/dns/rpz.c:598:7: note: Null pointer dereference
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^
    lib/dns/rpz.c:612:7: warning: Possible null pointer dereference: tgt_ip [nullPointer]
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^
    lib/dns/rpz.c:1425:44: note: Calling function 'adj_trigger_cnt', 4th argument '(void*)0' value is 0
      adj_trigger_cnt(rpzs, rpz_num, rpz_type, NULL, 0, true);
                                               ^
    lib/dns/rpz.c:612:7: note: Null pointer dereference
      if (KEY_IS_IPV4(tgt_prefix, tgt_ip)) {
          ^

It seems that cppcheck no longer treats at least some REQUIRE()
assertion failures as fatal, so add extra assertion macro definitions to
lib/isc/include/isc/util.h that are only used when the CPPCHECK
preprocessor macro is defined; these definitions make cppcheck 1.89
behave as expected.

There is an important requirement for these custom definitions to work:
cppcheck must properly treat abort() as a function which does not
return.  In order for that to happen, the __GNUC__ macro must be set to
a high enough number (because system include directories are used and
system headers compile attributes away if __GNUC__ is not high enough).
__GNUC__ is thus set to the major version number of the GCC compiler
used, which is what that latter does itself during compilation.

[1] https://github.com/danmar/cppcheck/commit/aaeec462e6d96bb70c2b1cf030979d09e2d7c959

(cherry picked from commit abfde3d543576311ce5d32089d774a360b7edc9f)

6 years agoMerge branch 'michal/cleanup-with-cc-alg-remnants-v9_14' into 'v9_14'
Michał Kępień [Tue, 15 Oct 2019 20:35:12 +0000 (16:35 -0400)] 
Merge branch 'michal/cleanup-with-cc-alg-remnants-v9_14' into 'v9_14'

[v9_14] Remove remnants of the --with-cc-alg option

See merge request isc-projects/bind9!2469

6 years agoRemove remnants of the --with-cc-alg option
Michał Kępień [Tue, 15 Oct 2019 19:57:58 +0000 (21:57 +0200)] 
Remove remnants of the --with-cc-alg option

Commit afa81ee4e4e863fa646177947c55e8c6b1475f47 omitted some spots in
the source tree which are still referencing the removed --with-cc-alg
"configure" option.  Make sure the latter is removed completely.

(cherry picked from commit 428dcf3b49d9c0ddbc1a2239812228172611bd56)

6 years agoMerge branch 'michal/limit-triggers-for-openbsd-system-test-jobs-v9_14' into 'v9_14'
Michał Kępień [Tue, 15 Oct 2019 19:52:45 +0000 (15:52 -0400)] 
Merge branch 'michal/limit-triggers-for-openbsd-system-test-jobs-v9_14' into 'v9_14'

[v9_14] Limit triggers for OpenBSD system test jobs

See merge request isc-projects/bind9!2467

6 years agoLimit triggers for OpenBSD system test jobs
Michał Kępień [Tue, 15 Oct 2019 19:35:18 +0000 (21:35 +0200)] 
Limit triggers for OpenBSD system test jobs

When a GitLab CI runner is not under load, a single OpenBSD system test
job completes in about 12 minutes, which is considered decent.  However,
such jobs are usually multiplexed with other system test jobs on the
same host, which causes each of them to take even 40 minutes to
complete.  Taking retries into account, this is completely unacceptable
for everyday use, so only start OpenBSD system test jobs for pipelines
created through GitLab's web interface and for pipelines created for Git
tags.

(cherry picked from commit 603e04563b65d230651c6861f4459c0ebdcd8fc5)

6 years agoMerge branch 'michal/minor-gitlab-ci-tweaks-v9_14' into 'v9_14'
Michał Kępień [Tue, 15 Oct 2019 19:45:57 +0000 (15:45 -0400)] 
Merge branch 'michal/minor-gitlab-ci-tweaks-v9_14' into 'v9_14'

[v9_14] Minor GitLab CI tweaks

See merge request isc-projects/bind9!2464

6 years agoTweak dependencies for the Windows build job
Michał Kępień [Tue, 15 Oct 2019 18:49:08 +0000 (20:49 +0200)] 
Tweak dependencies for the Windows build job

Since the Windows build job does not use the files created as a result
of running "autoreconf -fi" in the "autoreconf:sid:amd64" job, set its
dependencies to an empty list.

Since it is currently not possible to use "needs: []" for jobs which do
not belong to the first stage of a pipeline, set the "needs" key for the
Windows build job to the "autoreconf:sid:amd64" job so that all build
jobs are started at the same time (without this change, the Windows
build job does not start until all jobs in the "precheck" stage are
finished).

As a side note, these changes also attempt to eliminate intermittent,
bogus GitLab error messages ("There has been a missing dependency
failure").

(cherry picked from commit dd97dfdc1447833d70da82493400c5b8a87f73f6)

6 years agoFix artifacts created by the "autoreconf" CI job
Michał Kępień [Tue, 15 Oct 2019 18:49:08 +0000 (20:49 +0200)] 
Fix artifacts created by the "autoreconf" CI job

The intended purpose of the "autoreconf:sid:amd64" GitLab CI job is to
run "autoreconf -fi" and then pass the updated files on to subsequent
non-Windows build jobs.  However, the artifacts currently created by
that job only include files which are not tracked by Git.  Since we
currently do track e.g. "configure" with Git, the aforementioned job is
essentially a no-op.  Fix by manually specifying the files generated by
the "autoreconf:sid:amd64" job that should be passed on to subsequent
build jobs.

(cherry picked from commit e83b322f7f2c9e533319e250455bc12f752b4998)

6 years agoMerge branch 'michal/add-openbsd-to-gitlab-ci-v9_14' into 'v9_14'
Michał Kępień [Tue, 15 Oct 2019 18:44:41 +0000 (14:44 -0400)] 
Merge branch 'michal/add-openbsd-to-gitlab-ci-v9_14' into 'v9_14'

[v9_14] Add OpenBSD to GitLab CI

See merge request isc-projects/bind9!2459

6 years agoAdd OpenBSD to GitLab CI
Michał Kępień [Tue, 15 Oct 2019 14:38:04 +0000 (16:38 +0200)] 
Add OpenBSD to GitLab CI

Ensure BIND can be tested on OpenBSD in GitLab CI to more quickly catch
build and test errors on that operating system.

Some notes:

  - While GCC is packaged for OpenBSD, only old versions (4.2.1, 4.9.4)
    are readily available and none of them is the default system
    compiler, so we are only doing Clang builds in GitLab CI.

  - Unit tests are currently not run on OpenBSD because it ships with an
    old version of kyua which does not handle skipped tests properly.
    These jobs will be added when we move away from using kyua in the
    future as the test code itself works fine.

  - All OpenBSD jobs are run inside QEMU virtual machines, using GitLab
    Runner Custom executor.

(cherry picked from commit 07d2fcb5441960c508f5f36662f7c3acc5b98be7)

6 years agoWork around an OpenBSD "make" quirk
Michał Kępień [Tue, 15 Oct 2019 14:38:04 +0000 (16:38 +0200)] 
Work around an OpenBSD "make" quirk

Consider the following Makefile:

    foo:
     false

On OpenBSD, the following happens for this Makefile:

  - "make foo" returns 1,
  - "make -k foo" returns 0,
  - "make -k -j6 foo" returns 1.

However, if the .NOTPARALLEL pseudo-target is added to this Makefile,
"make -k -j6 foo" will return 0 as well.

Since bin/tests/Makefile contains the .NOTPARALLEL pseudo-target,
running "make -k -j6 test" from bin/tests/ on OpenBSD prevents any
errors from being reported through that command's exit code.

Work around the issue by running "make -k -j6 test" in the
bin/tests/system/ directory instead as bin/tests/system/Makefile does
not contain the .NOTPARALLEL pseudo-target and thus things work as
expected there.

(cherry picked from commit 6b5426e1a7e19e4e39848a362c3dce80b40243b9)

6 years agoMerge branch '1143-a-minor-documentation-issue-consideration-of-parsing-inconsistenci...
Mark Andrews [Sun, 13 Oct 2019 14:59:37 +0000 (10:59 -0400)] 
Merge branch '1143-a-minor-documentation-issue-consideration-of-parsing-inconsistencies-in-ipv4s-in-address-match-lists-and-in-a-controls-inet-statement-v9_14' into 'v9_14'

Resolve "A minor documentation issue & consideration of parsing inconsistencies in IPv4s in address match lists and in a controls/inet statement"

See merge request isc-projects/bind9!2454

6 years agoDetect partial prefixes / incomplete IPv4 address in acls.
Mark Andrews [Mon, 15 Jul 2019 00:25:36 +0000 (10:25 +1000)] 
Detect partial prefixes / incomplete IPv4 address in acls.

(cherry picked from commit fb87e669fb3cb7148fc5ff4226b20837971c3e66)

6 years agoMerge branch 'ondrej/1-week-artifact-expiration-v9_14' into 'v9_14'
Ondřej Surý [Thu, 10 Oct 2019 06:10:04 +0000 (02:10 -0400)] 
Merge branch 'ondrej/1-week-artifact-expiration-v9_14' into 'v9_14'

Synchronize the lifetime of artifact to 1 week

See merge request isc-projects/bind9!2449

6 years agoSynchronize the lifetime of artifact to 1 week
Ondřej Surý [Wed, 9 Oct 2019 19:34:18 +0000 (21:34 +0200)] 
Synchronize the lifetime of artifact to 1 week

(cherry picked from commit 85c0bede78522f6cc1ceaf8d1c2c1e5aae17263e)

6 years agoMerge branch 'fix-doc' into security-v9_14
Tinderbox User [Wed, 9 Oct 2019 20:54:55 +0000 (20:54 +0000)] 
Merge branch 'fix-doc' into security-v9_14

6 years agoregenerate doc
Tinderbox User [Wed, 9 Oct 2019 20:54:43 +0000 (20:54 +0000)] 
regenerate doc

6 years agoMerge branch 'security-v9_14-issue-numbers' into 'security-v9_14'
Ondřej Surý [Wed, 9 Oct 2019 06:34:53 +0000 (02:34 -0400)] 
Merge branch 'security-v9_14-issue-numbers' into 'security-v9_14'

Fix the GitLab issue numbers in CHANGES and notes.xml

See merge request isc-private/bind9!120

6 years agoFix the GitLab issue numbers in CHANGES and notes.xml
Ondřej Surý [Wed, 9 Oct 2019 06:02:05 +0000 (08:02 +0200)] 
Fix the GitLab issue numbers in CHANGES and notes.xml

6 years agoMerge branch 'marka-missing-runtime-check-v9_14' into 'v9_14'
Mark Andrews [Fri, 4 Oct 2019 04:34:22 +0000 (00:34 -0400)] 
Merge branch 'marka-missing-runtime-check-v9_14' into 'v9_14'

missing RUNTIME_CHECK

See merge request isc-projects/bind9!2417

6 years agoadd CHANGES
Mark Andrews [Mon, 30 Sep 2019 07:45:38 +0000 (17:45 +1000)] 
add CHANGES

(cherry picked from commit 346624fe3838c2bb367aa2b07a262729497d01f3)

6 years agoMove the failure handling block closer to the only place where it could fail
Ondřej Surý [Fri, 13 Sep 2019 08:52:06 +0000 (10:52 +0200)] 
Move the failure handling block closer to the only place where it could fail

(cherry picked from commit 69ecc711ac0c862b4ec8a186fcd06db8023526a6)

6 years agoReplace RUNTIME_CHECK(dns_name_copy(..., NULL)) with dns_name_copynf()
Ondřej Surý [Tue, 10 Sep 2019 12:42:41 +0000 (14:42 +0200)] 
Replace RUNTIME_CHECK(dns_name_copy(..., NULL)) with dns_name_copynf()

Use the semantic patch from the previous commit to replace all the calls to
dns_name_copy() with NULL as third argument with dns_name_copynf().

(cherry picked from commit c2dad0dcb2523a7711380e4409144745231b5282)

6 years agoAdd semantic patch to replace RUNTIME_CHECK(dns_name_copy(..., NULL)) with dns_name_c...
Ondřej Surý [Tue, 10 Sep 2019 12:41:53 +0000 (14:41 +0200)] 
Add semantic patch to replace RUNTIME_CHECK(dns_name_copy(..., NULL)) with dns_name_copynf

(cherry picked from commit ac26ecf540e7c6138a227de3e564b17f06df8b5b)

6 years agoSplit dns_name_copy() into dns_name_copy() and dns_name_copynf()
Ondřej Surý [Tue, 10 Sep 2019 12:36:41 +0000 (14:36 +0200)] 
Split dns_name_copy() into dns_name_copy() and dns_name_copynf()

The dns_name_copy() function followed two different semanitcs that was driven
whether the last argument was or wasn't NULL.  This commit splits the function
in two where now third argument to dns_name_copy() can't be NULL and
dns_name_copynf() doesn't have third argument.

(cherry picked from commit f7aef3738a9288d6b85bdc9ef4496ca1120acac7)

6 years agoThe final round of adding RUNTIME_CHECK() around dns_name_copy() calls
Ondřej Surý [Fri, 27 Sep 2019 06:37:26 +0000 (08:37 +0200)] 
The final round of adding RUNTIME_CHECK() around dns_name_copy() calls

This commit was done by hand to add the RUNTIME_CHECK() around stray
dns_name_copy() calls with NULL as third argument.  This covers the edge cases
that doesn't make sense to write a semantic patch since the usage pattern was
unique or almost unique.

(cherry picked from commit 5efa29e03afc6c29aff881efe9d9b188bff65e46)

6 years agoAdd RUNTIME_CHECK() around result = dns_name_copy(..., NULL) calls
Ondřej Surý [Tue, 10 Sep 2019 11:55:18 +0000 (13:55 +0200)] 
Add RUNTIME_CHECK() around result = dns_name_copy(..., NULL) calls

This second commit uses second semantic patch to replace the calls to
dns_name_copy() with NULL as third argument where the result was stored in a
isc_result_t variable.  As the dns_name_copy(..., NULL) cannot fail gracefully
when the third argument is NULL, it was just a bunch of dead code.

Couple of manual tweaks (removing dead labels and unused variables) were
manually applied on top of the semantic patch.

(cherry picked from commit 89b269b0d28e0acf4a1f92414b5df2e86e2a008e)

6 years agoAdd RUNTIME_CHECK() around plain dns_name_copy(..., NULL) calls using spatch
Ondřej Surý [Tue, 10 Sep 2019 11:16:48 +0000 (13:16 +0200)] 
Add RUNTIME_CHECK() around plain dns_name_copy(..., NULL) calls using spatch

This commit add RUNTIME_CHECK() around all simple dns_name_copy() calls where
the third argument is NULL using the semantic patch from the previous commit.

(cherry picked from commit 35bd7e4da0c59a912cd0785dff11aafc4026253b)

6 years agoAdd semantic patches to correctly check dns_name_copy(..., NULL) return code
Ondřej Surý [Mon, 9 Sep 2019 10:14:39 +0000 (12:14 +0200)] 
Add semantic patches to correctly check dns_name_copy(..., NULL) return code

The dns_name_copy() function cannot fail gracefully when the last argument
(target) is NULL.  Add RUNTIME_CHECK()s around such calls.

The first semantic patch adds RUNTIME_CHECK() around any call that ignores the
return value and is very safe to apply.

The second semantic patch attempts to properly add RUNTIME_CHECK() to places
where the return value from `dns_name_copy()` is recorded into `result`
variable.  The result of this semantic patch needs to be reviewed by hand.

Both patches misses couple places where the code surrounding the
`dns_name_copy(..., NULL)` usage is more complicated and is better suited to be
fixed by a human being that understands the surrounding code.

(cherry picked from commit 406eba0c4125c99ec4c79839a8a890b812225ca4)

6 years agoMerge branch 'marka-cppcheck-fixes-v9_12-and-v9_14' into 'v9_14'
Mark Andrews [Fri, 4 Oct 2019 03:36:19 +0000 (23:36 -0400)] 
Merge branch 'marka-cppcheck-fixes-v9_12-and-v9_14' into 'v9_14'

Address cppcheck reports (v9_11/v9_14)

See merge request isc-projects/bind9!2342

6 years agoAddress cppcheck reports
Mark Andrews [Fri, 13 Sep 2019 06:06:34 +0000 (16:06 +1000)] 
Address cppcheck reports