Compare commits

..

3467 Commits

Author SHA1 Message Date
Tinderbox User
8f32a30e5c Merge branch 'prep-release' into security-v9_11 2019-11-06 21:46:22 +00:00
Tinderbox User
5edf8dcb0d regen security-v9_11 2019-11-06 21:43:00 +00:00
Tinderbox User
336d24089b prep 9.11.13 2019-11-06 21:26:36 +00:00
Ondřej Surý
7b6e1597f4 Add CHANGES entry 2019-11-06 21:32:54 +01:00
Ondřej Surý
1c59ff3a4d Add release note 2019-11-06 21:32:54 +01:00
Witold Kręcicki
7562485282 libns: Rename ns_tcpconn refs member to clients 2019-11-06 21:32:54 +01:00
Witold Kręcicki
7d14ea3795 Limit query pipelining within each TCP connection
Previously, there was no limit to the number of concurrently served
queries over one pipelined TCP connection; an unlimited number of
queries sent over a single TCP connection could have potentially
exhausted the server's resources.
2019-11-06 21:32:54 +01:00
Michał Kępień
3b92b68d22 Merge branch '1298-do-not-use-sys-sysctl.h-on-linux-v9_11' into 'v9_11'
[v9_11] Do not use <sys/sysctl.h> on Linux

See merge request isc-projects/bind9!2546
2019-11-06 20:25:14 +00:00
Michał Kępień
4876a88fc0 Do not use <sys/sysctl.h> on Linux
glibc 2.30 deprecated the <sys/sysctl.h> header [1].  However, that
header is still used on other Unix-like systems, so only prevent it from
being used on Linux, in order to prevent compiler warnings from being
triggered.

[1] https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html

(cherry picked from commit 65a8b53bd0)
2019-11-06 21:11:20 +01:00
Michał Kępień
55786b9755 Merge branch '1206-add-assert_int_equal-shell-function-v9_11' into 'v9_11'
[v9_11] Add assert_int_equal() shell function

See merge request isc-projects/bind9!2545
2019-11-06 20:10:33 +00:00
Michał Kępień
69697ee680 Add assert_int_equal() shell function
Add a shell function which is used in the "tcp" system test, but has
been accidentally omitted from !2425.  Make sure the function does not
change the value of "ret" itself, so that the caller can decide what to
do with the function's return value.

(cherry picked from commit 8bb7f1f2a1)
2019-11-06 21:07:02 +01:00
Michał Kępień
58df62baaf Merge branch '1206-fix-tcp-high-water-release-note-v9_11' into 'v9_11'
[v9_11] Fix TCP high-water release note

See merge request isc-projects/bind9!2544
2019-11-06 20:05:09 +00:00
Michał Kępień
689e648059 Fix TCP high-water release note
Add missing GitLab issue number to the TCP high-water release note.

(cherry picked from commit d0a3273d4d)
2019-11-06 21:00:28 +01:00
Michał Kępień
df8d60a7d5 Merge branch '664-fetches-per-server-quota-docs-v9_11' into 'v9_11'
[v9_11] Describe the polynomial backoff curve used in the quota adjustment

See merge request isc-projects/bind9!2543
2019-11-06 19:52:52 +00:00
Ondřej Surý
b154ef1f86 Describe the polynomial backoff curve used in the quota adjustment
(cherry picked from commit 56ef09c3a1)
2019-11-06 20:50:46 +01:00
Matthijs Mekking
edd73f91b2 Merge branch '1256-jitter-dynamically-updated-signatures-v9_11' into 'v9_11'
Resolve "Signature Expiration Jitter not working for dynamic NSEC3 zones"

See merge request isc-projects/bind9!2536
2019-11-06 15:52:21 +00:00
Matthijs Mekking
26252892b3 Update copyrights 2019-11-06 16:30:50 +01:00
Ondřej Surý
653da9d5e7 Add CHANGES 2019-11-06 16:30:50 +01:00
Matthijs Mekking
32b5cae3ee Test jitter distribution
Test jitter distribution in NSEC3 dynamic zone and for a zone that has old
signatures.  In both cases the generated signatures should be spread nicely.

(cherry picked from commit 540b90fd6c)
2019-11-06 16:30:50 +01:00
Witold Kręcicki
bc96d7b3bb Jitter signatures times when adding dynamic records.
When doing regular signing expiry time is jittered to make sure
that the re-signing times are not clumped together. This expands
this behaviour to expiry times of dynamically added records.

When incrementally re-signing a zone use the full jitter range if
the server appears to have been offline for greater than 5 minutes
otherwise use a small jitter range of 3600 seconds.  This will stop
the signatures becoming more clustered if the server has been off
line for a significant period of time (> 5 minutes).

Manually edits: resolve conflicts, replace isc_random_uniform
with isc_random_jitter.

(cherry picked from commit 6b2fd40269)
2019-11-06 16:30:50 +01:00
Ondřej Surý
0b340031fe Merge branch '1206-tcp-high-water-stats-release-notes-fix-v9_11' into 'v9_11'
Fix the xml:id in the 9.11.13 release notes

See merge request isc-projects/bind9!2538
2019-11-06 14:55:55 +00:00
Ondřej Surý
5713de6182 Fix xml:id for 9.11.13 release notes 2019-11-06 15:51:51 +01:00
Ondřej Surý
361371a2c0 Merge branch '1206-tcp-high-water-stats-v9_11' into 'v9_11'
Resolve "Customer Feature Request:  Add "high-water" measurement for tcp-clients"

See merge request isc-projects/bind9!2506
2019-11-06 12:20:16 +00:00
Diego Fronza
a1f081bb4b Added TCP high-water entry to CHANGES
(cherry picked from commit ba3fe75e65)
2019-11-06 12:54:40 +01:00
Diego Fronza
41f684819c Added TCP high-water entry to release notes
(cherry picked from commit dd492b64d9)
2019-11-06 12:54:40 +01:00
Ondřej Surý
55b0da1381 Backport isc_quota_getused() function 2019-11-06 12:54:40 +01:00
Ondřej Surý
e8bf3c60f2 Avoid an extra atomic_load() call 2019-11-06 12:54:40 +01:00
Diego Fronza
270af739a7 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 29be224a04)
2019-11-06 12:54:40 +01:00
Diego Fronza
4ad2ab54cd 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 66fe8627de)
2019-11-06 12:54:40 +01:00
Diego Fronza
5a9c5166ce 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 a544e2e300)
2019-11-06 12:35:33 +01:00
Diego Fronza
e4ebeff0e4 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 0fc98ef2d5)
2019-11-06 12:35:33 +01:00
Michał Kępień
2468817029 Merge branch 'michal/split-release-notes-into-per-version-sections-v9_11' into 'v9_11'
[v9_11] Split release notes into per-version sections

See merge request isc-projects/bind9!2534
2019-11-06 11:33:52 +00:00
Michał Kępień
169a142cfe Rebuild output files 2019-11-06 11:24:11 +01:00
Michał Kępień
f0f34839a4 Update URLs used in release notes
Some URLs used in release notes became outdated.  Make sure they point
to currently available resources.
2019-11-06 11:23:45 +01:00
Michał Kępień
c9530390dd 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.
2019-11-06 11:23:42 +01:00
Ondřej Surý
49547db798 Merge branch '1285-documentation-update-to-sortlist-feature-bugs-42615-v9_11' into 'v9_11'
arm: Add a sentence about overlaping selectors in sortlist statement

See merge request isc-projects/bind9!2533
2019-11-06 10:09:57 +00:00
Ondřej Surý
08249a7f57 arm: Add a sentence about overlaping selectors in sortlist statement
(cherry picked from commit ebc61946b2)
2019-11-06 11:08:59 +01:00
Mark Andrews
41cb1461aa Merge branch '1301-geoip2-default-data-path-v9_11' into 'v9_11'
Resolve "geoip2 default data path"

See merge request isc-projects/bind9!2527
2019-11-06 01:30:42 +00:00
Mark Andrews
517964c7a1 Add CHANGES note
(cherry picked from commit 7b10faf108)
2019-11-06 12:13:55 +11:00
Mark Andrews
0da1eb6bfd Regenerate configure.
(cherry picked from commit 51fb42edcb)
2019-11-06 12:13:36 +11:00
Mark Andrews
0e6259fd7b Have 'named -V' report geoip-directory
(cherry picked from commit 2eaa75c380)
2019-11-06 12:12:43 +11:00
Mark Andrews
7e79ebeeba The default geoip-directory should be <MAXMINDDB_PREFIX>/share/GeoIP
(cherry picked from commit fcd765a59d)
2019-11-06 11:50:09 +11:00
Mark Andrews
ee0a70a67f MAXMINDDB_LIBS should end with '/lib' not '/libs'
(cherry picked from commit e0fe33506c)
2019-11-06 11:50:04 +11:00
Ondřej Surý
d23b8915a7 Merge branch '45-integrate-llvm-scan-build-to-gitlab-ci-workflow-v9_11' into 'v9_11'
Resolve "Integrate LLVM scan-build to GitLab CI workflow"

See merge request isc-projects/bind9!2522
2019-11-05 22:34:38 +00:00
Ondřej Surý
178f2f8426 Initialize the sockaddr_in and sockaddr_in6 structures
This fixes two scan-build false positives:

context.c:441:23: warning: The left operand of '!=' is a garbage value
                    || sin.sin_port != htons(lwres_udp_port))
                       ~~~~~~~~~~~~ ^
context.c:447:25: warning: The left operand of '!=' is a garbage value
                    || sin6.sin6_port != htons(lwres_udp_port))
                       ~~~~~~~~~~~~~~ ^
2 warnings generated.

The sin and sin6 structures are used as argument to recvfrom call and
they are properly filled by the call.
2019-11-05 23:07:07 +01:00
Ondřej Surý
4e3d0cb7ac Remove a dead assignment
This fixes the following scan-build warning:

zt.c:325:12: warning: Value stored to 'zt' during its initialization is never read
        dns_zt_t *zt = params->zt;
                  ^~   ~~~~~~~~~~
1 warning generated.
2019-11-05 23:07:07 +01:00
Ondřej Surý
12f6a44256 Ensure name count stays positive in remove_nodes()
This fixes a scan-build false-positive:

rbt_test.c:914:8: warning: Assigned value is garbage or undefined
                node %= *names_count;
                     ^  ~~~~~~~~~~~~
1 warning generated.

The remove_nodes() function is always called with correct arguments
(num_names is in <1;*names_count> range), so the modulo by zero cannot
happen, but nevertheless scan-build detects this and it's easy to fix.
2019-11-05 23:07:07 +01:00
Mark Andrews
16ad444207 Record when querytsig is valid
(cherry picked from commit 4938f97c97)

This commit was cherry-picked from v9_14 and it fixes the following
scan-build warnings:

tsig.c:1030:20: warning: Assigned value is garbage or undefined
                        tsig.timesigned = querytsig.timesigned;
                                        ^ ~~~~~~~~~~~~~~~~~~~~
tsig.c:1092:26: warning: The right operand of '<' is a garbage value
                        if (response && bytes < querytsig.siglen)
                                              ^ ~~~~~~~~~~~~~~~~
2 warnings generated.
2019-11-05 23:06:29 +01:00
Ondřej Surý
c1587e8587 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 e9acad638e)
2019-11-05 09:53:18 +01:00
Ondřej Surý
d374009464 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 6decd14592)
2019-11-05 09:52:52 +01:00
Ondřej Surý
9d0882168a tests: Resolve scan-build false positive by adding extra assertion
(cherry picked from commit 309dca417c)
2019-11-05 09:49:59 +01:00
Ondřej Surý
4cdcfc3f25 dnssec: don't qsort() empty hashlist
(cherry picked from commit 6bbb0b8e42)
2019-11-05 09:49:58 +01:00
Ondřej Surý
1968639776 named: Add INSIST() after bindkeysfile configuration load to silence scan-build FP
(cherry picked from commit 6bf364aec8)
2019-11-05 09:49:58 +01:00
Ondřej Surý
f1efd972ae tests: Workaround scan-build false positive with FD_ZERO/FD_SET
(cherry picked from commit 7aa7f8592c)
2019-11-05 09:49:57 +01:00
Ondřej Surý
0c277c7053 libdns: Remove useless checks for ISC_R_MEMORY, which cannot happen now
(cherry picked from commit 80b55d25de)
2019-11-05 09:49:57 +01:00
Ondřej Surý
f508126fc8 ci: Add LLVM/Clang scan-build checks into the GitLab CI
(cherry picked from commit 5f584310bc)
2019-11-05 09:49:56 +01:00
Michal Nowak
add1c6cb47 Merge branch 'mnowak/1244-extra-quotes-around-TESTSOCK6/9_11' into 'v9_11'
[9.11] digdelv: Extra quotes prevent IPv6 runs

See merge request isc-projects/bind9!2516
2019-11-01 10:05:27 +00:00
Michal Nowak
d7ad5d07ab 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 351efd8812.

(cherry picked from commit 1b6419f8a7)
2019-11-01 10:05:27 +00:00
Ondřej Surý
f4fcb9c051 Merge branch '876-documentation-feedback-v9_11' into 'v9_11'
Resolve "Documentation feedback."

See merge request isc-projects/bind9!2514
2019-10-31 10:30:38 -04:00
Ondřej Surý
2e48ce98e0 arm: add more text describing interaction between automatic-interface-scan and interface-interval
(cherry picked from commit e0618174b6)
2019-10-31 09:11:28 -05:00
Ondřej Surý
def91f10b8 arm: Fix the default for the lock-file command, it's 'none'
(cherry picked from commit f7eea400a8)
2019-10-31 09:11:28 -05:00
Brian Conry
af03546ede arm: Add an explanation on the effect of 'require-server-cookie yes;'
(cherry picked from commit c6f91f8bd0)
2019-10-31 09:11:27 -05:00
Mark Andrews
34de1b6e0e arm: add why when to set 'require-server-cookie yes;'
(cherry picked from commit c5453ea328)
2019-10-31 09:11:26 -05:00
Mark Andrews
bedefad22d arm: document resolver-nonbackoff-tries and resolver-retry-interval
(cherry picked from commit 1ea6aadf6f)
2019-10-31 09:11:26 -05:00
Mark Andrews
3e18044457 arm: add default values for require-server-cookie and send-cookie options
(cherry picked from commit d8abf4f5b6)
2019-10-31 09:11:25 -05:00
Michał Kępień
8736b918bf Merge branch '1059-prevent-tcp-failures-from-affecting-edns-stats-v9_11' into 'v9_11'
[v9_11] Prevent TCP failures from affecting EDNS stats

See merge request isc-projects/bind9!2512
2019-10-31 05:36:52 -04:00
Michał Kępień
bfe0fc65fd Add CHANGES entry
5310.	[bug]		TCP failures were affecting EDNS statistics. [GL #1059]

(cherry picked from commit 36d3c66e4e)
2019-10-31 09:55:29 +01:00
Michał Kępień
e6dd9db0e4 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 fce3c93ea2)
2019-10-31 09:55:06 +01:00
Michał Kępień
188bf16bf9 Merge branch 'michal/fix-copyrights' into 'v9_11'
[v9_11] Fix copyrights

See merge request isc-projects/bind9!2510
2019-10-31 04:49:40 -04:00
Michał Kępień
baee930ba5 Fix copyrights 2019-10-31 09:47:26 +01:00
Michał Kępień
9b269a1f65 Merge branch '1059-prevent-query-loops-for-misbehaving-servers-v9_11' into 'v9_11'
[v9_11] Prevent query loops for misbehaving servers

See merge request isc-projects/bind9!2509
2019-10-31 04:45:55 -04:00
Michał Kępień
a6331686a8 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 6cd115994e)
2019-10-31 08:50:48 +01:00
Michał Kępień
a4adb63c19 Merge branch '1275-make-geoip-use-ecs-yes-work-for-geoip2' into 'v9_11'
Make "geoip-use-ecs yes;" work for GeoIP2

See merge request isc-projects/bind9!2476
2019-10-30 11:08:36 -04:00
Michał Kępień
17311442f7 Add CHANGES entry
5309.	[bug]		"geoip-use-ecs yes;" was not working for GeoIP2.
			[GL #1275]
2019-10-30 16:05:55 +01:00
Michał Kępień
a5f25f837f Make "geoip-use-ecs yes;" work for GeoIP2
Add a missing preprocessor condition to make "geoip-use-ecs yes;" work
for GeoIP2.
2019-10-30 16:05:28 +01:00
Mark Andrews
177f236437 Merge branch '1288-log-dns_r_unchanged-from-sync_secure_journal-at-info-level-in-receive_secure_serial-v9_11' into 'v9_11'
Resolve "Log DNS_R_UNCHANGED from sync_secure_journal at info level in receive_secure_serial."

See merge request isc-projects/bind9!2499
2019-10-29 21:48:44 -04:00
Mark Andrews
96f437a1bd add CHANGES
(cherry picked from commit e6ef7858c3)
2019-10-30 12:13:39 +11:00
Mark Andrews
5a28b235c8 Log DNS_R_UNCHANGED from sync_secure_journal() at info level in receive_secure_serial()
(cherry picked from commit 8eb09f3232)
2019-10-30 12:13:38 +11:00
Mark Andrews
c812e87294 Merge branch 'u/fanf2/compilezone-hang-v9_11' into 'v9_11'
Fix hang in `named-compilezone | head`

See merge request isc-projects/bind9!2497
2019-10-29 20:15:52 -04:00
Tony Finch
bfa1642cd4 CHANGES
(cherry picked from commit 548f29a4d9)
2019-10-30 10:54:30 +11:00
Tony Finch
5b4d12c407 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 a87ccea032)
2019-10-30 10:53:14 +11:00
Michał Kępień
063c600cbb Merge branch 'michal/add-centos-8-to-gitlab-ci-v9_11' into 'v9_11'
[v9_11] Add CentOS 8 to GitLab CI

See merge request isc-projects/bind9!2493
2019-10-29 04:22:35 -04:00
Michał Kępień
1fd47058dc 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 dce1c05042)
2019-10-29 08:54:08 +01:00
Tinderbox User
5dfdc818d2 Merge branch 'v9_11_12' into v9_11 2019-10-24 05:58:38 +00:00
Mark Andrews
abaeba97f2 Merge branch '1281-dnstap-per-view-configuration-v9_11' into 'v9_11'
Resolve "dnstap per view configuration"

See merge request isc-projects/bind9!2480
2019-10-21 19:43:17 -04:00
Mark Andrews
6440183a4d add CHANGES
(cherry picked from commit 6ce1e2e731)
2019-10-22 10:28:16 +11:00
Mark Andrews
5f67de5b7b check for relationship between dnstap and dnstap-output seperately
(cherry picked from commit c2fcc9f16f)
2019-10-22 10:28:16 +11:00
Mark Andrews
e44f917e5e add more dnstap/dnstap-output combinations
(cherry picked from commit f3d53630c3)
2019-10-22 10:28:16 +11:00
Michał Kępień
aa18a87862 Merge branch 'michal/fix-gitlab-ci-for-v9_11' into 'v9_11'
Fix GitLab CI for v9_11

See merge request isc-projects/bind9!2475
2019-10-17 06:21:48 -04:00
Michał Kępień
af4bccd6a8 Revert "fix docs:sid:amd64: needs"
This reverts commit 26e802853e.
2019-10-17 12:07:31 +02:00
Ondřej Surý
6e78ede6cf Fix the triggering rule for autoreconf job (take 2)
(cherry picked from commit 3b339eb43f)
2019-10-17 12:05:55 +02:00
Ondřej Surý
0291dead5d Fix docs -> autoreconf dependencies in the .gitlab-ci.yml
(cherry picked from commit cc4c5482ef)
2019-10-17 12:05:48 +02:00
Michał Kępień
66f15af7e7 Merge branch 'michal/address-cppcheck-1.89-warnings-v9_11' into 'v9_11'
[v9_11] Address cppcheck 1.89 warnings

See merge request isc-projects/bind9!2474
2019-10-17 05:50:10 -04:00
Michał Kępień
cacba609c7 Suppress cppcheck 1.89 false positive
cppcheck 1.89 emits a false positive for lib/isc/sha1.c:

    lib/isc/sha1.c:273:16: error: Uninitialized variable: block [uninitvar]
     (void)memmove(block, buffer, 64);
                   ^
    lib/isc/sha1.c:272:10: note: Assignment 'block=&workspace', assigned value is <Uninit>
     block = &workspace;
             ^
    lib/isc/sha1.c:273:16: note: Uninitialized variable: block
     (void)memmove(block, buffer, 64);
                   ^

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] af214e8212

[2] 2595b82634
2019-10-17 11:13:30 +02:00
Michał Kępień
cb982f9225 Merge branch 'michal/cleanup-with-cc-alg-remnants-v9_11' into 'v9_11'
[v9_11] Remove remnants of the --with-cc-alg option

See merge request isc-projects/bind9!2470
2019-10-15 16:35:14 -04:00
Michał Kępień
983ef9b930 Remove remnants of the --with-cc-alg option
Commit afa81ee4e4 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 428dcf3b49)
2019-10-15 22:00:40 +02:00
Michał Kępień
339c62ef18 Merge branch 'michal/limit-triggers-for-openbsd-system-test-jobs-v9_11' into 'v9_11'
[v9_11] Limit triggers for OpenBSD system test jobs

See merge request isc-projects/bind9!2466
2019-10-15 15:52:46 -04:00
Michał Kępień
83f46be9cd 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 603e04563b)
2019-10-15 21:48:48 +02:00
Michał Kępień
0437c4b71d Merge branch 'michal/minor-gitlab-ci-tweaks-v9_11' into 'v9_11'
[v9_11] Minor GitLab CI tweaks

See merge request isc-projects/bind9!2465
2019-10-15 15:45:59 -04:00
Michał Kępień
e70e41f9fa 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 dd97dfdc14)
2019-10-15 20:49:39 +02:00
Michał Kępień
41f88306d8 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 e83b322f7f)
2019-10-15 20:49:39 +02:00
Michał Kępień
0d9ec71580 Merge branch 'michal/add-openbsd-to-gitlab-ci-v9_11' into 'v9_11'
[v9_11] Add OpenBSD to GitLab CI

See merge request isc-projects/bind9!2460
2019-10-15 14:44:43 -04:00
Michał Kępień
c5500efc77 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 07d2fcb544)
2019-10-15 16:38:37 +02:00
Michał Kępień
601de34899 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 6b5426e1a7)
2019-10-15 16:38:36 +02:00
Mark Andrews
4515107e5c Merge branch 'matthijs/bind9-1143-minor-doc-issue-parsing-incomplete-ipv4-v9_11' into 'v9_11'
Matthijs/bind9 1143 minor doc issue parsing incomplete ipv4 v9 11

See merge request isc-projects/bind9!2457
2019-10-14 07:30:35 -04:00
Mark Andrews
42f998ee14 Detect partial prefixes / incomplete IPv4 address in acls.
(cherry picked from commit fb87e669fb)
2019-10-14 22:12:16 +11:00
Ondřej Surý
3aefc17d38 Merge branch 'ondrej/1-week-artifact-expiration-v9_11' into 'v9_11'
Synchronize the lifetime of artifact to 1 week

See merge request isc-projects/bind9!2450
2019-10-10 02:09:49 -04:00
Ondřej Surý
fd146b80e4 Synchronize the lifetime of artifact to 1 week
(cherry picked from commit 85c0bede78)
2019-10-10 07:48:37 +02:00
Mark Andrews
3f5e52d923 Merge branch 'marka-fix-needs' into 'v9_11'
Marka fix needs

See merge request isc-projects/bind9!2444
2019-10-04 01:41:25 -04:00
Mark Andrews
26e802853e fix docs:sid:amd64: needs 2019-10-04 15:11:41 +10:00
Mark Andrews
f82eb514df Merge branch 'marka-cppcheck-fixes-v9_12-and-v9_14-v9_11' into 'v9_11'
Address cppcheck reports (v9_11/v9_14)

See merge request isc-projects/bind9!2443
2019-10-04 00:48:31 -04:00
Mark Andrews
d2c51b9c4b Address cppcheck reports
(cherry picked from commit fcebc4f15b)
2019-10-04 14:34:21 +10:00
Mark Andrews
5082bda2a0 Merge branch 'marka-silence-clang-v9_11' into 'v9_11'
silence clang warning by using local variable.

See merge request isc-projects/bind9!2442
2019-10-03 21:54:42 -04:00
Mark Andrews
6a31216867 silence clang warning by using local variable.
'isc_commandline_index' is a global variable so it can theoretically
change result between if expressions.  Save 'argv[isc_commandline_index]'
to local variable 'arg1' and use 'arg1 == NULL' in if expressions
instead of 'argc < isc_commandline_index + 1'.  This allows clang
to correctly determine what code is reachable.

(cherry picked from commit 1b27ab8642)
2019-10-04 11:38:21 +10:00
Ondřej Surý
010b831a75 Merge branch 'ondrej/fix-docs-autoreconf-v9_11' into 'v9_11'
Fix docs -> autoreconf dependencies in the .gitlab-ci.yml (v9_11)

See merge request isc-projects/bind9!2438
2019-10-03 09:59:03 -04:00
Ondřej Surý
43bea8a00e Fix the triggering rule for autoreconf job (take 2) 2019-10-03 15:41:06 +02:00
Ondřej Surý
99e99a2662 Fix docs -> autoreconf dependencies in the .gitlab-ci.yml 2019-10-03 15:41:05 +02:00
Ondřej Surý
9bc6936650 Merge branch 'ondrej/enable-cppcheck-v9_11' into 'v9_11'
Enable Cppcheck for v9_11 branch

See merge request isc-projects/bind9!2433
2019-10-03 09:23:15 -04:00
Ondřej Surý
8e02b7fbfc Use util/suppressions.txt for Cppcheck suppressions list 2019-10-03 14:42:30 +02:00
Ondřej Surý
fc48cdf6a9 lib/lwres/getipnode.c: Resolve possible Null pointer dereference (from Cppcheck) 2019-10-03 14:42:30 +02:00
Ondřej Surý
b06f36a726 lib/isc/include/isc/stdatomic.h: Suppress preprocessorErrorDirective error from Cppcheck 2019-10-03 14:21:47 +02:00
Ondřej Surý
61b3ab76a5 lib/isc/random.c: Suppress preprocessorErrorDirective error from Cppcheck 2019-10-03 14:21:47 +02:00
Ondřej Surý
d26c36a338 Remove randomly scattered additional style check suppressions that caused unmatchedSuppression
(cherry picked from commit a0d3614a60)
2019-10-03 14:21:47 +02:00
Ondřej Surý
7f0152632f lib/ns/query.c: Fix invalid order of DbC checks that could cause dereference before NULL check
(cherry picked from commit d1f035bbba)
2019-10-03 14:21:47 +02:00
Ondřej Surý
b31143e249 lib/ns/interfacemgr.c: Fix invalid order of DbC checks that could cause dereference before NULL check
(cherry picked from commit 033f3eb580)
2019-10-03 14:21:46 +02:00
Ondřej Surý
99a71e6efa lib/isccfg/parser.c: Fix invalid order of DbC checks that could cause dereference before NULL check
(cherry picked from commit f855f09a55)
2019-10-03 14:21:46 +02:00
Ondřej Surý
d2ca36346f lib/isccfg/aclconf.c: Suppress nullPointerRedundantCheck false positive
(cherry picked from commit 09232213d7)
2019-10-03 14:21:46 +02:00
Ondřej Surý
8f23f39fee lib/isc/unix/socket.c: Suppress preprocessorErrorDirective error from Cppcheck
(cherry picked from commit 026cf2ff4f)
2019-10-03 14:21:46 +02:00
Ondřej Surý
0e8e4c9174 lib/isc/task.c: Fix invalid order of DbC checks that could cause dereference before NULL check
(cherry picked from commit c662969da1)
2019-10-03 14:21:46 +02:00
Ondřej Surý
91999a143d lib/isc/pkc11.c: Fix possible NULL pointer dereference in push_attribute()
(cherry picked from commit e8948fd9b4)
2019-10-03 14:21:46 +02:00
Ondřej Surý
7accb1029f lib/isc/buffer.c: Fix invalid order of DbC checks that could cause dereference before NULL check
(cherry picked from commit e9f30fc211)
2019-10-03 14:21:46 +02:00
Ondřej Surý
1506ad6e76 lib/dns/tsig.c: Suppress Cppcheck false positive error uninitStructMember
(cherry picked from commit 8f2ad12d0a)
2019-10-03 14:21:46 +02:00
Ondřej Surý
49d017aa75 lib/dns/tests/rbt_serialize_test.c: Fix dereference before DbC check
(cherry picked from commit 14c174d921)
2019-10-03 14:21:46 +02:00
Ondřej Surý
b20df811fb Instead of declaring unused va_list, just don't declare it at all
(cherry picked from commit 269d507ccc)
2019-10-03 14:21:46 +02:00
Ondřej Surý
d76c92bba7 lib/dns/rdatalist.c: Fix dereference before DbC check
(cherry picked from commit 5fc7e98d29)
2019-10-03 14:21:46 +02:00
Ondřej Surý
8a01f18958 lib/dns/rdata/*/*.c: Silence false positive nullPointerRedundantCheck warning from Cppcheck
Cppcheck gets confused by:

void bar(void *arg) {
    foo *data = arg;
    REQUIRE(source != NULL);
    REQUIRE(data->member != NULL);
}

and for consistency the DbC check needs to be changed to

void bar(void *arg) {
    foo *data = arg;
    REQUIRE(data != NULL);
    REQUIRE(data->member != NULL);
}

(cherry picked from commit 66af8713d8)
2019-10-03 14:21:46 +02:00
Ondřej Surý
56a2cba642 lib/dns/rdata.c: Silence false positive nullPointerRedundantCheck warning from Cppcheck
(cherry picked from commit e68333aa67)
2019-10-03 14:21:46 +02:00
Ondřej Surý
c1df74f9c9 lib/dns/rbtdb.c: Add DbC check to safely dereference rbtdb in rbt_datafixer()
(cherry picked from commit d508ce4036)
2019-10-03 14:21:46 +02:00
Ondřej Surý
d04cc31c6e lib/dns/rbt.c: Suppress nullPointerRedundantCheck warnings from Cppcheck
(cherry picked from commit 8be5c3fcfc)
2019-10-03 14:21:46 +02:00
Ondřej Surý
f8200d8802 lib/dns/name.c: Fix dereference before DbC check reported by Cppcheck
(cherry picked from commit 0f5860aad3)
2019-10-03 14:21:46 +02:00
Ondřej Surý
68ae992b71 lib/dns/gssapi_link.c: Fix %d -> %u formatting when printing unsigned integers
(cherry picked from commit cea871464f)
2019-10-03 14:21:46 +02:00
Ondřej Surý
601380c4ed Fix passing NULL after the last typed argument to a variadic function leads to undefined behaviour.
From Cppcheck:

Passing NULL after the last typed argument to a variadic function leads to
undefined behaviour.  The C99 standard, in section 7.15.1.1, states that if the
type used by va_arg() is not compatible with the type of the actual next
argument (as promoted according to the default argument promotions), the
behavior is undefined.  The value of the NULL macro is an implementation-defined
null pointer constant (7.17), which can be any integer constant expression with
the value 0, or such an expression casted to (void*) (6.3.2.3). This includes
values like 0, 0L, or even 0LL.In practice on common architectures, this will
cause real crashes if sizeof(int) != sizeof(void*), and NULL is defined to 0 or
any other null pointer constant that promotes to int.  To reproduce you might be
able to use this little code example on 64bit platforms. If the output includes
"ERROR", the sentinel had only 4 out of 8 bytes initialized to zero and was not
detected as the final argument to stop argument processing via
va_arg(). Changing the 0 to (void*)0 or 0L will make the "ERROR" output go away.

void f(char *s, ...) {
    va_list ap;
    va_start(ap,s);
    for (;;) {
        char *p = va_arg(ap,char*);
        printf("%018p, %s\n", p, (long)p & 255 ? p : "");
        if(!p) break;
    }
    va_end(ap);
}

void g() {
    char *s2 = "x";
    char *s3 = "ERROR";

    // changing 0 to 0L for the 7th argument (which is intended to act as
    // sentinel) makes the error go away on x86_64
    f("first", s2, s2, s2, s2, s2, 0, s3, (char*)0);
}

void h() {
    int i;
    volatile unsigned char a[1000];
    for (i = 0; i<sizeof(a); i++)
        a[i] = -1;
}

int main() {
    h();
    g();
    return 0;
}

(cherry picked from commit d8879af877)
2019-10-03 14:21:46 +02:00
Ondřej Surý
034df34d92 lib/dns/ecdb.c: Fix couple of DbC conditions reported by Cppcheck
(cherry picked from commit 91cc6b9eb9)
2019-10-03 14:21:46 +02:00
Ondřej Surý
8dea1118c7 Fix the constification of the dns_name_t * result variable for dns_tsig_identity()
(cherry picked from commit fa7475b77a)
2019-10-03 14:21:46 +02:00
Ondřej Surý
aa5889959d bin/named/zoneconf.c: Reset dns_name_t *tsig on every view iteration
(cherry picked from commit 43925b2a8b)
2019-10-03 10:01:45 +02:00
Ondřej Surý
d16e4994e3 Change dns_tsigkey_identity from macro to a function and const argument and result
(cherry picked from commit 2e304b0b7f)
2019-10-03 09:55:30 +02:00
Ondřej Surý
7f8bd90ad4 bin/named/server.c: Fix couple of DbC conditions reported by Cppcheck
(cherry picked from commit 476277a6e6)
2019-10-03 09:54:01 +02:00
Ondřej Surý
fe9194880e bin/dig/dighost.c: Fix REQUIRE(!= NULL) condition after the variable has been dereferenced
(cherry picked from commit 9366ca769f)
2019-10-03 09:52:48 +02:00
Ondřej Surý
a70bde79e1 bin/delv/delv.c: Fix invalid logic operation in REQUIRE() condition
(cherry picked from commit 9ab16d10d4)
2019-10-03 09:51:57 +02:00
Ondřej Surý
bd5008fff5 Add Cppcheck job to the CI
This MR changes the default Debian sid build to wrap make with bear
that creates compilation database and use the compilation database
to run Cppcheck on the source files systematically.

The job is currently set to be allowed to fail as it will take some
time to fix all the Cppcheck detected issues.

(cherry picked from commit f55dc51f42)
2019-10-03 09:51:54 +02:00
Tinderbox User
3b6c6c88b0 Merge branch 'prep-release' into v9_11 2019-10-02 06:55:45 +00:00
Tinderbox User
e21d12ee89 prep 9.11.12 2019-10-02 06:55:33 +00:00
Mark Andrews
2a4a5480f9 Merge branch 'marka-cppcheck-v9_11' into 'v9_11'
Address cppcheck warnings and errors in v9_11

See merge request isc-projects/bind9!2421
2019-10-01 19:54:14 -04:00
Mark Andrews
34a3f41e9e add CHANGES 2019-10-02 09:25:00 +10:00
Ondřej Surý
66452fa91a Add Cppcheck job to the CI
This MR changes the default Debian sid build to wrap make with bear
that creates compilation database and use the compilation database
to run Cppcheck on the source files systematically.

The job is currently set to be allowed to fail as it will take some
time to fix all the Cppcheck detected issues.
2019-10-02 09:25:00 +10:00
Mark Andrews
9f144a5281 suppress cppcheck warning: literalWithCharPtrCompare 2019-10-02 09:25:00 +10:00
Mark Andrews
bef21ed45d suppress cppcheck warning: constArgument 2019-10-02 09:25:00 +10:00
Mark Andrews
5dc016f67e suppress cppcheck warning: unreadVariable on union 2019-10-02 09:25:00 +10:00
Mark Andrews
07e5969fe0 suppress cppcheck warning: leakNoVarFunctionCall 2019-10-02 09:25:00 +10:00
Mark Andrews
983099fe61 suppress cppcheck warning: duplicateCondition 2019-10-02 09:25:00 +10:00
Mark Andrews
8020fc9c1c suppress cppcheck error: memleak he.h_name 2019-10-02 09:25:00 +10:00
Mark Andrews
0936009af6 fix cppcheck warning: unusedVariable by reducing the scope of 'result' 2019-10-02 09:25:00 +10:00
Mark Andrews
1f3f8263a8 fix cppcheck warning: shadowedVariable by reducing scope of 'p' 2019-10-02 09:25:00 +10:00
Mark Andrews
c46caa92e8 fix cppcheck warning: unassignedVariable 2019-10-02 09:25:00 +10:00
Mark Andrews
73c1a7e03b fix cppcheck warnings: unreadVariable 2019-10-02 09:25:00 +10:00
Mark Andrews
875776e5a6 fix cppcheck warnings: adjust format strings to match arguments. 2019-10-02 09:25:00 +10:00
Mark Andrews
d6a14935b7 fix cppcheck warnings: duplicateCondition 2019-10-01 21:28:30 +10:00
Mark Andrews
92a73fd1de fix cppcheck warning: identicalConditionAfterEarlyExit 2019-10-01 21:28:23 +10:00
Mark Andrews
b318d4e151 fix cppcheck error: set *listenerp to NULL. 2019-10-01 21:28:19 +10:00
Ondřej Surý
43696e0c03 Merge branch '846-dig-idn-alabel-fallback-v9_11' into 'v9_11'
Resolve "dig cannot display ACE query if locale is not unicode"

See merge request isc-projects/bind9!2414
2019-09-30 06:45:06 -04:00
Ondřej Surý
f7d5a51a5f Add CHANGES for GL #846
(cherry picked from commit dccec984c0)
2019-09-30 12:19:56 +02:00
Ondřej Surý
15cf43bb88 Test of valid A-label in locale that cannot display it only with non-broken idn2
The libidn2 library on Ubuntu Bionic is broken and idn2_to_unicode_8zlz() does't
fail when it should.  This commit ensures that we don't run the system test for
valid A-label in locale that cannot display with the buggy libidn2 as it would
break the tests.

(cherry picked from commit c42e3583f9)
2019-09-30 12:19:56 +02:00
Petr Menšík
bde93c8472 Emit warning on IDN output failure
Warning is emitted before any dig headers.

(cherry picked from commit 21371abd72)
2019-09-30 12:19:56 +02:00
Petr Menšík
2e77d98c63 Modify idna test to fallback to ACE
Test valid A-label on input would be displayed as A-label on output if
locale does not allow U-label.

(cherry picked from commit ac0cf85f09)
2019-09-30 12:19:56 +02:00
Petr Menšík
8e497b131c Fallback to ASCII on output IDN conversion error
It is possible dig used ACE encoded name in locale, which does not
support converting it to unicode. Instead of fatal error, fallback to
ACE name on output.

(cherry picked from commit c8a871e908)
2019-09-30 12:19:56 +02:00
Mark Andrews
2e4044fc9a Merge branch 'marka-correct-list-v9_11' into 'v9_11'
use correct list

See merge request isc-projects/bind9!2412
2019-09-28 21:17:35 -04:00
Mark Andrews
76745b8cb5 Address cut-and-paste error where list name was not changed in one instance for change 5292.
(cherry picked from commit 9cd308ac5e)
2019-09-29 10:52:47 +10:00
Michał Kępień
fc1acd581a Merge branch '147-add-windows-to-gitlab-ci-v9_11' into 'v9_11'
[v9_11] Add Windows to GitLab CI

See merge request isc-projects/bind9!2409
2019-09-27 07:00:20 -04:00
Michał Kępień
6b8d591aa1 Update Windows-specific documentation
Bring the files describing Windows-specific aspects of building and
installing BIND up to date.  Remove the parts which are either outdated
(e.g. information about libxml2 bugs) or inconvenient to keep up to date
in the long run (e.g. ARM chapter numbers).

(cherry picked from commit 646fcb733e)
2019-09-27 12:13:39 +02:00
Michał Kępień
facc6a051f Add Windows to GitLab CI
Ensure BIND can be tested on Windows in GitLab to more quickly catch
build and test errors on that operating system.

Some notes:

  - While build jobs are triggered for all pipelines, system test jobs
    are not - due to the time it takes to run the complete system test
    suite on Windows (about 20 minutes), the latter are only run for
    pipelines created through GitLab's web interface and for pipelines
    created for Git tags.

  - Only the "Release" build configuration is currently used.  Adding
    "Debug" builds is a matter of extending .gitlab-ci.yml, but it was
    not done for the time being due to questionable usefulness of
    performing such builds in GitLab CI.

  - Only a 64-bit build is performed.  Adding support for 32-bit builds
    is not planned to be implemented.

  - Unit tests are still not run on Windows, but adding support for that
    is on the roadmap.

  - All Windows GitLab CI jobs are run inside Windows Server containers,
    using the Custom executor feature of GitLab Runner as Windows Server
    2016 is not supported by GitLab Runner's native Docker on Windows
    executor and Windows Server 2019 is not yet widely available from
    hosting providers.

  - The Windows Docker image used by GitLab CI is not stored in the
    GitLab Container Registry as it is over 27 GB in size and thus
    passing it between GitLab and its runners is impractical.

  - There is no vcvarsall.bat variant written in PowerShell and batch
    scripts are no longer supported by GitLab Runner Custom executor, so
    the environment variables set by vcvarsall.bat are injected back
    into the PowerShell environment by processing the output of "set".

  - Visual Studio parallel builds are a bit different than "make -jX"
    builds as parallelization happens in two tiers: project parallelism
    (controlled by the "/maxCpuCount" msbuild.exe switch) and compiler
    parallelism (controlled by the "/MP" cl.exe switch).  To limit the
    total number of compiler processes spawned concurrently to a value
    similar to the one used for Unix builds, msbuild.exe is allowed to
    build at most 2 projects at once, each of which can spawn up to half
    of BUILD_PARALLEL_JOBS worth of compiler processes.  Using such
    parameters is a fairly arbitrary decision taken to solve the
    trade-off between compilation speed and runner load.

  - Configuring network addresses in Windows Server containers is
    tricky.  Adding 10.53.0.1/24 and similar addresses to the vEthernet
    interface created by Docker never causes ifconfig.bat to fail, but
    in fact only one container can have any given IP address configured
    at any given time (the request to add the same address in another
    container is silently ignored).  Thus, in order to allow multiple
    system test jobs to be run in parallel, the addresses used in system
    tests are configured on the loopback interfaces.  Interestingly
    enough, the addresses set on the loopback interfaces... persist
    between containers.  Fortunately, this is acceptable for the time
    being and only requires ifconfig.bat failures to be ignored (as
    ifconfig.bat will fail if it attempts to configure an already
    existing address on an interface).  We also need to wait for a brief
    moment after calling ifconfig.bat as the addresses the latter
    attempts to configure may not be immediately available after it
    returns (and that causes runall.sh to error out).  Finally, for some
    reason we also need to signal that the DNS servers on each loopback
    interface are to be configured using DHCP or else ifconfig.bat will
    fail to add the requested addresses.

  - Since named.pid files created by named instances used in system
    tests contain Windows PIDs instead of Cygwin PIDs and various
    versions of Cygwin "kill" react differently when passed Windows PIDs
    without the -W switch, all "kill" invocations in GitLab CI need to
    use that switch (otherwise they would print error messages which
    would cause stop.pl to assume the process being killed died
    prematurely).  However, to preserve compatibility with older Cygwin
    versions used in our other Windows test environments, we alter the
    relevant scripts "on the fly" rather than in the Git repository.

  - In the containers used for running system tests, Windows Error
    Reporting is configured to automatically create crash dumps in
    C:\CrashDumps.  This directory is examined after the test suite is
    run to ensure no crashes went under stop.pl's radar.

(cherry picked from commit ca36405a3d)
2019-09-27 12:13:39 +02:00
Michał Kępień
86c904769b Fix system test error reporting on Windows
Make sure the CYGWIN environment variable is set whenever system tests
are run on Windows to prevent stop.pl from making incorrect assumptions
about the environment it is running in, which triggers e.g. false
reports about named instances crashing on shutdown when system tests are
run on Windows.  This issue has not been caught earlier because the
CYGWIN environment variable was incidentally being set on a higher level
in our Windows test environments.

Error reporting for parallel system tests on Windows has been broken all
along: since all parallel.mk targets generated by parallel.sh pipe their
output through "tee", the return code from run.sh is lost and thus
running "make -f parallel.mk check" will not yield a non-zero return
code if some system tests fail.  The same applies to runsequential.sh.
Yet, runall.sh on Windows only sets its return code to a non-zero value
if either "make -f parallel.mk check" or runsequential.sh returns a
non-zero return code.  Fix by making runall.sh yield a non-zero return
code when testsummary.sh fails, which is the same approach as the one
used in the "test" target in bin/tests/system/Makefile.

(cherry picked from commit fed397c04b)
2019-09-27 12:13:39 +02:00
Michał Kępień
61e4c9198a Make VS solution upgrading unnecessary
Until now, the build process for BIND on Windows involved upgrading the
solution file to the version of Visual Studio used on the build host.
Unfortunately, the executable used for that (devenv.exe) is not part of
Visual Studio Build Tools and thus there is no clean way to make that
executable part of a Windows Server container.

Luckily, the solution upgrade process boils down to just adding XML tags
to Visual Studio project files and modifying certain XML attributes - in
files which we pregenerate anyway using win32utils/Configure.  Thus,
extend win32utils/Configure with three new command line parameters that
enable it to mimic what "devenv.exe bind9.sln /upgrade" does.  This
makes the devenv.exe build step redundant and thus facilitates building
BIND in Windows Server containers.

(cherry picked from commit 0476e8f1ac)
2019-09-27 12:13:39 +02:00
Michał Kępień
5cf3a982fb Enable building dnssec-cds.exe
Build configuration for the dnssec-cds Visual Studio project is absent
from the solution file template, which means the solution needs to be
upgraded using "devenv bind9.sln /upgrade" in order for the dnssec-cds
project to be built.  Add the build configuration for dnssec-cds to the
solution file template so that upgrading the solution is not necessary
for building that project.

(cherry picked from commit 1d5259b0a0)
2019-09-27 12:13:39 +02:00
Michał Kępień
c2e452a931 Drop named-checkzone dependency on libbind9
named-checkzone does not use libbind9.  Update the Visual Studio project
file template for named-checkzone to reflect that, thus preventing
compilation issues during parallel builds.

(cherry picked from commit 918ebd9830)
2019-09-27 12:13:39 +02:00
Michał Kępień
7f87fce925 Fix building against OpenSSL 1.1.x on Windows
Backport portions of 05d7aa5734 required
to support compilation against OpenSSL 1.1.x on Windows.
2019-09-27 12:13:34 +02:00
Michał Kępień
d7801d5c8e Merge branch 'marka-win32-vsconf-v9_11' into 'v9_11'
[v9_11] allow VSCONF to be overridden at runtime

See merge request isc-projects/bind9!2407
2019-09-27 03:15:22 -04:00
Mark Andrews
a3df8dca3e allow VSCONF to be overridden at runtime
(cherry picked from commit 2433e3e808)
2019-09-27 09:13:57 +02:00
Mark Andrews
723e1e358d Merge branch 'marka-resolver-fix-v9_11' into 'v9_11'
use test specific shell variables

See merge request isc-projects/bind9!2389
2019-09-27 02:39:16 -04:00
Mark Andrews
e838d56624 use test specific shell variables
(cherry picked from commit 4a5400c1b7)
2019-09-27 16:22:26 +10:00
Michał Kępień
55be095bae Merge branch 'michal/prevent-unbuffered-stderr-io-on-windows-v9_11' into 'v9_11'
[v9_11] Prevent unbuffered stderr I/O on Windows

See merge request isc-projects/bind9!2402
2019-09-26 08:00:55 -04:00
Michał Kępień
f1b89d0d9f Prevent unbuffered stderr I/O on Windows
Make stderr fully buffered on Windows to improve named performance when
it is logging to stderr, which happens e.g. in system tests.  Note that:

  - line buffering (_IOLBF) is unavailable on Windows,

  - fflush() is called anyway after each log message gets written to the
    default stderr logging channels created by libisc.

(cherry picked from commit c72da3497d)
2019-09-26 13:56:49 +02:00
Michał Kępień
4e94797a2d Merge branch 'michal/prevent-cygwin-from-concealing-non-abort-crashes-v9_11' into 'v9_11'
Prevent Cygwin from concealing non-abort() crashes

See merge request isc-projects/bind9!2395
2019-09-26 04:38:10 -04:00
Michał Kępień
4a2700064a Prevent Cygwin from concealing non-abort() crashes
BIND system tests are run in a Cygwin environment.  Apparently Cygwin
shell sets the SEM_NOGPFAULTERRORBOX bit in its process error mode which
is then inherited by all spawned child processes.  This bit prevents the
Windows Error Reporting dialog from being displayed, which I assume is
part of an effort to contain memory handling errors triggered by Cygwin
binaries in the Cygwin environment.  Unfortunately, this also prevents
automatic crash dump creation by Windows Error Reporting and Cygwin
itself does not handle memory errors in native Windows processes spawned
from a Cygwin shell.

Fix by clearing the SEM_NOGPFAULTERRORBOX bit inside named if it is
started in a Cygwin environment, thus overriding the Cygwin-set process
error mode in order to enable Windows Error Reporting to handle all
named crashes.

(cherry picked from commit 3d4b17806f)
2019-09-26 10:35:27 +02:00
Michał Kępień
3b0f8e04be Merge branch '1245-properly-initialize-libxml2-v9_11' into 'v9_11'
[v9_11] Properly initialize libxml2

See merge request isc-projects/bind9!2393
2019-09-26 04:31:58 -04:00
Michał Kępień
57fbc90c19 Add CHANGES entry
5293.	[bug]		On Windows, named crashed upon any attempt to fetch XML
			statistics from it. [GL #1245]

(cherry picked from commit b5bcd4b8d6)
2019-09-26 10:29:16 +02:00
Michał Kępień
8263496434 Properly initialize libxml2
When libxml2 is to be used in a multi-threaded application, the
xmlInitThreads() function must be called before any other libxml2
function.  This function does different things on various platforms and
thus one can get away without calling it on Unix systems, but not on
Windows, where it initializes critical section objects used for
synchronizing access to data structures shared between threads.  Add the
missing xmlInitThreads() call to prevent crashes on affected systems.

Also add a matching xmlCleanupThreads() call to properly release the
resources set up by xmlInitThreads().

(cherry picked from commit a3c0b00ef6)
2019-09-26 10:29:15 +02:00
Ondřej Surý
5f40fbe5ad Merge branch '1119-tsan-lib/dns/rbtdb.c-v9_11' into 'v9_11'
Fix unprotected access to rbtnode in lib/dns/rbtdb.c:add32()

See merge request isc-projects/bind9!2385
2019-09-25 07:54:25 -04:00
Ondřej Surý
8b86335504 Fix unprotected access to rbtnode in lib/dns/rbtdb.c:add32()
(cherry picked from commit e307273307)
2019-09-25 13:36:56 +02:00
Mark Andrews
77f9c25316 Merge branch '1205-named-crashes-when-setting-nsec3param-v9_11' into 'v9_11'
Resolve "named crashes when setting nsec3param"

See merge request isc-projects/bind9!2380
2019-09-23 21:58:18 -04:00
Mark Andrews
5ab7020114 add CHANGES
(cherry picked from commit 31c8f66f25)
2019-09-24 11:38:48 +10:00
Mark Andrews
7d89e40ea0 Queue nsec3param setting until receive_secure_serial has completed.
(cherry picked from commit 456888c00f)
2019-09-24 11:38:26 +10:00
Mark Andrews
1f6a15f6ff Move dns_zone_setdb() to after the db is created.
Addresses the database changing w/o the changes being done under task lock.
Fix: build the database before assigning it to the zone.

(cherry picked from commit 4e686f40e0)
2019-09-24 11:38:26 +10:00
Michał Kępień
fdf438aa79 Merge branch '1239-fix-dnssec-dsfromkey-docs' into 'v9_11'
Fix information about default DS algorithm(s) used

See merge request isc-projects/bind9!2378
2019-09-23 10:29:14 -04:00
Michał Kępień
11f504681b Fix information about default DS algorithm(s) used
Commit 0a20176ca6 is an overly broad
backport: in BIND 9.11, dnssec-dsfromkey still defaults to outputting
both SHA-1 and SHA-256 digests.  Ensure the documentation matches the
code by correcting the former.
2019-09-23 16:25:21 +02:00
Michał Kępień
cd3431ecb4 Merge branch 'michal/run-freebsd-jobs-automatically-for-all-pipelines-v9_11' into 'v9_11'
[v9_11] Run FreeBSD jobs automatically for all pipelines

See merge request isc-projects/bind9!2354
2019-09-17 14:26:18 -04:00
Michał Kępień
81f2d352b5 Run FreeBSD jobs automatically for all pipelines
No problems have been observed on the FreeBSD GitLab CI runner during
the burn-in period, when FreeBSD jobs needed to be triggered manually.
Thus, make the FreeBSD jobs run automatically along other GitLab CI
jobs.

(cherry picked from commit f7bc95409d)
2019-09-17 20:24:47 +02:00
Michal Nowak
e28b488af2 Merge branch 'mnowak_README_fixes-v9_11' into 'v9_11'
Various README.md and README fixes

See merge request isc-projects/bind9!2336
2019-09-17 12:36:09 -04:00
Michal Nowak
a675da5688 Various README.md and README fixes
Fixing typos, typographical glitches. Added backticks around binaries,
modules, and libraries so it's more consistent. Added a paragraph with
ISC Security Policy.

(cherry picked from commit 4e2fdd7ee9)
2019-09-17 18:35:14 +02:00
Michal Nowak
3b7e92cb42 Merge branch 'mnowak/Red_Hat_find_docbook-xsl-v9_11' into 'v9_11'
Find docbook-xsl and dblatex templates on Red Hat/Fedora

See merge request isc-projects/bind9!2352
2019-09-17 12:15:07 -04:00
Michal Nowak
1d9e114736 Remove unused configure checks for dblatex 2019-09-17 17:43:35 +02:00
Michal Nowak
0a0700bd4a Find docbook-xsl and dblatex templates on Red Hat/Fedora
`/usr/share/sgml/docbook/xsl-stylesheets` and `/usr/share/dblatex` are
places where docbook-style-xsl and, respectively, dblatex packages on
Red Hat systems put their XSL templates. Unless we hint this place it
has to be added to `./configure` manually (`--with-docbook-xsl=...`):
https://src.fedoraproject.org/rpms/bind/blob/master/f/bind.spec#_691.

On Fedora 30:

Before
```
./configure
...
checking for Docbook-XSL path... auto
checking for html/docbook.xsl... "not found"
checking for xhtml/docbook.xsl... "not found"
checking for manpages/docbook.xsl... "not found"
checking for html/chunk.xsl... "not found"
checking for xhtml/chunk.xsl... "not found"
checking for html/chunktoc.xsl... "not found"
checking for xhtml/chunktoc.xsl... "not found"
checking for html/maketoc.xsl... "not found"
checking for xhtml/maketoc.xsl... "not found"
checking for xsl/docbook.xsl... "not found"
checking for xsl/latex_book_fast.xsl... "not found"
```

After:
```
./configure
...
checking for Docbook-XSL path... auto
checking for html/docbook.xsl... /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl
checking for xhtml/docbook.xsl... /usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl
checking for manpages/docbook.xsl... /usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl
checking for html/chunk.xsl... /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl
checking for xhtml/chunk.xsl... /usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk.xsl
checking for html/chunktoc.xsl... /usr/share/sgml/docbook/xsl-stylesheets/html/chunktoc.xsl
checking for xhtml/chunktoc.xsl... /usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunktoc.xsl
checking for html/maketoc.xsl... /usr/share/sgml/docbook/xsl-stylesheets/html/maketoc.xsl
checking for xhtml/maketoc.xsl... /usr/share/sgml/docbook/xsl-stylesheets/xhtml/maketoc.xsl
checking for xsl/docbook.xsl... /usr/share/dblatex/xsl/docbook.xsl
checking for xsl/latex_book_fast.xsl... /usr/share/dblatex/xsl/latex_book_fast.xsl
```

(cherry picked from commit 0055b9616e)
2019-09-17 17:40:25 +02:00
Ondřej Surý
bb5c3c1ed2 Merge branch 'ondrej/improve-flycheck-configuration-v9_11' into 'v9_11'
Remove the current directory from the flycheck configuration

See merge request isc-projects/bind9!2348
2019-09-17 07:32:52 -04:00
Ondřej Surý
a529c53eb1 Add the flycheck configuration from master branch 2019-09-17 13:29:52 +02:00
Mark Andrews
c02dc3550d Merge branch 'marka-win32-fixup-v9_11' into 'v9_11'
reinstate error handler

See merge request isc-projects/bind9!2339
2019-09-13 00:20:57 -04:00
Mark Andrews
7fb0a0db53 reinstate error handler 2019-09-13 14:17:32 +10:00
Mark Andrews
df6ff70a20 Merge branch 'marka-win32-fixup-v9_11' into 'v9_11'
win32 fixup v9_11

See merge request isc-projects/bind9!2338
2019-09-13 00:00:09 -04:00
Mark Andrews
0d23bc5b55 declare alloc_failure 2019-09-13 13:57:41 +10:00
Mark Andrews
9ee27573af declare result 2019-09-13 13:48:20 +10:00
Michał Kępień
217adaadb7 Merge branch 'michal/add-freebsd-to-ci-v9_11' into 'v9_11'
[v9_11] Add FreeBSD to CI

See merge request isc-projects/bind9!2335
2019-09-12 09:26:19 -04:00
Michał Kępień
498e102790 Add FreeBSD to GitLab CI
Ensure BIND can be tested on FreeBSD in GitLab to more quickly catch
build and test errors on that operating system.  Make the relevant jobs
optional until the CI environment supporting them is deemed stable
enough for continuous use.

FreeBSD jobs are run using the Custom executor feature of GitLab Runner.
Unlike the Docker executor, the Custom executor does not support the
"image" option and thus some way of informing the runner about the OS
version to use for a given job is necessary.  Arguably the simplest way
of doing that without a lot of code duplication in .gitlab-ci.yml would
be to use a YAML template with a "variables" block specifying the
desired FreeBSD release to use, but including such a template in a job
definition would cause issues in case other variables also needed to be
set for that job (e.g. CFLAGS or EXTRA_CONFIGURE for build jobs).  Thus,
only one FreeBSD YAML template is defined instead and the Custom
executor scripts on FreeBSD runners extract the OS version to use from
the CI job name.  This allows .gitlab-ci.yml variables to be defined for
FreeBSD jobs in the same way as for Docker-based jobs.

(cherry picked from commit 51af91d007)
2019-09-12 15:01:08 +02:00
Michał Kępień
4979ee9311 Set --logfile for all kyua invocations
When kyua is called without the --logfile command line option, the log
file is created at a default location which is derived from the HOME
environment variable.  On FreeBSD GitLab CI runners, /home is a
read-only directory and thus kyua invocations not using the --logfile
option fail when HOME is set to something beneath /home.  Set --logfile
to /dev/null for all kyua invocations whose logs are irrelevant in order
to prevent kyua failures caused by HOME being non-writable.

(cherry picked from commit 1bffa602ba)
2019-09-12 15:01:06 +02:00
Michał Kępień
3c933f7e3b Merge branch 'michal/misc-doc-fixes-v9_11' into 'v9_11'
[v9_11] Miscellaneous documentation fixes

See merge request isc-projects/bind9!2331
2019-09-12 08:01:35 -04:00
Michał Kępień
be759d235b Put SW support policy URL in a separate paragraph
Ensure the URL for ISC's software support policy does not go off the
edge of the page in the PDF version of the release notes.
2019-09-12 13:59:08 +02:00
Michał Kępień
49a9cc3425 README: do not list outdated Microsoft systems
BIND is no longer being built for Windows XP or Windows Server 2003 as
these systems reached end of life, so do not mention them in README.
2019-09-12 13:59:01 +02:00
Michał Kępień
85016d7bee README: do not mention /usr/include on macOS
For newer versions of Xcode, "xcode-select --install" no longer installs
system headers into /usr/include (instead, they are installed in the
Xcode directory tree), so do not mention that path in the macOS section
of README to prevent confusion.

(cherry picked from commit 5af0b1d1d3)
2019-09-12 13:58:45 +02:00
Mark Andrews
a6a532a09e Merge branch 'marka-split-notes-v9_11' into 'v9_11'
split notes.xml into sections v9_11

See merge request isc-projects/bind9!2328
2019-09-12 06:47:47 -04:00
Mark Andrews
c7209b6cb0 split notes.xml into sections 2019-09-12 20:18:32 +10:00
Mark Andrews
4db052712b Merge branch '1043-cppcheck-detected-code-issues-v9_11' into 'v9_11'
Resolve "cppcheck-detected code issues"

See merge request isc-projects/bind9!2333
2019-09-12 06:07:37 -04:00
Mark Andrews
ff700b2259 address or suppress cppcheck warnings
(cherry picked from commit b59fe46e76)
2019-09-12 19:31:56 +10:00
Tinderbox User
414bcc7f64 Merge branch 'prep-release' into v9_11 2019-09-09 14:48:35 +00:00
Tinderbox User
11f1c44264 prep for 9.11.11 2019-09-09 14:29:59 +00:00
Tinderbox User
1860bab56b prep for 9.11.11 2019-09-09 14:22:44 +00:00
Mark Andrews
530a8f262a Merge branch '1213-deadcode-missing-log-message' into 'v9_11'
Resolve "deadcode / missing log message"

See merge request isc-projects/bind9!2321
2019-09-09 02:59:38 -04:00
Mark Andrews
37245e7350 add CHANGES 2019-09-09 16:39:43 +10:00
Mark Andrews
47722eacbf remove accidentally back ported code 2019-09-09 16:27:22 +10:00
Mark Andrews
5cde0e14e5 Merge branch 'marka-fix-insist-v9_11' into 'v9_11'
Address "Value stored to 'dscpcount' is never read"

See merge request isc-projects/bind9!2320
2019-09-06 03:03:23 -04:00
Mark Andrews
f125c32591 also insist that keycount == dscpcount
(cherry picked from commit dbdd19853e)
2019-09-06 16:44:31 +10:00
Mark Andrews
f5cda8b307 Merge branch '1211-potential-null-pointer-dereference-in-isc_ht_find-in-9-11' into 'v9_11'
Resolve "Potential NULL pointer dereference in isc_ht_find in 9.11"

See merge request isc-projects/bind9!2310
2019-09-06 02:05:44 -04:00
Mark Andrews
e54b97822d add CHANGES 2019-09-06 11:51:19 +10:00
Mark Andrews
5c23d41ba3 check that 'valuep' is not NULL befor assigning to '*valuep' 2019-09-06 11:50:30 +10:00
Mark Andrews
55a844b91b Merge branch 'marka-pipequeries' into 'v9_11'
silence clang warning in 9.11's pipequeries.c

See merge request isc-projects/bind9!2313
2019-09-05 00:09:38 -04:00
Mark Andrews
1225cd3f8b remove incorrect UNUSED(argc); add POST(argv); 2019-09-05 11:15:52 +10:00
Mark Andrews
494184f8b9 Merge branch 'marka-fix-rndc-reload-v9_11' into 'v9_11'
use v9_11 style rndc reload

See merge request isc-projects/bind9!2306
2019-09-04 04:42:47 -04:00
Mark Andrews
12b2727382 use v9_11 style rndc reload 2019-09-04 18:23:41 +10:00
Mark Andrews
892c8b9e7a Merge branch 'marka-fix-maxudp-v9_11' into 'v9_11'
fix backport of maxudp for windows

See merge request isc-projects/bind9!2305
2019-09-04 02:27:27 -04:00
Mark Andrews
34eba51728 fix backport of maxudp for windows 2019-09-04 16:09:07 +10:00
Mark Andrews
fc84433dc5 Merge branch '1208-potential-for-null-pointer-de-reference-cwe-476-in-file-client-c' into 'v9_11'
Resolve "Potential for NULL pointer de-reference (CWE-476) in file 'client.c'"

See merge request isc-projects/bind9!2303
2019-09-04 02:00:20 -04:00
Mark Andrews
eb83741a62 add CHANGES 2019-09-04 15:16:13 +10:00
Mark Andrews
721939680d address potential NULL pointer dereference 2019-09-04 15:08:06 +10:00
Mark Andrews
237a6c56aa Merge branch '1207-bind-potential-for-null-pointer-de-references-plus-memory-leaks-cwe-476-in-file-dlz_mysqldyn_mod-c-v9_11' into 'v9_11'
Resolve "BIND | Potential for NULL pointer de-references plus memory leaks (CWE-476) in file 'dlz_mysqldyn_mod.c'"

See merge request isc-projects/bind9!2302
2019-09-04 00:59:12 -04:00
Mark Andrews
8ccfd14a52 add CHANGES
(cherry picked from commit 8b65ac9128)
2019-09-04 14:38:17 +10:00
Mark Andrews
a0784e7a39 address NULL pointer dereferences
(cherry picked from commit 2de94dd4c4)
2019-09-04 14:38:17 +10:00
Mark Andrews
b92c8c146a Merge branch '837-win32-legacy-system-test-failure-v9_11' into 'v9_11'
Resolve "win32 legacy system test failure"

See merge request isc-projects/bind9!2298
2019-09-03 21:24:31 -04:00
Mark Andrews
25361548a5 add CHANGES
(cherry picked from commit f0fd713f17)
2019-09-04 11:09:31 +10:00
Mark Andrews
da08c99d5b silence dos2unix messages
(cherry picked from commit 2390d16955)
2019-09-04 11:09:31 +10:00
Mark Andrews
b44ad05d20 implement maxudp under windows
(cherry picked from commit 2f558854b7)
2019-09-04 11:09:31 +10:00
Ondřej Surý
96ab258bd9 Merge branch '1196-misaligned-address-in-siphash-c-v9_11' into 'v9_11'
Resolve "Misaligned address in siphash.c"

See merge request isc-projects/bind9!2292
2019-09-03 05:00:45 -04:00
Ondřej Surý
3c85a1f104 Fix alignment issues in the native implementation of isc_siphash24()
The native implementation's conversion from the uint8_t buffers to uint64_t now
follows the reference implementation that doesn't require aligned buffers.
2019-09-02 13:22:40 +02:00
Evan Hunt
1d74e507c0 Merge branch '1146-rpz-search-v9_11' into 'v9_11'
use an rbtnodechain for wildcard matching in RPZ summary db

See merge request isc-projects/bind9!2287
2019-08-29 23:24:10 -04:00
Evan Hunt
0dae760192 CHANGES
(cherry picked from commit 22349d919c)
2019-08-29 20:05:25 -07:00
Evan Hunt
564a62bc2f use an rbtnodechain to walk up labels
when looking for a possible wildcard match in the RPZ summary database,
use an rbtnodechain to walk up label by label, rather than using the
node's parent pointer.

(cherry picked from commit 6e9be9a952)
2019-08-29 20:05:22 -07:00
Mark Andrews
f416dfaea0 Merge branch '1189-don-t-escape-commas-when-reporting-named-s-command-line-v9_11' into 'v9_11'
Resolve "Don't escape commas when reporting named's command line."

See merge request isc-projects/bind9!2284
2019-08-29 21:03:58 -04:00
Mark Andrews
747197dd21 add CHANGES
(cherry picked from commit ecba23bc24)
2019-08-30 10:44:54 +10:00
Mark Andrews
79dd970a73 don't escape commas when saving named's command line
(cherry picked from commit 70dd93bf8a)
2019-08-30 10:44:51 +10:00
Ondřej Surý
5ea8a0c758 Merge branch 'ondrej/use-needs-kw-in-gitlab-ci-v9_14-v9_11' into 'v9_11'
Ondrej/use needs kw in gitlab ci v9 14 v9 11

See merge request isc-projects/bind9!2282
2019-08-29 10:19:56 -04:00
Ondřej Surý
397249f0b3 Fix uninitialized variable warning in restore_nsec3param()
(cherry picked from commit 1c084c35f0)
2019-08-29 16:04:05 +02:00
Ondřej Surý
2e35a769b7 Synchronize the .gitlab-ci.yml with master
(cherry picked from commit 53058ce4b3)
2019-08-29 16:04:03 +02:00
Ondřej Surý
4b707744fb Swap unit and system stages
(cherry picked from commit 3f2de6d39c)
(cherry picked from commit 173ecd41a2)
2019-08-29 16:03:25 +02:00
Ondřej Surý
82d41bd33d Further improve the CI by starting the build and docs right after autoreconf
(cherry picked from commit fc834aa4bc)
(cherry picked from commit 6464b2e962)
2019-08-29 16:03:25 +02:00
Ondřej Surý
10fcfe65fe Split the system and unit tests into separate stages
(cherry picked from commit 008b73fb41)
(cherry picked from commit 76e8f7783d)
2019-08-29 16:03:24 +02:00
Ondřej Surý
fe8579592f Make use of DAG for GitLab Pipelines
GitLab 12.2 has introduced Directed Acyclic Graphs in the GitLab CI[1] that
allow jobs to run out-of-order and not wait for the whole previous stage to
complete.

1. https://docs.gitlab.com/ee/ci/directed_acyclic_graph/

(cherry picked from commit 04ce124279)
(cherry picked from commit 1d04597702)
2019-08-29 16:03:22 +02:00
Mark Andrews
e96f1e1c84 Merge branch '1199-return-value-from-open-not-checked-v9_11' into 'v9_11'
Resolve "Return value from open() not checked."

See merge request isc-projects/bind9!2275
2019-08-28 20:42:01 -04:00
Mark Andrews
b94f0db15b check that open() succeeded
(cherry picked from commit 510306c654)
2019-08-29 10:26:22 +10:00
Mark Andrews
bfb7081ada Merge branch '1201-add-llq-option-v9_11' into 'v9_11'
Resolve "Add LLQ option"

See merge request isc-projects/bind9!2272
2019-08-28 04:03:01 -04:00
Mark Andrews
b67c6fe8bd Add support for displaying EDNS option LLQ.
(cherry picked from commit d98f446d3f)
2019-08-28 17:48:24 +10:00
Mark Andrews
1d38b56da9 Merge branch '1187-ddns-rejected-if-zone-contains-cds-cdnskey-v9_11' into 'v9_11'
Resolve "DDNS rejected if zone contains CDS/CDNSKEY"

See merge request isc-projects/bind9!2270
2019-08-28 03:43:18 -04:00
Mark Andrews
36b367a472 add CHANGES
(cherry picked from commit ba26c6eb48)
2019-08-28 17:29:20 +10:00
Mark Andrews
27daac1e4b add good and bad CDS / CDNSKEY test zones
(cherry picked from commit 30610eb9a5)
2019-08-28 17:29:20 +10:00
Mark Andrews
ad1950439c fix dnssec system tests that fail now that we call dns_zone_cdscheck
(cherry picked from commit 3705605e0b)
2019-08-28 17:18:51 +10:00
Mark Andrews
6aee585e94 add dns_zone_cdscheck to integrity checks
(cherry picked from commit cd40c9fe61)
2019-08-28 16:27:09 +10:00
Mark Andrews
70a85ab614 implement getoriginnode for sdb
(cherry picked from commit 2ebc4776ca)
2019-08-28 16:26:24 +10:00
Tinderbox User
815084f7c7 Merge branch 'prep-release' into v9_11 2019-08-13 09:49:39 +00:00
Tinderbox User
65e5b68ed6 prep 9.11.10 2019-08-13 09:47:16 +00:00
Tinderbox User
eb55184bda prep 9.11.10 2019-08-13 09:34:56 +00:00
Michał Kępień
65fde68c62 Merge branch '1110-clarify-relationship-between-acls-and-rpz-v9_11' into 'v9_11'
[v9_11] Clarify relationship between ACLs and RPZ

See merge request isc-projects/bind9!2258
2019-08-12 03:50:23 -04:00
Michał Kępień
ddb2651106 Clarify relationship between ACLs and RPZ
In the ARM section about RPZ, add text explicitly stating that ACLs take
precedence over RPZ to prevent users from expecting RPZ actions to be
applied to queries coming from clients which are not permitted access to
the resolver by ACLs.

(cherry picked from commit 33bddbb5d1)
2019-08-12 09:48:16 +02:00
Michał Kępień
a7baef2250 Merge branch 'michal/fix-faulty-backport-which-broke-the-windows-build' into 'v9_11'
Fix faulty backport which broke the Windows build

See merge request isc-projects/bind9!2244
2019-08-08 15:00:16 -04:00
Michał Kępień
3806811c04 Fix faulty backport which broke the Windows build
Commit 91307842b8 inadvertently mangled
the XML structure inside lib/isc/win32/libisc.vcxproj.filters.in, thus
breaking the Windows build.  Add the missing XML tags to make Windows
builds work again.
2019-08-08 20:45:30 +02:00
Michał Kępień
68c95f0b85 Merge branch 'michal/implement-a-convenience-function-for-rndc-dumpdb-v9_11' into 'v9_11'
[v9_11] Implement a convenience function for "rndc dumpdb"

See merge request isc-projects/bind9!2250
2019-08-08 09:32:46 -04:00
Michał Kępień
323c309724 Use rndc_dumpdb() in the "sfcache" system test
(cherry picked from commit 4a8b3a8ac0)
2019-08-08 15:12:12 +02:00
Michał Kępień
999e04854b Use rndc_dumpdb() in the "rndc" system test
(cherry picked from commit 443449863b)
2019-08-08 15:12:12 +02:00
Michał Kępień
e641d74a8a Use rndc_dumpdb() in the "dnssec" system test
(cherry picked from commit 44c0cc881f)
2019-08-08 15:12:12 +02:00
Michał Kępień
fb55b7dabd Use rndc_dumpdb() in the "cookie" system test
(cherry picked from commit cbf32b901b)
2019-08-08 15:12:12 +02:00
Michał Kępień
7276b6756e Use rndc_dumpdb() in the "cacheclean" system test
(cherry picked from commit 22d5355782)
2019-08-08 15:12:12 +02:00
Michał Kępień
678a631f54 Implement a convenience function for "rndc dumpdb"
Add a helper shell function, rndc_dumpdb(), which provides a convenient
way to call "rndc dumpdb" for a given server with optional additional
arguments.  Since database dumping is an asynchronous process, the
function waits until the dump is complete before returning, which
prevents false positives in system tests caused by inspecting the dump
before its preparation is finished.  The function also renames the dump
file before returning so that it does not get overwritten by subsequent
calls; this retains forensic data in case of an unexpected test failure.

(cherry picked from commit ab78e350dd)
2019-08-08 15:12:12 +02:00
Ondřej Surý
32232caaa4 Merge branch '1182-add-older-autoconf-pkg-config-compat-macros-v9_11' into 'v9_11'
Add PKG_CHECK_VAR and AS_VAR_COPY compat macros (Courtesy of ycflash)

See merge request isc-projects/bind9!2248
2019-08-08 09:09:42 -04:00
Ondřej Surý
8cdc9c28b9 Add PKG_CHECK_VAR and AS_VAR_COPY compat macros (Courtesy of ycflash)
(cherry picked from commit d80b6ec879)
2019-08-08 14:58:03 +02:00
Evan Hunt
ee5f5b186d Merge branch 'each-mdig-multi-norrcomments-v9_11' into 'v9_11'
minor bugfix in mdig: when using +multi, +norrcomments was ignored

See merge request isc-projects/bind9!2241
2019-08-08 00:19:05 -04:00
Evan Hunt
529a81217b added "mdig +multi +norrcomment" test; also fixed the flawed dig test
(cherry picked from commit 93ad3eea90)
2019-08-07 21:05:53 -07:00
Evan Hunt
3562b0003f minor bugfix in mdig: when using +multi, +norrcomments was ignored
(cherry picked from commit edab51b420)
2019-08-07 20:55:14 -07:00
Ondřej Surý
e3903e8396 Merge branch '1148-deadlock-hangs-named-v9_11' into 'v9_11'
Convert (dns_view_t){ .weakrefs } to isc_refcount_t

See merge request isc-projects/bind9!2227
2019-08-07 05:46:45 -04:00
Ondřej Surý
e80c4c3431 Have the dns_client hold a .references until all external references are removed
so that cleanup can all be done in dns_client_destroy().
2019-08-07 11:35:06 +02:00
Mark Andrews
be8af3afb7 Have the view hold a weakref until all external references are removed
so that cleanup can all be done in dns_view_weakattach().
2019-08-06 17:18:48 +02:00
Ondřej Surý
6353032a8a lib/isc/app_api.c: Protect the global is_running bool variable with a mutex 2019-08-06 15:03:35 +02:00
Ondřej Surý
a7c9a52c89 lib/dns/resolver.c: Convert (dns_view_t *)->weakrefs to isc_refcount_t
There's a deadlock in BIND 9 code where (dns_view_t){ .lock } and
(dns_resolver_t){ .buckets[i].lock } gets locked in different order.  When
view->weakrefs gets converted to a reference counting we can reduce the locking
in dns_view_weakdetach only to cases where it's the last instance of the
dns_view_t object.
2019-08-06 15:03:35 +02:00
Evan Hunt
18f56f1e3d Merge branch '1170-dig-comments-v9_11' into 'v9_11'
Resolve "dig +nocomment still comments"

See merge request isc-projects/bind9!2232
2019-08-06 01:11:52 -04:00
Evan Hunt
c6694fa017 clarify descriptions of comment-related options in dig usage and man page
(cherry picked from commit 9679c8c20a)
2019-08-05 21:58:40 -07:00
Evan Hunt
67b153ac8a always check 'printcmd' before printing cmdline message
(cherry picked from commit 6d50f7d924)
2019-08-05 21:57:40 -07:00
Mark Andrews
1955a63216 Merge branch '964-use-referral-ds-record-when-validating-v9_11' into 'v9_11'
Resolve "Use referral DS record when validating"

See merge request isc-projects/bind9!2229
2019-08-02 03:04:43 -04:00
Mark Andrews
d83241a3b3 add CHANGES
(cherry picked from commit ac28cc14e1)
2019-08-02 16:52:57 +10:00
Mark Andrews
153512960b check that example/DS is not fetched when validating a.example
(cherry picked from commit 4293a2f4bf)
2019-08-02 16:52:57 +10:00
Mark Andrews
cfbefb57d6 Store the DS and RRSIG(DS) with trust dns_trust_pending_answer
so that the validator can validate the records as part of validating
the current request.

(cherry picked from commit 57a328d67e)
2019-08-02 16:52:57 +10:00
Mark Andrews
74c39de667 Merge branch '1159-bits-65-72-of-the-dns64-prefix-are-supposed-to-be-zero-v9_11' into 'v9_11'
Resolve "Bits 64..71 of the dns64 prefix are supposed to be zero"

See merge request isc-projects/bind9!2221
2019-07-31 08:59:59 -04:00
Mark Andrews
2fc1234b4c add CHANGES
(cherry picked from commit d95ae93dd3)
2019-07-31 22:45:02 +10:00
Mark Andrews
30f5a99364 check that bits 64..71 in a dns64 prefix are zero
(cherry picked from commit a7ec7eb6ed)
2019-07-31 22:45:02 +10:00
Michał Kępień
e74ec0627f Merge branch 'michal/wildcard-system-test-make-root-hints-consistent-with-authoritative-data-v9_11' into 'v9_11'
[v9_11] "wildcard" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2218
2019-07-31 05:43:19 -04:00
Michał Kępień
6987363936 Make root hints consistent with authoritative data
Multiple resolvers in the "wildcard" system test are configured with a
single root hint: "ns.root-servers.nil", pointing to 10.53.0.1, which is
inconsistent with authoritative data served by ns1.  This may cause
intermittent resolution failures, triggering false positives for the
"wildcard" system test.  Prevent this from happening by making ns2, ns3,
and ns5 use root hints corresponding to the contents of ns1/root.db.in.

(cherry picked from commit dd430c3093)
2019-07-31 11:07:47 +02:00
Michał Kępień
1d9ec9e386 Merge branch 'michal/staticstub-system-test-make-root-hints-consistent-with-authoritative-data-v9_11' into 'v9_11'
[v9_11] "staticstub" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2216
2019-07-31 03:42:42 -04:00
Michał Kępień
9829962c81 Make root hints consistent with authoritative data
The ns2 named instance in the "staticstub" system test is configured
with a single root hint commonly used in BIND system tests
(a.root-servers.nil with an address of 10.53.0.1), which is inconsistent
with authoritative data served by ns1.  This may cause intermittent
resolution failures, triggering false positives for the "staticstub"
system test.  Prevent this from happening by making ns1 serve data
corresponding to the contents of bin/tests/system/common/root.hint.

(cherry picked from commit 4b5e1da0e3)
2019-07-31 09:18:24 +02:00
Michał Kępień
ca21075c45 Merge branch 'michal/update-gitlab-ci-to-fedora-30-v9_11' into 'v9_11'
[v9_11] Update GitLab CI to Fedora 30

See merge request isc-projects/bind9!2214
2019-07-31 03:14:29 -04:00
Michał Kępień
b61899f031 Update GitLab CI to Fedora 30
Since Fedora 30 is the current Fedora release, replace Fedora 29 GitLab
CI jobs with their up-to-date counterparts.

(cherry picked from commit fac23cf939)
2019-07-31 08:48:04 +02:00
Mark Andrews
3798c6451c Merge branch '1133-your-problem-or-cygwin-s-v9_11' into 'v9_11'
Resolve "Your problem or Cygwin's ?????"

See merge request isc-projects/bind9!2212
2019-07-30 21:18:07 -04:00
Mark Andrews
0ef5b2852b add CHANGES
(cherry picked from commit 12d9681442)
2019-07-31 11:04:22 +10:00
Mark Andrews
75d89f023a handle connect() returning ETIMEDOUT on a non-blocking socket
(cherry picked from commit 91a0cb5da3)
2019-07-31 11:03:56 +10:00
Michał Kępień
70ae7129e9 Merge branch '1171-alpine-linux-tweaks-v9_11' into 'v9_11'
[v9_11] Alpine Linux tweaks

See merge request isc-projects/bind9!2210
2019-07-30 16:49:17 -04:00
Michał Kępień
2efc475a2f Add Alpine Linux to GitLab CI
Ensure BIND is continuously tested on Alpine Linux as it is commonly
used as a base for Docker containers and employs a less popular libc
implementation, musl libc.

(cherry picked from commit 326a334b49)
2019-07-30 22:22:28 +02:00
Michał Kępień
28c89c37b0 Do not use legacy time zone names
"PST8PDT" is a legacy time zone name whose use in modern code is
discouraged.  It so happens that using this time zone with musl libc
time functions results in different output than for other libc
implementations, which breaks the lib/isc/tests/time_test unit test.
Use the "America/Los_Angeles" time zone instead in order to get
consistent output across all tested libc implementations.

(cherry picked from commit f4daf6e0e7)
2019-07-30 22:22:28 +02:00
Michał Kępień
1546298005 Fix awk invocation in the "verify" system test
Appending output of a command to the same file as the one that command
is reading from is a dangerous practice.  It seems to have accidentally
worked with all the awk implementations we have tested against so far,
but for BusyBox awk, doing this may result in the input/output file
being written to in an infinite loop.  Prevent this from happening by
redirect awk output to a temporary file and appending its contents to
the original file in a separate shell pipeline.

(cherry picked from commit bb9c1654e2)
2019-07-30 22:22:28 +02:00
Michał Kępień
2ce4f23bc0 Extend prerequisites for the "xfer" system test
The Net::DNS Perl module needs the Digest::HMAC module to support TSIG.
However, since the latter is not a hard requirement for the former, some
packagers do not make Net::DNS depend on Digest::HMAC.  If Net::DNS is
installed on a host but Digest::HMAC is not, the "xfer" system test
breaks in a very hard-to-debug way (ans5 returns TSIG RRs with empty
RDATA, which prevents TSIG-signed SOA queries and transfers from
working).  Prevent this from happening by making the "xfer" system test
explicitly require Digest::HMAC apart from Net::DNS.

(cherry picked from commit b10d28d1e0)
2019-07-30 22:22:28 +02:00
Michał Kępień
566f76b1fe Make "autosign" system test work with BusyBox awk
The BusyBox version of awk treats some variables which other awk
implementations consider to be decimal values as octal values.  This
intermittently breaks key event interval calculations in the "autosign"
system test, trigger false positives for it.  Prevent the problem from
happening by stripping leading zeros from the affected awk variables.

(cherry picked from commit ad008f7dbf)
2019-07-30 22:22:28 +02:00
Michał Kępień
4e266a810e Tweak buffer sizes to prevent compilation warnings
For some libc implementations, BUFSIZ is small enough (e.g. 1024 for
musl libc) to trigger compilation warnings about insufficient size of
certain buffers.  Since the relevant buffers are used for printing DNS
names, increase their size to '(n + 1) * DNS_NAME_FORMATSIZE', where 'n'
is the number of DNS names which are printed to a given buffer.  This
results in somewhat arbitrary, albeit nicely-aligned and large enough
buffer sizes.

(cherry picked from commit 3384455659)
2019-07-30 22:22:28 +02:00
Michał Kępień
3098c79270 Always include <errno.h> instead of <sys/errno.h>
Including <sys/errno.h> instead of <errno.h> raises a compiler warning
when building against musl libc.  Always include <errno.h> instead of
<sys/errno.h> to prevent that compilation warning from being triggered
and to achieve consistency in this regard across the entire source tree.

(cherry picked from commit b5cd146033)
2019-07-30 22:22:28 +02:00
Michał Kępień
eb13d4b279 Unify header ordering in unit tests
Make sure all unit tests include headers in a similar order:

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

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

(cherry picked from commit 5381ac0fcc)
2019-07-30 22:22:28 +02:00
Michał Kępień
5e9ac86c2b Include <sched.h> where necessary for musl libc
All unit tests define the UNIT_TESTING macro, which causes <cmocka.h> to
replace malloc(), calloc(), realloc(), and free() with its own functions
tracking memory allocations.  In order for this not to break
compilation, the system header declaring the prototypes for these
standard functions must be included before <cmocka.h>.

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

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

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

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

(cherry picked from commit 59528d0e9d)
2019-07-30 22:22:27 +02:00
Michał Kępień
b911bfaaf2 Merge branch 'michal/filter-aaaa-system-test-make-root-hints-consistent-with-authoritative-data-v9_11' into 'v9_11'
[v9_11] "filter-aaaa" system test: make root hints consistent with authoritative data

See merge request isc-projects/bind9!2206
2019-07-29 16:10:47 -04:00
Michał Kępień
6563ee9c7d Make root hints consistent with authoritative data
Resolvers in the "filter-aaaa" system test are configured with a single
root hint: "ns.rootservers.net", pointing to 10.53.0.1.  However,
querying ns1 for "ns.rootservers.net" results in NXDOMAIN answers.
Since the TTL for the root hint is set to 0, it may happen that a
resolver's ADB will be asked to return any known addresses for
"ns.rootservers.net", but it will only have access to a cached NXDOMAIN
answer for that name and an expired root hint, which will result in a
resolution failure, triggering a false positive for the "filter-aaaa"
system test.  Prevent this from happening by making all the root hints
consistent with authoritative data served by ns1.

(cherry picked from commit c19ebde14b)
2019-07-29 21:45:06 +02:00
Evan Hunt
b96796bbf1 Merge branch '1163-geoip-subtype-fix-v9_11' into 'v9_11'
fix a bug that could cause an assert when configuring "geoip continent"

See merge request isc-projects/bind9!2203
2019-07-28 16:30:03 -04:00
Evan Hunt
48447be09a CHANGES
(cherry picked from commit c3a996d547)
2019-07-28 13:16:35 -07:00
Evan Hunt
661ea29ecb add a system test, confirming that named fails to reload without crashing
(cherry picked from commit 8f1cdaeed9)
2019-07-28 13:16:29 -07:00
Evan Hunt
2a80d4e277 fix a bug that could cause an assert when configuring "geoip continent"
- incidentally fixed some typos in log messages

(cherry picked from commit 326349228a)
2019-07-25 22:52:18 -04:00
Mark Andrews
6637b947e0 Merge branch '1106-interaction-between-dns64-and-rpz-can-cause-unexpected-results-v9_11' into 'v9_11'
Resolve "Interaction between dns64 and RPZ can cause unexpected results"

See merge request isc-projects/bind9!2197
2019-07-24 17:41:45 -04:00
Mark Andrews
d1f69ba757 add CHANGES
(cherry picked from commit b9a1c31df1)
2019-07-25 07:26:35 +10:00
Mark Andrews
de153f1a43 Do not attempt to perform a DNS64 rewrite if RPZ returns NODATA.
(cherry picked from commit 1eb640049c)
2019-07-25 07:26:35 +10:00
Mark Andrews
00920b3a9b Check that RPZ 'CNAME *.' (NODATA) works with DNS64.
(cherry picked from commit b9dc9b68cd)
2019-07-25 07:26:35 +10:00
Mark Andrews
0ec8a6c963 Merge branch '1136-named-checkconf-should-report-missing-dnstap-output-option-when-dnstap-option-is-set-v9_11' into 'v9_11'
Resolve "named-checkconf should report missing dnstap-output option when dnstap option is set"

See merge request isc-projects/bind9!2186
2019-07-23 09:48:50 -04:00
Mark Andrews
8f2d5e6a86 named-checkconf failed to report dnstap-output missing
from named.conf when dnstap was specified

(cherry picked from commit a4f38bec6a)
2019-07-23 23:36:40 +10:00
Ondřej Surý
0206dd7102 Merge branch '195-add-dnstap-builds-to-ci-v9_11' into 'v9_11'
Add dnstap builds to CI

See merge request isc-projects/bind9!2182
2019-07-22 18:10:49 -04:00
Michał Kępień
b68c7fc135 Add dnstap builds to CI
Ensure BIND with dnstap support enabled is being continuously tested by
adding --enable-dnstap to the ./configure invocation used for CentOS 7
and Debian sid builds in GitLab CI.

(cherry picked from commit 2bf44c6cd4)
2019-07-22 17:54:04 -04:00
Ondřej Surý
b0f17ca99b Merge branch 'michal/add-debian-buster-to-ci-v9_11' into 'v9_11'
Add Debian buster to CI

See merge request isc-projects/bind9!2177
2019-07-22 11:41:30 -04:00
Michał Kępień
f736877e99 Add Debian buster to CI
Ensure BIND is continuously tested on Debian 10 (buster) as it is the
current stable Debian release.

(cherry picked from commit 5f71d9c6ac)
2019-07-22 11:26:55 -04:00
Ondřej Surý
adcafee712 Merge branch '605-add-siphash24-v9_14-v9_11' into 'v9_11'
Resolve "Add SipHash24 and synchronize the Cookie algorithm with other vendors"

See merge request isc-projects/bind9!2171
2019-07-22 10:55:16 -04:00
Ondřej Surý
cff198682f Add CHANGES note
(cherry picked from commit be0cd728c5)
2019-07-22 09:06:03 -04:00
Ondřej Surý
40751f8f94 Add release notes
(cherry picked from commit 7d8e7b0194)
2019-07-22 09:06:03 -04:00
Ondřej Surý
9feaf319b4 Test the AES DNS Cookie algorithm only if available 2019-07-22 09:06:03 -04:00
Ondřej Surý
a0f4e6d27e Add new siphash24 DNS Cookie algorithm
This commit changes the BIND cookie algorithms to match
draft-sury-toorop-dnsop-server-cookies-00.  Namely, it changes the Client Cookie
algorithm to use SipHash 2-4, adds the new Server Cookie algorithm using SipHash
2-4.  The change doesn't make the SipHash 2-4 to be the default algorithm, this
is up to the operator.

(cherry picked from commit 196b342bc9)
2019-07-22 09:06:03 -04:00
Michał Kępień
825497f508 Make ifconfig.sh work on DragonFly BSD
On DragonFly BSD, use the same commands for configuring network
interfaces used during system tests as on NetBSD and OpenBSD.

(cherry picked from commit 496397eb3f)
2019-07-22 08:09:49 -04:00
Ondřej Surý
63666fc926 Revise the Windows section of <isc/endian.h>
Add a comment and remove redundant definitions.

(cherry picked from commit 84ff6a6963)
2019-07-22 08:09:48 -04:00
Ondřej Surý
1fd8b2d9f4 Revise the macOS section of <isc/endian.h>
Move the macOS section of <isc/endian.h> to a lower spot as it is
believed not to be the most popular platform for running BIND.  Add a
comment and remove redundant definitions.

(cherry picked from commit c727a31eab)
2019-07-22 08:09:48 -04:00
Ondřej Surý
55a95f7cd7 Make <isc/endian.h> detect GNU rather than Linux
Instead of only supporting Linux, try making <isc/endian.h> support
other GNU platforms as well.  Since some compilers define __GNUC__ on
BSDs (e.g. Clang on FreeBSD), move the relevant section to the bottom of
the platform-specific part of <isc/endian.h>, so that it only gets
evaluated when more specific platform determination criteria are not
met.  Also include <byteswap.h> so that any byte-swapping macros which
may be defined in that file on older platforms are used in the fallback
definitions of the nonstandard hto[bl]e{16,32,64}() and
[bl]e{16,32,64}toh() conversion functions.

(cherry picked from commit a98c7408fc)
2019-07-22 08:09:48 -04:00
Ondřej Surý
7b74cd6231 Add Solaris support for <isc/endian.h>
While Solaris does not support the nonstandard hto[bl]e{16,32,64}() and
[bl]e{16,32,64}toh() conversion functions, it does have some
byte-swapping macros available in <sys/byteorder.h>.  Ensure these
macros are used in the fallback definitions of the aforementioned
nonstandard functions.

(cherry picked from commit 5b0f81e549)
2019-07-22 08:09:48 -04:00
Ondřej Surý
d3a8c162d8 Add fallback definitions to <isc/endian.h>
Since the hto[bl]e{16,32,64}() and [bl]e{16,32,64}toh() conversion
functions are nonstandard, add fallback definitions of these functions
to <isc/endian.h>, so that their unavailability does not prevent
compilation from succeeding.

(cherry picked from commit 973d2991a0)
2019-07-22 08:09:48 -04:00
Michał Kępień
3c7cab3f22 Fix <isc/endian.h> on BSD systems
Current versions of DragonFly BSD, FreeBSD, NetBSD, and OpenBSD all
support the modern variants of functions converting values between host
and big-endian/little-endian byte order while older ones might not.
Ensure <isc/endian.h> works properly in both cases.

(cherry picked from commit 588c14d5c9)
2019-07-22 08:09:48 -04:00
Ondřej Surý
07502731e0 Add tests for the isc_siphash24 function
(cherry picked from commit 2cbf633192)
(cherry picked from commit 2188a58171)
2019-07-22 08:09:48 -04:00
Ondřej Surý
91307842b8 Add reference SipHash 2-4 implementation
(cherry picked from commit a197df137a)
(cherry picked from commit 8d87ad53eb)
2019-07-22 08:09:48 -04:00
Ondřej Surý
92a86ac211 Add portable <isc/endian.h> header
(cherry picked from commit 0efc36c19a)
(cherry picked from commit 0b050ad4fd)
2019-07-22 08:09:48 -04:00
Ondřej Surý
3389e05d74 Merge branch 'ondrej-disable-freebsd-again-v9_11' into 'v9_11'
Disable FreeBSD Runner in the CI; it's broken again.

See merge request isc-projects/bind9!2175
2019-07-22 08:08:30 -04:00
Ondřej Surý
40cd655dda Disable FreeBSD Runner in the CI; it's broken again.
(cherry picked from commit 747736d361)
2019-07-22 08:07:29 -04:00
Evan Hunt
e3cc68bf35 Merge branch 'ondrej/fix-leaked-memory-in-geoip_test.c-v9_14-v9_11' into 'v9_11'
Fix leaked memory in geoip_test.c

See merge request isc-projects/bind9!2158
2019-07-16 19:55:36 -04:00
Ondřej Surý
9f431ce20c Fix the memory leaks in GeoIP unit test
Each individual test opened GeoIP databases but the database handles were never
closed.  This commit moves the open/close from the individual unit tests into
the _setup and _teardown methods where they really belong.

(cherry picked from commit d1c7b79183)
(cherry picked from commit aad88d2c00)
2019-07-16 16:27:05 -07:00
Ondřej Surý
c148ba880e Merge branch 'ondrej/move-ax-save_restore-flags-to-libtool.m4-v9_11' into 'v9_11'
Move ax save restore flags to libtool.m4 [v9_11]

See merge request isc-projects/bind9!2139
2019-07-09 08:22:41 -04:00
Ondřej Surý
a848ef76f1 Add missing AX_RESTORE_FLAGS([geoip2]) to configure.ac 2019-07-09 13:54:31 +02:00
Ondřej Surý
c989144d30 Move the ax_{save,restore}_flags.m4 to libtool.m4 folder 2019-07-09 13:54:31 +02:00
Tinderbox User
2f9dae5ce9 Merge branch 'prep-release' into v9_11 2019-07-09 10:07:17 +00:00
Tinderbox User
466dd24411 prep 9.11.9 2019-07-09 10:06:34 +00:00
Mark Andrews
b152cd3436 Merge branch 'marka-nocrypto-v9_11' into 'v9_11'
add nocrypto builds

See merge request isc-projects/bind9!2136
2019-07-07 21:25:40 -04:00
Mark Andrews
e070fdab1d use printf instead of print_message for '1..0 # Skipped: sigs test requires crypto' 2019-07-08 10:57:22 +10:00
Mark Andrews
39add843ea add nocrypto builds 2019-07-08 10:21:43 +10:00
Evan Hunt
49cd121906 Merge branch '1131-geoip2-windows-911' into 'v9_11'
add support for building GeoIP2 on windows

See merge request isc-projects/bind9!2133
2019-07-04 17:42:44 -04:00
Evan Hunt
cf9c7959a0 add support for building GeoIP2 on windows 2019-07-04 12:06:01 -07:00
Evan Hunt
7af1323425 Merge branch '1114-windows-build-broken-v9_11' into 'v9_11'
fix broken windows build

See merge request isc-projects/bind9!2131
2019-07-03 14:17:06 -04:00
Evan Hunt
f81020a748 fix broken windows build
The MSVS C compiler requires every struct to have at least one member.
The dns_geoip_databases_t structure had one set of members for
HAVE_GEOIP and a different set for HAVE_GEOIP2, and none when neither
API is in use.

This commit silences the compiler error by moving the declaration of
dns_geoip_databases_t to types.h as an opaque reference, and commenting
out the contents of geoip.h when neither version of GeoIP is enabled.

(cherry picked from commit 81fcde5953)
2019-07-03 10:52:51 -07:00
Ondřej Surý
7355529a98 Merge branch 'ondrej/kyua.result-location-v9_11' into 'v9_11'
Ondrej/kyua.result location v9 11

See merge request isc-projects/bind9!2130
2019-07-03 13:46:03 -04:00
Ondřej Surý
fc7ea9cc4d Set number of parallel jobs in .gitlab-ci.yml
(cherry picked from commit f56b88f72e)
2019-07-03 19:19:01 +02:00
Ondřej Surý
d9a3bf572f Use $KYUA_RESULT in kyua report-html invocation for unified file location
(cherry picked from commit a2a69725ef)
2019-07-03 19:19:00 +02:00
Ondřej Surý
855f7642ad Merge branch 'ondrej/restore-freebsd-runner-v9_11' into 'v9_11'
[v9_11] Restore the FreeBSD Runner

See merge request isc-projects/bind9!2123
2019-07-02 17:51:03 -04:00
Ondřej Surý
6b8de5ed8f Use $(pwd) instead of $CI_PROJECT_DIR to always get absolute path
(cherry picked from commit e957825eee)
2019-07-02 22:44:30 +02:00
Ondřej Surý
ab8de89e6d Use sudo to setup the interfaces when CI job is not running as root
(cherry picked from commit 4d3e7d0b7d)
2019-07-02 22:44:29 +02:00
Evan Hunt
d1d7acaecb Add FreeBSD 11 GitLab CI Runner
(cherry picked from commit 646bb64246)
2019-07-02 22:44:29 +02:00
Evan Hunt
c65d4f9d56 Merge branch '182-geoip2-api-v9_14-v9_11' into 'v9_11'
Resolve "Update GeoIP support to new API (GeoLite2 from Maxmind)"

See merge request isc-projects/bind9!2101
2019-07-02 15:45:49 -04:00
Evan Hunt
cc92ebf6f7 CHANGES, release note, README
(cherry picked from commit 8854e284fd)
(cherry picked from commit 24103171ca)
2019-07-02 12:29:44 -07:00
Evan Hunt
babc839b31 update ARM documentation
(cherry picked from commit c9945d6148)
(cherry picked from commit d6bd7bb9af)
2019-07-02 12:29:44 -07:00
Evan Hunt
bb4b3e7f14 add geoip2 system test
(cherry picked from commit 9a1caf99ef)
(cherry picked from commit 049d8a311b)
2019-07-02 12:29:44 -07:00
Evan Hunt
8ec293e51e add GeoIP2 lookups to unit test
(cherry picked from commit 6399a70cb4)
(cherry picked from commit 7468036226)
2019-07-02 12:29:44 -07:00
Evan Hunt
0d50d9988c implement searching of geoip2 database
- revise mapping of search terms to database types to match the
  GeoIP2 schemas.
- open GeoIP2 databases when starting up; close when shutting down.
- clarify the logged error message when an unknown database type
  is configured.
- add new geoip ACL subtypes to support searching for continent in
  country databases.
- map geoip ACL subtypes to specific MMDB database queries.
- perform MMDB lookups based on subtype, saving state between
  queries so repeated lookups for the same address aren't necessary.

(cherry picked from commit 6e0b93e5a0)
(cherry picked from commit 0283ab7512)
2019-07-02 12:29:39 -07:00
Evan Hunt
a553ac45ed add HAVE_GEOIP2 #ifdef branches, without implementing yet
(cherry picked from commit fe46d5bc34)
(cherry picked from commit 7fc92bee0c)
2019-07-02 12:28:14 -07:00
Evan Hunt
7de12aaa34 add a search for GeoIP2 libraries in configure
- "--with-geoip" is used to enable the legacy GeoIP library.
- "--with-geoip2" is used to enable the new GeoIP2 library
  (libmaxminddb), and is on by default if the library is found.
- using both "--with-geoip" and "--with-geoip2" at the same time
  is an error.
- an attempt is made to determine the default GeoIP2 database path at
  compile time if pkg-config is able to report the module prefix. if
  this fails, it will be necessary to set the path in named.conf with
  geoip-directory
- Makefiles have been updated, and a stub lib/dns/geoip2.c has been
  added for the eventual GeoIP2 search implementation.

(cherry picked from commit fea6b5bf10)
(cherry picked from commit 6a7e805796)
2019-07-02 12:28:14 -07:00
Ondřej Surý
d10137736d Merge branch 'ondrej/fix-freebsd-make-v9_11' into 'v9_11'
Add rules to make sure subdirs are always built before testdirs

See merge request isc-projects/bind9!2119
2019-07-02 13:53:17 -04:00
Ondřej Surý
3e24143012 Add rules to make sure subdirs are always built before testdirs
(cherry picked from commit 723433cbc6)
2019-07-02 19:41:14 +02:00
Michał Kępień
15c2e82cca Merge branch 'michal/add-and-use-keyfile_to_key_id-helper-function-v9_11' into 'v9_11'
[v9_11] Add and use keyfile_to_key_id() helper function

See merge request isc-projects/bind9!2109
2019-06-28 08:33:32 -04:00
Michał Kępień
621f8aa90a Add and use keyfile_to_key_id() helper function
When trying to extract the key ID from a key file name, some test code
incorrectly attempts to strip all leading zeros.  This breaks tests when
keys with ID 0 are generated.  Add a new helper shell function,
keyfile_to_key_id(), which properly handles keys with ID 0 and use it in
test code whenever a key ID needs to be extracted from a key file name.

(cherry picked from commit 7d6eaad1bd)
2019-06-28 14:09:36 +02:00
Michał Kępień
ef125c0d73 Merge branch '1093-dnstap-read-clear-buffer-before-expanding-it-v9_11' into 'v9_11'
[v9_11] dnstap-read: clear buffer before expanding it

See merge request isc-projects/bind9!2107
2019-06-28 07:08:36 -04:00
Michał Kępień
207a009424 Add CHANGES entry
5260.	[bug]		dnstap-read was producing malformed output for large
			packets. [GL #1093]

(cherry picked from commit 7354207e1b)
2019-06-28 12:45:47 +02:00
Michał Kępień
511f3c3601 dnstap-read: clear buffer before expanding it
When printing a packet, dnstap-read checks whether its text form takes
up more than the 2048 bytes allocated for the output buffer by default.
If that is the case, the output buffer is automatically expanded, but
the truncated output is left in the buffer, resulting in malformed data
being printed.  Clear the output buffer before expanding it to prevent
this issue from occurring.

(cherry picked from commit 3549abe81d)
2019-06-28 12:45:44 +02:00
Mark Andrews
c71f23eb8b Merge branch '1030-statistics-channel-fixes-v9_11' into 'v9_11'
Statistics Channel Fixes

See merge request isc-projects/bind9!2097
2019-06-26 23:59:20 -04:00
Mark Andrews
62d47e569a add CHANGES
(cherry picked from commit f8b3aa97df)
2019-06-27 13:40:55 +10:00
Mark Andrews
53543c1ecc check xsl vs xml
(cherry picked from commit d5c795942f)
2019-06-27 13:40:52 +10:00
Evan Hunt
f2d67af545 add odd/even shading to the remaining tables
(cherry picked from commit ce3907e9fe)
2019-06-27 13:25:01 +10:00
Mark Andrews
02672e6aaf remove 'Configured Zones'; add even/odd to zone list
(cherry picked from commit eaba8dd799)
2019-06-27 13:25:01 +10:00
Timothe Litt
af4bffd747 Fix ISC-Bugs 45340: Statschannel XSL for zones, Traffic
In ISC-Bugs 45340, I wrote:

The Statistics channel offers links to Zones and Traffic.
Both produce valid data, but display as blank pages with
a web browser.

Zones never had XSL (I provided the original
implementation, but punted on the XSL).

Traffic has XSL, but it wasn't updated to reflect the
split between IPv4 and IPv6 data.

I've picked up enough XSL to fix my original omission,
and as penance for my sloth, fixed the Traffic bug as well.

(cherry picked from commit 96f0bbd4d5)
2019-06-27 13:25:01 +10:00
Evan Hunt
77bc37b616 Merge branch '1092-allow-priming-glue-v9_11' into 'v9_11'
allow glue in authoritative responses to root priming queries

See merge request isc-projects/bind9!2095
2019-06-26 13:12:38 -04:00
Evan Hunt
7cbb589795 CHANGES, release note
(cherry picked from commit 03a6a78b55)
2019-06-26 09:39:00 -07:00
Evan Hunt
f608f9335d x 2019-06-26 09:38:59 -07:00
Evan Hunt
2fd9e88405 add system test to confirm glue is returned in priming queries
(cherry picked from commit 9a1f0ea873)
2019-06-26 09:27:26 -07:00
Evan Hunt
ff4855d358 allow glue in authoritative responses to root priming queries
- when processing authoritative queries for ./NS, set 'gluedb' so
  that glue will be included in the response, regardless of how
  'minimal-responses' has been configured.

(cherry picked from commit e7684c7b64)
2019-06-26 09:27:22 -07:00
Evan Hunt
d944201cf7 Merge branch '1109-inline-reload-error-v9_11' into 'v9_11'
don't overwrite the dns_master_loadfile() result before calling zone_postload()

See merge request isc-projects/bind9!2093
2019-06-26 12:14:20 -04:00
Evan Hunt
80985b2bde CHANGES
(cherry picked from commit c29e344f07)
2019-06-26 08:56:14 -07:00
Evan Hunt
59dc713fc3 add a test that reloading errors are not ignored
(cherry picked from commit e48b3f1a00)
2019-06-26 08:56:14 -07:00
Evan Hunt
4dd46ba0f7 don't overwrite the dns_master_loadfile() result before calling zone_postload()
if "rndc reload" fails, the result code is supposed to be passed to
zone_postload, but for inline-signing zones, the result can be
overwritten first by a call to the ZONE_TRYLOCK macro. this can lead
to the partially-loaded unsigned zone being synced over to the signed
zone instead of being rejected.

(cherry picked from commit 0b792bd37b)
2019-06-26 08:51:24 -07:00
Michał Kępień
92a72a53db Merge branch 'michal/prevent-idna-test-failures-with-libidn2-2.2.0-v9_11' into 'v9_11'
[v9_11] Prevent "idna" test failures with libidn2 2.2.0+

See merge request isc-projects/bind9!2091
2019-06-26 09:00:55 -04:00
Michał Kępień
d48ba3ce12 Prevent "idna" test failures with libidn2 2.2.0+
libidn2 2.2.0+ parses Punycode more strictly than older versions and
thus "dig +idnin +noidnout xn--19g" fails with libidn2 2.2.0+ but
succeeds with older versions.

We could preserve the old behavior by using the IDN2_NO_ALABEL_ROUNDTRIP
flag available in libidn2 2.2.0+, but:

  - this change in behavior is considered a libidn2 bug fix [1],
  - we want to make sure dig behaves as expected, not libidn2,
  - implementing that would require additional configure.ac cruft.

Removing the problematic check appears to be the simplest solution as it
does not prevent the relevant block of checks in the "idna" system test
from achieving its purpose, i.e. ensuring dig properly handles invalid
U-labels.

[1] see upstream commit 241e8f486134793cb0f4a5b0e5817a97883401f5

(cherry picked from commit 60ce0ed411)
2019-06-26 14:41:10 +02:00
Ondřej Surý
d9164ab61c Merge branch '1067-underflow-recursing-clients-stats-v9_11' into 'v9_11'
Resolve "Underflow in Stats Channel RecursClients value?"

See merge request isc-projects/bind9!2037
2019-06-26 05:25:39 -04:00
Witold Kręcicki
e52a96bb0a CHANGES note 2019-06-26 11:11:06 +02:00
Witold Kręcicki
4b246002be Make sure that recursclient gauge is calculated correctly.
We increase recursclients when we attach to recursion quota,
decrease when we detach. In some cases, when we hit soft
quota, we might attach to quota without increasing recursclients
gauge. We then decrease the gauge when we detach from quota,
and it causes the statistics to underflow.
Fix makes sure that we increase recursclients always when we
succesfully attach to recursion quota.
2019-06-26 11:10:42 +02:00
Mark Andrews
cf1d4e614b Merge branch '1098-compile-failure-on-9-11-8' into 'v9_11'
Resolve "Compile failure on 9.11.8"

See merge request isc-projects/bind9!2065
2019-06-24 19:44:49 -04:00
Mark Andrews
5c23623094 add CHANGES 2019-06-25 09:44:07 +10:00
Mark Andrews
4110b9184d define ULLONG_MAX if not already defined 2019-06-25 09:42:49 +10:00
Mark Andrews
f3e23289e0 Merge branch 'marka-wait-for-zones-to-load-v9_11' into 'v9_11'
wait for zones to load

See merge request isc-projects/bind9!2071
2019-06-24 00:35:28 -04:00
Mark Andrews
8802a3a901 wait for zones to load
(cherry picked from commit b62e6418b5)
2019-06-24 14:19:05 +10:00
Ondřej Surý
774d0d37f4 Merge branch '1094-bump-clientinfomethods-version-v9_11' into 'v9_11'
[v9_11] Bump DNS_CLIENTINFOMETHODS VERSION and AGE

See merge request isc-projects/bind9!2059
2019-06-20 11:45:53 -04:00
Brian Conry
1ff50a2f70 Bump DNS_CLIENTINFOMETHODS_VERSION/_AGE to 2/1 in clientinfo.h
BIND 9.11.0 has bumped DNS_CLIENTINFOMETHODS_VERSION and _AGE to
version 2 and 1 in the dlz_minimal.h because a member was addet to the
dnsclientinfo struct.  It was found out that the new member is not
used anywhere and there are no accessor functions therefore the change
was reverted.

Later on, it was found out that the revert caused some problems to the
users of BIND 9, and thus this changes takes a different approach by
syncing the values other way around.

(cherry picked from commit 39344dfb3e)
2019-06-20 14:24:29 +02:00
Ondřej Surý
5924804dda Revert "Downgrade the dns_clientinfomethod structure to the version in lib/dns/clientinfo.c"
This reverts commit a6f09b2255.

(cherry picked from commit 04961a7e6b)
2019-06-20 14:24:29 +02:00
Evan Hunt
96362d67ed Merge branch 'security-v9_11' into 'v9_11'
merge security-v9_11

See merge request isc-projects/bind9!2062
2019-06-19 19:15:29 -04:00
Tinderbox User
3d3c290f51 Merge branch 'prep-release' into security-v9_11 2019-06-19 15:55:05 -07:00
Evan Hunt
5c287fb224 Merge branch '942-security-move-test-inside-lock-security-v9_11' into 'security-v9_11' 2019-06-19 15:55:05 -07:00
Tinderbox User
81c904f697 prep 9.11.8 2019-06-19 15:55:05 -07:00
Evan Hunt
424d7bfd62 CHANGES, release note
(cherry picked from commit 332af50eed96cbcb20173f297e543adaded0ed92)
2019-06-19 15:55:04 -07:00
Mark Andrews
3a9c7bb80d move item_out test inside lock in dns_dispatch_getnext()
(cherry picked from commit 60c42f849d520564ed42e5ed0ba46b4b69c07712)
2019-06-19 15:55:04 -07:00
Michał Kępień
b381efcfaf Merge branch '1088-always-fail-a-system-test-if-crashes-are-detected-v9_11' into 'v9_11'
[v9_11] Always fail a system test if crashes are detected

See merge request isc-projects/bind9!2048
2019-06-18 03:55:23 -04:00
Michał Kępień
29e31a6858 Always fail a system test if crashes are detected
In certain situations (e.g. a named instance crashing upon shutdown in a
system test which involves shutting down a server and restarting it
afterwards), a system test may succeed despite a named crash being
triggered.  This must never be the case.  Extend run.sh to mark a test
as failed if core dumps or log lines indicating assertion failures are
detected (the latter is only an extra measure aimed at test environments
in which core dumps are not generated; note that some types of crashes,
e.g. segmentation faults, will not be detected using this method alone).

(cherry picked from commit 7706f22924)
2019-06-18 09:26:40 +02:00
Michał Kępień
48ca641b42 Merge branch 'michal/tkey-system-test-fix-key-id-processing-v9_11' into 'v9_11'
[v9_11] "tkey" system test: fix key ID processing

See merge request isc-projects/bind9!2043
2019-06-17 08:43:21 -04:00
Michał Kępień
6c8546edc6 Fix key ID processing
If ns1/setup.sh generates a key with ID 0, the "KEYID" token in
ns1/named.conf.in will be replaced with an empty string, causing the
following broken statement to appear in ns1/named.conf:

    tkey-dhkey "server" ;

Such a statement triggers false positives for the "tkey" system test due
to ns1 being unable to start with a broken configuration file.  Fix by
tweaking the regular expression used for removing leading zeros from the
key ID, so that it removes at most 4 leading zeros.

(cherry picked from commit 0b7b1161c2)
2019-06-17 14:16:20 +02:00
Michał Kępień
08eb417bed Merge branch 'michal/address-compilation-warnings-for-O3-builds-v9_11' into 'v9_11'
[v9_11] Address compilation warnings for -O3 builds

See merge request isc-projects/bind9!2029
2019-06-11 04:49:03 -04:00
Michał Kępień
eeec8e8d83 Address GCC 9.1 -O3 compilation warnings
Compiling with -O3 triggers the following warnings with GCC 9.1:

    task.c: In function ‘isc__taskmgr_create’:
    task.c:1456:44: warning: ‘%04u’ directive output may be truncated writing between 4 and 10 bytes into a region of size 6 [-Wformat-truncation=]
     1456 |    snprintf(name, sizeof(name), "isc-worker%04u", i);
          |                                            ^~~~
    task.c:1456:33: note: directive argument in the range [0, 4294967294]
     1456 |    snprintf(name, sizeof(name), "isc-worker%04u", i);
          |                                 ^~~~~~~~~~~~~~~~
    task.c:1456:4: note: ‘snprintf’ output between 15 and 21 bytes into a destination of size 16
     1456 |    snprintf(name, sizeof(name), "isc-worker%04u", i);
          |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    rrl.c: In function ‘debit_rrl_entry’:
    rrl.c:602:35: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                                   ^~
    rrl.c:602:30: note: directive argument in the range [0, 2147483647]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                              ^~~~~~~~
    rrl.c:602:3: note: ‘snprintf’ output between 6 and 15 bytes into a destination of size 13
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    rrl.c:602:35: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                                   ^~
    rrl.c:602:30: note: directive argument in the range [0, 2147483647]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                              ^~~~~~~~
    rrl.c:602:3: note: ‘snprintf’ output between 6 and 15 bytes into a destination of size 13
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    rrl.c:602:35: error: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 9 [-Werror=format-truncation=]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                                   ^~
    rrl.c:602:30: note: directive argument in the range [0, 2147483647]
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |                              ^~~~~~~~
    rrl.c:602:3: note: ‘snprintf’ output between 6 and 15 bytes into a destination of size 13
      602 |   snprintf(buf, sizeof(buf), "age=%d", age);
          |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    private_test.c: In function ‘private_nsec3_totext_test’:
    private_test.c:114:9: warning: array subscript 4 is outside array bounds of ‘uint32_t[1]’ {aka ‘unsigned int[1]’} [-Warray-bounds]
      114 |  while (*sp == '\0' && slen > 0) {
          |         ^~~
    private_test.c:107:11: note: while referencing ‘salt’
      107 |  uint32_t salt;
          |           ^~~~

Prevent these warnings from being triggered by increasing the size of
the relevant arrays (task.c, rrl.c) and reordering conditions
(private_test.c).

(cherry picked from commit ce796ac1f4)
2019-06-11 10:19:26 +02:00
Witold Kręcicki
171db1a22d Address GCC 8.3 -O3 compilation warning
Compiling with -O3 triggers the following warning with GCC 8.3:

    driver.c: In function ‘dlz_findzonedb’:
    driver.c:198:29: warning: ‘%u’ directive output may be truncated writing between 1 and 5 bytes into a region of size between 0 and 99 [-Wformat-truncation=]
      snprintf(buffer, size, "%s#%u", addr_buf, port);
                                 ^~
    driver.c:198:25: note: directive argument in the range [0, 65535]
      snprintf(buffer, size, "%s#%u", addr_buf, port);
                             ^~~~~~~
    driver.c:198:2: note: ‘snprintf’ output between 3 and 106 bytes into a destination of size 100
      snprintf(buffer, size, "%s#%u", addr_buf, port);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Increase the size of the relevant array to prevent this warning from
being triggered.

(cherry picked from commit 44e6bb8b93)
2019-06-11 10:19:22 +02:00
Michał Kępień
eb358d639f Make some build jobs use -O3 optimizations
Change the compiler optimization level for Debian sid build jobs from
-O2 to -O3 in order to enable triggering compilation warnings which are
not raised when -O2 is used.

(cherry picked from commit 3569487875)
2019-06-11 10:19:17 +02:00
Evan Hunt
caf4f62769 Merge branch 'each-pandoc-args-v9_11' into 'v9_11'
specify title metadata and markdown format when calling pandoc

See merge request isc-projects/bind9!2024
2019-06-10 00:32:05 -04:00
Evan Hunt
9aeb4d1565 specify title metadata and markdown format when calling pandoc
this change silences a warning message and prevents the unwanted
use of smart quotes when using pandoc 2.7.1 to generate human-readable
versions of README and other markdown files.

(cherry picked from commit 3663f61e0e)
2019-06-09 21:31:08 -07:00
Evan Hunt
d683a07054 Merge branch 'michal/minor-doc-fixes-v9_11' into 'v9_11'
[v9_11] Minor doc fixes

See merge request isc-projects/bind9!2020
2019-06-10 00:24:10 -04:00
Stephen Morris
154aaf3fc0 Tweak paragraph style in release notes PDF 2019-06-07 08:37:39 +02:00
Stephen Morris
500fed3714 Fix typos in README 2019-06-07 08:37:39 +02:00
Stephen Morris
3432947681 Add missing information to README 2019-06-07 08:37:39 +02:00
Mark Andrews
787f92b3e4 Merge branch 'marka-capture-checkconf-output-v9_11' into 'v9_11'
capture named-checkconf output

See merge request isc-projects/bind9!2016
2019-06-06 04:59:42 -04:00
Mark Andrews
174b6be987 capture named-checkconf output
(cherry picked from commit 36dd373ab4)
2019-06-06 18:48:57 +10:00
Mark Andrews
c295617cce Merge branch 'marka-rndc-manpage-fix-v9_11' into 'v9_11'
add missing word 'includes'

See merge request isc-projects/bind9!2013
2019-06-05 19:49:41 -04:00
Mark Andrews
ad5fecbf88 add missing word 'includes'
(cherry picked from commit c6553eb3fc)
2019-06-06 09:33:37 +10:00
Mark Andrews
14d4f82dbd Merge branch '1017-remove-dead-stores-v9_11' into 'v9_11'
Resolve "remove dead stores"

See merge request isc-projects/bind9!2007
2019-06-04 02:03:03 -04:00
Mark Andrews
f684368053 POST(optlen)
(cherry picked from commit 4e97f7dccc)
2019-06-04 15:49:16 +10:00
Mark Andrews
72e3f91a0e Merge branch 'cppcheck-and-cmocka-false-positive-v9_11' into 'v9_11'
teach clang analyser that _assert_int_equal and _assert_int_not_equal don't return on failure

See merge request isc-projects/bind9!2004
2019-06-04 01:43:26 -04:00
Mark Andrews
0c0ddaf3d1 teach cppcheck that _assert_int_equal and _assert_int_not_equal don't return on failure
(cherry picked from commit 5d5d751c7f)
2019-06-04 15:24:18 +10:00
Evan Hunt
183159b03a Merge branch '1061-update-supported-rfc-list-v9_14-v9_11' into 'v9_11'
Resolve "update supported RFC list"

See merge request isc-projects/bind9!1998
2019-05-31 19:51:10 -04:00
Mark Andrews
44785aaebe add RFC6944 2019-05-31 16:50:35 -07:00
Mark Andrews
e986b4fdc6 update RFC compliance document 2019-05-31 16:49:23 -07:00
Michał Kępień
f3d17f3953 Merge branch 'michal/backport-missing-legacy-system-test-checks' into 'v9_11'
Backport missing "legacy" system test checks

See merge request isc-projects/bind9!1986
2019-05-31 06:56:12 -04:00
Michał Kępień
ed45b53cb7 Backport missing "legacy" system test checks
Backport "legacy" system test checks which are present in master and
v9_14 branches, but missing in the v9_11 branch, in order to improve the
consistency of this test across all maintained branches.  Note that the
"ednsnotimp" check is expected to succeed with 9.11 whereas it is
expected to fail with 9.14 and later versions.
2019-05-31 12:43:31 +02:00
Michał Kępień
72da3b3a71 Backport "-T {ednsformerr,ednsnotimp,ednsrefused}"
Backport named command line switches implemented in commit
c81c9660f5 as they are needed by the
"legacy" system checks which are currently present in master and v9_14
branches, but missing in the v9_11 branch.
2019-05-31 12:43:31 +02:00
Mark Andrews
0cade8d970 Merge branch '225-ed448-broken-with-openssl-1-1-1-pre6-v9_11' into 'v9_11'
Fix ASN.1 length values in Ed448 public and private key prefix blobs.

See merge request isc-projects/bind9!1989
2019-05-30 09:19:57 -04:00
Mark Andrews
1c5d91cd51 add CHANGES note
(cherry picked from commit 6c499a0c08)
2019-05-30 23:06:35 +10:00
Mark Andrews
ac4d3e8496 test Ed448 against test vectors
(cherry picked from commit 20f2d9b41b)
2019-05-30 23:06:09 +10:00
Mark Andrews
9618d822ab fix Ed448 length values for precomputed ASN.1 prefix blobs
(cherry picked from commit 5da97eeea6)
2019-05-30 22:51:04 +10:00
Mark Andrews
9ed43f8b47 Merge branch '1011-use-proper-linker-config-on-hp-ux-v9_11' into 'v9_11'
Resolve "Use proper linker (config) on HP-UX"

See merge request isc-projects/bind9!1984
2019-05-29 21:45:37 -04:00
Mark Andrews
aeee401237 ia64-hp-hpux uses .so files 2019-05-30 11:33:11 +10:00
Mark Andrews
8c386e636a regen
(cherry picked from commit 92325d3150)
2019-05-30 11:29:51 +10:00
Mark Andrews
3fbbaeb478 add link flags for ia64-hp-hpux
(cherry picked from commit 61752bf8ac)
2019-05-30 11:29:51 +10:00
Ondřej Surý
9d61217f31 Merge branch '1044-fix-LFS-flags-on-BSDs-v9_11' into 'v9_11'
Pull the values for LFS_{CFLAGS,LDFLAGS,LIBS} from autoconf instead using them directly in make

See merge request isc-projects/bind9!1980
2019-05-29 08:43:19 -04:00
Ondřej Surý
f9880fcf6d Pull the values for LFS_{CFLAGS,LDFLAGS,LIBS} from autoconf instead using them directly in make
(cherry picked from commit d4596baed4)
2019-05-29 13:34:22 +02:00
Michał Kępień
ccc4426ca0 Merge branch 'michal/legacy-system-test-fixes-v9_11' into 'v9_11'
[v9_11] "legacy" system test fixes

See merge request isc-projects/bind9!1975
2019-05-29 05:33:53 -04:00
Michał Kępień
9016f78a0f Optimize dig parameters to decrease test run time
Performing server setup checks using "+tries=3 +time=5" is redundant as
a single query is arguably good enough for determining whether a given
named instance was set up properly.  Only use multiple queries with a
long timeout for resolution checks in the "legacy" system test, in order
to significantly reduce its run time (on a contemporary machine, from
about 1m45s to 0m40s).

(cherry picked from commit 47b850348c)
2019-05-29 11:11:49 +02:00
Michał Kępień
2cd5954745 Make "plain" server setup checks more similar
Send a test TCP query to the "plain" server during its setup check to
improve its consistency with the setup check for the "plain + no TCP"
server.

(cherry picked from commit bb939a03ff)
2019-05-29 11:11:46 +02:00
Michał Kępień
45d2833684 Add more EDNS checks for dig output files
In the "legacy" system test, in order to make server setup checks more
consistent with each other, add further checks for either presence or
absence of the EDNS OPT pseudo-RR in the responses returned by the
tested named instances.

(cherry picked from commit 56ed1275c6)
2019-05-29 11:11:43 +02:00
Michał Kępień
c7f5ba42f8 Do not ignore dig exit codes
Make sure the "legacy" system test fails if any exit code returned by
dig does not match the expected one.

(cherry picked from commit 4dea5cb799)
2019-05-29 11:11:40 +02:00
Michał Kępień
abbe8c9649 Use helper functions for checking resolution
Extract repeated dig and grep calls into two helper shell functions,
resolution_succeeds() and resolution_fails(), in order to reduce code
duplication in the "legacy" system test, emphasize the similarity
between all the resolution checks in that test, and make the conditions
for success and failure uniform for all resolution checks in that test.

(cherry picked from commit effd16ab25)
2019-05-29 11:11:37 +02:00
Michał Kępień
35cccf0729 Use +dnssec instead of separate TXT records
When testing named instances which are configured to drop outgoing UDP
responses larger than 512 bytes, querying with DO=1 may be used instead
of querying for large TXT records as the effect achieved will be
identical: an unsigned response for a SOA query will be below 512 bytes
in size while a signed response for the same query will be over 512
bytes in size.  Doing this makes all resolution checks in the "legacy"
system test more similar.  Add checks for the TC flag being set in UDP
responses which are expected to be truncated to further make sure that
tested named instances behave as expected.

(cherry picked from commit aaf81ca6ef)
2019-05-29 11:11:31 +02:00
Michał Kępień
551f796313 Fix the name of the file to inspect
One of the checks in the "legacy" system test inspects dig.out.1.test$n
instead of dig.out.2.test$n.  Fix the file name used in that check.

(cherry picked from commit 3e7fa15ca3)
2019-05-29 11:11:25 +02:00
Michał Kępień
fdc84ea63e Ensure queries expected to time out really do
Make sure that the "legacy" system test fails if queries which are
expected to time out do not really time out.

(cherry picked from commit 6283c1cc7e)
2019-05-29 11:11:21 +02:00
Michał Kępień
5094902487 Properly test servers with TCP support disabled
Sending TCP queries to test named instances with TCP support disabled
should cause dig output to contain the phrase "connection refused", not
"connection timed out", as such instances never open the relevant
sockets.  Make sure that the "legacy" system test fails if the expected
phrase is not found in any of the relevant files containing dig output.

(cherry picked from commit 9491616e5c)
2019-05-29 11:11:03 +02:00
Ondřej Surý
b728d58c4e Merge branch '1044-include-config.h-in-gen.c-v9_11' into 'v9_11'
Resolve "gen fails to generate headers on Debian buster"

See merge request isc-projects/bind9!1977
2019-05-29 04:48:15 -04:00
Ondřej Surý
4203bdef8d Use getconf LFS_{CFLAGS,LDFLAGS,LIBS} to get flags to compile lib/dns/gen
On some systems (namely Debian buster armhf) the readdir() call fails
with `Value too large for defined data type` unless the
_FILE_OFFSET_BITS=64 is defined.  The correct way to fix this is to
get the appropriate compilation parameters from getconf system
interface.

(cherry picked from commit 4c7345bcb6)
2019-05-29 10:31:03 +02:00
Ondřej Surý
bcf4391ec6 Exit the ./gen program on failed readdir() call
(cherry picked from commit 05b7c08a16)
2019-05-29 10:31:03 +02:00
Mark Andrews
885b276fb9 Merge branch '1056-misleading-error-message-when-trying-to-build-without-python-support-v9_11' into 'v9_11'
Resolve "Misleading error message when trying to build without Python support"

See merge request isc-projects/bind9!1966
2019-05-27 00:19:52 -04:00
Mark Andrews
8d0b0a106e fix configire error message to say --without-python
(cherry picked from commit d70bf76d80)
2019-05-27 14:03:46 +10:00
Mark Andrews
9ec933ae02 Merge branch '1028-dig-trace-should-not-set-rd-0-norecurse-for-the-initial-root-hints-query-v9_11' into 'v9_11'
Resolve "dig +trace should not set RD=0 (+norecurse) for the initial root hints query"

See merge request isc-projects/bind9!1956
2019-05-22 02:32:25 -04:00
Mark Andrews
7575b663ad Recurse to find the root server list with 'dig +trace'.
(cherry picked from commit e65d4989a1)
2019-05-22 16:06:46 +10:00
Evan Hunt
61ffd9b71d Merge branch '1031-multiple-rate-limit-clauses-are-unsupported' into 'v9_11'
Resolve "Multiple rate-limit clauses are unsupported"

See merge request isc-projects/bind9!1943
2019-05-20 12:34:51 -04:00
Mark Andrews
2275630bc9 remove reference to rate-limit { domain ...; } 2019-05-20 09:34:08 -07:00
Evan Hunt
1bebdea211 Merge branch 'each-fix-counter' into 'v9_11'
fix missing test counter

See merge request isc-projects/bind9!1951
2019-05-19 00:28:22 -04:00
Evan Hunt
3b122f8d33 fix missing test counter 2019-05-18 21:14:33 -07:00
Evan Hunt
769f621358 Merge branch 'each-document-bug-ids-v9_11' into 'v9_11'
update README to explain gitlab numbers

See merge request isc-projects/bind9!1949
2019-05-17 02:45:29 -04:00
Evan Hunt
1140f825ec update README to explain gitlab numbers
(cherry picked from commit 45d76498d9)
2019-05-16 23:44:53 -07:00
Ondřej Surý
edfde35f40 Merge branch '899-remove-unspec-v9_11' into 'v9_11'
Remove UNSPEC rrtype

See merge request isc-projects/bind9!1934
2019-05-13 00:18:50 -04:00
Witold Kręcicki
71d3823dab Remove UNSPEC rrtype
(cherry picked from commit a8e2ca6f7d)
2019-05-13 10:54:10 +07:00
Tinderbox User
b8170affae Merge branch 'prep-release' into v9_11 2019-05-10 05:03:58 +00:00
Tinderbox User
d58e36b410 prep 9.11.7 2019-05-10 05:03:46 +00:00
Evan Hunt
afc0f7f344 Merge branch '997-make-ntas-work-with-validating-forwarders-v9_11' into 'v9_11'
Make NTAs work with validating forwarders

See merge request isc-projects/bind9!1925
2019-05-10 00:18:30 -04:00
Michał Kępień
07c698469e Add CHANGES entry
5219.	[bug]		Negative trust anchors did not work with "forward only;"
			to validating resolvers. [GL #997]
2019-05-09 21:05:50 -07:00
Michał Kępień
f04f107b7e Make NTAs work with validating forwarders
If named is configured to perform DNSSEC validation and also forwards
all queries ("forward only;") to validating resolvers, negative trust
anchors do not work properly because the CD bit is not set in queries
sent to the forwarders.  As a result, instead of retrieving bogus DNSSEC
material and making validation decisions based on its configuration,
named is only receiving SERVFAIL responses to queries for bogus data.
Fix by ensuring the CD bit is always set in queries sent to forwarders
if the query name is covered by an NTA.

(cherry picked from commit 5e80488270)
2019-05-09 21:05:50 -07:00
Evan Hunt
651aaf5542 Merge branch '958-improve-message-about-python-ply-v9_11' into 'v9_11'
Improve the error message about missing PLY Python package

See merge request isc-projects/bind9!1920
2019-05-09 23:25:05 -04:00
Ondřej Surý
ab706cc6f2 Improve the error message about missing PLY Python package
Previously, only a message about missing Python was printed, which was
misleading to many users.  The new message clearly states that Python
AND PLY is required and prints basic instructions how to install PLY
package.

(cherry picked from commit 55b48700da)
2019-05-09 19:57:02 -07:00
Evan Hunt
45227c0a2e Merge branch 'each-sync-v9_11' into 'v9_11'
sync CHANGES from 9.11.6-P1

See merge request isc-projects/bind9!1917
2019-05-09 21:55:35 -04:00
Evan Hunt
b4c8599961 sync CHANGES from 9.11.6-P1 2019-05-09 18:53:51 -07:00
Witold Krecicki
ab1e4b5784 Merge branch '834-fix-races-in-socket-code-v2' into 'v9_11'
Fix race in unix socket code when closing a socket that has already sent a recv/send event.

See merge request isc-projects/bind9!1915
2019-05-09 13:57:11 -04:00
Witold Kręcicki
1286d74c7d Fix race in unix socket code when closing a socket that has
already sent a recv/send event.

When doing isc_socket_cancel we need to purge the event that might
already be in flight. If it has been launched already we need
to inform it that it has to bail.
2019-05-09 18:48:06 +02:00
Ondřej Surý
5f26556546 Merge branch 'ondrej/reproducible-build-v9_11' into 'v9_11'
Make lib/dns/gen.c compatible with reproducible builds.

See merge request isc-projects/bind9!1913
2019-05-09 05:24:35 -04:00
Ondřej Surý
0dced2fa6a Make lib/dns/gen.c compatible with reproducible builds.
The gen.c will now use SOURCE_DATE_EPOCH[1] if found in environment
to make the build more reproducible build friendly.

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

(cherry picked from commit c8cb612d39)
2019-05-09 16:05:38 +07:00
Mark Andrews
aca6ebadc4 Merge branch '960-add-edns-client-tag-and-edns-server-tag-v9_11' into 'v9_11'
Resolve "Add EDNS Client Tag and EDNS Server Tag"

See merge request isc-projects/bind9!1911
2019-05-09 04:39:06 -04:00
Mark Andrews
10c53d2873 Recognise EDNS Client Tag and EDNS Server Tag
(cherry picked from commit ee7cf180b3)
2019-05-09 18:24:57 +10:00
Evan Hunt
ac9286b732 Merge branch '868-fix-trusted-keys-handling-with-dnssec-validation-auto-v9_14-v9_11' into 'v9_11'
fix incorrect behavior mixing trusted-keys with validation auto

See merge request isc-projects/bind9!1909
2019-05-09 02:13:16 -04:00
Evan Hunt
febbd90850 CHANGES, release notes 2019-05-08 23:02:42 -07:00
Evan Hunt
722d0f57ed warn about the use of trusted-keys and managed-keys for the same name 2019-05-08 23:02:42 -07:00
Mark Andrews
3c45f0dd0b Merge branch '852-bind-returning-malformed-packet-error-when-sshfp-record-has-fingerprint-value-less-than-4-characters-v9_11' into 'v9_11'
Resolve "Bind returning malformed packet error when sshfp record has fingerprint value less than 4 characters"

See merge request isc-projects/bind9!1906
2019-05-08 19:18:22 -04:00
Mark Andrews
702cc2dde3 enforce known SSHFP finger print lengths
(cherry picked from commit 1722728c80)
2019-05-09 08:49:19 +10:00
Mark Andrews
8cb78ee508 Merge branch '991-provide-ixfr-should-only-be-tests-on-tcp-clients-v9_11' into 'v9_11'
Resolve "provide-ixfr should only be tested on TCP clients."

See merge request isc-projects/bind9!1901
2019-05-07 00:46:17 -04:00
Mark Andrews
1cc0bf2cee add CHANGES
(cherry picked from commit ba1d7f3a07)
2019-05-07 14:34:00 +10:00
Mark Andrews
d72f659a35 add test for 'provide-ixfr no;' ; add forensics support
(cherry picked from commit d547465af5)
2019-05-07 14:34:00 +10:00
Mark Andrews
8b8f0dc160 only test provideixfr if the transport is TCP
(cherry picked from commit 18c49853e3)
2019-05-07 14:06:25 +10:00
Evan Hunt
510f8d9ff7 Merge branch 'each-win32-parallel-tests-v9_11' into 'v9_11'
enable parallel system tests on windows

See merge request isc-projects/bind9!1895
2019-05-06 22:04:51 -04:00
Evan Hunt
52347fa883 CHANGES
(cherry picked from commit d3cd0729c9)
2019-05-06 18:38:34 -07:00
Evan Hunt
50dfe1aa2b enable parallel system tests on windows
this moves the creation of "parallel.mk" into a separate shell script
instead of bin/tests/system/Makefile. that shell script can now be
executed by runall.sh, allowing us to make use of the cygwin "make"
command, which supports parallel execution.

(cherry picked from commit bbae24c140)
2019-05-06 18:38:34 -07:00
Evan Hunt
274da3c24b Merge branch 'each-fix-rpz-test-v9_11' into 'v9_11'
RPZ test had spurious references to DNSRPS, which isn't in 9.11

See merge request isc-projects/bind9!1898
2019-05-06 21:17:38 -04:00
Evan Hunt
111c692efd RPZ test had spurious references to DNSRPS, which isn't in 9.11 2019-05-06 18:05:49 -07:00
Mark Andrews
90a6482985 Merge branch '983-delv-www-isc-org-any-rtrace-multiline-leaks-memory-v9_11' into 'v9_11'
Resolve "'delv www.isc.org ANY +rtrace +multiline' leaks memory"

See merge request isc-projects/bind9!1897
2019-05-06 20:52:47 -04:00
Mark Andrews
eef0430b75 add CHANGES note
(cherry picked from commit ce5520b695)
2019-05-07 10:35:03 +10:00
Mark Andrews
c26a421aab check that delv -t any works
(cherry picked from commit 6999bee7ef)
2019-05-07 10:34:30 +10:00
Mark Andrews
595544329a fix whitespace
(cherry picked from commit 32ba5a0494)
2019-05-07 10:28:48 +10:00
Mark Andrews
333116ac5c return rdatasets when processing ANY queries in client_resfind
(cherry picked from commit 127333c71f)
2019-05-07 10:28:47 +10:00
Mark Andrews
405738b62f Merge branch '1000-arm-doc-rpz-nodata-policy-says-ancount-1-v9_11' into 'v9_11'
Resolve "ARM doc RPZ NODATA policy says ANCOUNT=1"

See merge request isc-projects/bind9!1891
2019-05-06 04:06:56 -04:00
Mark Andrews
401f9c4a3d A NODATA response has ANCOUNT of 0 assuming no CNAME/DNAMES
(cherry picked from commit 4889e06c3a)
2019-05-06 17:54:18 +10:00
Michał Kępień
16bb74b1bc Merge branch 'michal/simplify-trailing-period-handling-in-system-tests-v9_11' into 'v9_11'
[v9_11] Simplify trailing period handling in system tests

See merge request isc-projects/bind9!1878
2019-04-26 15:12:12 -04:00
Michał Kępień
72c7bc03c9 Simplify trailing period handling in system tests
Windows systems do not allow a trailing period in file names while Unix
systems do.  When BIND system tests are run, the $TP environment
variable is set to an empty string on Windows systems and to "." on Unix
systems.  This environment variable is then used by system test scripts
for handling this discrepancy properly.

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

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

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

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

(cherry picked from commit da2c1b74ad)
2019-04-26 20:50:55 +02:00
Ondřej Surý
343fa39055 Merge branch 'prep-release-v9_11' into 'v9_11'
Prep release v9 11

See merge request isc-projects/bind9!1865
2019-04-25 10:09:51 -04:00
Tinderbox User
a648e07bed doc rebuild
(cherry picked from commit 40b034f5b8)
2019-04-25 15:56:01 +02:00
Tinderbox User
7c6b5f2eaa prep 9.11.6-P1
(cherry picked from commit 6195f229b6)
2019-04-25 15:55:59 +02:00
Ondřej Surý
aaee75288a Merge branch '999-tcp-client-crash-v9_11-locks' into 'v9_11'
Replace atomic operations in bin/named/client.c with isc_refcount reference counting

See merge request isc-projects/bind9!1864
2019-04-25 09:54:09 -04:00
Ondřej Surý
ef49780d30 Replace atomic operations in bin/named/client.c with isc_refcount reference counting 2019-04-25 15:40:06 +02:00
Ondřej Surý
581ae79528 Merge branch '615-tcp-client-crash-v9_11-v9_11_6_patch-v9_11' into 'v9_11'
Resolve "tcp-clients mostly ineffective"

See merge request isc-projects/bind9!1863
2019-04-25 09:38:41 -04:00
Evan Hunt
b96a3a0c79 CHANGES, release note
(cherry picked from commit 5e18ad05f4)
2019-04-25 15:05:12 +02:00
Evan Hunt
59434b987e restore allowance for tcp-clients < interfaces
in the "refactor tcpquota and pipeline refs" commit, the counting
of active interfaces was tightened in such a way that named could
fail to listen on an interface if there were more interfaces than
tcp-clients. when checking the quota to start accepting on an
interface, if the number of active clients was above zero, then
it was presumed that some other client was able to handle accepting
new connections. this, however, ignored the fact that the current client
could be included in that count, so if the quota was already exceeded
before all the interfaces were listening, some interfaces would never
listen.

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

(cherry picked from commit 0b4e2cd4c3192ba88569dd344f542a8cc43742b5)
(cherry picked from commit d01023aaac)
2019-04-25 15:04:26 +02:00
Evan Hunt
c47ccf630f refactor tcpquota and pipeline refs; allow special-case overrun in isc_quota
- if the TCP quota has been exceeded but there are no clients listening
  for new connections on the interface, we can now force attachment to the
  quota using isc_quota_force(), instead of carrying on with the quota not
  attached.
- the TCP client quota is now referenced via a reference-counted
  'ns_tcpconn' object, one of which is created whenever a client begins
  listening for new connections, and attached to by members of that
  client's pipeline group. when the last reference to the tcpconn
  object is detached, it is freed and the TCP quota slot is released.
- reduce code duplication by adding mark_tcp_active() function.
- convert counters to atomic.

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

(cherry picked from commit c7394738b2445c16f728a88394864dd61baad900)
(cherry picked from commit e965d5f11d3d0f6d59704e614fceca2093cb1856)
(cherry picked from commit 87d4311614)
2019-04-25 15:04:26 +02:00
Michał Kępień
366b4e1ede use reference counter for pipeline groups (v3)
Track pipeline groups using a shared reference counter
instead of a linked list.

(cherry picked from commit 513afd33eb17d5dc41a3f0d2d38204ef8c5f6f91)
(cherry picked from commit 9446629b73)
2019-04-25 15:04:25 +02:00
Witold Kręcicki
719f604e3f tcp-clients could still be exceeded (v2)
the TCP client quota could still be ineffective under some
circumstances.  this change:

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

(cherry picked from commit 924651f1d5e605cd186d03f4f7340bcc54d77cc2)
(cherry picked from commit 55a7a458e3)
2019-04-25 15:04:25 +02:00
Witold Kręcicki
ec2d50da8d fix enforcement of tcp-clients (v1)
tcp-clients settings could be exceeded in some cases by
creating more and more active TCP clients that are over
the set quota limit, which in the end could lead to a
DoS attack by e.g. exhaustion of file descriptors.

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

(cherry picked from commit f97131d21b97381cef72b971b157345c1f9b4115)
(cherry picked from commit 9689ffc485)
2019-04-25 15:04:25 +02:00
Matthijs Mekking
f7f3b0cd8c Merge branch 'matthijs-fix-dnssec-test-intermittent-failure-kskonly-v9_11' into 'v9_11'
Fix dnssec test intermittent failure related to kskonly bugfix

See merge request isc-projects/bind9!1858
2019-04-24 03:54:42 -04:00
Matthijs Mekking
3c9a7ffac8 Wait for correct log message in dnssec/tests.sh
In 9.11 there are some log messages not existing, but the tests
rely on.  Adjust the grep call that gives confidence the rollover
step has occurred.
2019-04-24 09:41:22 +02:00
Matthijs Mekking
9c77cd8306 Harden grep key ID calls
Key IDs may accidentally match dig output that is not the key ID (for
example the RRSIG inception or expiration time, the query ID, ...).
Search for key ID + signer name should prevent that, as that is what
only should occur in the RRSIG record, and signer name always follows
the key ID.

(cherry picked from commit 83473b9758)
2019-04-24 09:41:22 +02:00
Matthijs Mekking
d8de28610d Remove sleeps
Remove sleep calls from test, rely on wait_for_log().  Make
wait_for_log() and dnssec_loadkeys_on() fail the test if the
appropriate log line is not found.

Slightly adjust the echo_i() lines to print only the key ID (not the
key name).

(cherry picked from commit 67f0635f3c)
2019-04-24 09:41:22 +02:00
Mark Andrews
216752e3b2 Merge branch '995-dlz_open_driver-fix-build-failure-without-dlfcn-h-v9_11' into 'v9_11'
Resolve "dlz_open_driver: fix build failure without dlfcn.h"

See merge request isc-projects/bind9!1855
2019-04-23 21:02:25 -04:00
Mark Andrews
29525f639f add CHANGES
(cherry picked from commit 19e4098139)
2019-04-24 09:31:51 +10:00
Mark Andrews
4ab8411c4c conditionally include <dlfcn.h>
(cherry picked from commit eee8084734)
2019-04-24 09:31:20 +10:00
Michał Kępień
22e81bdc82 Merge branch 'michal/minor-nsupdate-system-test-tweaks-v9_11' into 'v9_11'
[v9_11] Minor "nsupdate" system test tweaks

See merge request isc-projects/bind9!1849
2019-04-23 09:20:07 -04:00
Michał Kępień
4e2cc911d2 Wait more than 1 second for NSEC3 chain changes
One second may not be enough for an NSEC3 chain change triggered by an
UPDATE message to complete.  Wait up to 10 seconds when checking whether
a given NSEC3 chain change is complete in the "nsupdate" system test.

(cherry picked from commit f8746cddbc)
2019-04-23 14:59:30 +02:00
Michał Kępień
5d8147fa70 Remove redundant sleeps
In the "nsupdate" system test, do not sleep before checking results of
changes which are expected to be processed synchronously, i.e. before
nsupdate returns.

(cherry picked from commit 1c8e5ea333)
2019-04-23 14:59:29 +02:00
Mark Andrews
fc9b7cea99 Merge branch '962-bind-just-disables-gssapi-support-if-no-gssapi-krb5-headers-found-v9_11' into 'v9_11'
Resolve "Bind just disables GSSAPI support if no GSSAPI/KRB5 headers found"

See merge request isc-projects/bind9!1843
2019-04-22 23:15:15 -04:00
Mark Andrews
e55a19c8f0 make 'configure --with-gssapi=yes' fatal if support is not found
(cherry picked from commit e420078c63)
2019-04-23 13:01:17 +10:00
Mark Andrews
6d39087183 Merge branch 'incorrect-use-of-bool-v9_11' into 'v9_11'
using 0 instead of false

See merge request isc-projects/bind9!1840
2019-04-22 21:58:46 -04:00
Mark Andrews
ac77f8df02 using 0 instead of false
(cherry picked from commit da7f683abf)
2019-04-23 11:46:12 +10:00
Michał Kępień
2dee058987 Merge branch 'michal/win32-system-test-fixes-v9_11' into 'v9_11'
[v9_11] Miscellaneous Windows system test fixes

See merge request isc-projects/bind9!1835
2019-04-19 05:52:17 -04:00
Michał Kępień
f78f6439b7 Update interface lists in ifconfig scripts
Make bin/tests/system/ifconfig.bat also configure addresses ending with
9 and 10, so that the script is in sync with its Unix counterpart.

Update comments listing the interfaces created by ifconfig.{bat,sh} so
that they do not include addresses whose last octet is zero (since an
address like 10.53.1.0/24 is not a valid host address and thus the
aforementioned scripts do not even attempt configuring them).

(cherry picked from commit b6c1cdfffe)
2019-04-19 11:30:32 +02:00
Michał Kępień
4f992ab35f Fix the "dnssec" system test on Windows
On Windows, the bin/tests/system/dnssec/signer/example.db.signed file
contains carriage return characters at the end of each line.  Remove
them before passing the aforementioned file to the awk script extracting
key IDs so that the latter can work properly.

(cherry picked from commit e4280ed9f5)
2019-04-19 11:30:27 +02:00
Michał Kępień
d9688b58c8 Do not wait for lock file cleanup on Windows
As signals are currently not handled by named on Windows, instances
terminated using signals are not able to perform a clean shutdown, which
involves e.g. removing the lock file.  Thus, waiting for a given
instance's lock file to be removed beforing assuming it is shut down
is pointless on Windows, so do not even attempt it.

(cherry picked from commit 761ba4514f)
2019-04-19 11:29:44 +02:00
Michał Kępień
0aec955235 Merge branch '979-win32-remove-lock-file-upon-shutdown-v9_11' into 'v9_11'
[v9_11] win32: remove lock file upon shutdown

See merge request isc-projects/bind9!1833
2019-04-19 05:20:32 -04:00
Michał Kępień
48ddc78fb2 Add CHANGES entry
5214.	[bug]		win32: named now removes its lock file upon shutdown.
			[GL #979]

(cherry picked from commit e048436805)
2019-04-19 11:00:47 +02:00
Michał Kępień
8e18f02626 win32: remove lock file upon shutdown
Upon named shutdown, the lock file should not just be unlocked but also
removed.

(cherry picked from commit c506077da5)
2019-04-19 11:00:46 +02:00
Michał Kępień
2adc28712d Merge branch '978-win32-fix-service-state-reported-during-shutdown-v9_11' into 'v9_11'
[v9_11] win32: fix service state reported during shutdown

See merge request isc-projects/bind9!1831
2019-04-19 04:19:36 -04:00
Michał Kępień
89c8fed449 Add CHANGES entry
5213.	[bug]		win32: Eliminated a race which allowed named.exe running
			as a service to be killed prematurely during shutdown.
			[GL #978]

(cherry picked from commit e7332343ed)
2019-04-19 09:54:20 +02:00
Michał Kępień
d6b8c7da4b win32: fix service state reported during shutdown
When a Windows service receives a request to stop, it should not set its
state to SERVICE_STOPPED until it is completely shut down as doing that
allows the operating system to kill that service prematurely, which in
the case of named may e.g. prevent the PID file and/or the lock file
from being cleaned up.

Set service state to SERVICE_STOP_PENDING when named begins its shutdown
and only report the SERVICE_STOPPED state immediately before exiting.

(cherry picked from commit 964749dfdb)
2019-04-19 09:54:06 +02:00
Matthijs Mekking
00e59acab4 Merge branch '757-unsupported-algorithms-v9_11' into 'v9_11'
Resolve "Investigate and fix what happens when managed-key algorithm is not supported"

See merge request isc-projects/bind9!1825
2019-04-19 03:14:15 -04:00
Matthijs Mekking
b053cd4acc Update copyrights 2019-04-19 08:45:12 +02:00
Matthijs Mekking
93f33cdd0f Add documentation
(cherry picked from commit a67dac5d21)
2019-04-19 08:45:12 +02:00
Matthijs Mekking
d07f643557 DLV tests unsupported/disabled algorithms
This tests both the cases when the DLV trust anchor is of an
unsupported or disabled algorithm, as well as if the DLV zone
contains a key with an unsupported or disabled algorithm.

(cherry picked from commit 3b7c849a3f)
2019-04-19 08:45:12 +02:00
Matthijs Mekking
a97061c939 Ignore unsupported trust anchors
(cherry picked from commit 1d45ad8f39)

Some adaptations were made to make the code compile and tests pass.
2019-04-19 08:45:12 +02:00
Matthijs Mekking
469ef284b3 Add inline test related to unsupported algorithms
(cherry picked from commit 924fdad0e5)
2019-04-18 15:12:04 +02:00
Matthijs Mekking
8cef3952b6 System tests for tools and unsupported algorithms
(cherry picked from commit dfcf9bb0ed)
2019-04-18 15:12:04 +02:00
Ondřej Surý
48fccbf23b Merge branch '989-check-for-typeof-extension-v9_11' into 'v9_11'
(v9_11) Use uintmax_t instead of typeof(x) in the ISC_ALIGN macro on non-GNUC systems

See merge request isc-projects/bind9!1828
2019-04-18 07:34:19 -04:00
Ondřej Surý
de4fe3ed32 On non-GNUC systems, use uintmax_t in the ISC_ALIGN macro
(cherry picked from commit 2e40cc94dc)
2019-04-18 13:18:10 +02:00
Ondřej Surý
7123a4703b Merge branch 'ondrej/text-files-dont-need-copyright-v9_11' into 'v9_11'
(v9_11) Simple text files don't need copyright header

See merge request isc-projects/bind9!1823
2019-04-18 03:26:23 -04:00
Ondřej Surý
c76c0f4489 Simple text files with docs on build or design don't really need copyright on their own
(cherry picked from commit 1877139a32)
2019-04-18 08:59:43 +02:00
Ondřej Surý
c266d181b9 Merge branch 'ondrej/refactor-DNS_RDATASET_FIXED-code-flow-v9_11' into 'v9_11'
(v9_11) Refactor the DNS_RDATASET_FIXED code to use macros instead of ifdefs

See merge request isc-projects/bind9!1818
2019-04-17 05:50:25 -04:00
Ondřej Surý
376800b2ad Refactor the DNS_RDATASET_FIXED code to use constants instead of ifdefs
(cherry picked from commit 4edbb773a1)
2019-04-17 11:34:49 +02:00
Matthijs Mekking
f5b60bb8d7 Merge branch '763-matthijs-active-zsk-but-ksk-only-v9_11' into 'v9_11'
Don't sign DNSKEY RRset with ZSK if KSK is offline

See merge request isc-projects/bind9!1797
2019-04-12 10:21:15 -04:00
Matthijs Mekking
ce3d35d950 Fix dnssec test
The following changes were needed:

* Remove dnskey-sig-validity option (added in 9.12)
* Replace rndccmd, dig_with_opts with export variables
* Remove tests for CDNSKEY and CDS (in 9.11 always signed with ZSK)
2019-04-12 15:57:31 +02:00
Matthijs Mekking
c5e1bfc6f9 Fix copyrights 2019-04-12 15:57:31 +02:00
Matthijs Mekking
4af2d5b6d6 With update-check-ksk also consider offline keys
The option `update-check-ksk` will look if both KSK and ZSK are
available before signing records.  It will make sure the keys are
active and available.  However, for operational practices keys may
be offline.  This commit relaxes the update-check-ksk check and will
mark a key that is offline to be available when adding signature
tasks.

(cherry picked from commit 3cb8c49c73)
(cherry picked from commit b508cffeee3bfb8bc7dcf39db59ec3782a5d9e4c)
2019-04-12 15:57:31 +02:00
Matthijs Mekking
9079ae03c7 Style: some curly brackets
(cherry picked from commit 2e83e3255a)
(cherry picked from commit 42b0bf4d3bab180876d4803fe2ec1f6e93064b28)
2019-04-12 15:57:15 +02:00
Matthijs Mekking
944c2b5a74 Add detail on echo message in autosign test
(cherry picked from commit d330986374)
(cherry picked from commit d281d9ae99985772db13fb3dce0c0e7e2fb5f5b8)
2019-04-12 15:57:15 +02:00
Matthijs Mekking
537a88e403 Add test for ZSK rollover while KSK offline
This commit adds a lengthy test where the ZSK is rolled but the
KSK is offline (except for when the DNSKEY RRset is changed).  The
specific scenario has the `dnskey-kskonly` configuration option set
meaning the DNSKEY RRset should only be signed with the KSK.

A new zone `updatecheck-kskonly.secure` is added to test against,
that can be dynamically updated, and that can be controlled with rndc
to load the DNSSEC keys.

There are some pre-checks for this test to make sure everything is
fine before the ZSK roll, after the new ZSK is published, and after
the old ZSK is deleted.  Note there are actually two ZSK rolls in
quick succession.

When the latest added ZSK becomes active and its predecessor becomes
inactive, the KSK is offline.  However, the DNSKEY RRset did not
change and it has a good signature that is valid for long enough.
The expected behavior is that the DNSKEY RRset stays signed with
the KSK only (signature does not need to change).  However, the
test will fail because after reconfiguring the keys for the zone,
it wants to add re-sign tasks for the new active keys (in sign_apex).
Because the KSK is offline, named determines that the only other
active key, the latest ZSK, will be used to resign the DNSKEY RRset,
in addition to keeping the RRSIG of the KSK.

The question is: Why do we need to resign the DNSKEY RRset
immediately when a new key becomes active?  This is not required,
only once the next resign task is triggered the new active key
should replace signatures that are in need of refreshing.

(cherry-picked from commit c48b85d0a3c34480179d44e736e3e535dbae1001)
2019-04-12 15:57:15 +02:00
Mark Andrews
13dcf61a98 Merge branch '980-util-update_copyrights-now-needs-to-handle-files-with-cr-lf-endings-v9_11' into 'v9_11'
Resolve "util/update_copyrights now needs to handle files with CR LF endings."

See merge request isc-projects/bind9!1802
2019-04-12 00:45:20 -04:00
Mark Andrews
66b82fabaa support files which have CR LF ending like those in win32utils
(cherry picked from commit e76936fd85)
2019-04-12 14:32:08 +10:00
Evan Hunt
c39fc19d75 Merge branch '963-dnstap-check-ra-v9_14-v9_11' into 'v9_11'
dnstap: if recursion is not available, log queries as AQ instead of CQ

See merge request isc-projects/bind9!1800
2019-04-11 22:26:22 -04:00
Evan Hunt
9c9ee35936 CHANGES
(cherry picked from commit ded4650794)
2019-04-11 19:12:47 -07:00
Evan Hunt
fbcaadb22e dnstap: if recursion is not available, log queries as AQ instead of CQ
(cherry picked from commit 1f578cdb12)
(cherry picked from commit f6c3b13522)
2019-04-11 19:12:47 -07:00
Mark Andrews
c8370c486a Merge branch '899-add-totext-fromtext-to-wirechecks-v9_11' into 'v9_11'
Run wire check through "totext" and "fromtext" methods including multi-line.

See merge request isc-projects/bind9!1790
2019-04-11 06:04:57 -04:00
Mark Andrews
d37c85a302 Add CHANGES
(cherry picked from commit 307a1b563b)
2019-04-11 19:52:41 +10:00
Mark Andrews
cba5989651 Add debug printfs
(cherry picked from commit b78e128a2f)
2019-04-11 19:52:38 +10:00
Mark Andrews
f3922dd9c1 Prevent WIRE_INVALID() being called without a argument
(cherry picked from commit e73a5b0ce3)
2019-04-11 19:51:06 +10:00
Mark Andrews
478de1f761 Check multi-line output from dns_rdata_tofmttext()
Check that multi-line output from dns_rdata_tofmttext() can be read
back in by dns_rdata_fromtext().

(cherry picked from commit b089f43b7a)
2019-04-11 19:51:06 +10:00
Mark Andrews
c6ca84a0c8 Process master file comments and make input invalid again
(cherry picked from commit 1a75a5cee6)
2019-04-11 19:51:05 +10:00
Mark Andrews
1a036f324f Set 'specials' to match 'specials' in 'lib/dns/master.c'
(cherry picked from commit 7941a9554f)
2019-04-11 19:51:05 +10:00
Mark Andrews
2c5652067f Fix whitespace so that the names align
(cherry picked from commit cc5e16e4d3)
2019-04-11 19:50:41 +10:00
Mark Andrews
8a7255c9fc Add dns_rdata_totext() and dns_rdata_fromtext() to fromwire
Add dns_rdata_totext() and dns_rdata_fromtext() to fromwire for
valid inputs to ensure that what we accept in dns_rdata_fromwire()
can be written out and read back in.

(cherry picked from commit 36f30f5731)
2019-04-11 19:48:02 +10:00
Mark Andrews
377669da45 Merge branch '965-delv-prints-weird-ttl-values-2-v9_11' into 'v9_11'
Test that dig and delve print correct TTL values.

See merge request isc-projects/bind9!1787
2019-04-10 02:32:04 -04:00
Mark Andrews
d5da331093 add CHANGES
(cherry picked from commit dfc485b02e)
2019-04-10 16:20:12 +10:00
Matthijs Mekking
c272e6799f Check dig TTLs.
(cherry picked from commit 195277ca6d)
2019-04-10 16:19:32 +10:00
Mark Andrews
8015e95b77 Check delv TTLs.
(cherry picked from commit 146202d6a8)
2019-04-10 16:10:39 +10:00
Mark Andrews
0348c1ca6b Merge branch '899-enforce-hash-in-ds-v9_11' into 'v9_11'
enforce DS hash exists

See merge request isc-projects/bind9!1784
2019-04-10 02:00:50 -04:00
Mark Andrews
4bb239abbe add CHANGES
(cherry picked from commit 97b7360ce1)
2019-04-10 15:44:00 +10:00
Mark Andrews
4e4d7d5b8b add ds unit test
(cherry picked from commit 6eb28eda1e)
2019-04-10 15:44:00 +10:00
Mark Andrews
8df14d2f89 enforce DS hash exists
(cherry picked from commit b274f3fad7)
2019-04-10 14:44:23 +10:00
Mark Andrews
13c87fdf99 Merge branch '852-run-fromtext-through-fromwire-v9_11' into 'v9_11'
check that from fromtext produces valid towire input

See merge request isc-projects/bind9!1781
2019-04-09 23:37:59 -04:00
Mark Andrews
a8ead01989 add CHANGES
(cherry picked from commit d712b88048)
2019-04-10 13:24:42 +10:00
Mark Andrews
94e852bdcf check that from fromtext produces valid towire input
(cherry picked from commit 7b0a653858)
2019-04-10 13:24:42 +10:00
Ondřej Surý
17e6388db2 Merge branch '971-downgrade-DLZ_DBCLIENTINFO_VERSION-in-dlz_minimal.h-v9_11' into 'v9_11'
(v9_11) Downgrade the dns_clientinfomethod structure to the version in lib/dns/clientinfo.c

See merge request isc-projects/bind9!1779
2019-04-09 15:45:11 -04:00
Ondřej Surý
7b537d1f05 Downgrade the dns_clientinfomethod structure to the version in lib/dns/clientinfo.c
(cherry picked from commit a6f09b2255)
2019-04-09 20:28:09 +01:00
Mark Andrews
853caac188 Merge branch '899-fromwire-check-flags-for-nokey-v9_11' into 'v9_11'
Check KEY flags for empty key in fromwire method

See merge request isc-projects/bind9!1777
2019-04-09 00:39:59 -04:00
Mark Andrews
449129b8c9 add CHANGES
(cherry picked from commit f78c688c4f)
2019-04-09 14:27:40 +10:00
Mark Andrews
b35eacbad2 for rkey flags MUST be zero
(cherry picked from commit 82d4931440)
2019-04-09 14:27:11 +10:00
Mark Andrews
bbd7a496be check flags for no key in fromwire for *KEY
(cherry picked from commit 2592e91516)
2019-04-09 14:27:03 +10:00
Michał Kępień
0efc1c80ac Merge branch '893-do-not-rely-on-default-dig-options-in-system-tests-v9_11' into 'v9_11'
[v9_11] Do not rely on default dig options in system tests

See merge request isc-projects/bind9!1765
2019-04-03 07:21:58 -04:00
Michał Kępień
68601bd70f Do not rely on default dig options in system tests
Some system tests assume dig's default setings are in effect.  While
these defaults may only be silently overridden (because of specific
options set in /etc/resolv.conf) for BIND releases using liblwres for
parsing /etc/resolv.conf (i.e. BIND 9.11 and older), it is arguably
prudent to make sure that tests relying on specific +timeout and +tries
settings specify these explicitly in their dig invocations, in order to
prevent test failures from being triggered by any potential changes to
current defaults.

(cherry picked from commit b6cce0fb8b)
2019-04-03 13:00:23 +02:00
Michał Kępień
eb4f80693e Merge branch 'michal/add-r-randfile-where-it-is-missing' into 'v9_11'
Add "-r $RANDFILE" where it is missing

See merge request isc-projects/bind9!1763
2019-04-02 07:29:02 -04:00
Michał Kępień
59e1329e9b Add "-r $RANDFILE" where it is missing
If the path to the source of random data is not passed explicitly to
dnssec-keygen or dnssec-signzone and the --with-randomdev compile-time
switch is not used, the aforementioned utilities will hang if the
default source of random data (/dev/random) runs out of entropy.  Use
"-r $RANDFILE" to prevent that from happening in affected system tests.
2019-04-02 13:09:08 +02:00
Mark Andrews
9117b34444 Merge branch '920-see-problem-when-multiple-sigs-with-besteffort-parsing-v9_11' into 'v9_11'
Address problems with best effort parsing.

See merge request isc-projects/bind9!1753
2019-03-26 06:48:30 -04:00
Mark Andrews
dbd53847a3 add CHANGES
(cherry picked from commit b779342017)
2019-03-26 21:33:18 +11:00
Witold Kręcicki
736d8c5b80 Fix assertion failure in nslookup/dig/mdig when message has multiple SIG(0) options.
When parsing message with DNS_MESSAGE_BESTEFFORT (used exclusively in
tools, never in named itself) if we hit an invalid SIG(0) in wrong
place we continue parsing the message, and put the sig0 in msg->sig0.
If we then hit another sig0 in a proper place we see that msg->sig0
is already 'taken' and we don't free name and rdataset, and we don't
set seen_problem. This causes an assertion failure.
This fixes that issue by setting seen_problem if we hit second sig0,
tsig or opt, which causes name and rdataset to be always freed.

(cherry picked from commit 51a55ddbb7)
2019-03-26 21:32:41 +11:00
Mark Andrews
e3409b6c00 Merge branch '948-dlzexternal-driver-so-failing-to-build-macos-v9_11' into 'v9_11'
Resolve "dlzexternal/driver.so failing to build MacOS v9_11"

See merge request isc-projects/bind9!1723
2019-03-26 06:08:44 -04:00
Mark Andrews
18e1c33206 back port complete SO_* block preserving SunOS disable 2019-03-26 05:51:00 -04:00
Mark Andrews
f65b2c434d add CHANGES 2019-03-26 05:51:00 -04:00
Mark Andrews
2d4d4c223d backport MacOS link flags 2019-03-26 05:51:00 -04:00
Ondřej Surý
d0f3b0f4d5 Merge branch '4-make-dnstap.pb-c.h-private-v9_11' into 'v9_11'
(v9_11) Make lib/dns/dnstap.pb-c.h header a private to lib/dns

See merge request isc-projects/bind9!1746
2019-03-22 07:22:25 -04:00
Ondřej Surý
c927beea2d Make lib/dns/dnstap.pb-c.h private header
This changes dns_dtdata struct to not expose data types from dnstap.pb-c.h to
prevent the need for including this header where not really needed.

(cherry picked from commit 8ccce7e24b)
2019-03-22 12:08:16 +01:00
Mark Andrews
83317ae403 Merge branch '899-zonemd-check-for-hash-existence-v9_11' into 'v9_11'
zonemd require non empty hash

See merge request isc-projects/bind9!1741
2019-03-21 16:05:45 -04:00
Mark Andrews
24b66c00f9 add CHANGES
(cherry picked from commit e1db1b8dcb)
2019-03-22 06:52:32 +11:00
Mark Andrews
96b9f0340a Disallow empty ZONEMD hashes
This change is the result of discussions with the authors of
draft-wessels-dns-zone-digest.

(cherry picked from commit 473987d8d9)
2019-03-22 06:52:32 +11:00
Mark Andrews
2029ec9aa3 Merge branch '899-eid-totext-is-broken-v9_11' into 'v9_11'
EID and NIMLOC totext is broken.

See merge request isc-projects/bind9!1737
2019-03-21 05:43:09 -04:00
Mark Andrews
b6952a6202 add CHANGES
(cherry picked from commit c20b89fcf8)
2019-03-21 20:27:18 +11:00
Mark Andrews
30f10bf79e add brackets for multi-line output
(cherry picked from commit 40a770b932)
2019-03-21 20:26:52 +11:00
Michał Kępień
9e58264b5a Merge branch 'michal/fix-key-id-extraction-in-the-dnssec-system-test-v9_11' into 'v9_11'
[v9_11] Fix key ID extraction in the "dnssec" system test

See merge request isc-projects/bind9!1735
2019-03-21 03:35:55 -04:00
Michał Kępień
de1eba6a0f Fix key ID extraction in the "dnssec" system test
Simply looking for the key ID surrounded by spaces in the tested
dnssec-signzone output file is not a precise enough method of checking
for signatures prepared using a given key ID: it can be tripped up by
cross-algorithm key ID collisions and certain low key IDs (e.g. 60, the
TTL specified in bin/tests/system/dnssec/signer/example.db.in), which
triggers false positives for the "dnssec" system test.  Make key ID
extraction precise by using an awk script which operates on specific
fields.

(cherry picked from commit a40c60e4c1)
2019-03-21 08:12:52 +01:00
Ondřej Surý
49ed0473d9 Merge branch '4-update-gitignore-for-future-automake-v9_11' into 'v9_11'
(v9_11) Update and sort the top level .gitignore to ignore automake files

See merge request isc-projects/bind9!1730
2019-03-20 05:54:02 -04:00
Ondřej Surý
ef2f3e38e4 Sort the top level .gitignore file
(cherry picked from commit b9d524ed7e)
2019-03-20 10:41:29 +01:00
Ondřej Surý
af5c2186c3 Update top level .gitignore to ignore automake files
(cherry picked from commit 5c67d1d120)
2019-03-20 10:41:29 +01:00
Ondřej Surý
8e5e854858 Merge branch '946-enable-fips-mode-option-breaks-build-of-hmacmd5-c-and-md5-c' into 'v9_11'
Resolve "--enable-fips-mode option breaks build of  hmacmd5.c and md5.c"

See merge request isc-projects/bind9!1722
2019-03-20 04:33:51 -04:00
Mark Andrews
d3976fe4cc add CHANGES 2019-03-20 12:52:07 +11:00
Mark Andrews
98a37c9aba add #include <isc/util.h> 2019-03-20 11:41:51 +11:00
Michał Kępień
20483dc12b Merge branch '944-make-stop.pl-wait-for-lock-file-cleanup-v9_11' into 'v9_11'
[v9_11] Make stop.pl wait for lock file cleanup

See merge request isc-projects/bind9!1711
2019-03-19 06:18:38 -04:00
Michał Kępień
537765df80 Make stop.pl wait for lock file cleanup
bin/tests/system/stop.pl only waits for the PID file to be cleaned up
while named cleans up the lock file after the PID file.  Thus, the
aforementioned script may consider a named instance to be fully shut
down when in fact it is not.

Fix by also checking whether the lock file exists when determining a
given instance's shutdown status.  This change assumes that if a named
instance uses a lock file, it is called "named.lock", and that if an
lwresd instance uses a lock file, it is called "lwresd.lock".

Also rename clean_pid_file() to pid_file_exists(), so that it is called
more appropriately (it does not clean up the PID file itself, it only
returns the server's identifier if its PID file is not yet cleaned up).

(cherry picked from commit c787a539d2)
2019-03-19 11:03:46 +01:00
Michał Kępień
ebedeffa25 Correctly invoke stop.pl when start.pl fails
MR !1141 broke the way stop.pl is invoked when start.pl fails:

  - start.pl changes the working directory to $testdir/$server before
    attempting to start $server,

  - commit 27ee629e6b causes the $testdir
    variable in stop.pl to be determined using the $SYSTEMTESTTOP
    environment variable, which is set to ".." by all tests.sh scripts,

  - commit e227815af5 makes start.pl pass
    $test (the test's name) rather than $testdir (the path to the test's
    directory) to stop.pl when a given server fails to start.

Thus, when a server is restarted from within a tests.sh script and such
a restart fails, stop.pl attempts to look for the server directory in a
nonexistent location ($testdir/$server/../$test, i.e. $testdir/$test,
instead of $testdir/../$test).  Fix the issue by changing the working
directory before stop.pl is invoked in the scenario described above.

(cherry picked from commit 4afad2a047)
2019-03-19 10:28:59 +01:00
Evan Hunt
707b2349b8 Merge branch '945-remove-revoked-root-key-from-bind-keys-v9_14-v9_11' into 'v9_11'
Resolve "Remove revoked root key from bind.keys."

See merge request isc-projects/bind9!1709
2019-03-19 00:30:51 -04:00
Mark Andrews
d5c57db1ae Remove revoked root DNSKEY from bind.keys.
(cherry picked from commit 0e805b58e8)
(cherry picked from commit 3954d4ec30)
2019-03-18 21:30:22 -07:00
Matthijs Mekking
a7b8090ca6 Merge branch '813-matthijs-failure-loading-rpz-v9_11' into 'v9_11'
Resolve "Problems after failure of loading rpz [ISC-support #14002]"

See merge request isc-projects/bind9!1566
2019-03-15 04:58:03 -04:00
Matthijs Mekking
1461accf9c Add test for rpz zone load fail 2019-03-15 09:16:49 +01:00
Matthijs Mekking
97118d59ba Make RPZ tests more readable 2019-03-15 08:32:03 +01:00
Matthijs Mekking
a8f20871c4 Add README to RPZ tests 2019-03-15 08:32:03 +01:00
Mark Andrews
fc17d57d0d Merge branch '940-unit-dnstap-pkcs11-tz-v9_11' into 'v9_11'
Fix regression in dnstap_test with native pkcs11

See merge request isc-projects/bind9!1701
2019-03-15 01:35:57 -04:00
Mark Andrews
b4963500df add CHANGES
(cherry picked from commit 788f784191)
2019-03-15 16:20:14 +11:00
Petr Menšík
6992c50240 Fix regression in dnstap_test with native pkcs11
Change to cmocka broken initialization of TZ environment. This time,
commit 1cf1254051 is not soon enough. Has
to be moved more forward, before any other tests. It library is not full
reinitialized on each test.

(cherry picked from commit 71c4fad592)
2019-03-15 16:19:44 +11:00
Evan Hunt
49358c7652 Merge branch 'pmensik-skip-timer-test' into 'v9_11'
Workaround to kyua bug

See merge request isc-projects/bind9!1697
2019-03-14 17:31:08 -04:00
Petr Mensik
5480d26da4 Workaround to kyua bug
Kyua 0.13 is not able to correctly handle whole test skipping.
Make workaround to it, include skipping message.
2019-03-14 14:19:45 -07:00
Evan Hunt
dacfa09725 Merge branch '938-cppcheck-format-issues-v9_11' into 'v9_11'
Resolve "Cppcheck format issues."

See merge request isc-projects/bind9!1696
2019-03-14 17:03:35 -04:00
Mark Andrews
8a85e3d924 force promotion to unsigned int
(cherry picked from commit 1eba2c5b06)
2019-03-14 13:53:04 -07:00
Evan Hunt
09f9f10ead Merge branch '890-assert-the-hevent-rdataset-is-non-null-v9_11' into 'v9_11'
Resolve "Assert the hevent->rdataset is non-NULL."

See merge request isc-projects/bind9!1694
2019-03-14 16:28:43 -04:00
Mark Andrews
25268aaf8c assert hevent->rdataset is non NULL
(cherry picked from commit d8d04edfba)
2019-03-14 13:17:10 -07:00
Evan Hunt
be1dc0d82c Merge branch '937-potential-null-pointer-dereference-in-bin-tests-system-dlzexternal-driver-c-v9_11' into 'v9_11'
Resolve "potential null pointer dereference in bin/tests/system/dlzexternal/driver.c"

See merge request isc-projects/bind9!1691
2019-03-14 16:09:07 -04:00
Mark Andrews
3756a08d30 check that state and state->log are non NULL before calling state->log
(cherry picked from commit 7bf6750330)
2019-03-14 12:57:21 -07:00
Mark Andrews
7d70b31542 Merge branch '935-fix-ecc-algorithms-unused-constants-in-pkcs-11-build-c116fb96-falls-short' into 'v9_11'
Resolve "Fix ECC algorithms unused constants in PKCS#11 build (c116fb96) falls short"

See merge request isc-projects/bind9!1682
2019-03-13 22:29:46 -04:00
Mark Andrews
9c2f4af5a1 pkcs11-kegen build failed if ECDSA was not supported 2019-03-14 13:15:21 +11:00
Mark Andrews
eb5696f04e Merge branch '936-missing-unlocks-in-sdlz-c-v9_11' into 'v9_11'
Resolve "Missing unlocks in sdlz.c"

See merge request isc-projects/bind9!1680
2019-03-13 20:08:19 -04:00
Mark Andrews
0a1e079e79 add CHANGES
(cherry picked from commit 32f2ae3791)
2019-03-14 09:02:12 +11:00
Mark Andrews
e6ab8fc7d0 add missing MAYBE_UNLOCK
(cherry picked from commit ff8bf617e7)
2019-03-14 09:01:31 +11:00
Evan Hunt
d87f19323c Merge branch '834-fix-race-in-fctx-cancel-v9_11' into 'v9_11'
fix race in socket code

See merge request isc-projects/bind9!1674
2019-03-12 16:18:45 -04:00
Witold Kręcicki
3993503de4 CHANGES
(cherry picked from commit 50f6054294)
2019-03-12 13:00:44 -07:00
Witold Kręcicki
ff401e670f Fix a race in fctx_cancelquery.
When sending an udp query (resquery_send) we first issue an asynchronous
isc_socket_connect and increment query->connects, then isc_socket_sendto2
and increment query->sends.
If we happen to cancel this query (fctx_cancelquery) we need to cancel
all operations we might have issued on this socket. If we are under very high
load the callback from isc_socket_connect (resquery_udpconnected) might have
not yet been fired. In this case we only cancel the CONNECT event on socket,
and ignore the SEND that's waiting there (as there is an `else if`).
Then we call dns_dispatch_removeresponse which kills the dispatcher socket
and calls isc_socket_close - but if system is under very high load, the send
we issued earlier might still not be complete - which triggers an assertion
because we're trying to close a socket that's still in use.

The fix is to always check if we have incomplete sends on the socket and cancel
them if we do.

(cherry picked from commit 56183a3917)
2019-03-12 13:00:05 -07:00
Michał Kępień
369f3c392b Merge branch 'michal/silence-a-perl-warning-output-by-stop.pl-v9_11' into 'v9_11'
[v9_11] Silence a Perl warning output by stop.pl

See merge request isc-projects/bind9!1670
2019-03-12 04:04:15 -04:00
Michał Kępień
42a210b7cf Silence a Perl warning output by stop.pl
On Unix systems, the CYGWIN environment variable is not set at all when
BIND system tests are run.  If a named instance crashes on shutdown or
otherwise fails to clean up its pidfile and the CYGWIN environment
variable is not set, stop.pl will print an uninitialized value warning
on standard error.  Prevent this by using defined().

(cherry picked from commit 91e5a99b9b)
2019-03-12 08:43:13 +01:00
Mark Andrews
e57796dd15 Merge branch 'ifconfig.sh-anywhere-v9_11' into 'v9_11'
Allow ifconfig to be called from any directory

See merge request isc-projects/bind9!1668
2019-03-11 23:24:54 -04:00
Petr Menšík
1f32ad6064 Allow ifconfig to be called from any directory
ifconfig.sh depends on config.guess for platform guessing. It uses it to
choose between ifconfig or ip tools to configure interfaces. If
system-wide automake script is installed and local was not found, use
platform guess. It should work well on mostly any sane platform. Still
prefers local guess, but passes when if cannot find it.

(cherry picked from commit 38301052e1)
2019-03-12 14:11:03 +11:00
Evan Hunt
a4fef634f5 Merge branch '892-fix-redirect-name-v9_11' into 'v9_11'
use qname in redirect2

See merge request isc-projects/bind9!1664
2019-03-11 14:39:15 -04:00
Mark Andrews
6115670bd4 add CHANGES
(cherry picked from commit ad785e4f93)
2019-03-11 11:28:29 -07:00
Mark Andrews
93ee793d97 use client->query.qname
(cherry picked from commit 8758d36a5e)
2019-03-11 11:27:45 -07:00
Michał Kępień
64d16586f2 Merge branch 'michal/stabilize-the-gost-system-test' into 'v9_11'
Stabilize the "gost" system test

See merge request isc-projects/bind9!1642
2019-03-11 08:48:05 -04:00
Michał Kępień
170cb442a9 Stabilize the "gost" system test
In the "gost" system test, the ./NS RRset returned in the response to
ns2's priming query might not yet be validated when ns2 assembles the
response to the ./SOA query.  If that happens, the ./NS RRset will not
be placed in the AUTHORITY section of the response to the ./SOA query,
triggering a false positive for the "gost" system test as the ./NS RRset
is always present in the response sent by ns1 (since it is authoritative
for the root zone).  As the purpose of the "gost" system test is to
check whether a zone signed using GOST is properly validated and only
positive responses are inspected, use the +noauth dig option for all
queries in that test, so that the contents of the AUTHORITY section do
not influence its outcome.
2019-03-11 13:32:02 +01:00
Michał Kępień
23435c423c Merge branch '928-stabilize-delzsk.example-zone-checks-v9_11' into 'v9_11'
[v9_11] Stabilize "delzsk.example" zone checks

See merge request isc-projects/bind9!1659
2019-03-11 08:28:15 -04:00
Michał Kępień
780e1134e7 Stabilize "delzsk.example" zone checks
When a zone is converted from NSEC to NSEC3, the private record at zone
apex indicating that NSEC3 chain creation is in progress may be removed
during a different (later) zone_nsec3chain() call than the one which
adds the NSEC3PARAM record.  The "delzsk.example" zone check only waits
for the NSEC3PARAM record to start appearing in dig output while private
records at zone apex directly affect "rndc signing -list" output.  This
may trigger false positives for the "autosign" system test as the output
of the "rndc signing -list" command used for checking ZSK deletion
progress may contain extra lines which are not accounted for.  Ensure
the private record is removed from zone apex before triggering ZSK
deletion in the aforementioned check.

Also future-proof the ZSK deletion progress check by making it only look
at lines it should care about.

(cherry picked from commit e02de04e97)
2019-03-11 13:03:23 +01:00
Michał Kępień
08713b334b Merge branch '129-dnssec-system-test-tweaks-v9_11' into 'v9_11'
[v9_11] "dnssec" system test tweaks

See merge request isc-projects/bind9!1657
2019-03-11 08:02:08 -04:00
Mark Andrews
e6718cf4c4 ${ttl} must exist and be non null
(cherry picked from commit dee1f1a498)
2019-03-11 12:25:19 +01:00
Michał Kępień
7656e7431b Make ANSWER TTL capping checks stricter
For checks querying a named instance with "dnssec-accept-expired yes;"
set, authoritative responses have a TTL of 300 seconds.  Assuming empty
resolver cache, TTLs of RRsets in the ANSWER section of the first
response to a given query will always match their authoritative
counterparts.  Also note that for a DNSSEC-validating named resolver,
validated RRsets replace any existing non-validated RRsets with the same
owner name and type, e.g. cached from responses received while resolving
CD=1 queries.  Since TTL capping happens before a validated RRset is
inserted into the cache and RRSIG expiry time does not impose an upper
TTL bound when "dnssec-accept-expired yes;" is set and, as pointed out
above, the original TTLs of the relevant RRsets equal 300 seconds, the
RRsets in the ANSWER section of the responses to expiring.example/SOA
and expired.example/SOA queries sent with CD=0 should always be exactly
120 seconds, never a lower value.  Make the relevant TTL checks stricter
to reflect that.

(cherry picked from commit a85cc41486)
2019-03-11 12:23:27 +01:00
Michał Kępień
bacbe3a5aa Relax ADDITIONAL TTL capping checks
Always expecting a TTL of exactly 300 seconds for RRsets found in the
ADDITIONAL section of responses received for CD=1 queries sent during
TTL capping checks is too strict since these responses will contain
records cached from multiple DNS messages received during the resolution
process.

In responses to queries sent with CD=1, ns.expiring.example/A in the
ADDITIONAL section will come from a delegation returned by ns2 while the
ANSWER section will come from an authoritative answer returned by ns3.
If the queries to ns2 and ns3 happen at different Unix timestamps,
RRsets cached from the older response will have a different TTL by the
time they are returned to dig, triggering a false positive.

Allow a safety margin of 60 seconds for checks inspecting the ADDITIONAL
section of responses to queries sent with CD=1 to fix the issue.  A
safety margin this large is likely overkill, but it is used nevertheless
for consistency with similar safety margins used in other TTL capping
checks.

(cherry picked from commit 8baf859063)
2019-03-11 12:22:23 +01:00
Michał Kępień
38da4bdf5e Fix NTA-related races
Changes introduced by commit 6b8e4d6e69
were incomplete as not all time-sensitive checks were updated to match
revised "nta-lifetime" and "nta-recheck" values.  Prevent rare false
positives by updating all NTA-related checks so that they work reliably
with "nta-lifetime 12s;" and "nta-recheck 9s;".  Update comments as well
to prevent confusion.

(cherry picked from commit 9a36a1bba3)
2019-03-11 12:17:36 +01:00
Michał Kępień
d9354d32c4 Merge branch 'michal/fix-regex-used-for-mangling-druz-dnskey-v9_11' into 'v9_11'
[v9_11] Fix regex used for mangling druz/DNSKEY (in the "dlv" system test)

See merge request isc-projects/bind9!1648
2019-03-08 08:08:58 -05:00
Michał Kępień
e82ef27449 Fix regex used for mangling druz/DNSKEY
During "dlv" system test setup, the "sed" regex used for mangling the
DNSKEY RRset for the "druz" zone does not include the plus sign ("+"),
which may:

  - cause the replacement to happen near the end of DNSKEY RDATA, which
    can cause the latter to become an invalid Base64 string,

  - prevent the replacement from being performed altogether.

Both cases prevent the "dlv" system test from behaving as intended and
may trigger false positives.  Add the missing character to the
aforementioned regex to ensure the replacement is always performed on
bytes 10-25 of DNSKEY RDATA.

(cherry picked from commit fd13fef299)
2019-03-08 13:49:02 +01:00
Michał Kępień
92465f23f7 Merge branch '925-make-delv-use-os-supplied-ephemeral-port-range-v9_11' into 'v9_11'
[v9_11] Make delv use OS-supplied ephemeral port range

See merge request isc-projects/bind9!1646
2019-03-08 07:46:10 -05:00
Michał Kępień
addb1f3f7a Add CHANGES entry
5180.	[bug]		delv now honors the operating system's preferred
			ephemeral port range. [GL #925]

(cherry picked from commit bf98324956)
2019-03-08 13:14:11 +01:00
Michał Kępień
78ecd57872 Make delv use OS-supplied ephemeral port range
Make delv honor the operating system's preferred ephemeral port range
instead of always using the default 1024-65535 range for outgoing
messages.

(cherry picked from commit ada6846a10)
2019-03-08 13:14:10 +01:00
Mark Andrews
8d6be33c9c Merge branch 'u/fanf2/sectypes-v9_11' into 'v9_11'
cleanup: use dns_secalg_t and dns_dsdigest_t where appropriate

See merge request isc-projects/bind9!1644
2019-03-08 06:40:45 -05:00
Tony Finch
660c9af77b cleanup: use dns_secalg_t and dns_dsdigest_t where appropriate
Use them in structs for various rdata types where they are missing.
This doesn't change the structs since we are replacing explicit
uint8_t field types with aliases for uint8_t.

Use dns_dsdigest_t in library function arguments.

(cherry picked from commit 0f219714e1)
2019-03-08 22:25:27 +11:00
Mark Andrews
8e10f568f8 Merge branch 'marka-define-path-max-v9_11' into 'v9_11'
#include <limits.h> for PATH_MAX, define if not found

See merge request isc-projects/bind9!1638
2019-03-08 02:44:01 -05:00
Mark Andrews
b3479ae5b0 #include <limits.h> for PATH_MAX, define if not found
(cherry picked from commit 1fc7be36eb)
2019-03-08 18:24:13 +11:00
Evan Hunt
15995270d1 Merge branch 'each-silence-warning-v9_11' into 'v9_11'
silence a warning about potential snprintf overrun

See merge request isc-projects/bind9!1634
2019-03-08 01:10:11 -05:00
Evan Hunt
148aa70127 silence a warning about potential snprintf overrun
(cherry picked from commit 7f26cad247)
2019-03-07 21:49:15 -08:00
Evan Hunt
ee42bdb825 Merge branch '902-hang-when-unexpected-errno-encountered-during-log-rename-v9_11' into 'v9_11'
Resolve "Hang when unexpected errno encountered during log rename"

See merge request isc-projects/bind9!1632
2019-03-08 00:44:27 -05:00
Mark Andrews
28ea43ab35 Handle EDQUOT and ENOSPC errors
(cherry picked from commit 435ae2f29a)
2019-03-07 21:29:59 -08:00
Evan Hunt
bd7dc54875 Merge branch '884-patches-to-review-3-v9_11' into 'v9_11'
fix the use of dns_wildcardname as an optimisation in DLZ

See merge request isc-projects/bind9!1630
2019-03-07 23:49:24 -05:00
Mark Andrews
09ce08a85f fix the use of dns_wildcardname as an optimisation in DLZ
(cherry picked from commit cb32cd98bd)
2019-03-07 20:34:59 -08:00
Evan Hunt
ad39501b0c Merge branch '884-patches-to-review-2' into 'v9_11'
Handle errors from ctime().

See merge request isc-projects/bind9!1531
2019-03-07 22:31:38 -05:00
Mark Andrews
dde207c0b9 fail if ctime() output is truncted 2019-03-07 19:30:28 -08:00
Evan Hunt
5debc374ce Merge branch '884-patches-to-review-5' into 'v9_11'
Use %u in format to print TTL

See merge request isc-projects/bind9!1534
2019-03-07 22:11:11 -05:00
Mark Andrews
b9732a6787 use %u for TTL 2019-03-07 19:09:40 -08:00
Evan Hunt
a7fba9313a Merge branch 'ckb-statistics-test-nit-v9_11' into 'v9_11'
the wrong variable was used to count the test cases in one place.

See merge request isc-projects/bind9!1628
2019-03-07 21:55:34 -05:00
Curtis Blackburn
4aa9ecf914 the wrong variable was used to count the test cases in one place.
(cherry picked from commit 4f60a84e34)
2019-03-07 18:42:54 -08:00
Evan Hunt
8e93a5f159 Merge branch 'each-notes-911' into 'v9_11'
clear out  9.11.6 release notes

See merge request isc-projects/bind9!1624
2019-03-07 17:00:56 -05:00
Evan Hunt
f68040799f clear out release notes from 9.11.6 to prepare ground for 9.11.7 2019-03-07 13:44:24 -08:00
Evan Hunt
e960d24fa6 Merge branch '882-zone-data-cannot-be-loaded-with-dnssec-coverage-v9_11' into 'v9_11'
Resolve "Zone data cannot be loaded with dnssec-coverage"

See merge request isc-projects/bind9!1620
2019-03-07 00:26:28 -05:00
Evan Hunt
63c95f8a6d add CHANGES
(cherry picked from commit 57e44efc73)
2019-03-06 21:15:10 -08:00
Mark Andrews
6f48cea0a6 explicitly convert byte to string
(cherry picked from commit ec3d830bc5)
2019-03-06 21:15:10 -08:00
Evan Hunt
45dec7d781 Merge branch 'u/fanf2/man-dnssec-keygen-v9_11' into 'v9_11'
cleanup dnssec-keygen manual page

See merge request isc-projects/bind9!1618
2019-03-06 20:47:21 -05:00
Tony Finch
0f8351b282 cleanup dnssec-keygen manual page
Alphabetize options and synopsis; remove spurious -z from synopsis;
refer to -T KEY in options that are only relevant to pre-RFC3755
DNSSEC, and add a -f KSK example.

(cherry picked from commit 1954f8d2bf)
2019-03-06 17:34:26 -08:00
Mark Andrews
8e7d87a2a6 Merge branch '926-statschannel-system-tests-fails-json-only-no-libxml-v9_11' into 'v9_11'
Resolve "statschannel system tests fails json only (no libxml)"

See merge request isc-projects/bind9!1617
2019-03-06 19:11:40 -05:00
Mark Andrews
c2495053f2 add CHANGES
(cherry picked from commit 5bc06a0a11)
2019-03-07 10:59:11 +11:00
Mark Andrews
6f331e068e remove dependancy on libxml
(cherry picked from commit a9c47414b3)
2019-03-07 10:57:42 +11:00
Michał Kępień
19ad85f0c6 Merge branch '905-make-nsupdate-use-os-supplied-ephemeral-port-range-v9_11' into 'v9_11'
[v9_11] Make nsupdate use OS-supplied ephemeral port range

See merge request isc-projects/bind9!1610
2019-03-06 08:27:41 -05:00
Michał Kępień
dbcabd87b6 Add CHANGES entry
5172.	[bug]		nsupdate now honors the operating system's preferred
			ephemeral port range. [GL #905]

(cherry picked from commit 0e64948274)
2019-03-06 14:03:21 +01:00
Michał Kępień
ca24253980 Make nsupdate use OS-supplied ephemeral port range
Make nsupdate honor the operating system's preferred ephemeral port
range instead of always using the default 1024-65535 range for outgoing
messages.

(cherry picked from commit 06f582f23e)
2019-03-06 14:03:09 +01:00
Mark Andrews
1b72728002 Merge branch '919-add-win32util-configure-file-list-check-to-ci-v9_11' into 'v9_11'
Resolve "Add win32util/Configure file list check to CI"

See merge request isc-projects/bind9!1603
2019-03-05 17:42:24 -05:00
Mark Andrews
fbae44c09d remove '..\\bin\\tests\\system\\dlz\\prereq.sh' from win32util/Configure
(cherry picked from commit 442421906b)
2019-03-05 17:42:05 -05:00
Mark Andrews
d8b9ca2f5a add util/check-win32util-configure to precheck
(cherry picked from commit c3dd8bb9f0)
2019-03-05 17:42:05 -05:00
Evan Hunt
0444c7082d Merge branch '884-patches-to-review-4-v9_11' into 'v9_11'
dlz filesystem driver failed to properly detect period at end of filename.

See merge request isc-projects/bind9!1601
2019-03-05 17:38:05 -05:00
Mark Andrews
21d6e9a91e properly detect period as last character in filename
(cherry picked from commit c9dc59eb90)
2019-03-05 14:22:46 -08:00
Evan Hunt
ab44b9a3ab Merge branch 'michal/disable-servfail-cache-for-ns5-in-the-mkeys-system-test-v9_11' into 'v9_11'
Disable SERVFAIL cache for ns5 in the "mkeys" system test

See merge request isc-projects/bind9!1599
2019-03-05 16:40:43 -05:00
Michał Kępień
44e1e371e3 Disable SERVFAIL cache for ns5 in the "mkeys" system test
The "check key refreshes are resumed after root servers become
available" check may trigger a false positive for the "mkeys" system
test if the second example/TXT query sent by dig is received by ns5 less
than a second after it receives a REFUSED response to the upstream query
it sends to ns1 in order to resolve the first example/TXT query sent by
dig.  Since that REFUSED response from ns1 causes ns5 to return a
SERVFAIL answer to dig, example/TXT is added to the SERVFAIL cache,
which is enabled by default with a TTL of 1 second.  This in turn may
cause ns5 to return a cached SERVFAIL response to the second example/TXT
query sent by dig, i.e. make ns5 not perform full query processing as
expected by the check.

Since the primary purpose of the check in question is to ensure that key
refreshes are resumed once initially unavailable root servers become
available, the optimal solution appears to be disabling SERVFAIL cache
for ns5 as doing that still allows the check to fulfill its purpose and
it is arguably more prudent than always sleeping for 1 second.

(cherry picked from commit 7c6bff3c4e)
2019-03-05 13:25:40 -08:00
Evan Hunt
d1221d6885 Merge branch '889-improve-clang-cmocka-interaction-v9_11' into 'v9_11'
Resolve "Improve clang/cmocka interaction."

See merge request isc-projects/bind9!1597
2019-03-05 14:17:53 -05:00
Mark Andrews
2671666ef8 improve clang / cmocka integration
(cherry picked from commit cb913177ae)
2019-03-05 11:04:46 -08:00
Matthijs Mekking
ae383b7b52 Merge branch 'matthijs-more-clean.sh-related-cleanups-v9_11' into 'v9_11'
More clean.sh related cleanups

See merge request isc-projects/bind9!1595
2019-03-05 06:11:48 -05:00
Matthijs Mekking
9227ed8665 Ensure all system tests run clean.sh from setup.sh
For consistency between all system tests, add missing setup.sh scripts
for tests which do not have one yet and ensure every setup.sh script
calls its respective clean.sh script.

(cherry picked from commit e410803919)
2019-03-05 11:44:35 +01:00
Matthijs Mekking
321e87fbb7 Only perform test cleanups in clean.sh scripts
Temporary files created by a given system test should be removed by its
clean.sh script, not its setup.sh script.  Remove redundant "rm"
invocations from setup.sh scripts.  Move required "rm" invocations from
setup.sh scripts to their corresponding clean.sh scripts.

(cherry picked from commit c64ed484c8)
2019-03-05 11:38:54 +01:00
Mark Andrews
b42a68e8ad Merge branch 'feature/featuretest-dlz-v9_11' into 'v9_11'
Test dlz support in feature-test

See merge request isc-projects/bind9!1589
2019-03-03 22:23:38 -05:00
Mark Andrews
f85f6b21a9 add CHANGES
(cherry picked from commit 5f125df462)
2019-03-04 14:11:30 +11:00
Mark Andrews
172dd2fd5b run autoheader and autoconf
(cherry picked from commit 4988367b53)
2019-03-04 14:10:59 +11:00
Petr Menšík
1e5c61d5cc Support DLZ filesystem detection in feature-test
Do not use variable from configure to detect the feature.

(cherry picked from commit 759a7b4ce3)
2019-03-04 14:10:16 +11:00
Michał Kępień
ba3d1140ec Merge branch 'michal/fix-ip-regex-used-in-the-resolver-system-test-v9_11' into 'v9_11'
[v9_11] Fix IP regex used in the "resolver" system test

See merge request isc-projects/bind9!1584
2019-03-01 01:55:48 -05:00
Michał Kępień
17a82643fe Fix IP regex used in the "resolver" system test
If dots are not escaped in the "1.2.3.4" regular expressions used for
checking whether IP address 1.2.3.4 is present in the tested resolver's
answers, a COOKIE that matches such a regular expression will trigger a
false positive for the "resolver" system test.  Properly escape dots in
the aforementioned regular expressions to prevent that from happening.

(cherry picked from commit 70ae48e5cb)
2019-03-01 07:54:10 +01:00
Michał Kępień
11761a693e Merge branch 'michal/call-clean.sh-from-all-relevant-setup.sh-scripts-v9_11' into 'v9_11'
[v9_11] Call clean.sh from all relevant setup.sh scripts

See merge request isc-projects/bind9!1577
2019-02-28 07:11:03 -05:00
Michał Kępień
beeaefb401 Call clean.sh from all relevant setup.sh scripts
For all system tests utilizing named instances, call clean.sh from each
test's setup.sh script in a consistent way to make sure running the same
system test multiple times using run.sh does not trigger false positives
caused by stale files created by previous runs.

Ideally we would just call clean.sh from run.sh, but that would break
some quirky system tests like "rpz" or "rpzrecurse" and being consistent
for the time being does not hurt.

(cherry picked from commit a077a3ae8a)
2019-02-28 12:51:36 +01:00
Tinderbox User
4c50a8f8fb Merge branch 'prep-release' into v9_11 2019-02-27 23:28:15 +00:00
Tinderbox User
639695b37d prep 9.11.6 2019-02-27 23:27:22 +00:00
Tinderbox User
4c3f28eb0e Merge branch 'prep-release' into v9_11 2019-02-21 04:12:26 +00:00
Tinderbox User
5f064519d5 rebuild configure 2019-02-21 04:08:01 +00:00
Evan Hunt
6f19b4c052 Merge branch 'broken-test' into v9_11 2019-02-20 19:54:41 -08:00
Evan Hunt
946ca23f51 fixed an error in the mkeys system test 2019-02-20 19:54:41 -08:00
Tinderbox User
07661c6ca2 Merge branch 'prep-release' into v9_11 2019-02-20 19:54:40 -08:00
Tinderbox User
4738d62e1c doc rebuild 2019-02-20 19:54:40 -08:00
Tinderbox User
4b1b4e1f78 prep 9.11.6rc1 2019-02-20 19:54:38 -08:00
Evan Hunt
6a70b17582 Merge branch 'security-dlz-axfr-deny-broken-security-v9_11' into 'security-v9_11'
denied axfr requests were not effective for writable DLZ zones

See merge request isc-private/bind9!57
2019-02-20 19:54:23 -08:00
Mark Andrews
2a76f24b14 add CHANGES and release notes entries
(cherry picked from commit 354ad18a12e84e5c660ce8e08e56382e529d8b2c)
2019-02-20 19:54:23 -08:00
Evan Hunt
7192ed9236 Merge 'keytag-memleak' into security-v9_11 2019-02-20 19:54:22 -08:00
Mark Andrews
34348d9ee4 denied axfr requests were not effective for writable DLZ zones
(cherry picked from commit d9077cd0038e59726e1956de18b4b7872038a283)
2019-02-20 19:54:22 -08:00
Mark Andrews
bf6b477994 add CHANGES and release note entries
(cherry picked from commit 8134c9a3f3bf46455ce4d16f2bf01e086d20f69b)
(cherry picked from commit 193e59fb06687055c675d21f1829644673ac8db2)
2019-02-20 19:54:22 -08:00
Mark Andrews
2bda5ac2e1 check that multiple KEY-TAG trust-anchor-telemetry options don't leak memory
(cherry picked from commit 4b1dc4a5445e9561f2208f9388cf9f9e2cfcbe51)
(cherry picked from commit f545e9dff1f0eadcdea5531ef7062324d232c716)
2019-02-20 19:54:22 -08:00
Evan Hunt
665c4ae0cf Merge 'managed-key-assert' into security-v9_11 2019-02-20 19:54:21 -08:00
Mark Andrews
d5243a5231 silently ignore additional keytag options
(cherry picked from commit 36158e6c96e982768bd33d4090cbe563718534f2)
(cherry picked from commit ccca4986b3a14188becb173c4473d9eac1587f66)
2019-02-20 19:54:21 -08:00
Evan Hunt
de8b2d4a6a use algorithm 255 for both unsupported keys 2019-02-20 19:54:21 -08:00
Matthijs Mekking
a39f1fae0b CHANGES, notes
(cherry picked from commit f0eefb06d488cc99e8b4a4b7238e4a556afb7586)
2019-02-20 19:54:21 -08:00
Matthijs Mekking
8f64928e2e Update keyfetch_done compute_tag check
If in keyfetch_done the compute_tag fails (because for example the
algorithm is not supported), don't crash, but instead ignore the
key.

(cherry picked from commit b1d5411569ae10830b63f07560091193646cc739)
2019-02-20 19:54:20 -08:00
Matthijs Mekking
8c2a8ca509 Add tests for mkeys with unsupported algorithm
These tests check if a key with an unsupported algorithm in
managed-keys is ignored and when seeing an algorithm rollover to
an unsupported algorithm, the new key will be ignored too.

(cherry picked from commit 144cb53d0ae3aa5e6e3123720b603f9ab2bd1fa9)
2019-02-20 19:54:20 -08:00
Matthijs Mekking
acae423ef4 Don't free key in compute_tag in case of failure
If `dns_dnssec_keyfromrdata` failed we don't need to call
`dst_key_free` because no `dstkey` was created.  Doing so
nevertheless will result in an assertion failure.

This can happen if the key uses an unsupported algorithm.

(cherry picked from commit 7a1ca39b950b7d5230b605ac60f15a1cb94e3d69)
2019-02-20 19:54:20 -08:00
Evan Hunt
260d30edc0 Merge branch '823-masterformat-test-fix-v9_11' into 'v9_11'
fix broken masterformat test

See merge request isc-projects/bind9!1555
2019-02-20 22:41:22 -05:00
Evan Hunt
1702187676 fix broken masterformat test
- dig command had the @ parameter in the wrong place
- private-dnskey and private-cdnskey are queried in a separate
  loop, which strips 'private-' from the name to determine the qtype

(cherry picked from commit bc7b34d6ef)
2019-02-20 22:30:09 -05:00
Evan Hunt
a8067ebf5e Merge branch 'each-enable-threads-v9_11' into 'v9_11'
enable threads by default on openbsd 6.2 and higher

See merge request isc-projects/bind9!1553
2019-02-20 22:25:00 -05:00
Evan Hunt
bf39e98daf CHANGES
(cherry picked from commit 60125f1ecc)
2019-02-20 19:12:40 -08:00
Evan Hunt
87840b3477 enable threads by default on openbsd 6.2 and higher
(cherry picked from commit 95fff9538f)
2019-02-20 19:12:40 -08:00
Evan Hunt
3bd0ed80a4 Merge branch 'each-fix-timer-test-v9_11' into 'v9_11'
timer_test failed to compile if cmocka was enabled but threads were not

See merge request isc-projects/bind9!1552
2019-02-20 22:11:35 -05:00
Evan Hunt
4c15bbfb50 timer_test failed to compile if cmocka was enabled but threads were not
(cherry picked from commit c73e3175c7)
2019-02-20 19:00:26 -08:00
Mark Andrews
267758962c Merge branch '884-patches-to-review-v9_11' into 'v9_11'
Correct errno to result translation

See merge request isc-projects/bind9!1541
2019-02-19 18:33:22 -05:00
Mark Andrews
212e126fb8 add CHANGES
(cherry picked from commit a0c0d76029)
2019-02-20 10:17:19 +11:00
Mark Andrews
47816f0ff5 correct errno to result translation
(cherry picked from commit 218ce34e7d)
2019-02-20 10:17:19 +11:00
Mark Andrews
46d6ca8690 Merge branch '836-building-fails-in-build-subdirectory-when-dnstap-is-enabled-v9_11' into 'v9_11'
Resolve "Building fails in build subdirectory when dnstap is enabled"

See merge request isc-projects/bind9!1539
2019-02-19 17:59:40 -05:00
Mark Andrews
e818eefc01 add CHANGES
(cherry picked from commit 3a21fdf884)
2019-02-20 09:46:07 +11:00
Mark Andrews
28e054c36c teach proto_c to look in the source directory for out of tree builds
(cherry picked from commit c0d4ff5796)
2019-02-20 09:46:07 +11:00
Mark Andrews
fac4fe3d40 Merge branch '877-clang-scan-build-redundant-assignments-detected-v9_11' into 'v9_11'
Remove redundant assignments

See merge request isc-projects/bind9!1537
2019-02-19 17:30:31 -05:00
Mark Andrews
78bb82abd3 remove redundant assignment
(cherry picked from commit f475dc75b1)
2019-02-19 10:26:00 +11:00
Mark Andrews
2019d4d64c silence clang
(cherry picked from commit 7b60f6832e)
2019-02-19 10:25:59 +11:00
Mark Andrews
20c29a251a don't overwrite result
(cherry picked from commit 70fab477b1)
2019-02-19 10:25:13 +11:00
Mark Andrews
434fcb5f1e remove seen_dname
(cherry picked from commit 63c03cdb2d)
2019-02-19 10:24:45 +11:00
Mark Andrews
66382ccd4b Merge branch '877-clang-scan-build-redundant-assignments-detected-2-v9_11' into 'v9_11'
decode_NegTokenInit failed to cleanup allocated memory on error.

See merge request isc-projects/bind9!1530
2019-02-18 18:04:22 -05:00
Mark Andrews
333ce68d35 fix memory leak
(cherry picked from commit 7114d16098)
2019-02-19 09:38:09 +11:00
Mark Andrews
3ea7b86492 Merge branch '877-clang-scan-build-redundant-assignments-detected-2-v9_11' into 'v9_11'
Add missing asserts to socket_test.c and dnstest.c

See merge request isc-projects/bind9!1525
2019-02-18 16:46:05 -05:00
Mark Andrews
d50b1ecd9c assert result is ISC_R_SUCCESS
(cherry picked from commit 76a1c1531a)
2019-02-19 08:00:30 +11:00
Mark Andrews
57a00e7b6b Merge branch 'u/fanf2/dnssec-keymgr-man-v9_11' into 'v9_11'
Improve dnssec-keymgr manual

See merge request isc-projects/bind9!1521
2019-02-18 00:10:03 -05:00
Tony Finch
33cdef544d Improve dnssec-keymgr manual
Illustrate the syntax for the policy options, with semicolons.

Explicitly mention the "default" policy.

Fix a few typos and remove some redundant wording.

(cherry picked from commit 7ee56e2abd)
2019-02-18 15:46:24 +11:00
Evan Hunt
8a2a43b742 Merge branch '879-dnssec-checkds-help-v9_11' into 'v9_11'
Correct path in dnssec-checkds help

See merge request isc-projects/bind9!1517
2019-02-14 16:11:32 -05:00
Petr Menšík
e7e85d37b6 Correct path in dnssec-checkds help
(cherry picked from commit 7bd544e795)
2019-02-14 12:53:50 -08:00
Mark Andrews
abd00c4d4e Merge branch '871-add-a-ci-check-for-missing-prereq.sh-scripts-v9_11' into 'v9_11'
Add a CI check for missing prereq.sh scripts

See merge request isc-projects/bind9!1509
2019-02-11 17:20:04 -05:00
Mark Andrews
8d2790af06 add util/check-ans-prereq to precheck
(cherry picked from commit 74c1c37563)
2019-02-12 09:04:20 +11:00
Mark Andrews
2274fd37e9 add check-ans-prereq
(cherry picked from commit ec2ecffef1)
2019-02-12 09:04:20 +11:00
Evan Hunt
29e647276e Merge branch '872-dlz-ldap-dname-v9_11' into 'v9_11'
added DNAME support to DLZ LDAP schema, and fixed a DLZ compile error

See merge request isc-projects/bind9!1504
2019-02-10 17:22:22 -05:00
Evan Hunt
9bc1bbe5d8 added DNAME support to DLZ LDAP schema, and fixed a DLZ compile error
Thanks to Roland Gruber for the schema contribution.

(cherry picked from commit 2e3b5db195)
2019-02-10 14:09:55 -08:00
Evan Hunt
72d68be601 Merge branch 'u/fanf2/zonemd-v9_11' into 'v9_11'
Correct ZONEMD expansion in ARM

See merge request isc-projects/bind9!1500
2019-02-08 16:19:00 -05:00
Tony Finch
53f24cb0d9 Correct ZONEMD expansion in ARM
(cherry picked from commit af74f18536)
2019-02-08 13:17:15 -08:00
Michał Kępień
55c47c7cdf Merge branch '869-prereq-sh-needed-in-forward-test-v9_11' into 'v9_11'
[v9_11] Resolve "prereq.sh needed in forward test"

See merge request isc-projects/bind9!1496
2019-02-08 09:05:05 -05:00
Curtis Blackburn
4fd2677873 added prereq.sh to forward test to detect perl Net::DNS
(cherry picked from commit 8c929bd7c5)
2019-02-08 14:37:09 +01:00
Mark Andrews
722b485b96 Merge branch '867-rrtypes-missing-from-named-v9_11' into 'v9_11'
Resolve "rrtypes missing from named"

See merge request isc-projects/bind9!1492
2019-02-07 22:36:14 -05:00
Mark Andrews
3854e59770 add AMTRELAY and ZONEMD to ARM
(cherry picked from commit b06c5f8cfd)
2019-02-08 14:10:38 +11:00
Mark Andrews
495d4153ad fix AMTRELAY name
(cherry picked from commit a9fadafecd)
2019-02-08 14:10:37 +11:00
Evan Hunt
2321e203ec Merge branch 'each-dnssec-coverage-dots-v9_11' into 'v9_11'
dnssec-coverage was improperly ignoring some zones

See merge request isc-projects/bind9!1489
2019-02-07 21:46:45 -05:00
Evan Hunt
6244ca6c01 CHANGES
(cherry picked from commit a242c704f5)
2019-02-07 18:29:14 -08:00
Evan Hunt
d3a962db1e adjust style, match test to other tests
(cherry picked from commit 9949163936)
2019-02-07 18:29:14 -08:00
Tony Finch
5a090dd203 dnssec-coverage: fix handling of zones without trailing dots
After change 5143, zones listed on the command line without trailing
dots were ignored.

(cherry picked from commit a159675f44)
2019-02-07 17:33:30 -08:00
Mark Andrews
bd3ffce696 Merge branch '867-rrtypes-missing-from-named-v9_11' into 'v9_11'
Resolve "rrtypes missing from named"

See merge request isc-projects/bind9!1486
2019-02-07 18:44:01 -05:00
Mark Andrews
4b955e8257 add top of range checks
(cherry picked from commit 8d69e15988)
2019-02-08 10:28:28 +11:00
Mark Andrews
7f13206216 Merge branch '867-rrtypes-missing-from-named-v9_11' into 'v9_11'
Resolve "rrtypes missing from named"

See merge request isc-projects/bind9!1482
2019-02-07 16:56:03 -05:00
Evan Hunt
95797f740b CHANGES
(cherry picked from commit 72f6fb0697)
2019-02-08 08:33:09 +11:00
Evan Hunt
37ad2d4de3 Add support for ZONEMD
(cherry picked from commit 3183663dd4)
2019-02-08 08:33:09 +11:00
Mark Andrews
060dd0a372 Add support for ATMRELAY
(cherry picked from commit 66922ee7af)
2019-02-08 08:33:08 +11:00
Mark Andrews
a43c7af389 Merge branch '207-nslookup-takes-2-argvs-w-o-errors-uses-only-1st-and-last-v9_11' into 'v9_11'
Resolve "nslookup takes >2 argvs w/o errors, uses only 1st and last"

See merge request isc-projects/bind9!1477
2019-02-07 08:00:43 -05:00
Mark Andrews
9e89c1f898 error out if there are extra command line options
(cherry picked from commit f73816ff0f)
2019-02-07 23:46:13 +11:00
Mark Andrews
4b3de5696f Merge branch '857-inline-system-test-wasn-t-cleaning-k-files-on-restart-if-interrupted-v9_11' into 'v9_11'
Resolve "inline system test wasn't cleaning K* files on restart if interrupted."

See merge request isc-projects/bind9!1472
2019-02-06 02:05:11 -05:00
Ondřej Surý
0ca3e23b38 Simplify the inline clean script
(cherry picked from commit 519152b191)
2019-02-06 17:53:02 +11:00
Mark Andrews
5ebf7adae6 clean K* files in inline system test directory
(cherry picked from commit 1878efe661)
2019-02-06 17:38:00 +11:00
Evan Hunt
336352654d Merge branch 'u/fanf2/cleanup-dnssec-revoke-help-v9_11' into 'v9_11'
cleanup: fix dnssec-revoke help text

See merge request isc-projects/bind9!1468
2019-02-06 00:21:13 -05:00
Tony Finch
6add72bafd cleanup: fix dnssec-revoke help text
Correct alignment and alphabetize

(cherry picked from commit f7b2bd304e)
2019-02-05 21:16:46 -08:00
Evan Hunt
01d9eb4070 Merge branch 'u/fanf2/dsfromkey-man-v9_12-v9_11' into 'v9_11'
cleanup: revamp the dnssec-dsfromkey man page and help output

See merge request isc-projects/bind9!1465
2019-02-05 23:26:42 -05:00
Tony Finch
0a20176ca6 cleanup: revamp the dnssec-dsfromkey man page and help output
* Alphabetize the option lists in the man page and help text

* Make the synopses more consistent between the man page and help
  text, in particular the number of different modes

* Group mutually exclusive options in the man page synopses, and order
  options so that it is more clear which are available in every mode

* Expand the DESCRIPTION to provide an overview of the output modes
  and input modes

* Improve cross-references between options

* Leave RFC citations to the SEE ALSO section, and clarify which RFC
  specifies what

* Clarify list of digest algorithms in dnssec-dsfromkey man page

(cherry picked from commit 6ca8e130ac)
(cherry picked from commit fb9bc8f871)
2019-02-05 20:19:55 -08:00
Mark Andrews
a2fb64caf1 Merge branch '860-process_opt-could-be-called-multiple-times-on-the-same-message-in-dig-v9_11' into 'v9_11'
Resolve "process_opt() could be called multiple times on the same message in dig."

See merge request isc-projects/bind9!1461
2019-02-05 21:33:11 -05:00
Mark Andrews
f59dbd2976 add CHANGES
(cherry picked from commit 946d5c2c1e)
2019-02-06 13:14:26 +11:00
Mark Andrews
8376f819a5 send over and undersized cookie
(cherry picked from commit 0207199bb8)
2019-02-06 13:14:09 +11:00
Mark Andrews
10184612be the condition test for checking the client cookie value was wrong; don't call process_opt multiple times
(cherry picked from commit d9c368eee0)
2019-02-06 13:14:09 +11:00
Michał Kępień
943d47bc21 Merge branch '822-test-make-install-in-one-of-the-build-jobs-v9_11' into 'v9_11'
[v9_11] Test "make install" in one of the build jobs

See merge request isc-projects/bind9!1457
2019-02-05 15:37:33 -05:00
Michał Kępień
1da4546b2c Test "make install" in one of the build jobs
Running "make install" in a separate job in the "test" phase of a CI
pipeline causes a lot of object files to be rebuilt due to the way
artifacts are passed between GitLab CI jobs (object files extracted from
the artifacts archive have older modification times than their
respective source files checked out using Git by the worker running the
"install" job).  Test "make install" in one of the build jobs instead,
in order to prevent object rebuilding.

Using 'after_script' for this purpose was not an option because its
failures are ignored.

Duplicating the build script in two places would be error-prone in the
long run and thus was rejected as a solution.  YAML anchors would also
not help in this case.

A "positive" test (`test -n "${RUN_MAKE_INSTALL}" && make install`)
would not work because:

  - it would cause the build script to fail for any job not supposed to
    run "make install",

  - appending `|| :` to the shell pipeline would prevent "make install"
    errors from causing a job failure.

Due to the above, a "negative" test is performed, so that:

  - jobs not supposed to run "make install" succeed immediately,

  - jobs supposed to run "make install" only succeed when "make install"
    succeeds.

(cherry picked from commit 2a231b6239)
2019-02-05 21:11:10 +01:00
Evan Hunt
f79c9b1e3d Merge branch 'each-win-tests-v9_11' into 'v9_11'
tests failing on windows due to false crash-on-shutdown reports

See merge request isc-projects/bind9!1448
2019-02-01 01:56:59 -05:00
Evan Hunt
f929f5023c disable the check for crash on shutdown when running under cygwin
(cherry picked from commit 449842e1ce)
2019-01-31 22:56:33 -08:00
Evan Hunt
108aff1c82 Merge branch 'each-silence-warning-v9_11' into 'v9_11'
silence a spurious dnssec-keygen warning in the dnssec system test

See merge request isc-projects/bind9!1443
2019-01-31 17:14:13 -05:00
Evan Hunt
1fe2d7b97a silence a spurious dnssec-keygen warning in the dnssec system test
the occluded-key test creates both a KEY and a DNSKEY. the second
call to dnssec-keygen calls dns_dnssec_findmatchingkeys(), which causes
a spurious warning to be printed when it sees the type KEY record.
this should be fixed in dnssec.c, but the meantime this change silences
the warning by reversing the order in which the keys are created.

(cherry picked from commit 6661db9564)
2019-01-31 14:02:22 -08:00
Evan Hunt
6c7096aa34 Merge branch '850-catch-shutdown-aborts-v9_11' into 'v9_11'
detect crash on shutdown in stop.pl

See merge request isc-projects/bind9!1441
2019-01-31 12:55:04 -05:00
Evan Hunt
607e42b560 detect crash on shutdown in stop.pl
(cherry picked from commit 9bf37f4e48)
2019-01-31 09:43:27 -08:00
Evan Hunt
33001ca556 Merge branch '849-fix-tkey-leak-v9_11' into 'v9_11'
fix TKEY problems

See merge request isc-projects/bind9!1439
2019-01-31 12:41:05 -05:00
Evan Hunt
a6afd50cb9 Change #4148 wasn't complete
- there was a memory leak when using negotiated TSIG keys.
- TKEY responses could only be signed when using a newly negotiated
  key; if an existent matching TSIG was found in in the keyring it
  would not be used.

(cherry picked from commit 73ba24fb36)
2019-01-31 09:29:22 -08:00
Evan Hunt
011626d048 Merge branch '821-matthijs-unsigned-gss-tsig-tkey-query-response-v9_12-v9_11' into 'v9_11'
Resolve "Unsigned GSS-TSIG TKEY Query Response"

See merge request isc-projects/bind9!1431
2019-01-30 15:51:17 -05:00
Matthijs Mekking
43baca1fce Update CHANGES
(cherry picked from commit f1c6e01a0f)
(cherry picked from commit c82eb3b3ca)
2019-01-30 12:34:02 -08:00
Matthijs Mekking
326d40ab08 allow TSIG key to be added to message structure after parsing
up until now, message->tsigkey could only be set during parsing
of the request, but gss-tsig allows one to be created afterward.

(cherry picked from commit 879fc0285e)
2019-01-30 12:34:02 -08:00
Matthijs Mekking
13636ac3b0 Harden GSS-TSIG tests, verify signed TKEY response
(cherry picked from commit b0b846a4bb)
2019-01-30 12:34:01 -08:00
Mark Andrews
a4890ac802 Merge branch '848-keymgr-19-old-keys-failing-on-penguin-v9_11' into 'v9_11'
Resolve "keymgr 19-old-keys failing on penguin"

See merge request isc-projects/bind9!1426
2019-01-30 00:28:29 -05:00
Mark Andrews
cee2dcef9f add CHANGES
(cherry picked from commit b9d5a62bdc)
2019-01-30 16:03:02 +11:00
Mark Andrews
135b0797fb add 300 seconds of fudge
(cherry picked from commit acf0292da4)
2019-01-30 16:02:39 +11:00
Mark Andrews
7b12906ac0 only use a single policy file when testing.
(cherry picked from commit 36ea9b8181)
2019-01-30 16:02:38 +11:00
Evan Hunt
205c6ed5cc Merge branch '841-openssl-null-free-v9_11' into 'v9_11'
Do not fail on NULL passed to OpenSSL_free

See merge request isc-projects/bind9!1423
2019-01-29 19:02:30 -05:00
Petr Menšík
af021f136e Do not fail on NULL passed to OpenSSL_free
Some plugins might call it after deconstruction. Do not crash if there
is no reason for it.

(cherry picked from commit a26673a088)
2019-01-29 15:42:51 -08:00
Evan Hunt
dda175e108 Merge branch '766-querytrace-doc-v9_12-v9_11' into 'v9_11'
Resolve "--enable-querytrace has negative performance impact - update the documentation to say this"

See merge request isc-projects/bind9!1420
2019-01-29 17:26:51 -05:00
Evan Hunt
cd79df85a2 added querytrace documentation in README
also rearranged things a little, adding a "dependencies" section

(cherry picked from commit 51048ca06e)
(cherry picked from commit 87b0098b4e)
2019-01-29 14:25:32 -08:00
Michał Kępień
342a0dd0e5 Merge branch 'michal/add-fedora-29-to-ci-v9_11' into 'v9_11'
[v9_11] Add Fedora 29 to CI

See merge request isc-projects/bind9!1416
2019-01-29 07:53:19 -05:00
Michał Kępień
03b79f9799 Add Fedora 29 to CI
Modify .gitlab-ci.yml so that every CI pipeline also builds and tests
BIND on Fedora 29.

(cherry picked from commit 38b6c5c444)
2019-01-29 13:32:34 +01:00
Evan Hunt
19d30c0b49 Merge branch '259-named-args-v9_11' into 'v9_11'
add properly-formatted -D options to named.args files

See merge request isc-projects/bind9!1412
2019-01-29 00:35:32 -05:00
Evan Hunt
dd54a08163 also add -D options for transient named processes started in tests.sh
(cherry picked from commit dd45831acc)
2019-01-28 21:22:13 -08:00
Evan Hunt
e5acb97c8a add properly-formatted -D options to named.args files
this prevents servers that use arguments specified in named.args
from appearing different in 'ps' output from servers run with arguments
from start.pl

(cherry picked from commit 175d6e9bfb)
2019-01-28 21:21:33 -08:00
Evan Hunt
26cf678ea3 Merge branch 'each-fix-logfileconfig-v9_11' into 'v9_11'
reset SYSTEMTESTTOP when changing directories

See merge request isc-projects/bind9!1410
2019-01-29 00:08:44 -05:00
Evan Hunt
0cc8758724 reset SYSTEMTESTTOP when changing directories
(cherry picked from commit 70f36a25e4)
2019-01-28 20:42:13 -08:00
Evan Hunt
0afe7749f0 Merge branch 'each-win32-tests-v9_11' into 'v9_11'
fix win32 tests (v9_11)

See merge request isc-projects/bind9!1402
2019-01-26 13:35:02 -05:00
Evan Hunt
7dad677ef8 fix runtime test
named doesn't understand cygwin paths, so we need to use
`cygpath -aw .` instead of `pwd` to get the absolute path to the
working directory.
2019-01-26 00:54:22 -08:00
Evan Hunt
f0ebe6cbe4 fix rrl test
strip CR characters before using awk/sed
2019-01-25 16:15:35 -08:00
Evan Hunt
77bc4e27f1 fix rpz test
- work around a CR newline problem
- use rndc to stop servers
2019-01-25 16:15:35 -08:00
Evan Hunt
aa1cf3c606 fix rpzrecurse test
- backport from v9_12 changes to enable rpzrecurse test to
  suspend and resume servers on win32
- use rndc to stop servers
2019-01-25 16:15:08 -08:00
Evan Hunt
be8dfc7421 fix dnssec test
- work around CR issues
- use UTC for time comparisons
- use $DIFF instead of cmp
2019-01-25 15:38:50 -08:00
Evan Hunt
4e597364a6 fix legacy test
use rndc rather than signals to stop the server
2019-01-25 15:38:49 -08:00
Evan Hunt
f1906e8ea3 fix fetchlimit test
use TCP for the test queries in between UDP bursts; this avoids
congestion issues that interfered with the test on windows
2019-01-25 15:38:49 -08:00
Evan Hunt
f7a77ff295 fix sfcache test
use a lame server configuration to force SERVFAILs instead of killing ns2.
this prevents test failures that occurred due to a different behavior of
the netowrking stack in windows.
2019-01-25 15:38:49 -08:00
Evan Hunt
d48fa83230 fix nsupdate test
rndc_reload was failing on windows
2019-01-25 15:38:49 -08:00
Evan Hunt
dc5c53b23a fix rndc test
use regex instead of exact string matching to deal with CR at end of line
2019-01-25 15:38:49 -08:00
Evan Hunt
4c5c91f36d fix statistics test
the active sockets test is supposed to be commented out on win32, but
only part of it was
2019-01-25 15:38:49 -08:00
Evan Hunt
73f9d372f6 fix redirect test
strip CR characters before using sed
2019-01-25 15:38:49 -08:00
Evan Hunt
0828d9c6db fix notify test
test the average delay between notifies instead of the minimum delay;
this helps avoid unnecessary test failures on systems with bursty
network performance.
2019-01-25 15:38:49 -08:00
Evan Hunt
57272bfb60 fix masterformat test
use stop.pl instead of rndc to stop server
2019-01-25 15:38:49 -08:00
Evan Hunt
09b61926d8 fix inline test
use regex instead of exact string matching, to deal with CR at end of ine
2019-01-25 15:38:48 -08:00
Evan Hunt
7a8058b988 fix forward test
strip CR characters before using sed
2019-01-25 15:38:48 -08:00
Evan Hunt
409a62c54c fix cookie test
strip CR characters before comparing files
2019-01-25 15:38:48 -08:00
Evan Hunt
e947cdfd27 use $DIFF instead of diff 2019-01-25 15:38:48 -08:00
Evan Hunt
cad88c5906 set and use SYSTEMTESTTOP consistently 2019-01-25 15:38:48 -08:00
Evan Hunt
79fa438d45 more reliable method for killing "ans" servers on windows
as perl and python are both native to cygwin, we don't want to use
the "kill -f" option to terminate them.
2019-01-25 15:38:48 -08:00
Evan Hunt
27e4da57f8 update ifconfig.bat with current test interfaces
the addresses set up in ifconfig.bat were out of sync with the
ones in ifconfig.sh
2019-01-25 15:38:48 -08:00
Evan Hunt
f0d8bf4d44 update conf.sh.win32 test list
- the test lists in conf.sh.in and conf.sh.win32 were out of sync
2019-01-25 15:38:48 -08:00
Evan Hunt
a8c13ba73f Merge branch '560-dnssec-keymgr-root-v9_11' into 'v9_11'
improve handling of trailing dots in dnssec-keymgr and dnssec-coverage

See merge request isc-projects/bind9!1395
2019-01-24 17:09:28 -05:00
Evan Hunt
36221e6447 improve handling of trailing dots in dnssec-keymgr and dnssec-coverage
- mishandling of trailing dots caused bad behavior with the
  root zone or names like "example.com."
- fixing this exposed an error in dnssec-coverage caused the
  wrong return value if there were KSK errors but no ZSK errors
- incidentally silenced the dnssec-keygen output in the coverage
  system test

(cherry picked from commit 1ccf4e6c16)
2019-01-24 13:58:05 -08:00
Evan Hunt
f9040e06f4 Merge branch 'v9_11-dig-sigchase-topdown' into 'v9_11'
Try to fix crash at +sigchase +topdown

See merge request isc-projects/bind9!1391
2019-01-24 14:01:12 -05:00
Petr Menšík
eb06423b7e Try to fix crash at +sigchase +topdown
When multilabel name is already cached, child_of_zone fails check when
zone_name is direct child of name. Error is ignored and crashes on
expectation child_name was initialized. Handle the error and relax the
check.

Reproducer:
dig isc.org
dig +sigchase +topdown isc.org
2019-01-24 13:09:21 +01:00
Evan Hunt
6f68240d9b Merge branch 'revert-7663d075' into 'v9_11'
Revert "Merge branch 'ondrej/fix-race-condition-in-dnstap-v9_11' into 'v9_11'"

See merge request isc-projects/bind9!1384
2019-01-23 13:59:14 -05:00
Evan Hunt
665122be0d Revert "Merge branch 'ondrej/fix-race-condition-in-dnstap-v9_11' into 'v9_11'"
This reverts merge request !1345
2019-01-23 13:56:26 -05:00
Evan Hunt
d843d2650c Merge branch '117-running-dnssec-keymgr-with-old-keys-inactivates-deletes-them-immediately-v9_12-v9_11' into 'v9_11'
Resolve "Running dnssec-keymgr with old keys inactivates/deletes them immediately"

See merge request isc-projects/bind9!1380
2019-01-22 14:28:24 -05:00
Mark Andrews
67b001b190 introducing keymgr need to preserve functionality
(cherry picked from commit 083b730ec7)
(cherry picked from commit 15b4240764)
2019-01-22 11:17:28 -08:00
Mark Andrews
fdbece6840 Merge branch 'each-remove-fprintf-v9_11' into 'v9_11'
clean up debugging fprintf

See merge request isc-projects/bind9!1370
2019-01-21 01:13:53 -05:00
Evan Hunt
e511187ebd removed a debugging fprintf
(cherry picked from commit 6c478a3dae)
2019-01-21 17:01:11 +11:00
Michał Kępień
c923e3cef8 Merge branch 'michal/gitlab-ci-cleanup-v9_11' into 'v9_11'
[v9_11] GitLab CI cleanup

See merge request isc-projects/bind9!1364
2019-01-18 09:52:02 -05:00
Michał Kępień
3bc84a8f0a Add comments
(cherry picked from commit a27b9dff18)
2019-01-18 15:32:00 +01:00
Michał Kępień
084f6b291f Unify YAML style used throughout .gitlab-ci.yml
(cherry picked from commit a61bf39688)
2019-01-18 15:32:00 +01:00
Michał Kępień
1e93d92efd Tweak pipeline triggering settings
In an attempt to ensure that:

  - all important changes to repository contents are tested,
  - pipelines are not automatically created for every single push,
  - some flexibility is allowed for corner cases,

change pipeline triggering settings so that:

  - full build & test pipelines are only automatically created for merge
    requests and tags (both for creation and updates),

  - pipelines for other repository changes (e.g. pushes to arbitrary
    branches) can only be created manually, using GitLab's web
    interface,

  - merging a merge request only causes jobs pushing the updated ARM to
    GitLab Pages to be run (as semi-linear Git history is enforced and
    thus testing a MR is identical to testing the target branch
    post-merge in terms of code),

  - repository synchronization does not trigger duplicate pipelines in
    projects which are set as mirroring targets.

(cherry picked from commit 1c8c1815e4)
2019-01-18 15:32:00 +01:00
Michał Kępień
184ca9b537 Reorder job definitions
Group jobs by build type and operating system to make the layout of
.gitlab-ci.yml more consistent and improve locality of YAML references.

(cherry picked from commit a1dbec3b08)
2019-01-18 15:31:59 +01:00
Michał Kępień
f6922575a0 Use a common naming pattern for all jobs
Make sure all jobs are named using the following pattern:

    [<job-type>:]<build-type>:<system>:<architecture>

where specifying <job-type> is optional for "precheck" and "build" jobs.

This should make it easier to quickly recognize:

  - what kind of actions are performed by each job,
  - which BIND build flavor is used by each job,
  - which operating system image is used by each job.

(cherry picked from commit 1fe432c6c3)
2019-01-18 15:31:59 +01:00
Michał Kępień
8597220def Define a template for precheck jobs
(cherry picked from commit e0b5dd67a1)
2019-01-18 15:31:59 +01:00
Michał Kępień
b6b167ea22 Merge install_test_job template into the job definition as it is only used once
(cherry picked from commit de1948398d)
2019-01-18 15:31:59 +01:00
Michał Kępień
bf56162b49 Shorten Docker image definitions by using YAML anchors for runner tags
While we are at it, drop use of the "docker" tag since all BIND CI jobs
are currently run inside Docker containers.

(cherry picked from commit 7dd329d385)
2019-01-18 15:31:59 +01:00
Michał Kępień
443f8e4413 Build ARM in the build stage
There is no need to build BIND binaries before building docs and thus
the job building the current version of the ARM can be moved to the
build stage of CI.

(cherry picked from commit 41a67147fe)
2019-01-18 15:31:58 +01:00
Michał Kępień
94883bbe6b Replace double colon with a single colon
(cherry picked from commit 75b26d3f50)
2019-01-18 15:31:58 +01:00
Michał Kępień
4b9cdf8098 Remove unused parts of .gitlab-ci.yml
Remove the following from .gitlab-ci.yml:

  - unused variable definitions,
  - unused Docker image definitions,
  - commands which have no effect,
  - sections which were commented out.

(cherry picked from commit 9893bd3246)
2019-01-18 15:31:58 +01:00
Michał Kępień
32d916d96a Merge branch '781-fix-python-check-in-configure-script-v9_11' into 'v9_11'
[v9_11] Resolve "configure script in BIND 9.13.5 release fails to detect python"

See merge request isc-projects/bind9!1363
2019-01-18 09:23:34 -05:00
Ondřej Surý
de41f66579 Add some combinations of --with-python=<path>/--with-python/--without-python to GitLab CI
(cherry picked from commit 99cf0faec0)
2019-01-18 15:15:44 +01:00
Ondřej Surý
1d92178bec When --with-python is given to configure, use default search list for python binaries instead of 'yes'
(cherry picked from commit 3951cb053b)
2019-01-18 15:15:02 +01:00
Evan Hunt
235e6e481c Merge branch '752-disable-forwarders-when-priming-v9_12-v9_11' into 'v9_11'
If possible don't use forwarders when priming the resolver.

See merge request isc-projects/bind9!1357
2019-01-17 01:49:18 -05:00
Witold Kręcicki
aa9866c390 If possible don't use forwarders when priming the resolver.
If we try to fetch a record from cache and need to look into
hints database we assume that the resolver is not primed and
start dns_resolver_prime(). Priming query is supposed to return
NSes for "." in ANSWER section and glue records for them in
ADDITIONAL section, so that we can fill that info in 'regular'
cache and not use hints db anymore.
However, if we're using a forwarder the priming query goes through
it, and if it's configured to return minimal answers we won't get
the addresses of root servers in ADDITIONAL section. Since the
only records for root servers we have are in hints database we'll
try to prime the resolver with every single query.

This patch adds a DNS_FETCHOPT_NOFORWARD flag which avoids using
forwarders if possible (that is if we have forward-first policy).
Using this flag on priming fetch fixes the problem as we get the
proper glue. With forward-only policy the problem is non-existent,
as we'll never ask for root server addresses because we'll never
have a need to query them.

Also added a test to confirm priming queries are not forwarded.

(cherry picked from commit b49310ac06)
(cherry picked from commit f8963ad70e)
2019-01-16 22:27:52 -08:00
Mark Andrews
5fd2cc8472 Merge branch 'v9_11-normalize-files' into 'v9_11'
V9 11 normalize files

See merge request isc-projects/bind9!1352
2019-01-16 20:06:45 -05:00
Petr Menšík
2e8a927912 Normalize windows files and shell scripts
Commands used:
git add --chmod=+x bin/tests/system/ifconfig.sh mkinstalldirs
git add --renormalize 'win32utils/**.txt' '**.dsw'
2019-01-16 19:04:50 -05:00
Petr Menšík
631cb464c1 Change eol of windows files
Release tarballs have different eol of windows only files. Change them
also in git, so checkout matches archvies as much as possible.
2019-01-16 19:04:50 -05:00
Mark Andrews
c8e7c8c928 Merge branch 'pkcs11-pubattr-check-v9_11' into 'v9_11'
Make sure null atributes are never used

See merge request isc-projects/bind9!1355
2019-01-16 17:20:53 -05:00
Petr Menšík
3442c69911 Make sure null atributes are never used
Add INSIST to pubattr fetching where null might occur in therory. Make
sure null is never dereferenced.

(cherry picked from commit fe9ef0d9f5)
2019-01-17 09:00:42 +11:00
Evan Hunt
5bae3985a3 Merge branch '792-bind9-doesn-t-tcp-retransmit-v9_11' into 'v9_11'
Resolve "bind9 doesn't tcp retransmit"

See merge request isc-projects/bind9!1349
2019-01-15 20:48:14 -05:00
Mark Andrews
bf6133ea61 adjust timeout to allow for ECN negotiation failures
(cherry picked from commit dadb924be7)
2019-01-15 17:30:20 -08:00
Ondřej Surý
7663d07513 Merge branch 'ondrej/fix-race-condition-in-dnstap-v9_11' into 'v9_11'
(v9_11) Fix race condition in cleanup part of dns_dt_create()

See merge request isc-projects/bind9!1345
2019-01-15 04:04:04 -05:00
Witold Kręcicki
8cdad8fec2 Add CHANGES entry for GL!1323
(cherry picked from commit 4b5337e06b)
2019-01-15 09:51:45 +01:00
Ondřej Surý
5c73b97715 Fix race condition in cleanup part of dns_dt_create()
(cherry picked from commit 482dd7eed3)
2019-01-15 09:51:25 +01:00
Mark Andrews
cf306bf345 Merge branch '590-win32-sample-gai-c-should-call-wsastartup-v9_11' into 'v9_11'
Resolve "[Win32] sample-gai.c should call WSAStartup()"

See merge request isc-projects/bind9!1343
2019-01-15 00:51:32 -05:00
Mark Andrews
032ede1165 add CHANGES
(cherry picked from commit 4500d9e91a)
2019-01-15 16:29:26 +11:00
Mark Andrews
34cf4336ac ensure that WSAStartup is called before getservbyname
(cherry picked from commit ac01359871)
2019-01-15 16:29:25 +11:00
Evan Hunt
631bb6bfea Merge branch 'u/fanf2/rndc-managed-keys-v9_12-v9_11' into 'v9_11'
Fix a few cosmetic issues with `rndc managed-keys`

See merge request isc-projects/bind9!1341
2019-01-14 21:41:29 -05:00
Mark Andrews
06eb0a4367 add multi-view server and tests
(cherry picked from commit 7122b5786d)
(cherry picked from commit 22b77f45b7)
2019-01-14 18:31:02 -08:00
Mark Andrews
fb255668fa add CHANGES note
(cherry picked from commit 2d3f159707)
2019-01-14 18:19:27 -08:00
Tony Finch
f72c687fa2 Fix a few cosmetic issues with rndc managed-keys
The handling of class and view arguments was broken, because the code
didn't realise that next_token() would overwrite the class name when
it parsed the view name. The code was trying to implement a syntax
like `refresh [[class] view]`, but it was documented to have a syntax
like `refresh [class [view]]`. The latter is consistent with other rndc
commands, so that is how I have fixed it.

Before:

$ rndc managed-keys refresh in rec
rndc: 'managed-keys' failed: unknown class/type
unknown class 'rec'

After:

$ rndc managed-keys refresh in rec
refreshing managed keys for 'rec'

There were missing newlines in the output from `rndc managed-keys
refresh` and `rndc managed-keys destroy`.

Before:

$ rndc managed-keys refresh
refreshing managed keys for 'rec'refreshing managed keys for 'auth'

After:

$ rndc managed-keys refresh
refreshing managed keys for 'rec'
refreshing managed keys for 'auth'

(cherry picked from commit 6a3b851f72)
(cherry picked from commit bc984ace12)
2019-01-14 18:19:22 -08:00
Evan Hunt
5b84b2cd0b Merge branch 'fix-dnssec-test-v9_12-v9_11' into 'v9_11'
b/t/s/dnssec/tests.sh: Cleanup showprivate() function

See merge request isc-projects/bind9!1337
2019-01-14 16:39:10 -05:00
Evan Hunt
3b367ef3cb b/t/s/dnssec/tests.sh: Cleanup showprivate() function
(cherry picked from commit b241dc58ec)
2019-01-14 13:23:36 -08:00
Evan Hunt
0c6592ab4d Merge branch 'each-fix-dnssec-test-error-v9_11' into 'v9_11'
DNSSEC test error

See merge request isc-projects/bind9!1334
2019-01-13 21:52:19 -05:00
Evan Hunt
d653989a1e fix testing errors
- the checkprivate function in the dnssec test set ret=0, erasing
  results from previous tests and making the test appear to have passed
  when it shouldn't have
- checkprivate needed a delay loop to ensure there was time for all
  private signing records to be updated before the test

(cherry picked from commit 82e83d5dc7)
2019-01-13 21:34:35 -05:00
Mark Andrews
dffc58208f Merge branch 'u/fanf2/rndc-alphabetize-v9_11' into 'v9_11'
cleanup: alphabetize rndc command dispatch

See merge request isc-projects/bind9!1332
2019-01-13 21:22:29 -05:00
Tony Finch
81408256d3 cleanup: alphabetize rndc command dispatch 2019-01-14 13:02:02 +11:00
Mark Andrews
ed96dc5dcb Merge branch '784-bind-9-12-3-p1-fatal-error-v9_11' into 'v9_11'
Resolve "bind 9.12.3-P1 fatal error"

See merge request isc-projects/bind9!1325
2019-01-09 04:06:00 -05:00
Mark Andrews
d075b25b63 add CHANGES
(cherry picked from commit 9dd39d5385)
2019-01-09 19:48:59 +11:00
Mark Andrews
8bb42d7812 update refreshkeytime
(cherry picked from commit ca977e3976)
2019-01-09 19:48:58 +11:00
Mark Andrews
aaab84019c Merge branch 'marka-maybe_numeric-and-nul-v9_11' into 'v9_11'
maybe_numeric failed to handle NUL in text region.

See merge request isc-projects/bind9!1322
2019-01-09 03:20:44 -05:00
Mark Andrews
3266d3c4da maybe_numeric failed to handle NUL in text region.
(cherry picked from commit ee23780246)
2019-01-09 19:08:22 +11:00
Mark Andrews
dd960811a4 Merge branch 'marka-fail-when-required-field-is-missing-v9_11' into 'v9_11'
Ensure base64/base32/hex fields in DNS records that should be non-empty are.

See merge request isc-projects/bind9!1321
2019-01-09 03:05:41 -05:00
Mark Andrews
58cc1ee718 Ensure base64/base32/hex fields in DNS records that should be non-empty are.
(cherry picked from commit 5e8b772ad1)
2019-01-09 18:52:50 +11:00
Mark Andrews
7632a672b9 Merge branch '804-large-nsec3-responses-cause-failure-in-adding-records-to-ncache-and-eventually-formerr-instead-of-nxdomain-v9_11' into 'v9_11'
Resolve "Large NSEC3 responses cause failure in adding records to ncache and, eventually, FORMERR (instead of NXDOMAIN)"

See merge request isc-projects/bind9!1316
2019-01-09 00:33:45 -05:00
Mark Andrews
e9d9790948 add CHANGES entry
(cherry picked from commit 3328116b57)
2019-01-09 16:17:08 +11:00
Mark Andrews
6750780e88 allow for up 100 records or 64K of data to be in a ncache entry
(cherry picked from commit 604889e627)
2019-01-09 16:17:07 +11:00
Evan Hunt
bb5648f9d9 Merge branch '804-large-nsec3-responses-cause-failure-in-adding-records-to-ncache-and-eventually-formerr-instead-of-nxdomain-2-v9_11' into 'v9_11'
Resolve "Large NSEC3 responses cause failure in adding records to ncache and, eventually, FORMERR (instead of NXDOMAIN)"

See merge request isc-projects/bind9!1315
2019-01-09 00:09:01 -05:00
Mark Andrews
a5b3fc2348 add CHANGES
(cherry picked from commit 188c184381)
2019-01-08 20:51:27 -08:00
Mark Andrews
e4f7d6c418 explictly convert ISC_R_NOSPACE from dns_message_parse to DNS_R_FORMERR and remove from dns_result_torcode
(cherry picked from commit 0c42a9c0ab)
2019-01-08 20:51:27 -08:00
Evan Hunt
5a31a22986 Merge branch '812-cookie-test-failed-v9_11' into 'v9_11'
Resolve "cookie test failed."

See merge request isc-projects/bind9!1313
2019-01-08 23:31:36 -05:00
Mark Andrews
24f7bc252d wait longer for dump to complete
(cherry picked from commit 8a8d378def)
2019-01-08 20:18:26 -08:00
Ondřej Surý
c2515e8e20 Merge branch 'ondrej/disable-CI-in-release-branches-v9_11' into 'v9_11'
(v9_11) Run the regular pipelines only for merge requests, and run only the Debian sid...

See merge request isc-projects/bind9!1311
2019-01-08 09:16:59 -05:00
Ondřej Surý
8858947237 Run the regular pipelines only for merge requests, and run only the Debian sid build for release branches
(cherry picked from commit 24961f6068)
2019-01-08 14:58:58 +01:00
Michał Kępień
36e2175bd3 Merge branch '692-dig-fix-cleanup-upon-an-error-before-tcp-socket-creation-v9_11' into 'v9_11'
[v9_11] Fix cleanup upon an error before TCP socket creation

See merge request isc-projects/bind9!1308
2019-01-08 05:57:12 -05:00
Michał Kępień
9b96944bae Add CHANGES entry
5123.	[bug]		dig could hang indefinitely after encountering an error
			before creating a TCP socket. [GL #692]

(cherry picked from commit 3242cb53ec)
2019-01-08 11:24:04 +01:00
Michał Kępień
b9f577eb6a Fix cleanup upon an error before TCP socket creation
When a query times out after a socket is created and associated with a
given dig_query_t structure, calling isc_socket_cancel() causes
connect_done() to be run, which in turn takes care of all necessary
cleanups.  However, certain errors (e.g. get_address() returning
ISC_R_FAMILYNOSUPPORT) may prevent a TCP socket from being created in
the first place.  Since force_timeout() may be used in code handling
such errors, connect_timeout() needs to properly clean up a TCP query
which is not associated with any socket.  Call clear_query() from
connect_timeout() after attempting to send a TCP query to the next
available server if the timed out query does not have a socket
associated with it, in order to prevent dig from hanging indefinitely
due to the dig_query_t structure not being detached from its parent
dig_lookup_t structure.

(cherry picked from commit 13975b32c6)
2019-01-08 11:24:03 +01:00
Michał Kępień
11a4845c7d Refactor code sending a query to the next server upon a timeout
When a query times out and another server is available for querying
within the same lookup, the timeout handler - connect_timeout() - is
responsible for sending the query to the next server.  Extract the
relevant part of connect_timeout() to a separate function in order to
improve code readability.

(cherry picked from commit c108fc5c6e)
2019-01-08 11:24:03 +01:00
Michał Kępień
d8de90f859 Remove dead code handling address family mismatches for TCP sockets
Before commit c2ec022f57, using the "-b"
command line switch for dig did not disable use of the other address
family than the one to which the address supplied to that option
belonged to.  Thus, bind9_getaddresses() could e.g. prepare an
isc_sockaddr_t structure for an IPv6 address when an IPv4 address has
been passed to the "-b" command line option.  To avoid attempting the
impossible (e.g. querying an IPv6 address from a socket bound to an IPv4
address), a certain code block in send_tcp_connect() checked whether the
address family of the server to be queried was the same as the address
family of the socket set up for sending that query; if there was a
mismatch, that particular server address was skipped.

Commit c2ec022f57 made
bind9_getaddresses() fail upon an address family mismatch between the
address the hostname passed to it resolved to and the address supplied
to the "-b" command line option.  Such failures were fatal to dig back
then.

Commit 7f65860391 made
bind9_getaddresses() failures non-fatal, but also ensured that a
get_address() failure in send_tcp_connect() still causes the given query
address to be skipped (and also made such failures trigger an early
return from send_tcp_connect()).

Summing up, the code block handling address family mismatches in
send_tcp_connect() has been redundant since commit
c2ec022f57.  Remove it.

(cherry picked from commit ef1da8731b)
2019-01-08 11:24:03 +01:00
Michał Kępień
5c9106da2c Merge branch '315-track-forwarder-timeouts-in-fetch-contexts-v9_11' into 'v9_11'
[v9_11] Track forwarder timeouts in fetch contexts

See merge request isc-projects/bind9!1306
2019-01-08 05:00:06 -05:00
Michał Kępień
3ddb8337b3 Add CHANGES entry
5122.	[bug]		In a "forward first;" configuration, a forwarder
			timeout did not prevent that forwarder from being
			queried again after falling back to full recursive
			resolution. [GL #315]

(cherry picked from commit 1df9ca9e6a)
2019-01-08 08:34:37 +01:00
Michał Kępień
3db9f56718 Track forwarder timeouts in fetch contexts
Since following a delegation resets most fetch context state, address
marks (FCTX_ADDRINFO_MARK) set inside lib/dns/resolver.c are not
preserved when a delegation is followed.  This is fine for full
recursive resolution but when named is configured with "forward first;"
and one of the specified forwarders times out, triggering a fallback to
full recursive resolution, that forwarder should no longer be consulted
at each delegation point subsequently reached within a given fetch
context.

Add a new badnstype_t enum value, badns_forwarder, and use it to mark a
forwarder as bad when it times out in a "forward first;" configuration.
Since the bad server list is not cleaned when a fetch context follows a
delegation, this prevents a forwarder from being queried again after
falling back to full recursive resolution.  Yet, as each fetch context
maintains its own list of bad servers, this change does not cause a
forwarder timeout to prevent that forwarder from being used by other
fetch contexts.

(cherry picked from commit 33350626f9)
2019-01-08 08:34:37 +01:00
Mark Andrews
8a929b14f1 Merge branch 'marka-fix-stub_dlz_allowzonexfr-v9_11' into 'v9_11'
return ISC_R_NOTFOUND when name does not match the zone name

See merge request isc-projects/bind9!1302
2019-01-06 23:43:02 -05:00
Mark Andrews
c9a7169068 add CHANGES
(cherry picked from commit bb57c7f775)
2019-01-07 15:24:23 +11:00
Mark Andrews
7d2f6603cf return ISC_R_NOTFOUND when name does not match the zone name
(cherry picked from commit 402190df18)
2019-01-07 15:23:58 +11:00
Mark Andrews
14f22d9040 Merge branch 'indenting-v9_11' into 'v9_11'
indenting

See merge request isc-projects/bind9!1291
2019-01-01 20:11:51 -05:00
Mark Andrews
cc9ece19e3 indenting
(cherry picked from commit c69ad95238)
2019-01-02 11:51:52 +11:00
Mark Andrews
b63c545f59 Merge branch 'copyrights-v9_11' into 'v9_11'
update copyrights

See merge request isc-projects/bind9!1289
2019-01-01 18:45:03 -05:00
Mark Andrews
84527eb4d5 update copyrights 2019-01-02 10:26:49 +11:00
Ondřej Surý
94740dc46a Merge branch 'ondrej/sync-gitlab-ci-with-master' into 'v9_11'
[v9_11] Sync GitLab CI jobs with master

See merge request isc-projects/bind9!1222
2018-12-21 04:11:14 -05:00
Ondřej Surý
c8c74d8b3e For system tests, retry twice before failing 2018-12-21 09:29:47 +01:00
Ondřej Surý
4892b52156 Fix the stdatomic #ifdefs to work with older compilers 2018-12-21 09:29:47 +01:00
Ondřej Surý
074cc75aa7 Add better EMPTY_TRANSLATION_UNIT to isc/util.h 2018-12-21 09:29:47 +01:00
Ondřej Surý
c116fb963a Fix ECC algorithms unused constants in PKCS#11 build 2018-12-21 09:29:47 +01:00
Ondřej Surý
e402955133 Add Ubuntu Xenial and Bionic to GitLab CI jobs 2018-12-21 09:29:47 +01:00
Ondřej Surý
2c7c3b79bd SoftHSM 2.4.0 only supports softhsm2.conf now, rewrite GitLab CI commands to properly support that 2018-12-21 09:29:47 +01:00
Ondřej Surý
51286ec006 Add unreachable.spatch coccinelle recipe and run it in precheck CI phase 2018-12-21 09:29:47 +01:00
Ondřej Surý
f6ff0216c8 Sync GitLab CI jobs with master branch 2018-12-21 09:29:47 +01:00
Ondřej Surý
158e3187a3 Merge branch '674-abort-when-memory-allocation-fails-v9_11-strerror-fix' into 'v9_11'
Resolve "Abort when memory allocation or other mandatory resource allocation fails"

See merge request isc-projects/bind9!1278
2018-12-21 03:29:06 -05:00
Ondřej Surý
0c6c59a289 Use isc__strerror instead of strerror_r in v9_11 branch 2018-12-21 09:26:50 +01:00
Ondřej Surý
b865b66094 Merge branch '674-abort-when-memory-allocation-fails-v9_11' into 'v9_11'
(v9_11) Resolve "abort when memory allocation fails"

See merge request isc-projects/bind9!1274
2018-12-21 03:13:37 -05:00
Ondřej Surý
8d532c111b Add CHANGES entry for GL #674
(cherry picked from commit 37ff7f635b)
2018-12-21 03:03:24 -05:00
Ondřej Surý
7d9e19b5eb Abort on allocation failure only if the memory functions are used internally in BIND 9
(cherry picked from commit c22241ae9009391c1d28085c5cf0009a6caef09c)
2018-12-21 03:03:24 -05:00
Ondřej Surý
c73912278b Abort on memory allocation failure
(cherry picked from commit 8de2451756)
2018-12-21 03:03:24 -05:00
Matthijs Mekking
a1322f019e Merge branch '783-dnssec-signzone-unsupported-algorithms-v9_11' into 'v9_11'
(v9_11) Resolve "Allow unsupported algorithms in zone when not used for signing"

See merge request isc-projects/bind9!1271
2018-12-20 10:32:59 -05:00
Matthijs Mekking
bb2c242c39 Remove dig_with_opts 2018-12-20 15:23:07 +01:00
Matthijs Mekking
0e9a8da68c Replace DSA with Reserved algorithm
(cherry picked from commit 17cdde1e56)
2018-12-20 04:50:08 -05:00
Matthijs Mekking
1360a1fa1a Move REQUIRE outside comment unsupported alg
(cherry picked from commit 5ca649967e)
2018-12-20 04:50:08 -05:00
Matthijs Mekking
040e132f16 Allow unsupported alg in zone /w dnssec-signzone
dnssec-signzone should sign a zonefile that contains a DNSKEY record
with an unsupported algorithm.  Current behavior is that it will
fail, hitting a fatal error.  The fix detects unsupported algorithms
and will not try to add it to the keylist.

Also when determining the maximum iterations for NSEC3, don't take
into account DNSKEY records in the zonefile with an unsupported
algorithm.

(cherry picked from commit 1dd11fc754)
2018-12-20 04:50:08 -05:00
Matthijs Mekking
9f81119c02 Add dnssec-signzone tests with unsupported alg
dnssec-signzone should sign a zonefile that contains a DNSKEY record
with an unsupported algorithm.

(cherry picked from commit 6d976b37c1)
(cherry picked from commit 8619318a1e6207e487438a93bd7a620967091347)
2018-12-20 04:50:08 -05:00
Ondřej Surý
575cbf3ea1 Merge branch '768-add-description-to-ldap-schema-v9_11' into 'v9_11'
(v9_11) Add optional description field to LDAP schema

See merge request isc-projects/bind9!1269
2018-12-20 04:47:01 -05:00
Roland Gruber
4a97a37eae Add optional description field to LDAP schema
(cherry picked from commit 83903f6f5e)
2018-12-20 10:33:34 +01:00
Ondřej Surý
0905a87ed7 Merge branch '787-set-the-clang-define-to-1-v9_11' into 'v9_11'
(v9_11) __SANITIZE_ADDRESS__ needs to be defined to 1

See merge request isc-projects/bind9!1266
2018-12-19 18:16:51 -05:00
Ondřej Surý
d0dadf5ac4 __SANITIZE_ADDRESS__ needs to be defined to 1
(cherry picked from commit ff7c868f25)
2018-12-20 00:15:59 +01:00
Ondřej Surý
498ea71f99 Merge branch '782-add-support-for-msys2-in-stop.pl-script-v9_11' into 'v9_11'
(v9_11) Properly detect msys/msys2 environment in the stop.pl script.

See merge request isc-projects/bind9!1261
2018-12-19 16:14:18 -05:00
Ondřej Surý
c1c10ca2b9 Properly detect msys/msys2 environment in the stop.pl script.
(cherry picked from commit 808dac0760)
2018-12-19 21:31:41 +01:00
Ondřej Surý
debf6c2853 Merge branch '787-use-correct-define-v9_11' into 'v9_11'
gcc defines __SANITIZE_ADDRESS__ and not __ADDRESS_SANITIZER__, use the correct #define

See merge request isc-projects/bind9!1257
2018-12-19 06:47:44 -05:00
Ondřej Surý
11cce88a41 gcc defines __SANITIZE_ADDRESS__ and not __ADDRESS_SANITIZER__, use the correct #define
(cherry picked from commit 8903d68d69)
2018-12-19 12:46:05 +01:00
Ondřej Surý
0768775dc1 Merge branch '787-disable-rtld_deepbind-when-compiled-under-asan-v9_11' into 'v9_11'
(v9_11) Resolve "RTLD_DEEPBIND and AddressSanitizer aren't compatible"

See merge request isc-projects/bind9!1254
2018-12-19 05:38:46 -05:00
Ondřej Surý
8fbd61343a Disable RTLD_DEEPBIND when compiled under AddressSanitizer
(cherry picked from commit cad6b39cab)
2018-12-19 10:51:09 +01:00
Ondřej Surý
9827b8ade9 Define __ADDRESS_SANITIZER__ if compiling under clang's AddressSanitizer
(cherry picked from commit e1ce3a3d42)
2018-12-19 10:50:54 +01:00
Ondřej Surý
68c573013e Merge branch '782-revert-cygwin-grep-CRLF-issue-v9_12-v9_11' into 'v9_11'
Revert "Merge branch '782-cygwin-grep-CRLF-issue-v9_12-v9_11' into 'v9_11'"

See merge request isc-projects/bind9!1243
2018-12-17 06:57:14 -05:00
Ondřej Surý
b9e16f3475 Revert "Merge branch '782-cygwin-grep-CRLF-issue-v9_12-v9_11' into 'v9_11'"
This reverts commit b644eb672b, reversing
changes made to 3b302c58e2.
2018-12-17 12:44:24 +01:00
Evan Hunt
b644eb672b Merge branch '782-cygwin-grep-CRLF-issue-v9_12-v9_11' into 'v9_11'
Resolve "current version of cygwin grep causes tests to fail when grepping for end of line character"

See merge request isc-projects/bind9!1240
2018-12-15 00:24:05 -05:00
Curtis Blackburn
5641664f91 minor fixes to dns64 and rndc CRLF fix. rpzrecurse failure will be addressed in a separate issue 2018-12-14 19:45:42 -08:00
Curtis Blackburn
d9fe816644 more CRLF fixes (dns64) 2018-12-14 19:45:38 -08:00
Curtis Blackburn
99fcbcf904 digdelv test fixed for CRLF issue 2018-12-14 19:45:37 -08:00
Curtis Blackburn
ddee74194c windows CRLF issues fixed in builtin test 2018-12-14 19:45:34 -08:00
Mark Andrews
3b302c58e2 Merge branch '779-named-checkconf-crashes-in-parser-c-v9_11' into 'v9_11'
Resolve "named-checkconf crashes in parser.c"

See merge request isc-projects/bind9!1237
2018-12-14 17:51:13 -05:00
Mark Andrews
7aecb8b1fd pass the correct object to cfg_obj_log
(cherry picked from commit 53a33f7365)
2018-12-15 09:38:42 +11:00
Mark Andrews
4e01cc3cfc Merge branch '742-isc-support-13767-nsec3-typemap-improperly-includes-dnskey-rrset-instead-of-ignoring-it-as-out-of-zone-v9_11' into 'v9_11'
Resolve "[ISC-support

See merge request isc-projects/bind9!1233
2018-12-13 22:58:25 -05:00
Mark Andrews
aab3fcbd1c add CHANGES
(cherry picked from commit 85da986d68)
2018-12-14 14:44:46 +11:00
Mark Andrews
da49d1cfc3 add unit tests for dns_rdatatype_atcname, dns_rdatatype_atparent and iszonecutauth
(cherry picked from commit f2f7711977)
2018-12-14 14:44:20 +11:00
Mark Andrews
637e3c4c4b check that DNSKEY and other occluded data are excluded from the delegating bitmap
(cherry picked from commit 7e4b82103b)
2018-12-14 14:44:18 +11:00
Mark Andrews
587c81ac99 create dns_rdatatype_atcname to split records that can appear along side CNAME from DNSSEC; dns_rdatatype_iszonecutauth allowed too many types
(cherry picked from commit f4ceb12b69)
2018-12-14 14:29:46 +11:00
Evan Hunt
243cded414 Merge branch 'marka-tabify-changes-precheck-v9_11' into 'v9_11'
tabify changes precheck

See merge request isc-projects/bind9!1227
2018-12-13 00:53:25 -05:00
Mark Andrews
7c9b45839d white space 2018-12-12 21:43:41 -08:00
Mark Andrews
4fa777e7a1 tabify-changes precheck
(cherry picked from commit 87b3b46096)
2018-12-12 21:42:08 -08:00
Ondřej Surý
2e527c6bc1 Merge branch 'ondrej/rename-the-envvar-to-BUILD_PARALLEL_JOBS-v9_11' into 'v9_11'
(v9_11) Rename the GitLab CI environment variable to BUILD_PARALLEL_JOBS

See merge request isc-projects/bind9!1225
2018-12-12 17:27:17 -05:00
Ondřej Surý
dc909bd1dd Rename the GitLab CI environment variable to BUILD_PARALLEL_JOBS
(cherry picked from commit e20d5e4dd2)
2018-12-12 23:08:43 +01:00
Mark Andrews
4139f9c467 Merge branch '760-the-notify-system-test-incorrectly-detects-startup-notify-rate-error-v9_11' into 'v9_11'
Resolve "The notify system test incorrectly detects startup notify rate error."

See merge request isc-projects/bind9!1219
2018-12-11 18:44:25 -05:00
Mark Andrews
c5f85f808c check that the time between notify messages is not too small
(cherry picked from commit 47a4e0eeaa)
2018-12-12 10:24:23 +11:00
Ondřej Surý
487ca41b5c Merge branch '623-rpz-logging-to-include-qclass-and-qtype-v9_11' into 'v9_11'
(v9_11) Resolve "RPZ logging to include QCLASS and QTYPE"

See merge request isc-projects/bind9!1057
2018-12-11 06:38:55 -05:00
Ondřej Surý
90b0f710a6 Add CHANGES entry for GL #623 2018-12-11 12:26:25 +01:00
Mark Andrews
e5e1957a8f use typebuf and classbuf 2018-12-11 12:26:25 +01:00
Mark Andrews
1d33b62405 update rpzrecurse for RPZ_LOG_QTYPE_QCLASS 2018-12-11 12:26:25 +01:00
Mark Andrews
dc49ce1cd0 log RPZ type and class
(cherry picked from commit 28442f11f0)
2018-12-11 06:24:08 -05:00
Evan Hunt
739b3ba0eb Merge branch 'each-autosign-fix' into 'v9_11'
fix autosign test

See merge request isc-projects/bind9!1216
2018-12-11 01:37:41 -05:00
Evan Hunt
c47a301c0c add missing -r $RANDFILE 2018-12-11 01:23:33 -05:00
Evan Hunt
5a8dfccee3 Merge branch '756-dyndb-system-test-failing-intermittently-v9_11' into 'v9_11'
Resolve "dyndb system test failing intermittently."

See merge request isc-projects/bind9!1214
2018-12-10 12:27:15 -05:00
Mark Andrews
940a0f2003 allow a small about of time for the syncptr event to be processed
(cherry picked from commit 3bca52ca07)
2018-12-10 09:07:59 -08:00
Mark Andrews
0a9422771c Merge branch 'michal-extend-dname-dnssec-tests-v9_11' into 'v9_11'
Extend DNAME DNSSEC tests

See merge request isc-projects/bind9!1212
2018-12-10 02:00:49 -05:00
Michał Kępień
f0004e120d Check that DNAME is not treated as a delegation when signing
(cherry picked from commit adbca54079)
2018-12-10 17:48:17 +11:00
Mark Andrews
ccac107ded verify that auto-dnssec maintain generates and signs NSEC3 records with DNAME at the apex
(cherry picked from commit 6b470bbf42)
2018-12-10 17:48:17 +11:00
Mark Andrews
4731ee6ae1 verify that dnssec-signzone generates NSEC3 records with DNAME at the apex
(cherry picked from commit 06e218c421)
2018-12-10 17:29:29 +11:00
Mark Andrews
aa6dc21ad6 Merge branch 'michal-zone_sign-error-logging-v9_11' into 'v9_11'
Log CHECK() errors in zone_sign()

See merge request isc-projects/bind9!1209
2018-12-09 23:35:33 -05:00
Mark Andrews
ed232e96d1 log a error if we don't explicitly know that a error has been logged in zone_sign
(cherry picked from commit b108376a10)
2018-12-10 15:13:53 +11:00
Evan Hunt
4894e9e65a Merge branch 'each-check-cfg-v9_11' into 'v9_11'
checklibs needs to grep for the cfg_* prefix in lib/isccfg

See merge request isc-projects/bind9!1204
2018-12-06 21:29:47 -05:00
Evan Hunt
960a3906fe checklibs needs to grep for the cfg_* prefix in lib/isccfg
(cherry picked from commit ab7356a7de)
2018-12-06 18:09:04 -08:00
Mark Andrews
4b091135fe Merge branch 'michal-befix-squashed-v9_11' into 'v9_11'
Fix bottom of zone determination.

See merge request isc-projects/bind9!1200
2018-12-06 20:32:56 -05:00
Mark Andrews
913c62979e add CHANGES and release notes entries.
(cherry picked from commit c8e92d3e45)
2018-12-07 12:20:09 +11:00
Mark Andrews
f8dc30d18b Properly detect bottom of zone when sign_a_node() is not called
(cherry picked from commit 9eec02a81f)
2018-12-07 12:20:09 +11:00
Mark Andrews
b630c8255a Merge branch '769-host-u-documented-in-manpage-but-disabled-in-code-v9_11' into 'v9_11'
Resolve ""host -U" documented in manpage, but disabled in code"

See merge request isc-projects/bind9!1196
2018-12-06 16:53:24 -05:00
Mark Andrews
aaf433f2f9 add CHANGES
(cherry picked from commit 9586c3a696)
2018-12-07 08:40:52 +11:00
Andreas Hasenack
ab80e26381 add -U to preparse and usage
(cherry picked from commit 665618698e)
2018-12-07 08:40:36 +11:00
Mark Andrews
7df65ab9ca Merge branch '756-dyndb-system-test-failing-intermittently-v9_11' into 'v9_11'
Add additional logging to driver.

See merge request isc-projects/bind9!1186
2018-12-05 19:47:00 -05:00
Mark Andrews
e1f49ba977 add more error logging; add event processing logging
(cherry picked from commit 6a5c8ec2ea)
2018-12-06 11:33:36 +11:00
Ondřej Surý
c7c99d81c5 Merge branch '628-refactor-masterformat-system-test-v9_11' into 'v9_11'
(v9_11) Refactor masterformat system test

See merge request isc-projects/bind9!1183
2018-12-05 16:19:25 -05:00
Ondřej Surý
ca391cd085 Change the default algorithm to RSASHA256 and the alternative algorithm to RSASHA1 as those are always supported 2018-12-05 21:56:15 +01:00
Ondřej Surý
28560fd280 Add DNSKEY and CDNSKEY with unknown algorithm number (PRIVATEDNS) and \0 as content
(cherry picked from commit 00cc0b236a)
2018-12-05 20:45:57 +01:00
Ondřej Surý
f492efe680 Refactor masterformat to be shellcheck clean and don't use RSAMD5 algorithm in the tests
(cherry picked from commit b13c7ca402)
2018-12-05 20:45:50 +01:00
Ondřej Surý
4a202abdc8 Merge branch '745-start.pl-and-stop.pl-cygwin-fixes-v9_11' into 'v9_11'
(v9_11) Make the start.pl and stop.pl more Cygwin friendly

See merge request isc-projects/bind9!1177
2018-12-04 09:45:12 -05:00
Ondřej Surý
fc9e2a1a75 Make the start.pl and stop.pl more Cygwin friendly
(cherry picked from commit 835bad2c5c)
2018-12-04 15:31:50 +01:00
Ondřej Surý
47ade1ec01 Merge branch '745-start.pl-refactoring-v9_12-v9_11' into 'v9_11'
(v9_11) start.pl - wait for server to say 'running', refactor

See merge request isc-projects/bind9!1171
2018-12-03 15:01:29 -05:00
Ondřej Surý
948104ee5a Replace realpath with cd&pwd shell magic 2018-12-03 20:45:16 +01:00
Ondřej Surý
337c87faad Add extra .gitignore to lwresd test 2018-12-03 20:45:16 +01:00
Ondřej Surý
4344a7e599 Make run.sh and runall.sh executable 2018-12-03 20:45:16 +01:00
Ondřej Surý
08fa20bf54 Re-add functionality to handle lwresd from {start,stop}.pl 2018-12-03 20:45:16 +01:00
Ondřej Surý
62a1054fd0 Make calls to the stop.pl always use the test name instead of '.'
(cherry picked from commit e227815af5)
(cherry picked from commit 73e26ec1d6)
2018-12-03 20:39:14 +01:00
Ondřej Surý
1fa08d78d3 stop.pl - refactor
(cherry picked from commit 27ee629e6b)
(cherry picked from commit 70cbdf3528)
2018-12-03 20:39:13 +01:00
Ondřej Surý
0c384a76cd Make calls to the start.pl always use the test name instead of '.'
(cherry picked from commit 16b95157e8)
(cherry picked from commit e8f38da2df)
2018-12-03 20:39:13 +01:00
Brian Conry
7f2a3a7c5f start.pl - refactor
(cherry picked from commit 0fc8bfef13)
(cherry picked from commit 1ae7ca6606)
2018-12-03 17:31:27 +01:00
Brian Conry
8bb758633d start.pl - wait for server to say 'running'
(cherry picked from commit 597049461d)
(cherry picked from commit ee737c8328)
2018-12-03 17:25:18 +01:00
Ondřej Surý
39ba7ff3ce Merge branch '628-improvements-to-system-tests-v9_12-v9_11' into 'v9_11'
(v9_11) Tiny small improvements to system test scripts.

See merge request isc-projects/bind9!1168
2018-12-03 07:48:28 -05:00
Ondřej Surý
72fbbd0a29 Add ALTERNATIVE_ALGORITHM to conf.sh
(cherry picked from commit b2c4c35493)
(cherry picked from commit e3379c44cb)
2018-12-03 09:52:02 +01:00
Ondřej Surý
08a39b1073 Export SYSTEMTESTTOP from run.sh (so, it doesn't have to be defined in each script) and scrub / from the test names
(cherry picked from commit 1b2a3a0ea6)
(cherry picked from commit d1dffe2fd3)
2018-12-03 09:52:02 +01:00
Mark Andrews
80968572b4 Merge branch '754-silence-warning-about-first-half-of-conditional-always-being-true-v9_11' into 'v9_11'
Resolve "Silence warning about first half of conditional always being true."

See merge request isc-projects/bind9!1163
2018-12-03 01:16:23 -05:00
Mark Andrews
3c4a118978 only test for prefixlen <= 63
(cherry picked from commit 5744415a75)
2018-12-03 17:04:59 +11:00
Mark Andrews
952386d00f Merge branch 'u/fanf2/catz-logging-v9_11' into 'v9_11'
U/fanf2/catz logging v9 11

See merge request isc-projects/bind9!1160
2018-12-03 00:09:18 -05:00
Mark Andrews
55ce0cbfdb add CHANGES note
(cherry picked from commit e6c5ad37a4)
2018-12-03 15:58:07 +11:00
Tony Finch
be4822fafd catz: improved log message when a zone is overridden
If you have a catalog zone containing 10.in-addr.arpa and an
explicitly-configured version which overrides the catz version,
`named` used to log:

catz: error "success" while trying to add zone "10.in-addr.arpa"

After this patch it logs:

catz: zone "10.in-addr.arpa" is overridden by explicitly configured zone
(cherry picked from commit 16eb35187a)
2018-12-03 15:57:03 +11:00
Mark Andrews
8b3c175d95 Merge branch '585-dnssec-coverage-fails-with-typeerror-for-ksk-with-a-deletion-date-set-v9_11' into 'v9_11'
Resolve "dnssec-coverage fails with TypeError for KSK with a Deletion date set"

See merge request isc-projects/bind9!1159
2018-11-29 19:30:04 -05:00
Mark Andrews
1a28a4a138 add CHANGES note
(cherry picked from commit 02d20a2f53)
2018-11-30 11:16:03 +11:00
Mark Andrews
232a2004ba use documented default key ttl
(cherry picked from commit 6499bdfd8b)
2018-11-30 11:15:31 +11:00
Mark Andrews
a74acbfd82 add reproducer for [GL #585]
(cherry picked from commit 0ac2a868bb)
2018-11-30 11:15:29 +11:00
Evan Hunt
98c431e5ba Merge branch 'each-export-dynamic-v9_12-v9_11' into 'v9_11'
set the export-dynamic linker flag on linux

See merge request isc-projects/bind9!1156
2018-11-29 02:51:24 -05:00
Evan Hunt
8d698288fb set the export-dynamic linker flag on linux
(cherry picked from commit 4ae085a066)
2018-11-28 23:38:43 -08:00
Mark Andrews
28ca65c663 Merge branch '748-dns_catz_-are-missing-lots-of-dbc-checks-v9_12-v9_11' into 'v9_11'
Resolve "dns_catz_* are missing lots of DBC checks."

See merge request isc-projects/bind9!1153
2018-11-28 23:21:38 -05:00
Mark Andrews
c0a3c48802 add missing DBC checks for catz and add isc_magic checks; add DBC checks to ht.c
(cherry picked from commit a487473fc5)
(cherry picked from commit 17d9fa3cc7)
2018-11-29 15:05:17 +11:00
Mark Andrews
e00427f26a Merge branch '731-catalog-zone-incorrect-logging-v9_11' into 'v9_11'
Resolve "Catalog zone incorrect logging"

See merge request isc-projects/bind9!1147
2018-11-28 08:17:24 -05:00
Mark Andrews
12f2ea418c update zname with the current zone anme
(cherry picked from commit 0708e43d3f)
2018-11-28 23:34:42 +11:00
Michał Kępień
0c8eaf096f Merge branch '730-fix-build-time-python-configuration-v9_11' into 'v9_11'
[v9_11] Fix build-time Python configuration

See merge request isc-projects/bind9!1140
2018-11-27 10:25:23 -05:00
Michał Kępień
f3be313bbe Add CHANGES entry
5101.	[bug]		Fix default installation path for Python modules.
			[GL #730]

(cherry picked from commit 13da99a80c)
2018-11-27 15:52:58 +01:00
Ondřej Surý
6c4b8ee8ee Fix build-time Python configuration
Apply various fixes and tweaks to Python configuration logic implemented
in the "configure" script:

  - Prevent PYTHON_INSTALL_DIR, which holds the value passed to the
    --with-python-install-dir option, from being set to "unspec" by
    default as this breaks installing Python modules when the
    --with-python-install-dir option is not used.

  - Make the --with-python-install-dir option also work when the Python
    interpreter is specified explicitly (using --with-python=<...>).

  - Improve contents and placement of error messages.

  - Reduce duplication of code checking Python dependencies.

  - Use Autoconf macros AS_CASE() and AS_IF() instead of plain shell
    code.

  - Update comments.  Capitalize the word "Python" when referring to the
    language itself rather than a specific executable.

(cherry picked from commit ed4c700c33)
2018-11-27 15:52:40 +01:00
Ondřej Surý
6bc28265d3 Merge branch 'ondrej-add-python-3.6-and-3.7-to-configure.ac-v9_11' into 'v9_11'
(v9_11) Add python3.6 and python3.7 to the search list of python versions

See merge request isc-projects/bind9!1138
2018-11-27 05:00:58 -05:00
Ondřej Surý
af1c5ef613 Add python3.6 and python3.7 to the search list of python versions
(cherry picked from commit da9038e9a0)
2018-11-27 10:33:33 +01:00
Mark Andrews
d4b800e3c1 Merge branch '715-side-effect-in-assertion-in-name_test-c-v9_11' into 'v9_11'
Resolve "side effect in assertion in name_test.c"

See merge request isc-projects/bind9!1125
2018-11-22 19:20:30 -05:00
Mark Andrews
156195dac6 address coverity side effect in assert warning
(cherry picked from commit 2156a5b610)
2018-11-23 10:21:53 +11:00
Mark Andrews
137cc98dc9 Merge branch '710-fix-socket-test-v9_11' into 'v9_11'
Use proper casting in socket unit test

See merge request isc-projects/bind9!1121
2018-11-22 02:33:26 -05:00
Mark Andrews
d47dd94620 remove quotes from around ${EXTRA_CONFIGURE} 2018-11-22 18:13:26 +11:00
Mark Andrews
1028731f03 turnoff dlopen for asan 2018-11-22 18:05:54 +11:00
Mark Andrews
889175eb17 replace strncpy + setting end of array to NUL with strlcpy 2018-11-22 10:50:06 +11:00
Witold Kręcicki
50d7e0b4ef Use proper casting in socket unit test
(cherry picked from commit 5f81aa10bc)
2018-11-22 10:34:43 +11:00
Ondřej Surý
473f3d077f Disable internal malloc for AddressSanitizer build
(cherry picked from commit 4f7177c794)
2018-11-22 10:34:43 +11:00
Ondřej Surý
6c73f8d681 Add AddressSanitizer enabled build to GitLab CI
(cherry picked from commit a8649cc299)
2018-11-22 10:34:43 +11:00
Mark Andrews
1b9bc18ab6 Merge branch '712-memleak-in-delv-v9_11' into 'v9_11'
Fix a small memleak in delv

See merge request isc-projects/bind9!1116
2018-11-21 16:33:40 -05:00
Witold Kręcicki
01bbb308b4 Fix a small memleak in delv
(cherry picked from commit d00b3f47ba)
2018-11-22 08:22:47 +11:00
Mark Andrews
f2413e0e6a Merge branch 'ondrej/use-strlcpy-in-wks_11.c-v9_11' into 'v9_11'
Use strlcpy in place where strncpy(s, ...) + s[sizeof(s)-1] = \0; was used

See merge request isc-projects/bind9!1114
2018-11-21 16:19:56 -05:00
Ondřej Surý
2386be289c Use strlcpy in place where strncpy(s, ...) + s[sizeof(s)-1] = \0; was used
(cherry picked from commit 175f06949f)
2018-11-22 08:11:31 +11:00
Mark Andrews
fb68ed9adf Merge branch '711-fix-memory-leak-in-lex_test-v9_11' into 'v9_11'
Fix memory leak in lex_test.c

See merge request isc-projects/bind9!1112
2018-11-21 15:54:14 -05:00
Ondřej Surý
78a94766d7 Fix memory leak in lex_test.c
(cherry picked from commit 7a3eb391fa)
2018-11-21 15:46:55 -05:00
Mark Andrews
9114623d2b Merge branch '702-unchecked-returns-in-server-c-v9_11' into 'v9_11'
Resolve "unchecked returns in server.c"

See merge request isc-projects/bind9!1110
2018-11-21 15:06:03 -05:00
Mark Andrews
e254e95d7d address unchecked return values
(cherry picked from commit ccfd577715)
2018-11-22 06:56:25 +11:00
Evan Hunt
17e35dd6c2 Merge branch 'systest-entropy-v9_11' into 'v9_11'
increase pseudorandom data in system tests

See merge request isc-projects/bind9!1092
2018-11-17 03:09:58 -05:00
Evan Hunt
b407e80d00 better system test entropy
- use genrandom to get 4k of data instead of 800 bytes
- set this value as RANDOMSIZE in conf.sh

(cherry picked from commit 19aaecafeb)
2018-11-16 23:54:39 -08:00
Evan Hunt
e0824ab0d0 Merge branch '703-resource-leak-in-dlz_filesystem_driver-c-v9_11' into 'v9_11'
Resolve "resource leak in dlz_filesystem_driver.c"

See merge request isc-projects/bind9!1090
2018-11-16 20:00:17 -05:00
Mark Andrews
cd7b0f36f7 cleanup allocated memory on error
(cherry picked from commit 4979d5f31f)
2018-11-16 16:51:59 -08:00
Evan Hunt
799708f50d Merge branch 'cmocka-silence-v9_11' into 'v9_11'
remove (or hide behind a 'verbose' flag) extra output from unit tests

See merge request isc-projects/bind9!1088
2018-11-16 16:12:18 -05:00
Evan Hunt
58314571ef remove (or hide behind a 'verbose' flag) extra output from system tests
(cherry picked from commit 8f15219f36)
2018-11-16 13:00:49 -08:00
Evan Hunt
8841456764 Merge branch '4-warn-not-fail-v9_11' into 'v9_11'
warn, rather than failing, if kyua is not present

See merge request isc-projects/bind9!1086
2018-11-16 15:56:23 -05:00
Evan Hunt
2d7235e1f1 warn, rather than failing, if kyua is not present
(cherry picked from commit 6cfb2249e1)
2018-11-16 12:42:39 -08:00
Evan Hunt
2ed9c1f816 Merge branch 'hanging-tests-v9_11' into 'v9_11'
Hanging tests on v9_11

See merge request isc-projects/bind9!1082
2018-11-16 15:41:11 -05:00
Evan Hunt
b1318ccac7 use /dev/urandom as default random source 2018-11-16 12:28:11 -08:00
Evan Hunt
731f27e77e set inactive date in keygen instead of settime 2018-11-16 11:56:19 -08:00
Evan Hunt
a37f21fdcf increase the entropy allocated by genrandom 2018-11-16 11:56:19 -08:00
Evan Hunt
9557e2f454 fix broken keygen call in verify 2018-11-16 11:56:19 -08:00
Evan Hunt
3458eb05a8 Merge branch 'fix-debug-output-v9_11' into 'v9_11'
echo debug output (D:text) the same as informational (I:text)

See merge request isc-projects/bind9!1084
2018-11-16 14:44:21 -05:00
Evan Hunt
3f7d2b0036 echo debug output (D:text) the same as informational (I:text)
(cherry picked from commit dfa1589975)
2018-11-16 11:42:04 -08:00
Evan Hunt
bf0a1644d7 Merge branch '4-remove-embedded-atf-v9_11' into 'v9_11'
Remove embedded ATF and required ATF >= 0.20 + Kyua to run unittests

See merge request isc-projects/bind9!1080
2018-11-16 12:46:29 -05:00
Ondřej Surý
68dfb55f18 Add CHANGES entry for GL !875
(cherry picked from commit 9b0501635b)
2018-11-16 09:18:16 -08:00
Ondřej Surý
bf23e17e7c Remove the traces of ATF from documentation
(cherry picked from commit fa33b4ee23)
2018-11-16 09:17:59 -08:00
Ondřej Surý
d196b5e493 Remove embedded atf-src and enforce atf >= 0.20 + kyua as execution engine
(cherry picked from commit de219b8555)
2018-11-16 09:17:32 -08:00
Evan Hunt
11cbb0619d Merge branch '620-cmocka-conversions-v9_12-v9_11' into 'v9_11'
Resolve "CMOCKA conversions"

See merge request isc-projects/bind9!1063
2018-11-15 21:07:14 -05:00
Evan Hunt
026817bd9c CHANGES
(cherry picked from commit 32503f3b52)
(cherry picked from commit 7565a18583)
2018-11-15 17:52:00 -08:00
Evan Hunt
26da376f31 remove --with-atf from gitlab CI
(cherry picked from commit a2013231a3)
(cherry picked from commit 4ad7f875b0)
2018-11-15 17:52:00 -08:00
Evan Hunt
2ed9b06ab8 remove ATF source code and Atffiles
(cherry picked from commit 8c4d50c6bc)
(cherry picked from commit 33f428efda)
2018-11-15 17:52:00 -08:00
Evan Hunt
6295b44ed6 remove ATF from configure
(cherry picked from commit efe3c038b1)
(cherry picked from commit 4f3073de7c)
2018-11-15 17:51:59 -08:00
Evan Hunt
707f0f3ce0 remove atf-run from unittest.sh.in
(cherry picked from commit d534ae5c12)
(cherry picked from commit df0c67ba26)
2018-11-15 17:51:59 -08:00
Joey
49cfe448da convert update_test; remove ATF from lib/dns/tests
(cherry picked from commit 336d5a5374)
(cherry picked from commit 4beba42654)
2018-11-15 17:51:56 -08:00
Evan Hunt
3a8eff4589 convert gost_test
(cherry picked from commit 28296fc57c)
2018-11-15 17:51:47 -08:00
Joey
f919fb6e0e convert tsig_test
(cherry picked from commit 92a3762cb6)
(cherry picked from commit ea300146a8)
2018-11-15 17:51:42 -08:00
Joey
ab76e6a8b7 convert time_test
(cherry picked from commit 2c7e6947fa)
(cherry picked from commit 132bdcb954)
2018-11-15 17:51:35 -08:00
Joey
e938089e20 convert sigs_test
(cherry picked from commit eda6281f98)
(cherry picked from commit 34855ec13b)
2018-11-15 17:51:30 -08:00
Joey
2ba04b17a8 convert rsa_test
(cherry picked from commit b915cdbf0b)
(cherry picked from commit c00f2c9434)
2018-11-15 17:51:24 -08:00
Joey
e0b408a5ee convert resolver_test
(cherry picked from commit 2837a821e8)
(cherry picked from commit bd3bb7cb89)
2018-11-15 17:51:12 -08:00
Joey
0f2b87f0ae convert rbt_serialize_test
(cherry picked from commit dfd90dbb82)
(cherry picked from commit 5e44278871)
2018-11-15 17:51:06 -08:00
Joey
684083a3da convert name_test
(cherry picked from commit 1b48e710d5)
(cherry picked from commit c9c1d244e1)
2018-11-15 17:51:00 -08:00
Joey
4e0f18fc0f convert master_test
(cherry picked from commit 4ba08bb119)
(cherry picked from commit 34291ae2be)
2018-11-15 17:50:54 -08:00
Joey
f16ad8f1d6 convert keytable_test
(cherry picked from commit e38901154d)
(cherry picked from commit ff26c1e014)
2018-11-15 17:50:47 -08:00
Joey
9bc895c9d9 convert private_test
(cherry picked from commit 9a464ef869)
(cherry picked from commit ade81f29d6)
2018-11-15 17:50:38 -08:00
Evan Hunt
b48f406b91 convert dbversion_test
(cherry picked from commit 98d5abb73c)
(cherry picked from commit 3d396d1eb8)
2018-11-15 17:50:31 -08:00
Joey
8c767607fb convert dst_test
(cherry picked from commit ad923f82b1)
(cherry picked from commit b902454460)
2018-11-15 17:50:24 -08:00
Joey
e6118469ad convert db_test
(cherry picked from commit 005e19ad3f)
(cherry picked from commit e8f61dd315)
2018-11-15 17:50:18 -08:00
Evan Hunt
ddeac8f5cd convert dispatch_test
(cherry picked from commit 8d347788b0)
(cherry picked from commit a554ae3dcc)
2018-11-15 17:50:11 -08:00
Evan Hunt
da0145f938 convert zonemgr_test
(cherry picked from commit 01a193ff6c)
(cherry picked from commit 503869db64)
2018-11-15 17:50:04 -08:00
Evan Hunt
bcd2c7fa85 convert zt_test
(cherry picked from commit 0a4f6122de)
(cherry picked from commit ff07929977)
2018-11-15 17:49:53 -08:00
Evan Hunt
01e5303b46 convert rdata_test
- also added code to dnstest.c to optionally suppress printing of errors
  from dns_rdata_fromtxt()

(cherry picked from commit bb5ed5a4ac)
(cherry picked from commit 87d702aaa6)
2018-11-15 17:49:38 -08:00
Evan Hunt
9eed71a449 convert rbt_test
(cherry picked from commit 55465517c7)
(cherry picked from commit 7a57323bbf)
2018-11-15 17:49:31 -08:00
Evan Hunt
1831a14c27 convert dnstap_test
(cherry picked from commit 9f83d31e42)
(cherry picked from commit d51d4febf9)
2018-11-15 17:49:17 -08:00
Evan Hunt
b6707b7ffb convert geoip_test
(cherry picked from commit 06b4ff5fe2)
(cherry picked from commit 80172ae24d)
2018-11-15 17:49:09 -08:00
Evan Hunt
d4f775178c convert nsec3_test
(cherry picked from commit 015fda0bb4)
(cherry picked from commit 5a13cf0543)
2018-11-15 17:49:02 -08:00
Evan Hunt
c93d311f39 convert rdatasetstats_test
(cherry picked from commit 28121c248e)
(cherry picked from commit 37c6711376)
2018-11-15 17:48:53 -08:00
Evan Hunt
aaa0c38cf0 convert dbiterator_test
(cherry picked from commit 79cd093cd7)
(cherry picked from commit 7e7818b91a)
2018-11-15 17:48:36 -08:00
Evan Hunt
a803504c72 convert dbdiff_test
(cherry picked from commit 6dfc868fba)
(cherry picked from commit af60c53303)
2018-11-15 17:48:26 -08:00
Evan Hunt
a7d46b6a64 convert peer_test
(cherry picked from commit db5eece106)
(cherry picked from commit f082972814)
2018-11-15 17:48:17 -08:00
Evan Hunt
6182b13c41 convert rdataset_test
(cherry picked from commit cca16eccd7)
(cherry picked from commit 80705c7c81)
2018-11-15 17:48:02 -08:00
Evan Hunt
6069ee839d convert acl_test
(cherry picked from commit a33bca5d55)
(cherry picked from commit 1f3f9c0323)
2018-11-15 17:47:35 -08:00
Evan Hunt
f5352eae1e convert dh_test
(cherry picked from commit dcf65c82ad)
(cherry picked from commit e779fa3014)
2018-11-15 17:47:19 -08:00
Joey
15de58c441 convert socket_test; remove ATF from lib/isc/tests
(cherry picked from commit 9eea00cd3c)
(cherry picked from commit 37ce8f1021)
2018-11-15 17:45:48 -08:00
Evan Hunt
dbdf383fcd convert atomic_test
(cherry picked from commit 7abdd9e87a)
2018-11-15 17:45:48 -08:00
Evan Hunt
436d987224 convert isc_ntop_test
(cherry picked from commit b0309ae739)
2018-11-15 17:45:48 -08:00
Evan Hunt
c803e6ee1d convert print_test
(cherry picked from commit 7bbe60ada1)
2018-11-15 17:45:47 -08:00
Evan Hunt
5334c3a6cf convert regex_test
(cherry picked from commit bd009b34a6)
(cherry picked from commit 6182c94334)
2018-11-15 17:45:47 -08:00
Evan Hunt
4506ec30fe convert random_test
(cherry picked from commit 6ad7acd787)
(cherry picked from commit 13a6d71e88)
2018-11-15 17:45:47 -08:00
Joey
064966f7fb convert mem_test
(cherry picked from commit 683094e308)
(cherry picked from commit 15f7486d7b)
2018-11-15 17:45:47 -08:00
Evan Hunt
6040d4e9c2 convert timer_test
(cherry picked from commit 20cef35ece)
(cherry picked from commit 7c4ed64665)
2018-11-15 17:45:47 -08:00
Evan Hunt
ffc1bd97a8 convert task_test
(cherry picked from commit f524cc713e)
2018-11-15 17:45:47 -08:00
Joey
13aa5ae73c convert hash_test
(cherry picked from commit 72f60bdd84)
(cherry picked from commit bdf9ea7de7)
2018-11-15 17:45:47 -08:00
Evan Hunt
c0e0ef8573 convert ht_test
(cherry picked from commit c701f036ea)
(cherry picked from commit 360d7d3d72)
2018-11-15 17:45:47 -08:00
Evan Hunt
69b892edc7 convert time_test
(cherry picked from commit 3bf9a1e567)
(cherry picked from commit 8d0396737c)
2018-11-15 17:45:47 -08:00
Evan Hunt
caac5988d8 convert taskpool_test
(cherry picked from commit c9ff174dce)
(cherry picked from commit 98bff81bae)
2018-11-15 17:45:46 -08:00
Evan Hunt
f2b40a2b6c convert pool_test
(cherry picked from commit 4f84acb788)
(cherry picked from commit 16d2d27b04)
2018-11-15 17:45:46 -08:00
Evan Hunt
886eb41ac4 convert sockaddr_test
(cherry picked from commit 231436039d)
(cherry picked from commit be41574a20)
2018-11-15 17:45:46 -08:00
Evan Hunt
da13efce9d convert netaddr_test
(cherry picked from commit 7ab8c5b583)
(cherry picked from commit ba2262910a)
2018-11-15 17:45:46 -08:00
Evan Hunt
6aaaea3e61 convert symtab_test
(cherry picked from commit 5f377136be)
(cherry picked from commit 7b2288483f)
2018-11-15 17:45:46 -08:00
Evan Hunt
7ba2676176 convert queue_test
(cherry picked from commit b3db0266cb)
(cherry picked from commit b59107e687)
2018-11-15 17:45:46 -08:00
Evan Hunt
cf3bc94608 convert file_test
(cherry picked from commit 8161be27db)
(cherry picked from commit 3b95658020)
2018-11-15 17:45:46 -08:00
Evan Hunt
ff466ef5aa convert lex_test
(cherry picked from commit 4133fd86f1)
(cherry picked from commit 0e08dc2e2b)
2018-11-15 17:45:46 -08:00
Evan Hunt
2ac235d08c convert errno_test
(cherry picked from commit 049a3a7c0e)
(cherry picked from commit df41c2668f)
2018-11-15 17:45:45 -08:00
Evan Hunt
c5e86b2f3d convert safe_test
(cherry picked from commit c1c8d8846f)
(cherry picked from commit 5f3ba36436)
2018-11-15 17:45:45 -08:00
Evan Hunt
e975371c4d convert radix_test
(cherry picked from commit 718ca3166c)
(cherry picked from commit 5640841732)
2018-11-15 17:45:45 -08:00
Evan Hunt
726f335c37 convert heap_test
(cherry picked from commit cc6ab2416b)
(cherry picked from commit 57d78a76e5)
2018-11-15 17:45:45 -08:00
Evan Hunt
65640c6743 convert parse_test
(cherry picked from commit a7c308df9c)
(cherry picked from commit f29a9d5bc5)
2018-11-15 17:45:45 -08:00
Evan Hunt
802b551d42 convert counter_test
(cherry picked from commit 52b86f0abe)
(cherry picked from commit 856add745a)
2018-11-15 17:45:45 -08:00
Evan Hunt
2f4c3cf019 convert buffer_test
(cherry picked from commit 02a5db7631)
(cherry picked from commit 3095574c1c)
2018-11-15 17:45:45 -08:00
Evan Hunt
b85a5b0dcd convert aes_test
(cherry picked from commit dc88db015b)
(cherry picked from commit c679b85424)
2018-11-15 17:45:45 -08:00
Evan Hunt
2b0e2bc920 set freed pointers to NULL 2018-11-15 17:45:44 -08:00
Evan Hunt
dd29de6f19 convert resconf_test; remove ATF from lib/irs/tests
(cherry picked from commit cec8c52cbe)
(cherry picked from commit 1d76da4943)
2018-11-15 17:45:44 -08:00
Evan Hunt
0b6ecdf509 convert parser_test; remove ATF from lib/isccfg/tests
(cherry picked from commit 7ec945bd41)
(cherry picked from commit 66fa5b9af6)
2018-11-15 17:45:44 -08:00
Evan Hunt
fbd563baea convert config_test; remove ATF from lib/lwres/tests 2018-11-15 17:45:44 -08:00
Evan Hunt
f533ab528d improvements to test setup and teardown
- assert if {isc,dns,ns}_test_begin() is called when a prior test is running
- add dns_test_init() and dns_test_final(), which can be run before and
  after all tests. this ensures openssl doesn't have to be reinitialized.
2018-11-15 17:44:13 -08:00
Evan Hunt
099883e2b1 remove .NOTPARALLEL so unit tests can build faster
(cherry picked from commit b434b0a4b6)
(cherry picked from commit 03c7a096c6)
2018-11-16 01:05:35 +00:00
Evan Hunt
a9a626e440 add cmocka support to remaining unit test makefiles
- also cleaned up some existing test code

(cherry picked from commit 2afd18a2ce)
(cherry picked from commit cd5855378e)
2018-11-16 01:05:35 +00:00
Mark Andrews
838b502f69 Merge branch '694-checklibs-libs-isc-printf-h-check-is-incomplete-v9_11' into 'v9_11'
Resolve "checklibs libs isc/printf.h check is incomplete"

See merge request isc-projects/bind9!1072
2018-11-15 19:50:55 -05:00
Mark Andrews
1ebdcd4c34 update the list of functions that are triggers for requiring #include <isc/print.h> or "print_p.h"
(cherry picked from commit 07317db2ca)
2018-11-16 11:31:01 +11:00
Mark Andrews
65efb52541 Merge branch 'u/fanf2/optionally-disable-digrc-v9_11' into 'v9_11'
U/fanf2/optionally disable digrc v9 11

See merge request isc-projects/bind9!1061
2018-11-14 21:43:28 -05:00
Mark Andrews
3194c0a8cd add CHANGES
(cherry picked from commit a5524b5fe2)
2018-11-15 13:21:44 +11:00
Tony Finch
660010f978 dig: a -r option to disable .digrc
(cherry picked from commit fdb74fed9e)
2018-11-15 13:21:21 +11:00
Evan Hunt
2be370b68c Merge branch '347-various-bind-9-bugs-in-cleanup-after-fail-scenarios-v9_11' into 'v9_11'
Resolve "Various BIND 9 bugs in cleanup-after-fail scenarios"

See merge request isc-projects/bind9!1059
2018-11-14 19:45:57 -05:00
Mark Andrews
f14f70833f uninitalize memory read on error path
(cherry picked from commit 4eadebe2b2)
2018-11-15 00:16:35 +00:00
Mark Andrews
3aafdbf160 errors initalizing badcaches were not caught or cleaned up on error paths
(cherry picked from commit 93776c4c81)
2018-11-15 00:16:31 +00:00
Evan Hunt
5b4905d428 Merge branch '558-nsupdate-leaks-memory-when-using-gss-tsig-and-receiving-sigterm-at-a-right-time-v9_11' into 'v9_11'
Resolve "nsupdate leaks memory when using GSS-TSIG and receiving SIGTERM at a "right" time"

See merge request isc-projects/bind9!1056
2018-11-14 15:03:28 -05:00
Mark Andrews
e409b8c698 free tmpzonename and restart_master
(cherry picked from commit 50714a9b35)
2018-11-14 11:42:44 -08:00
Evan Hunt
b6574c57c6 Merge branch '675-don-t-use-typename-v9_11' into 'v9_11'
Resolve "Don't use 'typename'"

See merge request isc-projects/bind9!1054
2018-11-14 14:22:17 -05:00
Mark Andrews
ccf915f7e4 don't use 'typename' as it is reserved in C++ 2018-11-14 11:13:21 -08:00
Mark Andrews
c97bc67ce2 Merge branch '688-prefer-kyua-over-aft-run-v9_11' into 'v9_11'
Resolve "prefer kyua over aft-run"

See merge request isc-projects/bind9!1052
2018-11-14 07:52:45 -05:00
Mark Andrews
2996e72d91 prefer kyua over atf
(cherry picked from commit 590d391bbb)
2018-11-14 23:41:51 +11:00
Mark Andrews
0dd74f2f86 Merge branch '584-dig-treats-4-6-m-after-q-argument-as-an-option-but-not-a-domain-name-v9_11' into 'v9_11'
Resolve "dig treats -4/-6/-m after -q argument as an option but not a domain name"

See merge request isc-projects/bind9!1047
2018-11-13 20:17:17 -05:00
Evan Hunt
cb355b8adc style
(cherry picked from commit e356d93175)
2018-11-14 11:57:02 +11:00
Mark Andrews
57d0ad450a check that delv -q -m works
(cherry picked from commit 77128c867c)
2018-11-14 11:57:01 +11:00
Mark Andrews
c0d92d4190 check that dig -q -m works
(cherry picked from commit f6f07fb41e)
2018-11-14 11:56:59 +11:00
Mark Andrews
e8ca9303c7 add -q to dash_opts
(cherry picked from commit ba5d28dcfe)
2018-11-14 11:56:05 +11:00
Mark Andrews
0f5aeea233 dig and mdig failed to properly preparse dash value pairs when value was a seperate argument and started with a dash.
(cherry picked from commit 75fa84b67b)
2018-11-14 11:56:03 +11:00
Evan Hunt
be60437b16 Merge branch '587-statistics-channels-xml-v2-is-removed-but-still-documented-v9_11' into 'v9_11'
Resolve "statistics-channels /xml/v2 is removed but still documented"

See merge request isc-projects/bind9!1044
2018-11-13 14:09:35 -05:00
Mark Andrews
901adb154b remove reference to obsolete xml/v2 schema
(cherry picked from commit 9e1af0cef1)
2018-11-13 11:08:59 -08:00
Michał Kępień
961a77fb99 Merge branch '599-fix-a-shutdown-race-in-diagnostic-tools-v9_11' into 'v9_11'
[v9_11] Fix a shutdown race in bin/dig/dighost.c

See merge request isc-projects/bind9!1040
2018-11-13 08:25:15 -05:00
Michał Kępień
0298133676 Add CHANGES entry
5088.	[bug]		dig/host/nslookup could crash when interrupted close to
			a query timeout. [GL #599]

(cherry picked from commit ae40e8039b)
2018-11-13 13:52:48 +01:00
Michał Kępień
f2ca287330 Fix a shutdown race in bin/dig/dighost.c
If a tool using the routines defined in bin/dig/dighost.c is sent an
interruption signal around the time a connection timeout is scheduled to
fire, connect_timeout() may be executed after destroy_libs() detaches
from the global task (setting 'global_task' to NULL), which results in a
crash upon a UDP retry due to bringup_timer() attempting to create a
timer with 'task' set to NULL.  Fix by preventing connect_timeout() from
attempting a retry when shutdown is in progress.

(cherry picked from commit 4621756596)
2018-11-13 13:52:48 +01:00
Evan Hunt
83544b0bdf Merge branch 'fix-rules-typo-v9_11' into 'v9_11'
fix rules.in typo

See merge request isc-projects/bind9!1038
2018-11-13 03:41:48 -05:00
Evan Hunt
df3b061c99 fix typo
(cherry picked from commit 9671909289)
2018-11-13 00:24:43 -08:00
Mark Andrews
0bd7e3de57 Merge branch 'autoheader-v9_11' into 'v9_11'
autoheader

See merge request isc-projects/bind9!1031
2018-11-12 18:13:05 -05:00
Mark Andrews
107fd6758d autoheader 2018-11-12 18:01:28 -05:00
Mark Andrews
54a3d2ac63 Merge branch 'fix-test-linkages-v9_11' into 'v9_11'
Fix test linkages

See merge request isc-projects/bind9!1029
2018-11-12 16:01:04 -05:00
Mark Andrews
03f2cc49e3 remove lib/isc/tests/result_test as it is now cmocka
(cherry picked from commit 9024cf0c15)
2018-11-13 07:50:51 +11:00
Mark Andrews
173827f78d fixup
(cherry picked from commit ba0e5ffc09)
2018-11-13 07:50:49 +11:00
Mark Andrews
ffc56a4bf3 link in lib/isccc/tests/Kyuafile
(cherry picked from commit 9a59352b4c)
2018-11-13 07:50:30 +11:00
Mark Andrews
ab5a68b3b1 Merge branch 'backport-require-cmocka-greater-than-or-equal-1.0.0-v9_11' into 'v9_11'
require cmocka >= 1.0.0

See merge request isc-projects/bind9!1024
2018-11-12 03:03:17 -05:00
Mark Andrews
58812a4641 define CMOCKA_CFLAGS and CMOCKA_LIBS
(cherry picked from commit 1e8cdc20f3)
2018-11-12 18:42:58 +11:00
Mark Andrews
0c738a5673 require cmocka >= 1.0.0
(cherry picked from commit f3ff5f63ac)
2018-11-12 18:42:58 +11:00
Mark Andrews
c8d522dd36 Merge branch '351-fix-with-cmocka=path-build-v9_11' into 'v9_11'
Resolve "configure fails unless --enable-developer is specified"

See merge request isc-projects/bind9!1021
2018-11-12 01:49:36 -05:00
Ondřej Surý
6b50da7ba8 Use cmocka_set_message_output as test function for cmocka presence
(cherry picked from commit 0158c1a4ea)
2018-11-12 17:25:30 +11:00
Mark Andrews
8da45fcab7 Merge branch '351-disable-cmocka-by-default-v9_11' into 'v9_11'
Resolve "configure fails unless --enable-developer is specified"

See merge request isc-projects/bind9!1018
2018-11-12 00:24:29 -05:00
Ondřej Surý
760e336e89 Set with_cmocka=no by default
(cherry picked from commit ed8000f333)
2018-11-12 00:01:24 -05:00
Mark Andrews
7d2451460d Merge branch '676-isc_result_toid-tables-not-complete-v9_11' into 'v9_11'
Resolve "isc_result_toid tables not complete"

See merge request isc-projects/bind9!1017
2018-11-11 23:58:05 -05:00
Evan Hunt
181c5442b9 convert result tests to use CMocka instead of ATF
(cherry picked from commit 471110933a)
2018-11-12 15:38:50 +11:00
Mark Andrews
af5a051e4d check result tables are complete
(cherry picked from commit 4f04a79250)
2018-11-12 15:32:58 +11:00
Mark Andrews
c9e712e528 Merge branch '250-integrate-cmocka-into-our-build-scripts-v9_11' into 'v9_11'
Add cmocka support to infrastructure (build) files

See merge request isc-projects/bind9!1015
2018-11-11 21:10:13 -05:00
Ondřej Surý
22c0f129ae Add support for cmocka assert testing by overriding REQUIRE/INSIST/... macros when UNIT_TESTING is defined
(cherry picked from commit 52731c000d)
2018-11-12 12:56:15 +11:00
Ondřej Surý
2dcc521b29 Add --wrap linker option detection
(cherry picked from commit 10535d1c79)
2018-11-12 12:54:59 +11:00
Ondřej Surý
4c8112ec01 Enforce TAP output from cmocka based unit tests
(cherry picked from commit bd2ddec58f)
2018-11-12 12:53:21 +11:00
Ondřej Surý
b0745fb156 Integrate cmocka unit testing framework to kyua
(cherry picked from commit 07910f0153)
2018-11-12 12:53:15 +11:00
Ondřej Surý
dc05021a4b Merge branch '451-fix-atomic-int-lock-free-usage-v9_11' into 'v9_11'
(v9_11) Properly use ATOMIC_*_LOCK_FREE preprocessor constants

See merge request isc-projects/bind9!1003
2018-11-08 17:19:16 -05:00
Ondřej Surý
9000f73ba3 Properly use ATOMIC_*_LOCK_FREE preprocessor constants
The ATOMIC_*_LOCK_FREE can evalutate either 0, 1, or 2 which indicate the
lock-free property of the corresponding atomic types (both signed and unsigned).

	Value	Explanation
	-----	--------------------------------------
	  0	The atomic type is never lock-free
	  1	The atomic type is sometimes lock-free
	  2	The atomic type is always lock-free
	-----	--------------------------------------

(cherry picked from commit a5e7901eb9)
2018-11-09 05:00:32 +07:00
Ondřej Surý
9e978d7416 Merge branch '449-isc_stdtime_t-post-stdint-cleanup-v9_11' into 'v9_11'
(v9_11) Resolve "Follow-up from "Redefine ISC's int and boolean types to use <stdint.h> and <stdbool.h> types""

See merge request isc-projects/bind9!1002
2018-11-08 15:19:31 -05:00
Ondřej Surý
ba263b5b7e isc_stdtime_t is always 32-bit now, so remove the always true macro STDTIME_ON_32BITS
(cherry picked from commit 6f5fe11f5a)
2018-11-09 03:04:22 +07:00
Ondřej Surý
ecc40b18e6 Merge branch '656-add-support-for-utimaco-hsm-v9_11' into 'v9_11'
Resolve "Add support for Utimaco HSM"

See merge request isc-projects/bind9!972
2018-11-08 12:34:22 -05:00
Ondřej Surý
ebe63fd316 Add CHANGES entry for GL #656 2018-11-09 00:12:39 +07:00
Ondřej Surý
52784fc3cc Disable runtime detection of md5 and sha1 support for Utimaco HSM.
Utimaco HSM requires user to be logged in before executing DigestUpdate, thus
breaking dst_lib_init2 that ran isc_md5_check and isc_sha1_check before sending
PIN to the HSM.  Therefore isc_*_check needs to be disabled when Utimaco HSM is
being used as PKCS#11 library.
2018-11-09 00:07:55 +07:00
Ondřej Surý
2079e44fb9 Define PK11_UTIMACO_FLAVOR and add detection code to configure.ac 2018-11-09 00:07:44 +07:00
Ondřej Surý
62819dcfba Merge branch '305-misc-fixes-v9_12-v9_11' into 'v9_11'
(v9_11) Miscellaneous style fixes - implicit casts to bool and uninitialized variables fixes

See merge request isc-projects/bind9!995
2018-11-08 11:15:03 -05:00
Ondřej Surý
29601a6e7e Disable Ed448 algorithm, the implementation in BIND 9 is incomplete and broken
(cherry picked from commit 03c7bb9ab3)
2018-11-08 22:42:52 +07:00
Ondřej Surý
c5b54803cd Remove dummy ISLOCKED macro
(cherry picked from commit 68ca987792)
(cherry picked from commit 5ad72603a8)
2018-11-08 22:42:52 +07:00
Ondřej Surý
2f8b28efad Hint the compiler with ISC_UNREACHABLE(); that code after INSIST(0); cannot be reached
(cherry picked from commit 23fff6c569)
(cherry picked from commit 4568669807)
2018-11-08 22:42:52 +07:00
Ondřej Surý
baa5811623 Modify the dbversion_test.c to detect disabled assertions
(cherry picked from commit b992b5b811)
(cherry picked from commit ce6ef5b50e)
2018-11-08 22:03:33 +07:00
Ondřej Surý
6aa63d9349 Add extra return failure after INSIST(0) in default branch
(cherry picked from commit 29c45200e7)
(cherry picked from commit 2a26189256)
2018-11-08 22:03:33 +07:00
Ondřej Surý
d894b2da79 Use larger buffers on snprintf buffer overflow false positives
(cherry picked from commit 4eaf927571)
(cherry picked from commit 65536fb10b)
2018-11-08 22:03:33 +07:00
Ondřej Surý
c576cb2ff6 Don't assert on failed getrlimit call to allow called to handle this gracefully as it already does, just abort where we need to know the numbers
(cherry picked from commit e2e138a801)
(cherry picked from commit 1e6329038b)
2018-11-08 22:03:31 +07:00
Ondřej Surý
f1224b4af1 When ISC assertions are disabled, still execute the condition to prevent unused variable warnings/errors from the compiler
(cherry picked from commit a831e0f72d)
(cherry picked from commit 3d834566f1)
2018-11-08 22:03:00 +07:00
Ondřej Surý
7eb962ee14 Add a GitLab CI job that runs with all assertions disabled
(cherry picked from commit 461ffead1f)
(cherry picked from commit c5825eba40)
2018-11-08 22:03:00 +07:00
Ondřej Surý
12a266211e Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
(cherry picked from commit b2b43fd235)
(cherry picked from commit fcd1569e2b)
2018-11-08 22:02:58 +07:00
Ondřej Surý
9d15323e24 Add small tweaks to the code to fix compilation when ISC assertions are disabled
While implementing the new unit testing framework cmocka, it was found that the
BIND 9 code doesn't compile when assertions are disabled or replaced with any
function (such as mock_assert() from cmocka unit testing framework) that's not
directly recognized as assertion by the compiler.

This made the compiler to complain about blocks of code that was recognized as
unreachable before, but now it isn't.

The changes in this commit include:

* assigns default values to couple of local variables,
* moves some return statements around INSIST assertions,
* adds __builtin_unreachable(); annotations after some INSIST assertions,
* fixes one broken assertion (= instead of ==)

(cherry picked from commit fbd2e47f51)
(cherry picked from commit b222783ae9)
2018-11-08 22:00:49 +07:00
Mark Andrews
76983d693e Merge branch 'wpk-get-rid-of-bashism-in-CDS-test-v9_11' into 'v9_11'
Small system tests fixes for Solaris

See merge request isc-projects/bind9!992
2018-11-07 20:36:40 -05:00
Witold Krecicki
2db31ececa Remove unnecessary sed from autosign test
(cherry picked from commit 82dfb77328)
2018-11-08 12:26:04 +11:00
Witold Krecicki
4b9d115e35 Use 'local' variable in echo functions in tests
(cherry picked from commit 0949b1fe2c)
2018-11-08 12:26:01 +11:00
Mark Andrews
93efc4724f Merge branch '653-idnout-only-on-tty-v9_11' into 'v9_11'
Enable idnout output only on tty, disable it when the stdout is not a tty

See merge request isc-projects/bind9!984
2018-11-06 19:50:15 -05:00
Ondřej Surý
0dd034d66b Add CHANGES entry for GL #653
(cherry picked from commit 9c0c44405c)
2018-11-07 11:37:11 +11:00
Ondřej Surý
31a974bc05 Add release notes for IDN processing update
(cherry picked from commit 2a11a7dd29)
2018-11-07 11:37:11 +11:00
Ondřej Surý
96f621bbef Update the IDN documentation for nslookup
(cherry picked from commit b659765869)
2018-11-07 11:37:11 +11:00
Ondřej Surý
45f99ab755 Change the dig documentation
(cherry picked from commit 7697923eab)
2018-11-07 11:37:11 +11:00
Ondřej Surý
ec6bb32c6a Update the idna tests for the new non-tty defaults
(cherry picked from commit e8c57a78aa)
2018-11-07 11:37:11 +11:00
Ondřej Surý
8e1cc95c94 Enable IDN processing (both idnin and idnout) only on tty, disable it when the stdout is not a tty
(cherry picked from commit 0e1bf7d017)
2018-11-06 17:36:48 +11:00
Mark Andrews
67401ba29c Merge branch '601-build-option-with-python-should-default-to-yes-v9_11' into 'v9_11'
Resolve "Build option --with-python should default to yes"

See merge request isc-projects/bind9!982
2018-11-06 00:52:41 -05:00
Mark Andrews
0768f54fd2 require python to be explicitly disabled
(cherry picked from commit bf8746126c)
2018-11-06 16:44:06 +11:00
Mark Andrews
9f15b9d80a Merge branch '617-if-rrl-is-configured-the-require-server-cookie-yes-is-ignored-v9_11' into 'v9_11'
Resolve "If RRL is configured the "require-server-cookie yes;" is ignored."

See merge request isc-projects/bind9!978
2018-11-05 18:52:38 -05:00
Mark Andrews
cc35795b07 add CHANGES note
(cherry picked from commit a868f335d2)
2018-11-06 10:34:45 +11:00
Mark Andrews
636e435e11 test require-server-cookie with rate-limit
(cherry picked from commit 164370102a)
2018-11-06 10:33:35 +11:00
Mark Andrews
f4bea4002a check requireservercookie even if rrl is configured
(cherry picked from commit d6f6eeda9d)
2018-11-06 10:33:32 +11:00
Mark Andrews
f59644a145 Merge branch '649-resolver-test-failing-v9_11' into 'v9_11'
Resolve "resolver test failing"

See merge request isc-projects/bind9!961
2018-10-31 01:51:15 -04:00
Mark Andrews
f21e5369a5 use new packet for response; rename variable to request and response
(cherry picked from commit 280d0ca507)
2018-10-31 16:38:48 +11:00
Evan Hunt
dea184741e Merge branch 'silence-warning-v9_11' into 'v9_11'
silence warning from missing print.h

See merge request isc-projects/bind9!957
2018-10-30 11:11:24 -04:00
Evan Hunt
6690b9e5a3 silence warning from missing print.h
(cherry picked from commit a0de6707c0)
2018-10-30 08:09:44 -07:00
Michał Kępień
131e26e671 Merge branch '644-fix-isc_buffer_copyregion-for-auto-reallocated-buffers-v9_11' into 'v9_11'
[v9_11] Fix isc_buffer_copyregion() for auto-reallocated buffers

See merge request isc-projects/bind9!951
2018-10-30 08:52:28 -04:00
Michał Kępień
1a69df0211 Add CHANGES entry
5072.	[bug]		Add unit tests for isc_buffer_copyregion() and fix its
			behavior for auto-reallocated buffers. [GL #644]

(cherry picked from commit 07050fb49a)
2018-10-30 13:34:49 +01:00
Michał Kępień
00bc5bf6bd Fix isc_buffer_copyregion() for auto-reallocated buffers
While isc_buffer_copyregion() calls isc_buffer_reserve() to ensure the
target buffer will have enough available space to append the contents of
the source region to it, the variables used for subsequently checking
available space are not updated accordingly after that call.  This
prevents isc_buffer_copyregion() from working as expected for
auto-reallocated buffers: ISC_R_NOSPACE will be returned if enough space
is not already available in the target buffer before it is reallocated.
Fix by calling isc_buffer_used() and isc_buffer_availablelength()
directly instead of assigning their return values to local variables.

(cherry picked from commit e1f0aed034)
2018-10-30 13:34:49 +01:00
Michał Kępień
b549996d58 Add unit tests for isc_buffer_copyregion()
Add some basic checks for isc_buffer_copyregion() to ensure it behaves
as expected for both fixed-size buffers and buffers which can be
automatically reallocated.  Adjust the list of headers included by
lib/isc/tests/buffer_test.c so that it matches what that test program
really uses.

(cherry picked from commit 15440d8027)
2018-10-30 13:34:48 +01:00
Ondřej Surý
31dba79733 Merge branch 'ondrej/cleanup-leftover-fatal-v9_11' into 'v9_11'
(v9_11) Remove double result check leftover

See merge request isc-projects/bind9!948
2018-10-30 08:10:33 -04:00
Ondřej Surý
a437c42521 Remove double result check leftover
(cherry picked from commit 065ff16e40)
2018-10-30 13:00:51 +01:00
Mark Andrews
6ee7fd95e7 Merge branch '631-dns_rdata_compare-for-nxt-performs-case-sensitive-name-comparison-v9_11' into 'v9_11'
Resolve "dns_rdata_compare() for NXT performs case sensitive name comparison"

See merge request isc-projects/bind9!942
2018-10-30 00:26:20 -04:00
Mark Andrews
a037959ae3 add CHANGES note
(cherry picked from commit 921bc89f59)
2018-10-30 15:13:22 +11:00
Mark Andrews
e646307f91 compare_nxt compared records with identical next fields case insensitively
(cherry picked from commit cf83016682)
2018-10-30 15:10:55 +11:00
Mark Andrews
3b6346b5a3 Merge branch 'move-declaration-of-pending-v9_11' into 'v9_11'
move declaration of pending

See merge request isc-projects/bind9!940
2018-10-29 20:55:58 -04:00
Mark Andrews
375df38a4a move declaration of pending
(cherry picked from commit bc53e5e5d4)
2018-10-30 11:55:12 +11:00
Mark Andrews
e93e971fea Merge branch '638-record-types-with-empty-rdata-fields-were-not-being-handled-correctly-v9_11' into 'v9_11'
Resolve "Record types with empty rdata fields were not being handled correctly."

See merge request isc-projects/bind9!938
2018-10-29 20:28:26 -04:00
Mark Andrews
67816c747d document eol
(cherry picked from commit 97a680e5ce)
2018-10-30 11:18:06 +11:00
Mark Andrews
9b0a277490 Record types which support a empty rdata field were not handling the empty rdata field case.
(cherry picked from commit 2ff57d8a39)
2018-10-30 11:17:59 +11:00
Evan Hunt
c4cc5c3836 Merge branch '641-unquoted-rpz-v9_11' into 'v9_11'
allow unquoted response-policy zone names

See merge request isc-projects/bind9!935
2018-10-29 13:14:24 -04:00
Evan Hunt
dc59f82011 allow unquoted response-policy zone names
(cherry picked from commit 507230aa88)
2018-10-29 10:00:27 -07:00
Mark Andrews
f735b3c61b Merge branch '635-unchecked-return-in-query-c-v9_11' into 'v9_11'
Resolve "unchecked return in query.c"

See merge request isc-projects/bind9!931
2018-10-29 03:39:04 -04:00
Mark Andrews
332e0bc3c2 always call RUNTIME_CHECK(result == ISC_R_SUCCESS); for dns_rdata_tostruct
(cherry picked from commit e11cfafff2)
2018-10-29 18:30:16 +11:00
Mark Andrews
78619cc129 Merge branch '553-socket-c-2171-unexpected-error-v9_11' into 'v9_11'
Only set IPV6_USE_MIN_MTU on IPv6.

See merge request isc-projects/bind9!927
2018-10-29 02:43:28 -04:00
Mark Andrews
bf299d5ee1 Only set IPV6_USE_MIN_MTU on IPv6.
(cherry picked from commit 561b780ba0)
2018-10-29 17:29:36 +11:00
Mark Andrews
39f3fefc74 Merge branch '624-lib-dns-dnstap_test-totext-does-not-work-well-with-softhsm-pkcs11-v9_11' into 'v9_11'
Resolve "lib/dns/dnstap_test:totext does not work well with SoftHSM PKCS11"

See merge request isc-projects/bind9!923
2018-10-29 01:46:54 -04:00
Mark Andrews
a7fb84e783 Initalize TZ environment variable before calling dns_test_begin in dnstap_test.
(cherry picked from commit 1cf1254051)
2018-10-29 16:36:25 +11:00
Evan Hunt
d1d42ef30d Merge branch '626-implement-eid-and-nimloc-v9_11' into 'v9_11'
Resolve "Implement EID and NIMLOC"

See merge request isc-projects/bind9!914
2018-10-25 18:44:48 -04:00
Mark Andrews
9674fdcbfb Add support for EID and NIMLOC
(cherry picked from commit fbab100426)
2018-10-25 15:31:32 -07:00
Evan Hunt
829a61d5e0 Merge branch '627-check-that-gid-uid-and-uinfo-can-be-loaded-using-unknown-record-format-v9_11' into 'v9_11'
Resolve "Check that GID, UID and UINFO can be loaded using unknown record format."

See merge request isc-projects/bind9!912
2018-10-25 16:47:02 -04:00
Mark Andrews
e3a812507f GID, UID and UINFO could not be loaded using unknown record format.
(cherry picked from commit eb7ca65b78)
2018-10-25 13:35:37 -07:00
Michał Kępień
7b082d031a Merge branch 'prep-release-v9_11_5' into 'v9_11'
prep 9.11.5

See merge request isc-projects/bind9!904
2018-10-25 08:30:42 -04:00
Tinderbox User
6baa5c8fb0 prep 9.11.5 2018-10-25 14:00:49 +02:00
Michał Kępień
ef28ac9b9c Merge branch '427-list-zones-in-the-web-interface-v9_11' into 'v9_11'
[v9_11] Display a per-view list of zones in the web interface

See merge request isc-projects/bind9!900
2018-10-25 04:39:29 -04:00
Michał Kępień
45c5968fc1 Add CHANGES entry
5059.	[bug]		Display a per-view list of zones in the web interface.
			[GL #427]

(cherry picked from commit d9c4068cc3)
2018-10-25 10:23:51 +02:00
Michał Kępień
149aa691a6 Display a per-view list of zones in the web interface
The XSL stylesheet used by the web interface does not currently include
any element which would cause a list of zones configured in each view to
be displayed, making the "Zones" section of the web interface empty
unless some zone has been configured with "zone-statistics full;" and
queried.  Since this can be confusing, modify the XSL stylesheet so that
a list of zones configured in each view is displayed in the web
interface.

(cherry picked from commit aeda3f389e)
2018-10-25 10:23:17 +02:00
Michał Kępień
21522d3e1d Merge branch '582-fix-server-addresses-configuration-type-v9_11' into 'v9_11'
[v9_11] Fix the configuration type used by the "server-addresses" option

See merge request isc-projects/bind9!898
2018-10-25 03:22:26 -04:00
Michał Kępień
e55a09c10b Add CHANGES entry
5051.	[doc]		Documentation incorrectly stated that the
			"server-addresses" static-stub zone option accepts
			custom port numbers. [GL #582]

(cherry picked from commit 6b1c0a8e6f)
2018-10-25 09:05:39 +02:00
Michał Kępień
9e204a3376 Fix the configuration type used by the "server-addresses" option
Contrary to what the documentation states, the "server-addresses"
static-stub zone option does not accept custom port numbers.  Fix the
configuration type used by the "server-addresses" option to ensure
documentation matches source code.  Remove a check_zoneconf() test which
is unnecessary with this fix in place.

(cherry picked from commit b324576858)
2018-10-25 09:04:43 +02:00
Mark Andrews
98f3820d4b Merge branch '619-implement-atma-v9_11' into 'v9_11'
Resolve "Implement ATMA"

See merge request isc-projects/bind9!894
2018-10-24 23:30:03 -04:00
Mark Andrews
1828ba389d Add support for ATMA
(cherry picked from commit f9ceddd8ca)
2018-10-25 14:17:29 +11:00
Mark Andrews
247336ec29 Merge branch '609-address-memory-leak-on-error-v9_11' into 'v9_11'
Resolve "Address memory leak on error"

See merge request isc-projects/bind9!892
2018-10-24 23:05:22 -04:00
Mark Andrews
169b5ee36f expand the pool then copy over the old entries so we that failures do not break the old pool; also don't leak the new pool on error
(cherry picked from commit afde30fe9b)
2018-10-25 13:20:14 +11:00
Mark Andrews
df57c4b74b Merge branch '610-address-memory-leak-on-error-v9_11' into 'v9_11'
Resolve "Address memory leak on error"

See merge request isc-projects/bind9!884
2018-10-23 21:12:25 -04:00
Mark Andrews
36a0bf14e9 free key on error
(cherry picked from commit 607c2d7441)
2018-10-24 11:57:57 +11:00
Ondřej Surý
d56d6db639 Merge branch '4-rename-configure.in-to-configure.ac-v9_11' into 'v9_11'
[v9_11]: Rename configure.in to configure.ac

See merge request isc-projects/bind9!874
2018-10-23 04:13:20 -04:00
Ondřej Surý
a586ae7793 Rename configure.in to configure.ac 2018-10-23 10:00:42 +02:00
Michał Kępień
8b3f08c9ea Merge branch '565-automatically-trigger-gitlab-pages-pipelines-v9_11' into 'v9_11'
[v9_11] Automatically trigger GitLab Pages pipelines

See merge request isc-projects/bind9!868
2018-10-20 18:01:54 -04:00
Michał Kępień
bc9ca361ad Automatically trigger GitLab Pages pipelines
Whenever master or one for the v9_* branches gets updated, the current
ARM should be published on GitLab Pages.  Add a pipeline stage which
takes care of triggering GitLab Pages pipelines.  Extend the lifetime of
artifact archives containing the ARM to prevent GitLab Pages pipelines
from failing due to artifacts being unavailable.

(cherry picked from commit 31bde118db)
2018-10-20 23:29:47 +02:00
Michał Kępień
924c26ba3d Merge branch '565-generate-the-arm-during-ci-v9_11' into 'v9_11'
[v9_11] Generate the ARM during CI

See merge request isc-projects/bind9!865
2018-10-20 06:17:14 -04:00
Michał Kępień
3cfe2e0fa7 Generate the ARM during CI
Add a CI job which generates the HTML version of the ARM and makes it
available for download.  Since this is expected to be a quick process,
the new job is enabled for all pipelines.

(cherry picked from commit 3f443468e0)
2018-10-19 22:43:06 +02:00
Michał Kępień
2b1e14acbf Merge branch 'fix-ci-v9_11' into 'v9_11'
[v9_11] Fix CI

See merge request isc-projects/bind9!862
2018-10-19 16:41:23 -04:00
Michał Kępień
f5260a8535 Fix CI
Use GitLab Registry for CI purposes.  Disable EdDSA support for Debian
sid since the OpenSSL version shipped with it has broken Ed448 support.
Use /dev/urandom as the random device in the "ecdsa" system test to
prevent newer OpenSSL versions from running out of entropy when
verifying ECDSA signatures.

(cherry picked from commit e5ebc13989)
2018-10-19 22:25:06 +02:00
Mark Andrews
b4df4ff044 Merge branch '578-make-the-chained-delegations-in-reclimit-behave-like-they-would-in-a-regular-name-server-v9_11' into 'v9_11'
Resolve "Make the chained delegations in reclimit behave like they would in a regular name server."

See merge request isc-projects/bind9!842
2018-10-03 23:33:02 -04:00
Mark Andrews
40e1234ac4 add CHANGES
(cherry picked from commit f1308ef186)
2018-10-04 13:22:25 +10:00
Mark Andrews
052e68f3b2 add bin/tests/system/reclimit/ans4/ans.pl
(cherry picked from commit ae77468e63)
2018-10-04 13:22:25 +10:00
Mark Andrews
32d48b8290 reclimit: delegate to ans4 so that ans2 can behave like a real name server
(cherry picked from commit a216135a15)
2018-10-04 13:22:24 +10:00
Mark Andrews
975f09f79a Merge branch '568-the-chain-system-test-is-missing-a-delegation-v9_11' into 'v9_11'
Resolve "the chain system test is missing a delegation."

See merge request isc-projects/bind9!839
2018-10-03 22:39:43 -04:00
Mark Andrews
08d160ae27 add CHANGES note
(cherry picked from commit e97199b0d0)
2018-10-04 12:30:05 +10:00
Mark Andrews
08bc58ca7a chain: change nameserver name so that the delegation matches
(cherry picked from commit 848e42227e)
2018-10-04 12:29:54 +10:00
Mark Andrews
405631c9d8 chain: add 'start test' messages to named.run
(cherry picked from commit 524c1317f7)
2018-10-04 12:29:53 +10:00
Mark Andrews
c635b31756 Merge branch 'update-log-fix-v9_11' into 'v9_11'
make update_log() work if zone is not set

See merge request isc-projects/bind9!835
2018-10-03 03:00:56 -04:00
Evan Hunt
d9849bb589 make update_log() work if zone is not set
- update_log() is called to log update errors, but if those errors
  occur before the zone is set (for example, when returning NOTAUTH)
  it returns without logging anything.

(cherry picked from commit 395f6a1474)
2018-10-03 02:39:37 -04:00
Mark Andrews
f8453f45f7 Merge branch 'irs_buflen_socklen-v9_11' into 'v9_11'
Fix arch-dependent getnameinfo types

See merge request isc-projects/bind9!836
2018-10-03 02:36:48 -04:00
Petr Menšík
2b91689473 Fix arch-dependent getnameinfo types
getnameinfo() parameters are detected by configure. Current glibc uses
socklen_t for BUFLEN and int for flags. Because that parameters are
tested only as fallback, it does detect it different way on 32-bit
system. socklen_t is compatible with size_t type on these systems.
Try all variants with int flags, use unsigned flags as last resort.

(cherry picked from commit b427dcce83)
2018-10-03 16:36:14 +10:00
Mark Andrews
6468892106 Merge branch '569-zero-system-test-failed-to-set-ret-0-and-send-output-to-dev-null-v9_11' into 'v9_11'
Resolve "zero system test failed to set ret=0 and send output to /dev/null"

See merge request isc-projects/bind9!833
2018-10-03 01:49:26 -04:00
Mark Andrews
2b5cb47cfd zero: send grep output to /dev/null; set ret=0 at start of 'check repeated recursive lookups of non recurring TTL=0 responses get new values' test so the failed subtest count is correct
(cherry picked from commit a6507af9e3)
2018-10-03 15:38:55 +10:00
Evan Hunt
401c6476dd Merge branch '543-couple-more-windows-build-fixes-v9_12-v9_11' into 'v9_11'
Couple additional Windows build fixes in VCX files

See merge request isc-projects/bind9!828
2018-10-02 13:41:46 -04:00
Thomas Jach
56e54fb695 Couple additional Windows build fixes in VCX files
(cherry picked from commit f2d6b1b859)
(cherry picked from commit b39bd2816e)
2018-10-02 10:41:18 -07:00
Mark Andrews
0d43513009 Merge branch '420-reading-from-master-files-could-sometime-fail-to-preserve-the-case-of-the-owner-name-v9_11' into 'v9_11'
Resolve "reading from master files could sometime fail to preserve the case of the owner name."

See merge request isc-projects/bind9!823
2018-10-02 01:46:12 -04:00
Mark Andrews
8ee0bbc4b9 Add CHANGES note.
(cherry picked from commit 4fcdad292d)
2018-10-02 15:29:08 +10:00
Mark Andrews
c7766cee64 improve case presevation
(cherry picked from commit 0fc1b1bffa)
2018-10-02 15:28:06 +10:00
Tinderbox User
a3131700aa Merge branch 'prep-release' into v9_11 2018-09-29 04:01:35 +00:00
Tinderbox User
186cf94c9a prep 9.11.5rc1 2018-09-29 03:57:26 +00:00
Evan Hunt
a9e4ed033b Merge branch '562-chaos-addresses-v9_11' into 'v9_11'
fix chaosnet address comparison

See merge request isc-projects/bind9!818
2018-09-28 12:08:45 -04:00
Evan Hunt
debb94462f fix chaosnet address comparison
(cherry picked from commit b4dca44ad2)
2018-09-28 09:01:06 -07:00
Evan Hunt
ade2f380fe Merge branch '540-tsig-has-two-consecutive-spaces-when-maclen-is-0-v9_11' into 'v9_11'
Resolve "TSIG has two consecutive spaces when MACLEN is 0"

See merge request isc-projects/bind9!810
2018-09-27 17:37:13 -04:00
Mark Andrews
e4fd1abccf only emit a single space between mac length and the orginal id if the mac length is zero
(cherry picked from commit ac1c3aaa27)
2018-09-27 14:28:59 -07:00
Evan Hunt
2ff91a5143 Merge branch '556-race-condition-in-timer-creation-v9_11' into 'v9_11'
Fix crash caused by race condition in timer creation

See merge request isc-projects/bind9!807
2018-09-27 16:07:57 -04:00
Zhaolong Zhang
f889f48f61 Fix crash caused by race condition in timer creation
The race condition is the timer elapses before isc__timer_create()
returns the pointer to the caller.  Assigning the return pointer before
enabling the timer will fix it.

(cherry picked from commit 21966423cd)
2018-09-27 13:00:05 -07:00
Evan Hunt
b8ab5c6409 Merge branch '542-prevent-a-race-after-zone-load-v9_11' into 'v9_11'
Prevent a race after zone load

See merge request isc-projects/bind9!804
2018-09-26 22:56:10 -04:00
Michał Kępień
e225178ae7 Add CHANGES entry
5034.	[bug]		A race between threads could prevent zone maintenance
			scheduled immediately after zone load from being
			performed. [GL #542]

(cherry picked from commit feb2a41b7c)
2018-09-26 19:46:21 -07:00
Michał Kępień
74cd632f18 Prevent a race after zone load
Zone loading happens in a different task (zone->loadtask) than other
zone actions (zone->task).  Thus, when zone_postload() is called in the
context of zone->loadtask, it may cause zone maintenance to be queued in
zone->task and another thread can then execute zone_maintenance() before
zone_postload() gets a chance to finish its work in the first thread.
This would not be a problem if zone_maintenance() accounted for this
possibility by locking the zone before checking the state of its
DNS_ZONEFLG_LOADPENDING flag.  However, the zone is currently not locked
before the state of that flag is checked, which may prevent zone
maintenance from happening despite zone_postload() scheduling it.  Fix
by locking the zone in zone_maintenance() before checking the state of
the zone's DNS_ZONEFLG_LOADPENDING flag.

(cherry picked from commit 56003e9f9f)
2018-09-26 19:46:21 -07:00
Michał Kępień
696d9d9bac Merge branch 'rename-true-variable' into 'v9_11'
Rename variable named 'true' to 't'

See merge request isc-projects/bind9!794
2018-09-25 03:56:50 -04:00
Ondřej Surý
6c24c7da18 Enable DIG_SIGCHASE on Centos 7 build 2018-09-25 09:48:35 +02:00
Ondřej Surý
c8db386484 Rename variable named 'true' to 't' 2018-09-25 09:48:35 +02:00
Evan Hunt
9d528332a6 Merge branch 'fix-typo-v9_11' into 'v9_11'
fix a typo in usage output

See merge request isc-projects/bind9!798
2018-09-24 18:42:22 -04:00
Evan Hunt
1d9024736e fix a typo in usage output
(cherry picked from commit e7c99e42f3)
2018-09-24 15:32:33 -07:00
Evan Hunt
0f8952380c Merge branch '105-nta-all-v9_11' into 'v9_11'
Resolve "[RT#44623] RNDC NTA option to add NTA to all views"

See merge request isc-projects/bind9!782
2018-09-10 16:26:39 -04:00
Evan Hunt
7aeca55750 CHANGES, release notes
(cherry picked from commit 2f6ba87ab9)
2018-09-10 13:18:36 -07:00
Evan Hunt
1f72e316b9 add -class option to rndc nta
(cherry picked from commit cc0abf62a1)
2018-09-10 13:18:35 -07:00
Evan Hunt
af3bada56e report when NTAs added to multiple views
- the text returned by "rndc nta" when adding NTAs to multiple views
  was incorrectly terminated after the first line, so users only saw
  on NTA added unless they checked the logs.

(cherry picked from commit 83dc5a704a)
2018-09-10 13:18:33 -07:00
Evan Hunt
70ecd90b30 Merge branch 'report-compiler-version-v9_11' into 'v9_11'
report "$CC --version" output as part of the configure summary

See merge request isc-projects/bind9!780
2018-09-10 13:11:50 -04:00
Evan Hunt
ee8cb1b480 report "$CC --version" output as part of the configure summary
(cherry picked from commit a6f43574a0)
2018-09-10 10:03:30 -07:00
Mark Andrews
3b4eaa712a Merge branch '511-add-ms-selfsub-and-krb5-selfsub-v9_11' into 'v9_11'
Resolve "add ms-selfsub and krb5-selfsub"

See merge request isc-projects/bind9!778
2018-09-10 03:53:57 -04:00
Mark Andrews
7861801acb add CHANGES and release notes documentation
(cherry picked from commit f924c89f97)
2018-09-10 17:45:49 +10:00
Mark Andrews
837f1a4bc4 update util/copyrights
(cherry picked from commit 4aa6a118de)
2018-09-10 17:45:48 +10:00
Mark Andrews
5413abae7d add more missing name in update rule checks
(cherry picked from commit d1f8e116db)
2018-09-10 17:45:48 +10:00
Mark Andrews
7cec76e222 add krb5-* tests to nsupdate system test.
(cherry picked from commit 54c4db569b)
2018-09-10 17:45:48 +10:00
Mark Andrews
2b1beb052d add test addresses 10.53.0.{9,10} and fd92:7065:b8e:ffff::{9,10} 2018-09-10 17:45:48 +10:00
Mark Andrews
b2ffe56fc5 add krb5-selfsub and ms-selfsub
(cherry picked from commit fbeefd4990)
2018-09-10 17:40:19 +10:00
Mark Andrews
6ff17d94bf check that name field is not a valid type
(cherry picked from commit 5fb75a3d75)
2018-09-10 17:25:07 +10:00
Mark Andrews
dbaf32a667 fix dns_ssumatchtype_subdomainms dns_ssumatchtype_subdomainkrb5 as they don't require the name field to be '.'
(cherry picked from commit 156d86e673)
2018-09-10 17:25:07 +10:00
Mark Andrews
2f87a517b1 Merge branch '532-master-doesn-t-build-on-macos-due-to-class-of-align-macros-v9_11' into 'v9_11'
Resolve "master doesn't build on MacOS due to class of ALIGN macros"

See merge request isc-projects/bind9!776
2018-09-09 19:39:43 -04:00
Mark Andrews
ced589e379 avoid macro name collision with system defined macro
(cherry picked from commit 81b133d963)
2018-09-10 09:30:59 +10:00
Evan Hunt
b63e33b043 Merge branch 'patch-2-v9_11' into 'v9_11'
Replace isc-logo.pdf. The one in here is obsolete. If we need a different size…

See merge request isc-projects/bind9!773
2018-09-07 19:12:58 -04:00
Evan Hunt
0e98ea357a update isc-logo.pdf to current logo version, remove isc-logo.eps
(cherry picked from commit ad9bf4c662)
2018-09-07 16:01:40 -07:00
Ondřej Surý
c56d030425 Merge branch '344-add-stdatomic-shim' into 'v9_11'
Provide compatibility stdatomic.h shim when compiled with C++ compiler

See merge request isc-projects/bind9!702
2018-09-07 13:11:38 -04:00
Ondřej Surý
d20fd7b109 Remove excessive inclusion of isc/refcount.h from various header files 2018-09-07 16:55:22 +02:00
Ondřej Surý
b92a1791b3 Use isc/stdatomic.h to switch to __atomic builtins when compiling in C++ mode 2018-09-07 16:55:22 +02:00
Ondřej Surý
76d034c512 Merge branch '521-align-cmsg-buffers-v9_11' into 'v9_11'
(v9_11) Resolve "BIND 9.11.4 terminates with SIGBUS error when compiled with Oracle Developer Studio 12.6"

See merge request isc-projects/bind9!769
2018-09-07 04:39:21 -04:00
Witold Kręcicki
3da95ab2ed Align CMSG buffers to a void* boundary, fixes crash on architectures with strict alignment
CHANGES entry

(cherry picked from commit 17212cf996)
2018-09-07 10:30:12 +02:00
Mark Andrews
68cbc745b6 Merge branch 'cplusplusize_dns_fixedname_h' into 'v9_11'
Add C++ declarations to dns/fixedname.h

See merge request isc-projects/bind9!762
2018-09-05 18:08:29 -04:00
Ondřej Surý
94a1c85366 Add C++ declarations to dns/fixedname.h 2018-09-05 18:00:32 -04:00
Ondřej Surý
5519212aa6 Merge branch 'fail-on-failed-install-v9_12-v9_11' into 'v9_11'
Fail on failed install inside for loops

See merge request isc-projects/bind9!754
2018-09-03 08:00:55 -04:00
Ondřej Surý
302cae89f3 Bail-out early in the for install loops instead of continuing because for masks the error in the middle
(cherry picked from commit 25248eb097)
(cherry picked from commit 3fbceba0a8)
2018-09-03 13:49:35 +02:00
Evan Hunt
a94ae94f35 Merge branch 'solaris-fixes-v9_12-v9_11' into 'v9_11'
Silence some warnings and errors

See merge request isc-projects/bind9!749
2018-08-31 21:02:44 -04:00
Witold Krecicki
eec06494aa Silence some warnings and errors
(cherry picked from commit 0f0dfc7f86)
2018-08-31 17:54:54 -07:00
Mark Andrews
2bb5fc2e9b Merge branch '510-resolver-test-was-failing-v9_11' into 'v9_11'
Resolve "Resolver test was failing"

See merge request isc-projects/bind9!742
2018-08-31 04:53:29 -04:00
Mark Andrews
fb0f34cc71 use pack to construct the reply as Net::DNS just get it wrong
(cherry picked from commit feaf381adb)
2018-08-31 18:44:44 +10:00
Mark Andrews
381ae150b1 Merge branch '418-bind-in-auto-dnssec-mode-should-support-signature-expiration-jitter-v9_11' into 'v9_11'
Resolve "BIND in auto-dnssec mode should support signature expiration jitter"

See merge request isc-projects/bind9!740
2018-08-30 23:20:40 -04:00
Mark Andrews
f58ef89721 add changes note
(cherry picked from commit d68499e1f7)
2018-08-31 13:11:44 +10:00
Mark Andrews
073b2b9d02 report initial RRSIG expiry field values
(cherry picked from commit 8e5abc6cdf)
2018-08-31 13:09:47 +10:00
Mark Andrews
10fdd1aa23 increase jitter to cover the entire potential steady state expire range when initially signing the zone
(cherry picked from commit 050fca2139)
2018-08-31 13:09:40 +10:00
Mark Andrews
0affa7d288 Merge branch '519-unclosed-files-in-lib-dns-tests-zt_test-c-v9_11' into 'v9_11'
Resolve "unclosed files in lib/dns/tests/zt_test.c"

See merge request isc-projects/bind9!738
2018-08-30 22:43:17 -04:00
Mark Andrews
20c79090bd fclose origfile and zonefile
(cherry picked from commit 455bb23236)
2018-08-31 12:25:01 +10:00
Ondřej Surý
67c8314297 Merge branch 'rndc-reconfig-missing-CHANGES_v9_11' into 'v9_11'
Add missing CHANGES entry

See merge request isc-projects/bind9!729
2018-08-29 07:45:40 -04:00
Witold Kręcicki
1987412695 CHANGES entry 2018-08-29 12:12:30 +02:00
Evan Hunt
324ab92dd0 Merge branch 'silence-warning-v9_11' into 'v9_11'
silence "missing print.h" warning

See merge request isc-projects/bind9!725
2018-08-28 19:33:18 -04:00
Evan Hunt
d3add15848 silence "missing print.h" warning
(cherry picked from commit 3c18b7d3fd)
2018-08-28 16:22:15 -07:00
Witold Krecicki
856a137bc9 Merge branch '276-rndc-reconfig-fixes-v911' into 'v9_11'
Resolve "rndc reconfig now performs stat() for all zones"

See merge request isc-projects/bind9!519
2018-08-28 11:02:29 -04:00
Witold Kręcicki
80a025d1a7 rndc reconfig should not stat on existing zones, just load new ones. 2018-08-28 16:53:43 +02:00
Ondřej Surý
ed6ca94f5b Merge branch 'gitlab-ci-dont-run-make-clean-v9_11' into 'v9_11'
Disable make clean at the end of configure step in GitLab CI

See merge request isc-projects/bind9!716
2018-08-28 01:48:33 -04:00
Ondřej Surý
bb17e1fd17 Disable make clean at the end of configure step in GitLab CI
(cherry picked from commit a1d783bbe2)
2018-08-28 07:40:49 +02:00
Mark Andrews
50e5469abf Merge branch 'update-documentation-for-ms-and-krb5-rules-v9_11' into 'v9_11'
update {krb5,ms}-{self,subdomain} descriptions

See merge request isc-projects/bind9!710
2018-08-27 03:09:56 -04:00
Mark Andrews
89122b6d54 add CHANGES note
(cherry picked from commit a3c5c2c29c)
2018-08-27 17:01:15 +10:00
Mark Andrews
61e40c1192 update {krb5,ms}-{self,subdomain} descriptions
(cherry picked from commit 0370d13667)
2018-08-27 17:01:15 +10:00
Mark Andrews
75f1daadc3 Merge branch '487-reset-dig-exit-code-after-a-tcp-connection-is-established-v9_11' into 'v9_11'
Reset dig exit code after a TCP connection is established

See merge request isc-projects/bind9!707
2018-08-27 01:55:36 -04:00
Michał Kępień
027976125f Add CHANGES entry
5020.	[bug]		dig returned a non-zero exit code when it received a
			reply over TCP after a retry. [GL #487]

(cherry picked from commit 59057bee5b)
2018-08-27 14:31:04 +10:00
Michał Kępień
bfdeac09af Reset dig exit code after a TCP connection is established
The "exitcode" variable is set to 9 if a TCP connection fails, but is
not reset to 0 if a subsequent TCP connection succeeds.  This causes dig
to return a non-zero exit code if it succeeds in getting a TCP response
after a retry.  Fix by resetting "exitcode" to 0 if connect_done()
receives an event with the "result" field set to ISC_R_SUCCESS.

(cherry picked from commit deb3b85cb2)
2018-08-27 14:30:51 +10:00
Ondřej Surý
9e44e320c5 Merge branch 'run-update_copyrights-v9_11' into 'v9_11'
[v9_11] Run and check update_copyrights script in precheck stage

See merge request isc-projects/bind9!700
2018-08-24 08:46:21 -04:00
Ondřej Surý
76a910b683 Check update_copyright results in precheck stage
(cherry picked from commit 4016369212)
2018-08-24 08:33:36 -04:00
Ondřej Surý
5a30d71e85 Whitespace fixes
(cherry picked from commit 31b5360943)
2018-08-24 08:33:36 -04:00
Ondřej Surý
a03e5b8791 Cleanup cruft in util/copyrights
(cherry picked from commit 65de91f512)
2018-08-24 08:33:36 -04:00
Ondřej Surý
367ed601c7 Make update_copyrights return error code when error is encountered during processing the files
(cherry picked from commit db3d69263d)
2018-08-24 08:33:36 -04:00
Michał Kępień
e99bc895bd Merge branch '470-log-a-message-when-ixfr-from-differences-is-set-for-an-inline-signed-zone-v9_11' into 'v9_11'
[v9_11] Log a message when "ixfr-from-differences" is set for an inline-signed zone

See merge request isc-projects/bind9!696
2018-08-24 04:35:34 -04:00
Michał Kępień
285736bd18 Add CHANGES entry
5019.	[cleanup]	A message is now logged when ixfr-from-differences is
			set at zone level for an inline-signed zone. [GL #470]

(cherry picked from commit 4fb5d072c2)
2018-08-24 10:24:48 +02:00
Michał Kępień
c84a2342f4 Log a message when "ixfr-from-differences" is set for an inline-signed zone
For inline-signed zones, the value of "ixfr-from-differences" is
hardcoded to:

  - "yes" for the raw version of the zone,
  - "no" for the signed version of the zone.

In other words, any user-provided "ixfr-from-differences" setting is
effectively ignored for an inline-signed zone.  Ensure the user is aware
of that by adding a note to the ARM and logging a message when an
"ixfr-from-differences" option is found at the zone level.

(cherry picked from commit 087157d14f)
2018-08-24 10:24:46 +02:00
Michał Kępień
a31da7182d Merge branch '477-fix-intermittent-mkeys-system-test-failures-v9_11' into 'v9_11'
[v9_11] Fix intermittent "mkeys" system test failures

See merge request isc-projects/bind9!694
2018-08-24 04:10:44 -04:00
Michał Kępień
9a76ffc61f Do not call bin/tools/genrandom unconditionally in system tests
$RANDFILE, i.e. bin/tests/system/random.data, should only be written to
if a system test requires support for cryptography and that file does
not already exist.  Otherwise, when multiple system tests are run in
parallel, that file might get truncated due to bin/tools/genrandom.c
using fopen() with mode "w" when writing the destination file.  With
unfortunate timing, this may cause system tests employing BIND tools
which need entropy (e.g. dnssec-keygen) to fail.

Make sure bin/tests/system/metadata/tests.sh no longer calls
bin/tools/genrandom since $RANDFILE is guaranteed to already be created
by the time bin/tools/genrandom is currently called because
bin/tests/system/metadata/prereq.sh uses bin/tests/system/testcrypto.sh.

Make sure bin/tests/system/sfcache/prereq.sh only writes to $RANDFILE if
it does not already exist.

(cherry picked from commit c12388f5e8)
2018-08-24 09:58:08 +02:00
Michał Kępień
deaf1cff4c Merge branch '491-prevent-a-race-in-the-inline-system-test-v9_11' into 'v9_11'
[v9_11] Prevent a race in the "inline" system test

See merge request isc-projects/bind9!693
2018-08-24 03:55:15 -04:00
Michał Kępień
6831af7717 Prevent a race in the "inline" system test
A short time window exists between logging the addition of an NSEC3PARAM
record to a zone and committing it to the current version of the zone
database.  If a query arrives during such a time window, an unsigned
response will be returned.  One of the checks in the "inline" system
test requires NSEC3 records to be present in an answer - that check
would fail in the case described above.  Use rndc instead of log
watching for checking whether zone signing and NSEC3 chain modifications
are complete in order to prevent intermittent "inline" system test
failures.

(cherry picked from commit e36c869e85)
2018-08-24 09:38:38 +02:00
Mark Andrews
46e439ba8d Merge branch 'fix-non-portable-v9_11' into 'v9_11'
use sizeof(CK_SLOT_ID)

See merge request isc-projects/bind9!690
2018-08-23 21:43:18 -04:00
Mark Andrews
a83b272085 add CHANGES note
(cherry picked from commit 42b16771db)
2018-08-24 11:33:21 +10:00
Mark Andrews
c2c7020057 use sizeof(CK_SLOT_ID)
(cherry picked from commit 2c1d8b2e99)
2018-08-24 11:33:12 +10:00
Mark Andrews
353ed07b58 Merge branch 'value-not-updated-atomically-v9_11' into 'v9_11'
unlink before unlock

See merge request isc-projects/bind9!688
2018-08-23 21:07:28 -04:00
Mark Andrews
d9bb683946 add CHANGES note
(cherry picked from commit 05531d3a86)
2018-08-24 10:58:31 +10:00
Mark Andrews
58e33fcdb4 unlink before unlock
(cherry picked from commit 4742f4ecba)
2018-08-24 10:58:30 +10:00
Mark Andrews
1bbed57e94 Merge branch '445-filter-aaaa-and-dns64-can-both-attempt-to-recurse-for-a-records-at-the-same-time-v9_11' into 'v9_11'
Resolve "filter-aaaa and dns64 can both attempt to recurse for A records at the same time"

See merge request isc-projects/bind9!686
2018-08-23 20:54:08 -04:00
Mark Andrews
70f4f7968b add CHANGES note
(cherry picked from commit c1bc3baf7f)
2018-08-24 10:33:36 +10:00
Mark Andrews
56f8303377 when filter-aaaa and dns64 are both configured a assertion failure could occur
(cherry picked from commit 1056376d10)
2018-08-24 10:33:33 +10:00
Michał Kępień
30a24678c3 Merge branch '435-fix-reloading-inline-signed-zones-v9_11' into 'v9_11'
[v9_11] Fix reloading inline-signed zones

See merge request isc-projects/bind9!675
2018-08-22 06:01:00 -04:00
Michał Kępień
be840f45df Add CHANGES entry
5015.	[bug]		Reloading all zones caused zone maintenance to cease
			for inline-signed zones. [GL #435]

(cherry picked from commit f9931f1d22)
2018-08-22 11:46:12 +02:00
Michał Kępień
cf7557dce0 Fix reloading inline-signed zones
While "rndc reload" causes dns_zone_asyncload() to be called for the
signed version of an inline-signed zone, the subsequent zone_load() call
causes the raw version to be reloaded from storage.  This means that
DNS_ZONEFLG_LOADPENDING gets set for the signed version of the zone by
dns_zone_asyncload() before the reload is attempted, but zone_postload()
is only called for the raw version and thus DNS_ZONEFLG_LOADPENDING is
cleared for the raw version, but not for the signed version.  This in
turn prevents zone maintenance from happening for the signed version of
the zone.

Until commit 749b3cacfc, this problem
remained dormant because DNS_ZONEFLG_LOADPENDING was previously
immediately, unconditionally cleared after zone loading was started
(whereas it should only be cleared when zone loading is finished or an
error occurs).  This behavior caused other issues [1] and thus had to be
changed.

Fix reloading inline-signed zones by clearing DNS_ZONEFLG_LOADPENDING
for the signed version of the zone once the raw version reload
completes.  Take care not to clear it prematurely during initial zone
load.  Also make sure that DNS_ZONEFLG_LOADPENDING gets cleared when
zone_postload() encounters an error or returns early, to prevent other
scenarios from resulting in the same problem.  Add comments aiming to
help explain code flow.

[1] see RT #47076

(cherry picked from commit 5431583971)
2018-08-22 11:46:08 +02:00
Michał Kępień
4f2481b4c2 Merge branch '482-fix-secure-journal-loading-for-inline-signed-zones-v9_11' into 'v9_11'
[v9_11] Set DNS_JOURNALOPT_RESIGN when loading the secure journal for an inline-signed zone

See merge request isc-projects/bind9!673
2018-08-22 05:21:25 -04:00
Michał Kępień
6acf1bc5f7 Add CHANGES entry
5014.	[bug]		Signatures loaded from the journal for the signed
			version of an inline-signed zone were not scheduled for
			refresh. [GL #482]

(cherry picked from commit b3b1a9081b)
2018-08-22 10:56:45 +02:00
Michał Kępień
de6b8ded56 Set DNS_JOURNALOPT_RESIGN when loading the secure journal for an inline-signed zone
When an inline-signed zone is loaded, the master file for its signed
version is loaded and then a rollforward of the journal for the signed
version of the zone is performed.  If DNS_JOURNALOPT_RESIGN is not set
during the latter phase, signatures loaded from the journal for the
signed version of the zone will not be scheduled for refresh.  Fix the
conditional expression determining which flags should be used for the
dns_journal_rollforward() call so that DNS_JOURNALOPT_RESIGN is set when
zone_postload() is called for the signed version of an inline-signed
zone.

Extend bin/tests/system/stop.pl so that it can use "rndc halt" instead
of "rndc stop" as the former allows master file flushing upon shutdown
to be suppressed.

(cherry picked from commit 8db550c42f)
2018-08-22 10:56:42 +02:00
Ondřej Surý
3628082cc9 Merge branch '9-use-C99-integer-types-in-lwres-v9_11' into 'v9_11'
Resolve "Replace custom datatypes (isc_<foo>_t) with C11 equivalents"

See merge request isc-projects/bind9!669
2018-08-22 03:21:09 -04:00
Ondřej Surý
6af3e2412e Add install test job 2018-08-22 09:10:51 +02:00
Ondřej Surý
32a0d602ea We want to install compatibility shim isc/int.h and isc/boolean.h headers 2018-08-22 09:07:39 +02:00
Ondřej Surý
e37e27c560 Update lwres to use stdint types to finish transition to using stdint types 2018-08-22 09:04:02 +02:00
Mark Andrews
71f62894b5 Merge branch 'fix-lock-order-reversal-v9_11' into 'v9_11'
fix lock order reversal

See merge request isc-projects/bind9!667
2018-08-20 23:43:26 -04:00
Mark Andrews
a1235739cd add CHANGES note
(cherry picked from commit 083007e930)
2018-08-21 13:34:03 +10:00
Mark Andrews
d5cef9cd55 fix lock order reversal
(cherry picked from commit 2bb4392bb3)
2018-08-21 13:33:37 +10:00
Mark Andrews
f88536817c Merge branch '9-use-C99-integer-types-fix-install-v9_11' into 'v9_11'
Resolve "Replace custom datatypes (isc_<foo>_t) with C11 equivalents"

See merge request isc-projects/bind9!633
2018-08-14 20:23:32 -04:00
Ondřej Surý
a2ffc37ad3 Don't install removed int.h and boolean.h headers 2018-08-14 20:14:05 -04:00
Mark Andrews
c65f66d2c0 Merge branch '465-missing-check-in-acl_test-c-unit-test-v9_11' into 'v9_11'
Resolve "Missing check in acl_test.c unit test"

See merge request isc-projects/bind9!652
2018-08-14 20:13:08 -04:00
Mark Andrews
49b7ac4d44 add missing ATF_REQUIRE
(cherry picked from commit 0ce82e9d5f)
2018-08-14 19:59:06 -04:00
Evan Hunt
6fe07675f7 Merge branch '474-mempool-is-broken-if-object-size-is-below-the-alignment-size-v9_11' into 'v9_11'
Resolve "mempool is broken if object size is below the alignment size"

See merge request isc-projects/bind9!650
2018-08-14 12:22:49 -04:00
Mark Andrews
a21b1b86dc mempool didn't work for sizes less than sizeof(void*)
(cherry picked from commit 5dd1beec8e)
2018-08-14 09:12:41 -07:00
Michał Kępień
298c1c3a05 Merge branch '476-fix-openssl-error-logging-v9_11' into 'v9_11'
[v9_11] Fix OpenSSL error logging

See merge request isc-projects/bind9!646
2018-08-14 07:11:51 -04:00
Michał Kępień
ffb32dbb32 Add CHANGES entry
5009.	[bug]		Upon an OpenSSL failure, the first error in the OpenSSL
			error queue was not logged. [GL #476]

(cherry picked from commit 218166acf8)
2018-08-14 12:53:47 +02:00
Michał Kępień
0d174c46ff Do not remove errors from the OpenSSL error queue in toresult()
dst__openssl_toresult3() first calls toresult() and subsequently uses
ERR_get_error_line_data() in a loop.  Given this, it is a mistake to use
ERR_get_error() in toresult() because it causes the retrieved error to
be removed from the OpenSSL error queue, thus preventing it from being
retrieved by the subsequent ERR_get_error_line_data() calls.  Fix by
using ERR_peek_error() instead of ERR_get_error() in toresult().

(cherry picked from commit 36436268b5)
2018-08-14 12:53:44 +02:00
Michał Kępień
812002089e Merge branch '471-fix-rbt_insert_and_remove-unit-test-v9_11' into 'v9_11'
[v9_11] Prevent rare rbt_insert_and_remove unit test failures

See merge request isc-projects/bind9!643
2018-08-14 05:11:19 -04:00
Michał Kępień
c6d1239d90 Prevent rare rbt_insert_and_remove unit test failures
When two or more absolute, two-label names are added to a completely
empty RBT, an extra, empty node for the root name will be created due to
node splitting.  check_tree() expects that, but the extra node will not
be created when just one name is added to a completely empty RBT.  This
problem could be handled inside check_tree(), but that would introduce
unnecessary complexity into it since adding a single name will result in
a different node count for a completely empty RBT (node count will be 1)
and an RBT containing only an empty node for the root name, created due
to prior node splitting (node count will be 2).  Thus, first explicitly
create a node for the root name to prevent rare check_tree() failures
caused by a single name being added in the first iteration of the
insert/remove loop.

(cherry picked from commit 13fe763798)
2018-08-14 10:44:59 +02:00
Michał Kępień
b2d4ab89b3 Merge branch '285-make-the-inline-system-test-more-lightweight-v9_11' into 'v9_11'
[v9_11] Make the "inline" system test more lightweight

See merge request isc-projects/bind9!641
2018-08-14 04:39:02 -04:00
Michał Kępień
a3490ef66e Make the "inline" system test more lightweight
Each zone used in the "inline" system test contains a few dozen records.
Over a dozen of these zones are used in the test.  Most records present
in these zones are not subsequently used in the test itself, but all of
them need to be signed by the named instances launched by the test,
which puts quite a bit of strain on lower-end machines, leading to
intermittent failures of the "inline" system test.  Remove all redundant
records from the zones used in the "inline" system test in order to
stabilize it.

(cherry picked from commit 24dd865b97)
2018-08-14 10:16:39 +02:00
Michał Kępień
c4f02b0de4 Merge branch '468-queue-rndc-signing-nsec3param-requests-if-needed-v9_11' into 'v9_11'
[v9_11] Queue "rndc signing -nsec3param ..." requests if needed

See merge request isc-projects/bind9!638
2018-08-14 03:44:58 -04:00
Michał Kępień
2e0856c43d Add CHANGES entry
5008.	[bug]		"rndc signing -nsec3param ..." requests were silently
			ignored for zones which were not yet loaded or
			transferred. [GL #468]

(cherry picked from commit eed6778be4)
2018-08-14 09:29:54 +02:00
Michał Kępień
cbd85e0137 Queue "rndc signing -nsec3param ..." requests if needed
If "rndc signing -nsec3param ..." is ran for a zone which has not yet
been loaded or transferred (i.e. its "db" field is NULL), it will be
silently ignored by named despite rndc logging an "nsec3param request
queued" message, which is misleading.  Prevent this by keeping a
per-zone queue of NSEC3PARAM change requests which arrive before a zone
is loaded or transferred and processing that queue once the raw version
of an inline-signed zone becomes available.

(cherry picked from commit cb40c5229a)
2018-08-14 09:29:54 +02:00
Ondřej Surý
8632fb1cd8 Merge branch '462-full-recv-queue-on-netbsd-v9_11' into 'v9_11'
Resolve "Full Recv-Queue"

See merge request isc-projects/bind9!631
2018-08-13 13:33:34 -04:00
Ondřej Surý
af6fe731fb Make ENOBUFS a soft error
(cherry picked from commit ebf3083e08)
2018-08-13 19:23:21 +02:00
Ondřej Surý
dca5c44e70 Merge branch 'fix-extra-ending-brace-in-dnstap-code-v9_11' into 'v9_11'
Fix extra closing parenthesis in DNSTAP code

See merge request isc-projects/bind9!625
2018-08-12 10:27:22 -04:00
Ondřej Surý
8ad12f613e Fix extra closing parenthesis in DNSTAP code 2018-08-12 16:12:14 +02:00
Ondřej Surý
3ae7ae9297 Merge branch '223-fix-vcredist-path-v9_11' into 'v9_11'
Resolve "Fix for Configure to find the path to VC++ redistributables under Visual Studio 2017"

See merge request isc-projects/bind9!619
2018-08-11 06:06:05 -04:00
Ondřej Surý
71059dac02 Fix various build failures on Windows (Courtesy of rockerinthelocker) 2018-08-11 05:57:52 -04:00
Ondřej Surý
48facc5892 Remove non-existant GUIDs from bind9.sln.in 2018-08-11 05:57:52 -04:00
Ondřej Surý
2dccdf935d Merge branch 'fix-missing-config.h-v9_12-v9_11' into 'v9_11'
Fix missing config.h in win32/socket.c and replace config.h with <config.h>

See merge request isc-projects/bind9!624
2018-08-11 05:53:40 -04:00
Ondřej Surý
bfd31e282a Fix missing config.h in win32/socket.c and replace config.h with <config.h>
(cherry picked from commit d87c1a120d)
2018-08-11 11:00:50 +02:00
Ondřej Surý
bae00dc3a2 Merge branch '469-typo-in-validate-glue-branch-v9_11' into 'v9_11'
Resolve "Typo in validate-glue branch"

See merge request isc-projects/bind9!622
2018-08-11 04:32:36 -04:00
Ondřej Surý
8305d846bd Fix !!validate typo to -> !validate
(cherry picked from commit bdc9860262)
2018-08-11 10:24:54 +02:00
Ondřej Surý
8f5f920a28 Merge branch '9-use-C99-integer-types-v9_12-v9_11' into 'v9_11'
Redefine ISC's int and boolean types to use <stdint.h> and <stdbool.h> types

See merge request isc-projects/bind9!616
2018-08-10 09:45:34 -04:00
Ondřej Surý
0a10dfa524 Add compatibility isc/boolean.h and isc/int.h headers
(cherry picked from commit 0dad73aafa)
2018-08-10 15:20:58 +02:00
Ondřej Surý
4c16748e1d Add CHANGES entry
5007.   [cleanup]       Replace custom ISC boolean and integer data types
                        with C99 stdint.h and stdbool.h types. [GL #9]

(cherry picked from commit 75c2356f42)
(cherry picked from commit b6c281ee7c)
2018-08-10 15:20:58 +02:00
Ondřej Surý
eb745a2125 Remove duplicate config.h
(cherry picked from commit 7351c505a0)
(cherry picked from commit 2844f6529d)
2018-08-10 15:20:58 +02:00
Ondřej Surý
1084b40b44 Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
(cherry picked from commit 884929400c)
2018-08-10 15:20:57 +02:00
Ondřej Surý
aaa76dc654 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
(cherry picked from commit d61e6a3111)
2018-08-10 15:20:57 +02:00
Ondřej Surý
07970c501d Get rid of extra UINT64_MAX definition in lib/isc/win32/time.c
(cherry picked from commit 055278c936)
(cherry picked from commit 3523850065)
2018-08-10 15:20:57 +02:00
Ondřej Surý
bfc6a25f2d Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
(cherry picked from commit 64fe6bbaf2)
(cherry picked from commit c863a076ae)
2018-08-10 15:20:57 +02:00
Ondřej Surý
68c739d321 Check for C99 compatible compiler
(cherry picked from commit 9e493798c6)
(cherry picked from commit ee22f606ae)
2018-08-10 11:42:43 +02:00
Evan Hunt
791c6087af Merge branch 'security-v9_11' into 'v9_11'
Merge CVE-2018-5740 fix

See merge request isc-projects/bind9!609
2018-08-08 20:00:05 -04:00
Evan Hunt
ba162bd0d4 caclulate nlabels and set *chainingp correctly
(cherry picked from commit e78e55f435)
2018-08-08 14:27:44 -07:00
Tinderbox User
4b0b459e5b prep 9.11.4-P1 2018-08-08 14:27:44 -07:00
Evan Hunt
ebee5bdfe5 CHANGES, release note
(cherry picked from commit 9c492aba65c178f30baafeb5502013f95a9d5b9a)
(cherry picked from commit ecb90158b6)
2018-08-08 14:27:32 -07:00
Evan Hunt
02e8b3f8dc test case
(cherry picked from commit 73486c13f743407a50d5bbadde90c949a696506f)
(cherry picked from commit 584a1cff8b)
2018-08-08 14:27:17 -07:00
Evan Hunt
98b2377de3 explicit DNAME query could trigger a crash if deny-answer-aliases was set
(cherry picked from commit a21c3810d3453548cc05ae19995125dabea9ca9c)
(cherry picked from commit 6e187b8656)
2018-08-08 14:27:17 -07:00
Ondřej Surý
71d6809464 Merge branch '543-revert-!553-v9.11' into 'v9_11'
Revert "Use make automatic variables to install updated manuals"

See merge request isc-projects/bind9!600
2018-08-06 07:03:05 -04:00
Ondřej Surý
b9aa411750 Revert "Use make automatic variables to install updated manuals"
This reverts commit 77e9d82e1f.
2018-08-06 12:54:23 +02:00
Mark Andrews
43f8804a14 Merge branch 'remove-dead-code-v9_11' into 'v9_11'
Remove dead code

See merge request isc-projects/bind9!597
2018-08-02 19:59:01 -04:00
Mark Andrews
4130859964 remove dead code
(cherry picked from commit 83a1e87dd2)
2018-08-03 09:50:45 +10:00
Mark Andrews
973eea80f6 Merge branch '442-dnssec-verify-fails-on-case-sensitivity-of-owner-names-in-nsec-bitmap-v9_12-v9_11' into 'v9_11'
Resolve "dnssec-verify fails on case-sensitivity of owner names in NSEC bitmap"

See merge request isc-projects/bind9!595
2018-08-02 19:11:23 -04:00
Mark Andrews
622fbc97d0 add CHANGES
(cherry picked from commit 49cd3aac9c)
(cherry picked from commit 65b017829e)
2018-08-03 09:02:35 +10:00
Mark Andrews
f2ce5b542e only check the bit map
(cherry picked from commit a94db46631)
(cherry picked from commit 092b739535)
2018-08-03 09:02:34 +10:00
Mark Andrews
1f30e5adf6 Merge branch '439-the-signed-instance-of-a-in-line-zone-should-be-treated-as-dynamic-v9_11' into 'v9_11'
Resolve "The signed instance of a in-line zone should be treated as dynamic."

See merge request isc-projects/bind9!586
2018-08-02 00:38:56 -04:00
Mark Andrews
36be402220 add CHANGES
(cherry picked from commit d6d9fd1c71)
2018-08-02 14:27:42 +10:00
Mark Andrews
c4089d38cd treat the signed instance of a inline zone as dynamic
(cherry picked from commit 9130f055f4)
2018-08-02 14:27:41 +10:00
Mark Andrews
7e6f7a5e2b turn off ixfr-from-differences on signed instance of in-line zone
(cherry picked from commit cfccd8d246)
2018-08-02 14:27:41 +10:00
Mark Andrews
94ca5cdfd6 rename zone to mayberaw
(cherry picked from commit 3ea9861e7a)
2018-08-02 14:27:41 +10:00
Mark Andrews
b73a78d3ad Merge branch '453-master-build-broken-in-documentation-tree-v9_11' into 'v9_11'
add /opt/local/share/xsl/docbook-xsl-nons to the places to look for manpages/docbook.xsl under macports

See merge request isc-projects/bind9!584
2018-08-02 00:25:59 -04:00
Mark Andrews
32b37f761c add /opt/local/share/xsl/docbook-xsl-nons to the places to look for manpages/docbook.xsl under macports
(cherry picked from commit 7425252207)
2018-08-02 14:09:32 +10:00
Mark Andrews
f2aaab1bbe Merge branch '424-nsupdate-tests-fail-intermittently-v9_11' into 'v9_11'
Resolve "nsupdate tests fail intermittently"

See merge request isc-projects/bind9!581
2018-08-01 23:35:32 -04:00
Mark Andrews
84b5b6a659 use guard values for testing unixtime serial
(cherry picked from commit abe41ba011)
2018-08-02 11:29:15 +10:00
Mark Andrews
2e29c1f139 save SOA values
(cherry picked from commit 6b30bc73c0)
2018-08-02 11:29:15 +10:00
Mark Andrews
1f8227d594 Merge branch '406-dns_acl_isinsecure-does-not-handle-geoip-elements-v9_11' into 'v9_11'
Resolve "dns_acl_isinsecure does not handle geoip elements."

See merge request isc-projects/bind9!579
2018-08-01 20:08:35 -04:00
Mark Andrews
1727f96ad9 add CHANGES note
(cherry picked from commit b0b76d259f)
2018-08-02 09:59:58 +10:00
Mark Andrews
a65c8e27b1 handle dns_aclelementtype_geoip
(cherry picked from commit 57eadf4d4f)
2018-08-02 09:59:58 +10:00
Mark Andrews
c47f3abead test dns_acl_isinsecure with geoip element
(cherry picked from commit fb8bb4e306)
2018-08-02 09:59:58 +10:00
Mark Andrews
f51c4fe84f Merge branch '410-missing-sanity-check-for-call-to-next_token-in-file-mdig-c-for-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "Missing Sanity Check for call to next_token() in file 'mdig.c' for BIND 9.12.1-P2"

See merge request isc-projects/bind9!577
2018-08-01 19:57:04 -04:00
Mark Andrews
73694509a7 add CHANGES note
(cherry picked from commit 84f1d9a204)
2018-08-02 09:49:17 +10:00
Mark Andrews
8c515d6b18 test mdig '+ednsopt=:' handling
(cherry picked from commit 2e688488f7)
2018-08-02 09:48:27 +10:00
Mark Andrews
6014eacc51 fix handling of '+ednsopt=:'; support 100 ednsopts per query rather than 100 total
(cherry picked from commit d2943440a0)
2018-08-02 09:48:25 +10:00
Mark Andrews
8de32c5de2 Merge branch '372-smimea-and-tlsa-methods-incorrectly-use-txt-type-v9_11' into 'v9_11'
Resolve "smimea and tlsa methods incorrectly use txt type"

See merge request isc-projects/bind9!575
2018-08-01 19:00:41 -04:00
Mark Andrews
d024898f35 use tlsa and smime structs to set common values
(cherry picked from commit 63c9ec367f)
2018-08-02 08:52:30 +10:00
Mark Andrews
96d196a420 Merge branch 'modified-manual-install-oot-v9_11' into 'v9_11'
Use make automatic variables to install correct manual version.

See merge request isc-projects/bind9!568
2018-08-01 02:36:58 -04:00
Petr Menšík
77e9d82e1f Use make automatic variables to install updated manuals
Make will choose modified manual from build directory or original from source
directory automagically. Take advantage of install tool feature.
Install all files in single command instead of iterating on each of them.

(cherry picked from commit 88f913ac81)
2018-08-01 16:29:11 +10:00
Mark Andrews
5895de72a7 Merge branch 'misc-onerror-refcount-fixes-v9_11' into 'v9_11'
refcount errors on error paths

See merge request isc-projects/bind9!565
2018-07-31 19:35:20 -04:00
Mark Andrews
eea479d1c7 add CHANGES
(cherry picked from commit 63aaff50df)
2018-07-31 18:43:50 +10:00
Mark Andrews
0a9f953a2f refcount errors on error paths
(cherry picked from commit 4093efc900)
2018-07-31 18:43:18 +10:00
Michał Kępień
300862111c Merge branch '423-fix-handling-of-tat-sending-failures-v9_11' into 'v9_11'
[v9_11] Fix handling of TAT sending failures

See merge request isc-projects/bind9!542
2018-07-19 12:15:24 -04:00
Michał Kępień
11d79a0fec Fix handling of TAT sending failures
dns_view_zonecut() may associate the dns_rdataset_t structure passed to
it even if it returns a result different then ISC_R_SUCCESS.  Not
handling this properly may cause a reference leak.  Fix by ensuring
'nameservers' is cleaned up in all relevant failure modes.

(cherry picked from commit f4b403e8b2)
2018-07-19 18:05:42 +02:00
Michał Kępień
15a7ea9e15 Merge branch '419-do-not-replace-lo0-address-on-solaris-v9_11' into 'v9_11'
[v9_11] Do not replace lo0 address on Solaris

See merge request isc-projects/bind9!538
2018-07-17 02:27:45 -04:00
Michał Kępień
88be595735 Do not replace lo0 address on Solaris
lo0 and lo0:0 are the same interface on Solaris.  Make sure
bin/tests/system/ifconfig.sh does not touch lo0:0 in order to prevent it
from changing the address of the loopback interface on Solaris.

(cherry picked from commit 618921902a)
2018-07-17 08:20:10 +02:00
Michał Kępień
94a39b8b70 Merge branch '365-add-centos-to-ci-v9_11' into 'v9_11'
[v9_11] Add CentOS/RHEL 6 to GitLab CI

See merge request isc-projects/bind9!533
2018-07-13 06:25:55 -04:00
Michał Kępień
4d1b250d1f Add CentOS 6/7 to CI
Modify .gitlab-ci.yml so that every CI pipeline also builds and tests
BIND on CentOS versions 6 and 7.  Use --disable-warn-error on CentOS 6
since it uses GCC 4.4.7 which suffers from bugs causing bogus warnings
to be generated, e.g.:

    sigs_test.c: In function 'compare_tuples':
    sigs_test.c:75: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:489: warning: shadowed declaration is here
    sigs_test.c: In function 'updatesigs_test':
    sigs_test.c:193: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:489: warning: shadowed declaration is here

(cherry picked from commit f0966d1485)
2018-07-13 12:15:36 +02:00
Michał Kępień
12bedaef75 Do not spam console if "git status --ignored" fails during tests
The "git status" command in Git versions before 1.7.2 does not support
the "--ignored" option.  Prevent spamming the console when running
system tests from a Git repository on a host with an ancient Git version
installed.

(cherry picked from commit 2be97feb46)
2018-07-13 12:15:36 +02:00
Michał Kępień
e0dbc27c0d Remove IDN subtest from the "digdelv" system test
The output of certain "dig +idnout" invocations may be locale-dependent.
Remove the "dig +idnout" subtest from the "digdelv" system test as IDN
support is already thoroughly tested by the "idna" system test.

(cherry picked from commit fd30a03f2b)
2018-07-13 12:15:36 +02:00
Michał Kępień
4fdee34a0b Improve error handling in idn_ace_to_locale()
While idn2_to_unicode_8zlz() takes a 'flags' argument, it is ignored and
thus cannot be used to perform IDN checks on the output string.

The bug in libidn2 versions before 2.0.5 was not that a call to
idn2_to_unicode_8zlz() with certain flags set did not cause IDN checks
to be performed.  The bug was that idn2_to_unicode_8zlz() did not check
whether a conversion can be performed between UTF-8 and the current
locale's character encoding.  In other words, with libidn2 version
2.0.5+, if the current locale's character encoding is ASCII, then
idn2_to_unicode_8zlz() will fail when it is passed any Punycode string
which decodes to a non-ASCII string, even if it is a valid IDNA2008
name.

Rework idn_ace_to_locale() so that invalid IDNA2008 names are properly
and consistently detected for all libidn2 versions and locales.

Update the "idna" system test accordingly.  Add checks for processing a
server response containing Punycode which decodes to an invalid IDNA2008
name.  Fix invalid subtest description.

(cherry picked from commit 7fe0f00a3b)
2018-07-13 12:15:03 +02:00
Michał Kępień
a996e26b8b Include conf.sh from all prereq.sh scripts
Every prereq.sh script must include bin/tests/system/conf.sh, otherwise
if some prerequisite is not met, errors about echo_i not being found
will be printed instead of actual error messages.

(cherry picked from commit cc0e8cda71)
2018-07-13 08:24:55 +02:00
Michał Kępień
03f2cb37f1 Update ATF path in the ./configure invocation used during CI
The Docker images used for CI install ATF to /usr, not /usr/local.
Update the ./configure invocation in .gitlab-ci.yml accordingly in order
to prevent confusion.

(cherry picked from commit 12df6829d1)
2018-07-13 08:24:50 +02:00
Michał Kępień
9506bf412f Add "-f" to command line arguments for autoreconf in autogen.sh
Depending on tool versions being used, "autoreconf -i" may not update
all Autoconf-generated files, which in turn may result in build errors.
Make autogen.sh call autoreconf with the "-f" command line argument to
ensure all Autoconf-generated files are updated when autogen.sh is run.

(cherry picked from commit 45e77a3680)
2018-07-13 08:24:34 +02:00
Ondřej Surý
71736e6af1 Merge branch 'pkcs11-missing-gitignore-v9_11' into 'v9_11'
PKCS#11 build missing some .gitignore files and ignore .gitignore files

See merge request isc-projects/bind9!515
2018-07-12 12:24:24 -04:00
Ondřej Surý
9c253f6cc8 Don't check copyrights on .gitignore files
(cherry picked from commit 718c527e1d)
2018-07-12 12:18:33 -04:00
Ondřej Surý
d4baf8b117 Add .gitignore for PKCS#11 test files
(cherry picked from commit 96907d636d)
2018-07-12 12:18:33 -04:00
Mark Andrews
594a8b22c2 Merge branch '373-generic_tostruct_tlsa-incorrectly-initialises-common-structure-v9_11' into 'v9_11'
Resolve "generic_tostruct_tlsa incorrectly initialises common structure."

See merge request isc-projects/bind9!526
2018-07-11 19:55:35 -04:00
Mark Andrews
43c6f0d801 remove re-initalisation of common structure
(cherry picked from commit 6e06d3e7c6)
2018-07-12 09:49:01 +10:00
Evan Hunt
5a059f2f4c Merge branch '403-missing-sanity-check-for-call-to-next_token-in-file-dig-c-v9_12-v9_11' into 'v9_11'
Resolve "Missing Sanity Check for call to next_token() in file 'dig.c'"

See merge request isc-projects/bind9!524
2018-07-11 15:18:32 -04:00
Evan Hunt
79e313fe9e CHANGES
(cherry picked from commit 8ae1774089)
(cherry picked from commit 6fc6b3ab69)
2018-07-11 12:12:34 -07:00
Mark Andrews
41a632bae1 add test for bad dig option '+ednsopt=:' being handled gracefully
(cherry picked from commit ad86878d61)
(cherry picked from commit 9f126bac32)
2018-07-11 12:12:32 -07:00
Bill Parker
d7d3383573 check code is non NULL
(cherry picked from commit 408bcf9c07)
(cherry picked from commit 62d047658a)
2018-07-11 12:11:46 -07:00
Evan Hunt
4990b6128b Merge branch '235-enhance-denied-logging-for-dynamic-updates-v9_11' into 'v9_11'
Add tcp-self policy tests.

See merge request isc-projects/bind9!522
2018-07-11 14:48:40 -04:00
Mukund Sivaraman
a829bb3f1b Add system tests for "tcp-self" update-policy
(cherry picked from commit a7e6a584ea)
2018-07-11 11:13:24 -07:00
Michał Kępień
bcdb6c2846 Merge branch '392-send-upstream-tat-queries-for-locally-served-zones-v9_11' into 'v9_11'
[v9_11] Trust anchor telemetry queries are not sent for locally served zones

See merge request isc-projects/bind9!517
2018-07-11 03:25:45 -04:00
Michał Kępień
3c710a851c Add CHANGES entry
4994.	[bug]		Trust anchor telemetry queries were not being sent
			upstream for locally served zones. [GL #392]

(cherry picked from commit e54cddc0c1)
2018-07-11 09:14:11 +02:00
Michał Kępień
d4a6cb321b Send upstream TAT queries for locally served zones
Trying to resolve a trust anchor telemetry query for a locally served
zone does not cause upstream queries to be sent as the response is
determined just by consulting local data.  Work around this issue by
calling dns_view_findzonecut() first in order to determine the NS RRset
for a given domain name and then passing the zone cut found to
dns_resolver_createfetch().

Note that this change only applies to TAT queries generated by the
resolver itself, not to ones received from downstream resolvers.

(cherry picked from commit 873c091408)
2018-07-11 09:14:11 +02:00
Michał Kępień
4fdd248f53 Extract TAT QNAME preparation to a separate function
Extract the part of dotat() reponsible for preparing the QNAME for a TAT
query to a separate function in order to limit the number of local
variables used by each function and improve code readability.

Rename 'name' to 'origin' to better convey the purpose of that variable.

(cherry picked from commit 2e7dd0d61f)
2018-07-11 09:14:09 +02:00
Evan Hunt
4b227d90eb Merge branch 'git-replay-merge-no-push-option-v9_12-v9_11' into 'v9_11'
Add --no-push and --push options and DONT_PUSH environment variable

See merge request isc-projects/bind9!511
2018-07-11 00:05:02 -04:00
Evan Hunt
3b97ce9f67 fixed an argument counting bug
(cherry picked from commit 458f273444)
2018-07-10 21:04:25 -07:00
Ondřej Surý
4255be661a Add --no-push and --push options and DONT_PUSH environment as default to control what happens after merge
(cherry picked from commit 23f69e5626)
(cherry picked from commit e50988255c)
2018-07-10 21:04:25 -07:00
Evan Hunt
f26ea345eb Merge branch 'ci-check-libs-v9_11' into 'v9_11'
check correctness of win32 .def files in CI 'precheck' step

See merge request isc-projects/bind9!506
2018-07-10 23:39:52 -04:00
Evan Hunt
fdee3237eb add checklibs to precheck CI step
(cherry picked from commit f74fc06ede)
2018-07-10 20:39:00 -07:00
Evan Hunt
348906e414 Merge branch 'remove-redundant-test-v9_11' into 'v9_11'
remove redundant test

See merge request isc-projects/bind9!503
2018-07-10 22:11:21 -04:00
Mark Andrews
f1f2c0c493 remove redundant test
(cherry picked from commit 6eec7fe092)
2018-07-10 19:05:12 -07:00
Evan Hunt
7903d0316d Merge branch '379-trust-anchor-telemetry-log-should-include-client-ip-address-v9_11' into 'v9_11'
Resolve "trust anchor telemetry log should include client IP address"

See merge request isc-projects/bind9!501
2018-07-10 21:37:46 -04:00
Mark Andrews
5ddff2b184 add CHANGES note 2018-07-10 18:31:04 -07:00
Mark Andrews
078962a616 fix spelling of 'telemetry'
(cherry picked from commit 4f18b6a09a)
2018-07-10 18:30:45 -07:00
Mark Andrews
40cfb519f6 use extracted netaddr rather than client->destaddr
(cherry picked from commit 69fd3f5ba4)
2018-07-10 18:29:30 -07:00
Evan Hunt
639be7f1d3 Merge branch '382-trust-anchor-telemetry-is-misspelt-in-bin-named-log-c-in-9-11-and-earlier' into 'v9_11'
Resolve "trust-anchor-telemetry is misspelt in bin/named/log.c in 9.11 and earlier."

See merge request isc-projects/bind9!477
2018-07-10 21:12:20 -04:00
Mark Andrews
b2ccc58206 fix category trust-anchor-telemetry spelling 2018-07-10 18:11:02 -07:00
Evan Hunt
a7865cdc4b Merge branch '378-run-xmllint-on-xml-and-docbook-in-precheck-v9_11' into 'v9_11'
Check correctness of *.xml, *.docbook, and *.html during precheck

See merge request isc-projects/bind9!499
2018-07-10 20:57:22 -04:00
Mark Andrews
d846e59a62 Resolve "run xmllint on *.xml and *.docbook in precheck"
(cherry picked from commit bb1937aaec)
2018-07-10 17:50:15 -07:00
Evan Hunt
e8e6734a3a Merge branch '401-null-pointer-de-reference-found-in-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "NULL Pointer de-reference found in BIND 9.12.1-P2"

See merge request isc-projects/bind9!496
2018-07-10 17:46:02 -04:00
Evan Hunt
28544ada3e CHANGES 2018-07-10 14:39:53 -07:00
Bill Parker
48aa0659f7 check param_template[i].pValue is non NULL
(cherry picked from commit 8ac0152651)
2018-07-10 14:39:30 -07:00
Michał Kępień
e6dc9bc382 Merge branch '393-fix-a-net-dns-version-quirk-in-the-resolver-system-test-v9_11' into 'v9_11'
[v9_11] Fix a Net::DNS version quirk in the "resolver" system test

See merge request isc-projects/bind9!493
2018-07-10 09:14:46 -04:00
Michał Kępień
740b3a9118 Fix a Net::DNS version quirk in the "resolver" system test
Net::DNS versions older than 0.68 insert a ./ANY RR into the QUESTION
section if the latter is empty.  Since the latest Net::DNS version
available with stock RHEL/CentOS 6 packages is 0.65 and we officially
support that operating system, bin/tests/system/resolver/ans8/ans.pl
should behave consistently for various Net::DNS versions.  Ensure that
by making handleUDP() return the query ID and flags generated by
Net::DNS with 8 zero bytes appended.

(cherry picked from commit 6c3c6aea37)
2018-07-10 15:08:05 +02:00
Mark Andrews
5276f1d90e Merge branch '402-memory-leak-found-in-file-fuzz-c-in-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "Memory Leak found in file 'fuzz.c' in BIND-9.12.1-P2"

See merge request isc-projects/bind9!490
2018-07-10 01:13:58 -04:00
Mark Andrews
6fbbe4ef7e free rbuf
(cherry picked from commit ecb2f20324)
2018-07-10 14:38:05 +10:00
Evan Hunt
2fe4344de4 Merge branch 'prep-release-v9_11_4' into 'v9_11'
prep 9.11.4

See merge request isc-projects/bind9!471
2018-07-03 02:56:55 -04:00
Tinderbox User
20f8b9a91f prep 9.11.4 2018-07-03 06:50:01 +00:00
Evan Hunt
644915b508 Merge branch 'fix-readme-v9_11' into 'v9_11'
Fix README typo

See merge request isc-projects/bind9!464
2018-07-02 20:18:08 -04:00
Evan Hunt
a4717005b1 9.11.4 was incorrectly referred to as 9.11.3 2018-07-02 17:14:25 -07:00
Evan Hunt
0de0733307 Merge branch 'prep-release-v9_11_4rc2' into 'v9_11'
prep 9.11.4rc2

See merge request isc-projects/bind9!451
2018-06-28 01:25:28 -04:00
Tinderbox User
3bbd725a2c prep 9.11.4rc2 2018-06-28 05:07:42 +00:00
Evan Hunt
2d46759916 Merge branch '339-issues-with-large-journal-entries-v9_11' into 'v9_11'
Fix handling of large journal entries.

See merge request isc-projects/bind9!445
2018-06-27 21:46:57 -04:00
Evan Hunt
470b8612b2 CHANGES, release note
(cherry picked from commit 2aee33f412)
2018-06-27 18:40:24 -07:00
Evan Hunt
65bf99c85a use ISC_INT32_MAX as maximum 2018-06-27 18:40:24 -07:00
Witold Kręcicki
e92d5421c3 Fallback to normal procedure if creating of ixfr-from-differences fails
(cherry picked from commit b1254430df)
2018-06-27 18:33:33 -07:00
Witold Kręcicki
1919f5c937 Fix some issues with large journal entries
(cherry picked from commit 0db7130f2b)
2018-06-27 18:33:32 -07:00
Mark Andrews
b5c16a8758 Merge branch '366-missing-dereference-in-require-statement-v9_11' into 'v9_11'
Resolve "Missing dereference in REQUIRE statement?"

See merge request isc-projects/bind9!441
2018-06-27 03:43:54 -04:00
Mark Andrews
6a52c54af6 cfg_parse_boolean's REQUIRE test for ret was incomplete.
(cherry picked from commit f1ee5e4a16)
2018-06-27 17:37:17 +10:00
Evan Hunt
06c0d3943c Merge branch '275-add-permanent-option-to-disable-server-side-cookies-v9_11' into 'v9_11'
[v9_11]: Resolve "Provide a mechanism (build or runtime) to turn off server-side support for RFC7873"

See merge request isc-projects/bind9!414
2018-06-26 18:25:19 -04:00
Ondřej Surý
a6887424ca Un-deprecate the answer-cookie option 2018-06-26 15:18:36 -07:00
Evan Hunt
19f4d8400b Merge branch '260-queries-with-empty-question-section-return-noerror-v9_12-v9_11' into 'v9_11'
Resolve "Queries with empty question section (and otherwise query message of undetermined RDCLASS) return NOERROR instead of FORMERR"

See merge request isc-projects/bind9!436
2018-06-26 17:50:32 -04:00
Evan Hunt
f07560a5be CHANGES
(cherry picked from commit 2b075c2881)
(cherry picked from commit 07a0638c94)
2018-06-26 14:44:18 -07:00
Mukund Sivaraman
49cd7552be return FORMERR when question section is empty if COOKIE is not present
(cherry picked from commit 06d3106002)
(cherry picked from commit ed29b84e16)
2018-06-26 14:44:18 -07:00
Ondřej Surý
7cf351710a Merge branch '180-fix-cmsgbuf-usage-v9_12-v9_11' into 'v9_11'
Resolve "Intermittent recursive resolver issues [socket.c:2135]"

See merge request isc-projects/bind9!430
2018-06-26 15:29:29 -04:00
Witold Kręcicki
5e375f8b52 Use completely static-sized buffers
(cherry picked from commit 49f90025a0)
(cherry picked from commit 4007a9d020)
2018-06-26 15:23:28 -04:00
Witold Kręcicki
cd7bf90a54 Fix socket cmsg buffer usage
(cherry picked from commit d79be7dd5e)
(cherry picked from commit da63e95612)
2018-06-26 15:23:28 -04:00
Ondřej Surý
b0bce3b530 Merge branch 'add-git-replay-merge-v9_11' into 'v9_11'
Add git replay merge to v9 11

See merge request isc-projects/bind9!428
2018-06-26 14:30:38 -04:00
Ondřej Surý
02a698bea7 Add git-replay-merge.sh script to v9_11 2018-06-26 20:24:03 +02:00
Evan Hunt
f01a2d9dc3 Merge branch '288-named-checkconf-does-not-recognize-errors-related-to-in-view-zones-v9_11' into 'v9_11'
Resolve "named-checkconf does not recognize errors related to in-view zones"

See merge request isc-projects/bind9!425
2018-06-26 14:01:57 -04:00
Mark Andrews
c45fb6d92a CHANGES, copyright
(cherry picked from commit f7d346357e)
2018-06-26 10:55:44 -07:00
Mark Andrews
316eebb699 construct a symtab of valid in-view targets then check that the target exists
(cherry picked from commit e01a4bcb20)
2018-06-26 10:53:59 -07:00
Michał Kępień
cb4861a8c4 Merge branch '321-only-request-permitted-capabilities-in-non-libcap-builds-v9_11' into 'v9_11'
[v9_11] Only request permitted capabilities in non-libcap builds

See merge request isc-projects/bind9!418
2018-06-26 08:03:28 -04:00
Michał Kępień
dec8ba34f7 Add CHANGES entry
4979.	[bug]		Non-libcap builds were not checking whether all
			requested capabilities are present in the permitted
			capability set. [GL #321]

(cherry picked from commit 731b003854)
2018-06-26 13:20:18 +02:00
Michał Kępień
4b0129f34b Only request permitted capabilities in non-libcap builds
While libcap-enabled builds check whether any capability named requests
is within the permitted capability set, non-libcap builds just try
requesting them, which potentially causes a misleading error message to
be output ("Operation not permitted: please ensure that the capset
kernel module is loaded").  Ensure non-libcap builds also check whether
any requested capability is within the permitted capability set.

(cherry picked from commit 8c66f32e53)
2018-06-26 13:19:58 +02:00
Evan Hunt
94d8ec0b21 Merge branch '247-log-the-remaining-v-info-at-startup' into 'v9_11'
Resolve "Log the remaining -V info at startup"

Closes #247

See merge request isc-projects/bind9!249
2018-06-25 15:18:23 -07:00
Mark Andrews
ffc58bede6 log the remaining -V info at startup 2018-06-25 15:18:18 -07:00
Mark Andrews
e49ab47924 Merge branch '343-casecompare-of-ninfo-tkey-txt-have-wrong-return-type-v9_11' into 'v9_11'
Resolve "casecompare of NINFO, TKEY, TXT have wrong return type"

See merge request isc-projects/bind9!405
2018-06-24 23:20:04 -04:00
Mark Andrews
236ab4c453 fix casecompare return type for ninfo, tkey, txt
(cherry picked from commit 3ba1d1e43b)
2018-06-25 13:10:06 +10:00
Mark Andrews
1d0bf01a90 Merge branch '356-client-cookie-is-being-hashed-twice-when-computing-the-dns-server-cookie-v9_11' into 'v9_11'
Resolve "Client cookie is being hashed twice when computing the DNS server cookie."

See merge request isc-projects/bind9!402
2018-06-22 03:52:40 -04:00
Mark Andrews
c61b0cbc65 4975. [bug] The server cookie computation for sha1 and sha256 did
not match the method described in RFC 7873. [GL #356]

(cherry picked from commit 8755a249bc)
2018-06-22 17:46:06 +10:00
Mark Andrews
d3982afe5c the client cookie was being hashed twice when computing the server cookie for sha1 and sha256
(cherry picked from commit 4795f0ca89)
2018-06-22 17:45:32 +10:00
Ondřej Surý
9fa93f8642 Merge branch 'release-v9_11_4rc1' into 'v9_11'
Merge 9.11.4rc1 release into v9_11 branch

See merge request isc-projects/bind9!396
2018-06-21 13:13:15 -04:00
Evan Hunt
a1690b24bc prepare 9.11.4rc1 2018-06-21 18:54:43 +02:00
Michał Kępień
ddafea197c Merge branch '341-constify-dns_rdata_tostruct-v9_11' into 'v9_11'
[v9_11] constify dns_rdata_tostruct

See merge request isc-projects/bind9!381
2018-06-15 03:34:50 -04:00
Mark Andrews
09776e3e54 Declare the 'rdata' argument for dns_rdata_tostruct() to be const
(cherry picked from commit abb2fd1027)
2018-06-15 08:52:41 +02:00
Ondřej Surý
c9203e48e2 Merge branch '309-fix-default-recursion-v9_11' into 'v9_11'
Resolve "Recursion improperly allowed by default"

See merge request isc-projects/bind9!374
2018-06-14 08:54:16 -04:00
Evan Hunt
b330bcb8a1 add a regression test for default allow-recursion settings 2018-06-14 14:47:11 +02:00
Evan Hunt
3d71785ef1 allow-recursion could incorrectly inherit from the default allow-query 2018-06-14 14:47:11 +02:00
Michał Kępień
cbed2a4602 Merge branch '298-fix-dname-handling-in-dnssec-tools-v9_11' into 'v9_11'
[v9_11] Fix DNAME handling in DNSSEC tools

See merge request isc-projects/bind9!364
2018-06-13 07:29:24 -04:00
Michał Kępień
28b8ab8891 Add CHANGES entry
4971.	[bug]		dnssec-signzone and dnssec-verify did not treat records
			below a DNAME as out-of-zone data. [GL #298]

(cherry picked from commit f9637ae0e5)
2018-06-13 12:59:03 +02:00
Mark Andrews
0c3ddaafb5 Pull out the saving of the zone cut into a separate function
(cherry picked from commit 899e56068e)
2018-06-13 12:58:57 +02:00
Michał Kępień
6d8a514ecb Treat records below a DNAME as out-of-zone data
DNAME records indicate bottom of zone and thus no records below a DNAME
should be DNSSEC-signed or included in NSEC(3) chains.  Add a helper
function, has_dname(), for detecting DNAME records at a given node.
Prevent signing DNAME-obscured records.  Check that DNAME-obscured
records are not signed.

(cherry picked from commit ff7015a0f8)
2018-06-13 12:58:27 +02:00
Michał Kępień
e104d97cd2 Merge branch '284-unify-keyfile-to-configuration-conversions-in-system-tests-v9_11' into 'v9_11'
[v9_11] Unify keyfile-to-configuration conversions in system tests

See merge request isc-projects/bind9!361
2018-06-13 02:28:38 -04:00
Michał Kępień
da430b5f36 Add helper variables in mkeys system test
The keyfile and key ID for the original managed key do not change
throughout the mkeys system test.  Keep them in helper variables to
prevent calling "cat" multiple times and improve code readability.

(cherry picked from commit 2cad382552)
2018-06-13 08:08:25 +02:00
Michał Kępień
a23e9821d6 Replace duplicated code snippet with calls to helper functions
Reduce code duplication by replacing a code snippet repeated throughout
system tests using "trusted-keys" and/or "managed-keys" configuration
sections with calls to keyfile_to_{managed,trusted}_keys() helper
functions.

(cherry picked from commit dce66f7635)
2018-06-13 08:08:25 +02:00
Michał Kępień
36d6a6cc76 Add helper functions for converting keyfile data into configuration sections
Add a set of helper functions for system test scripts which enable
converting key data from a set of keyfiles to either a "trusted-keys"
section or a "managed-keys" section suitable for including in a
resolver's configuration file.

(cherry picked from commit 21d3658bcb)
2018-06-13 08:08:25 +02:00
Michał Kępień
644009a0ed Merge branch '269-refactor-zone-logging-functions-v9_11' into 'v9_11'
[v9_11] Refactor zone logging functions

See merge request isc-projects/bind9!358
2018-06-11 06:58:34 -04:00
Michał Kępień
07b98521f6 Add CHANGES entry
4969.	[cleanup]	Refactor zone logging functions. [GL #269]

(cherry picked from commit c8de677eae)
2018-06-11 12:50:25 +02:00
Michał Kępień
2c09f7a06c Reimplement all zone logging functions using dns_zone_logv()
In order to decrease code duplication, express the logic contained in
all zone logging functions using dns_zone_logv() calls.

(cherry picked from commit 5c03cd339e)
2018-06-11 12:50:25 +02:00
Michał Kępień
4fab6fec76 Add dns_zone_logv()
Add a new libdns function, dns_zone_logv(), which takes a single va_list
argument rather than a variable number of arguments and can be used as a
base for implementing more specific zone logging functions.

(cherry picked from commit bb2dfb3f49)
2018-06-11 12:50:25 +02:00
Evan Hunt
c8d7f94e94 Merge branch 'fix-strtok' into 'v9_11' 2018-06-09 23:04:19 -07:00
Evan Hunt
5bf319c107 complete strtok fix
(cherry picked from commit 74c3b9d3b2)
2018-06-09 23:04:18 -07:00
Evan Hunt
aafdc4c39e Merge branch 'fix-strtok' into 'v9_11' 2018-06-09 22:36:54 -07:00
Evan Hunt
2960bf1a9f use strtok() instead of strtok_r() in command line processing
(cherry picked from commit 1734f1b3b9)
2018-06-09 22:36:46 -07:00
Evan Hunt
0edeb2cb2f Merge branch '293-cleanup-radix' into 'v9_11' 2018-06-08 12:11:24 -07:00
Evan Hunt
b75a2b9730 improve readability of radix code
- use RADIX_V4, RADIX_V6, RADIX_V4_ECS, and RADIX_V6_ECS as array
  indices instead of 0 through 3.
- remove some unused macros

(cherry picked from commit f7f20b1202)
2018-06-08 12:11:19 -07:00
Evan Hunt
8da265c210 Merge branch 'validate-glue' into v9_11 2018-06-08 11:51:16 -07:00
Evan Hunt
7a00ce2e77 ensure we try to validate glue records so RRSIG TTLs will be capped 2018-06-08 11:41:48 -07:00
Mark Andrews
ae0692ff8f Merge branch '325-add-cfg_parse_buffer4-v9_11' into 'v9_11'
Resolve "add cfg_parse_buffer4"

Closes #325

See merge request isc-projects/bind9!353
2018-06-08 17:40:33 +10:00
Mark Andrews
d1f9dcca00 add cfg_parse_buffer4
(cherry picked from commit b313084af2)
2018-06-08 17:40:32 +10:00
Mark Andrews
2f10df804b Merge branch '173-option-to-disable-responding-with-cookies-isc-support-12614-v9_11' into 'v9_11'
Resolve "option to disable responding with cookies [ISC-Support #12614]"

See merge request isc-projects/bind9!154
2018-06-08 17:30:45 +10:00
Mark Andrews
ae0f6f2073 add CHANGES and release notes
(cherry picked from commit 5f7a6232d6)
2018-06-08 17:29:45 +10:00
Mukund Sivaraman
ca24707d38 Update ARM documentation
(cherry picked from commit b5265a8cfa)
2018-06-08 17:29:45 +10:00
Mukund Sivaraman
db12b1a9f9 Add system test
(cherry picked from commit a5933fa2bb)
2018-06-08 17:29:45 +10:00
Mukund Sivaraman
441de7dbe3 Add a answer-cookie named config option
(cherry picked from commit 2930507357)
2018-06-08 17:29:28 +10:00
Mark Andrews
f5ae506b11 Merge branch '322-add-support-for-marking-options-as-deprecated-v9_11' into 'v9_11'
Resolve "add support for marking options as deprecated."

Closes #322

See merge request isc-projects/bind9!351
2018-06-08 15:56:02 +10:00
Mark Andrews
34bfd20348 Add support for marking a option as deprecated.
(cherry picked from commit befff9452c)
2018-06-08 15:56:01 +10:00
Witold Kręcicki
4f3526f85c Merge branch 'XX-dont-fetch-keys-when-fuzzing-v9_11' into 'v9_11'
Don't fetch DNSKEY when fuzzing resolver

See merge request isc-projects/bind9!347
2018-06-06 15:28:09 +02:00
Witold Kręcicki
9b17be187f Don't fetch DNSKEY when fuzzing resolver
(cherry picked from commit cb3208aa43)
2018-06-06 15:27:27 +02:00
Mark Andrews
8ca60f7099 Merge branch '240-multiple-rrsigs-on-some-records-in-signed-zone-even-though-only-one-key-is-ever-active-at-a-time-v9_12-v9_11' into 'v9_11'
Resolve "Multiple RRSIGs on some records in signed zone even though only one key is ever active at a time"

Closes #240

See merge request isc-projects/bind9!231
2018-06-06 17:22:11 +10:00
Mark Andrews
1c8aa28455 add CHANGES note
(cherry picked from commit ba7a343156)
(cherry picked from commit 00f1956c9e)
2018-06-06 17:21:29 +10:00
Mark Andrews
1710e5cfca add duplicate signature test
(cherry picked from commit 0db5b087ed)
(cherry picked from commit 1783fa5aba)
2018-06-06 17:21:29 +10:00
Mark Andrews
dd05287a31 add support -T sigvalinsecs
(cherry picked from commit 87a3dc8ab9)
(cherry picked from commit 69340b5ac5)
2018-06-06 17:17:48 +10:00
Mark Andrews
298372d8d2 only sign with other keys when deleting a key if there are not already existing signature for the deleted algorithm
(cherry picked from commit 0667bf7ae7)
(cherry picked from commit c1e342cedb)
2018-06-06 17:10:01 +10:00
Mark Andrews
5ab633d541 Merge branch '316-move-named-t-processing-to-its-own-function-v9_11' into 'v9_11'
Resolve "move named -T processing to its own function"

Closes #316

See merge request isc-projects/bind9!343
2018-06-06 15:31:30 +10:00
Mark Andrews
f10ad9c37c add CHANGES
(cherry picked from commit ef7401e4a7)
2018-06-06 15:31:22 +10:00
Mark Andrews
deee1574da move -T parsing to its own function
(cherry picked from commit b491ceeb50)
2018-06-06 15:30:55 +10:00
Evan Hunt
c123936d2a Merge branch '302-use-ip-for-ifconfig' into 'v9_11'
Resolve "ifconfig.sh doesn't work on centos7"

Closes #302

See merge request isc-projects/bind9!330
2018-06-05 21:46:12 -07:00
Evan Hunt
07004c58f5 CHANGES
(cherry picked from commit 71f2335f5a)
(cherry picked from commit 7f16672ab8)
2018-06-05 21:46:08 -07:00
Evan Hunt
81c2298665 use "ip" on linux, falling back to "ifconfig" when it isn't available
(cherry picked from commit d7c5400798)
(cherry picked from commit 3e1a0c2b62)
2018-06-05 21:46:08 -07:00
Evan Hunt
35f4aafb20 expand address range in ifconfig.sh to include more than one subnet
(cherry picked from commit 41b29a436b)
(cherry picked from commit e4487b160c)
2018-06-05 21:46:08 -07:00
Evan Hunt
48a45fb3ff Merge branch '310-check-changes-needs-to-be-called-for-v9_11' into 'v9_11'
Resolve "check-changes needs to be called for v9_11"

See merge request isc-projects/bind9!337
2018-06-04 22:21:16 -04:00
Mark Andrews
c0e69cc406 call util/check-changes in setup 2018-06-04 22:14:11 -04:00
Mark Andrews
0a613754e4 Merge branch 'backport-sentinel' into 'v9_11'
Backport root-key-sentinel

See merge request isc-projects/bind9!334
2018-06-04 21:57:16 -04:00
Evan Hunt
e229ae6999 add prerequisite check 2018-06-04 17:41:22 -04:00
Mark Andrews
106fc761de CHANGES entry for root-key-sentinel
(cherry picked from commit 2845d7160e)
(cherry picked from commit af267c4da9)
2018-06-04 17:41:22 -04:00
Mark Andrews
b3e93d1b0f add release note for root-key-sentinel
(cherry picked from commit e20790c956)
(cherry picked from commit edb761b08c)
2018-06-04 17:41:22 -04:00
Mark Andrews
9448c4fd21 add system test for root-key-sentinel
(cherry picked from commit a23b305e6b)
(cherry picked from commit b9e6b124aa)
2018-06-04 17:41:22 -04:00
Mark Andrews
9a5f308287 add named.conf option root-key-sentinel
(cherry picked from commit 68e9315c7d)
(cherry picked from commit ee763ef281)
2018-06-04 17:41:22 -04:00
Mark Andrews
afa97c6552 detect and process root-key-sentinel labels.
(cherry picked from commit 8fc9f64df9)
(cherry picked from commit 7111eff80c)
2018-06-04 17:41:21 -04:00
Evan Hunt
a7e305ccc5 Merge branch '306-backport-multiple-cookie-secrets-to-9-11-4-s' into 'v9_11'
Resolve "backport multiple cookie-secrets to 9.11"

See merge request isc-projects/bind9!333
2018-06-04 16:36:36 -04:00
Mark Andrews
f9d19cab7f 4699. [func] Multiple cookie-secret clauses can now be specified.
The first one specified is used to generate new
                        server cookies.  [RT #45672]
2018-06-04 13:16:28 -07:00
Mark Andrews
4a2729a4b3 Merge branch '209-glue-is-no-longer-included-v9_11' into 'v9_11'
Resolve "Glue is no longer included for non-DNSSEC-signed zones since CHANGE 4596"

See merge request isc-projects/bind9!286
2018-06-04 01:24:49 -04:00
Evan Hunt
32681598cd attempt to validate glue, but don't drop it if it can't be validated 2018-06-04 01:12:18 -04:00
Mukund Sivaraman
22ff9c9199 Fix acache case too 2018-06-04 01:12:18 -04:00
Mukund Sivaraman
a5c94e1d44 Add CHANGES entry
(cherry picked from commit dfd73d7e16)
2018-06-04 01:12:18 -04:00
Mukund Sivaraman
3d62545657 Add system test
(cherry picked from commit 303391ea41)
2018-06-04 01:12:18 -04:00
Mukund Sivaraman
3f59d6c251 Don't validate non-pending glue when adding to the additional section
(cherry picked from commit 31bd3147d1)
2018-06-04 01:12:18 -04:00
Mark Andrews
0b7337f717 Merge branch '281-dont-insert-extra-space-between-nsec3-nexthash-and-typemap-v9_11' into 'v9_11'
Resolve "9.11.3-S1 totext_nsec3 inserts a redundant white space between next hash and type map [ISC-support #12887]"

See merge request isc-projects/bind9!313
2018-06-04 13:03:16 +10:00
Mark Andrews
159c6235c4 Add CHANGES note
(cherry picked from commit f98d8115e3)
2018-06-04 13:03:06 +10:00
Mukund Sivaraman
2bbea4513f Add NSEC3 fromtext/totext unittests
(cherry picked from commit b0d9198e03)
2018-06-04 13:02:44 +10:00
Mukund Sivaraman
0aa9c410d7 Don't insert 2nd space between NSEC3 nexthash and typemap fields
(cherry picked from commit d4ea1edd2c)
2018-06-04 13:02:44 +10:00
Mark Andrews
46e69a4d52 Merge branch '286-new-cppcheck-detected-errors-v9_11' into 'v9_11'
Resolve "New cppcheck-detected errors"

See merge request isc-projects/bind9!324
2018-05-29 09:45:49 +10:00
Mark Andrews
cc17a88ae1 add CHANGES note
(cherry picked from commit e9134b15eb)
2018-05-29 09:45:38 +10:00
Mark Andrews
e568d66db3 work around cppcheck false positive
(cherry picked from commit cb5802e854)
2018-05-29 09:45:23 +10:00
Evan Hunt
e291e02034 Merge branch '245-fix-test-color' into 'v9_11'
Resolve "rpz test fails to launch ns2 on openbsd"

Closes #245

See merge request isc-projects/bind9!321
2018-05-25 13:01:42 -07:00
Evan Hunt
eb0964a501 fix openbsd color-display problem in system test output
(cherry picked from commit 1e31fdb76d)
2018-05-25 13:01:38 -07:00
Mark Andrews
a830ebe451 Merge branch '290-documentation-error-missing-v9_11' into 'v9_11'
Resolve "Documentation error - missing "};""

Closes #290

See merge request isc-projects/bind9!318
2018-05-25 13:12:01 +10:00
Mark Andrews
cf8c1e3284 add closing '};'
(cherry picked from commit ab22160a1c)
2018-05-25 13:12:00 +10:00
Evan Hunt
bfef5b7235 Merge branch 'fix-catz-test' into 'v9_11'
fix catz test

See merge request isc-projects/bind9!317
2018-05-24 16:18:47 -07:00
Evan Hunt
3fe5acd39f files were left in place after catz run because of non-portable bracket use
(cherry picked from commit af73e16c9c)
2018-05-24 16:18:44 -07:00
Evan Hunt
0916ddf103 Merge branch 'fix-copyrights' into v9_11 2018-05-23 18:10:03 -07:00
Evan Hunt
a05cd20767 restore accidentally deleted copyright line 2018-05-23 18:09:31 -07:00
Evan Hunt
1e9b61b736 Merge branch '283-ensure-there-is-a-blank-line-before-a-changes-entry-and-a-release-marker' into 'v9_11'
Resolve "ensure there is a blank line before a changes entry and a release marker."

Closes #283

See merge request isc-projects/bind9!311
2018-05-23 17:58:36 -07:00
Mark Andrews
33f8dd5f35 ensure there is a blank line before a changes entry and a release marker
(cherry picked from commit c91770549f)
(cherry picked from commit d87eb5804d)
2018-05-23 17:58:29 -07:00
Evan Hunt
32cc7c804f Merge branch 'generate-notes-txt' into 'v9_11'
use w3m to generate notes.txt as part of the doc build

See merge request isc-projects/bind9!310
2018-05-23 09:55:46 -07:00
Evan Hunt
884e8df7ca copyrights 2018-05-23 09:55:41 -07:00
Evan Hunt
4729357675 use w3m to generate notes.txt as part of the doc build
(cherry picked from commit 7c955e0eb8)
(cherry picked from commit 5b2390e016)
2018-05-23 09:54:16 -07:00
Mark Andrews
29ff16ea3a Merge branch '273-add-home-arpa-to-list-of-empty-zones-rfc-8375-v9_11' into 'v9_11'
Resolve "Add "HOME.ARPA" to list of empty zones (RFC 8375)"

Closes #273

See merge request isc-projects/bind9!297
2018-05-23 11:19:34 +10:00
Mark Andrews
8543097699 add HOME.ARPA to the list of empty zones
(cherry picked from commit 10dd0b3efe)
2018-05-23 11:14:18 +10:00
Mark Andrews
8d96f3a207 fix handling of failed tests
(cherry picked from commit 4283f9552f)
2018-05-23 11:13:53 +10:00
Evan Hunt
7d7f4dafca Merge branch 'fix-kit-v9_11' into 'v9_11'
use the correct repository, and get archive by tag not hash

See merge request isc-projects/bind9!304
2018-05-21 13:57:16 -07:00
Evan Hunt
83a4273bd9 use the correct repository, and get archive by tag not hash
(cherry picked from commit 999e3233f3)
2018-05-21 13:57:16 -07:00
Mark Andrews
b3769d98ce Merge branch '238-isc_net_recvoverflow-support-is-broken-v9_11' into 'v9_11'
Resolve "ISC_NET_RECVOVERFLOW support is broken."

Closes #238

See merge request isc-projects/bind9!226
2018-05-18 16:00:46 +10:00
Mark Andrews
fed871b720 ISC_SOCKEVENTATTR_TRUNC was not be set
(cherry picked from commit 6bff1768cf)
2018-05-18 16:00:36 +10:00
Mark Andrews
f49a8e5df0 Merge branch '274-print-c-9-12-and-earlier-v9_11' into 'v9_11'
Resolve "print.c 9.12 and earlier"

See merge request isc-projects/bind9!298
2018-05-18 12:46:25 +10:00
Mark Andrews
7bbc0668fe add CHANGES note
(cherry picked from commit 3f3d424a70)
2018-05-18 12:46:15 +10:00
Mark Andrews
4868351c45 look for '\0'
(cherry picked from commit d03a81c265)
2018-05-18 12:45:14 +10:00
Mark Andrews
0256a07b96 add some %f format tests
(cherry picked from commit f5233ba5de)
2018-05-18 12:45:14 +10:00
Mark Andrews
6d6bf3d6ef don't produce a false negative for %z with CFLAGS=-Werror
(cherry picked from commit 800012de23)
2018-05-18 12:45:14 +10:00
Evan Hunt
28f17e8295 Merge branch '233-clarify-documentation-of-update-policy-tcp-self-and-6to4-self' into 'v9_11'
Resolve "Clarify documentation of update-policy tcp-self and 6to4-self"

Closes #233

See merge request isc-projects/bind9!227
2018-05-15 13:20:23 -07:00
Evan Hunt
50aae06d89 rewrite the update-policy documentation
- clarify the behavior of the name and identity fields for various
  rule types, particularly tcp-self and 6to4-self.

(cherry picked from commit dea89f2a52)
2018-05-15 13:20:15 -07:00
Michał Kępień
72a12272cf Merge branch '258-address-ubsan-warnings-v9_11' into 'v9_11'
[v9_11] Address issues found by ubsan

See merge request isc-projects/bind9!281
2018-05-15 03:51:11 -04:00
Michał Kępień
803537b991 isc_buffer_*(): if source can be NULL, only call memmove() when length is non-zero
Certain isc_buffer_*() functions might call memmove() with the second
argument (source) set to NULL and the third argument (length) set to 0.
While harmless, it triggers an ubsan warning:

    runtime error: null pointer passed as argument 2, which is declared to never be null

Modify all memmove() call sites in lib/isc/include/isc/buffer.h and
lib/isc/buffer.c which may potentially use NULL as the second argument
(source) so that memmove() is only called if the third argument (length)
is non-zero.

(cherry picked from commit 6ddbca6f2b)
2018-05-15 09:32:19 +02:00
Michał Kępień
b7b1de0a39 dns_rdataslab_merge(): use dns_rdata_compare() instead of compare_rdata()
compare_rdata() was meant to be used as a qsort() callback.  Meanwhile,
dns_rdataslab_merge() calls compare_rdata() for a pair of dns_rdata_t
structures rather than a pair of struct xrdata structures, which is
harmless, but triggers an ubsan warning:

    rdataslab.c:84:33: runtime error: member access within address <address> with insufficient space for an object of type 'const struct xrdata'

Use dns_rdata_compare() instead of compare_rdata() to prevent the
warning from being triggered.

(cherry picked from commit 9bc6ba0be9)
2018-05-15 09:32:19 +02:00
Michał Kępień
1c875f959b Merge branch '252-9-9-sigs_test-updatesigs-is-failing-v9_11' into 'v9_11'
[v9_11] Skip lib/dns/tests/sigs_test for builds without DNSSEC support

See merge request isc-projects/bind9!274
2018-05-14 03:39:54 -04:00
Michał Kępień
bdc9f829c8 Extend the list of headers included by lib/dns/tests/sigs_test.c
(cherry picked from commit f98e145c5b)
2018-05-14 09:32:07 +02:00
Mark Andrews
c8f13be0dd return untested if not built with OPENSSL or PKCS11CRYPTO
(cherry picked from commit 2420320b96)
2018-05-14 09:32:07 +02:00
Ondřej Surý
d6838537fd Merge branch '9-remove-dolar-ids-and-other-cruft-v9_11' into 'v9_11'
Remove $Id$s and other cruft as a batch operation

See merge request isc-projects/bind9!268
2018-05-11 08:33:40 -04:00
Ondřej Surý
188526f41c Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:25:15 +02:00
Ondřej Surý
25acd696e0 Merge branch 'redirect-stderr-to-dev-null-v9_11' into 'v9_11'
Update tests to not use '>&-' that closes file descriptor, but instead use…

See merge request isc-projects/bind9!265
2018-05-11 07:17:53 -04:00
Ondřej Surý
0cbad1b3fc Update tests to not use '>&-' that closes file descriptor, but instead use correct redirection to '>/dev/null'
(cherry picked from commit 3f66b8acb0)
2018-05-11 13:11:20 +02:00
Michał Kępień
e00df39d5a Merge branch '249-address-gcc-8-compilation-warnings-v9_11' into 'v9_11'
[v9_11] Address GCC 8 compilation warnings

See merge request isc-projects/bind9!260
2018-05-10 05:01:27 -04:00
Ondřej Surý
18f4f0d1ac Address GCC 8 -Wstringop-truncation warning
(cherry picked from commit 9845c4c4a7)
2018-05-10 10:54:38 +02:00
Michał Kępień
b4f07af8df Address GCC 8 -Wformat-truncation warnings
(cherry picked from commit 172d0c401e)
2018-05-10 10:54:38 +02:00
Ondřej Surý
f217ef9c17 Merge branch 'gitlab-ci-amd64-v9_11' into 'v9_11'
Tag docker images with appropriate architectures

See merge request isc-projects/bind9!256
2018-05-10 03:36:46 -04:00
Ondřej Surý
fd651fb225 Tag docker images with appropriate architectures
(cherry picked from commit ab112d2c4f)
2018-05-10 09:27:41 +02:00
Evan Hunt
3123862be9 Merge branch '135-add-basic-unit-tests-for-update_sigs-v9_11' into 'v9_11'
Add basic unit tests for update_sigs()

Closes #135

See merge request isc-projects/bind9!112
2018-05-10 00:07:28 -07:00
Michał Kępień
d6b8bca379 Add CHANGES entry
4939.	[test]		Add basic unit tests for update_sigs(). [GL #135]

(cherry picked from commit 4885809eb9)
(cherry picked from commit 1f9b0cbc63)
2018-05-10 00:04:57 -07:00
Michał Kępień
505267f320 Define basic test cases for dns__zone_updatesigs()
Add some basic test cases ensuring dns__zone_updatesigs() behaves as
expected.

(cherry picked from commit 8b9d2c27b4)
(cherry picked from commit 3e93e4bb62)
2018-05-10 00:04:57 -07:00
Michał Kępień
e787e54ea1 Add a framework for dns__zone_updatesigs() unit tests
Add a new ATF test, sigs_test, containing everything required to start
defining test cases for dns__zone_updatesigs().  The framework is
written in a way which ensures that changes to zone database applied by
any dns__zone_updatesigs() invocation are preserved between subsequent
checks.

(cherry picked from commit 1f10186476)
(cherry picked from commit 3dde7c42db)
2018-05-10 00:04:55 -07:00
Michał Kępień
a6be59ce08 Move find_zone_keys() to lib/dns/zone_p.h
Rename find_zone_keys() to dns__zone_findkeys() and move it to
lib/dns/zone_p.h, so that it can be used in unit tests.  Add a comment
describing the purpose of this function.

(cherry picked from commit d7143986b1)
(cherry picked from commit fc0e99c7d7)
2018-05-10 00:04:14 -07:00
Michał Kępień
5c71a025c6 Move update_sigs() to lib/dns/zone_p.h
Rename update_sigs() to dns__zone_updatesigs() and move it to
lib/dns/zone_p.h, so that it can be unit tested.  Add a comment
describing the purpose of this function.

(cherry picked from commit b1947cee82)
(cherry picked from commit 4d06f50ba8)
2018-05-10 00:04:12 -07:00
Michał Kępień
5712d9528f Move zonediff_t to lib/dns/zone_p.h
Rename zonediff_t to dns__zonediff_t and move it to lib/dns/zone_p.h, so
that unit tests can be written for functions taking pointers to
structures of this type as arguments.

(cherry picked from commit ace465a9f9)
(cherry picked from commit ea15c54d8a)
2018-05-10 00:03:16 -07:00
Michał Kępień
536d6dc0c5 Add lib/dns/zone_p.h
Add a new private header file, lib/dns/zone_p.h, which will hold type
definitions and function prototypes not meant to be exported by libdns,
but required by zone-related unit tests.

(cherry picked from commit c1bc3be806)
(cherry picked from commit 2b0add6d1a)
2018-05-10 00:03:16 -07:00
Michał Kępień
1f454b8d91 Add a helper function to facilitate preparing dns_diff_t structures
Implement dns_test_difffromchanges(), a function which enables preparing
a dns_diff_t structure from a mostly-textual representation of zone
database changes to be applied.  This will improve readability of test
case definitions by allowing contents of a dns_diff_t structure, passed
e.g. to update_sigs(), to be represented in a human-friendly manner.

(cherry picked from commit 3c22af0d35)
(cherry picked from commit d4c603eb8a)
2018-05-10 00:03:16 -07:00
Michał Kępień
5097723d1b Rename dns_test_rdata_fromstring() to dns_test_rdatafromstring()
Remove the underscore from "rdata_fromstring" so that all helper
functions for libdns tests use a common naming covention.

(cherry picked from commit 2980cbd55f)
(cherry picked from commit 107102d333)
2018-05-10 00:03:15 -07:00
Michał Kępień
d45ee39bae Rework dns_test_makezone()
The dns_test_makezone() helper function always assigns the created zone
to some view, which is not always necessary and complicates cleanup of
non-managed zones as they are required not to be assigned to any view.

Rework dns_test_makezone() in order to make it easier to use in unit
tests operating on non-managed zones.  Use dns_name_fromstring() instead
of dns_name_fromtext() to simplify code.  Do not use the CHECK() macro
and add comments to make code flow simpler to follow.  Use
dns_test_makeview() instead of dns_view_create().

Adjust existing unit tests using this function so that they still pass.

(cherry picked from commit bfbeef3609)
(cherry picked from commit f70c02d2c2)
2018-05-10 00:03:15 -07:00
Ondřej Surý
ffeeff297c Merge branch '191-misc-improvements-v9_12-v9_11' into 'v9_11'
[v9_11] Miscelaneous improvements found when working on #191

See merge request isc-projects/bind9!245
2018-05-03 16:32:47 -04:00
Ondřej Surý
9ad51fd177 Use standard OPENSSL_NO_ENGINE instead of custom USE_ENGINE define
(cherry picked from commit 8d648e7a8a)
(cherry picked from commit 311fbf3f5b)
2018-05-03 21:48:44 +02:00
Ondřej Surý
17314bc5da Use BN_hex2bn instead of custom BN_fromhex function
(cherry picked from commit 8bf192b4d1)
(cherry picked from commit 5af60f69fd)
2018-05-03 21:44:36 +02:00
Ondřej Surý
ff4b8c29d9 Fix extra ] in configure.in
(cherry picked from commit 35d2dbb9f5)
(cherry picked from commit 30b308e2e3)
2018-05-03 21:44:36 +02:00
Ondřej Surý
727a91eded Merge branch '236-silence-cppcheck-issues-in-lib-dns-dst_parse-c-v9_11' into 'v9_11'
[v9_11] Resolve "silence cppcheck issues in lib/dns/dst_parse.c"

See merge request isc-projects/bind9!241
2018-05-03 11:22:29 -04:00
Mark Andrews
dc9b77a852 simplify mask construction
(cherry picked from commit 22fab3199f)
2018-05-03 17:15:32 +02:00
Ondřej Surý
d89310e9dc Merge branch 'random-test-improvement-v9_11' into 'v9_11'
[v9_11] Improve random_test to also test the high bound of the confidence interval

See merge request isc-projects/bind9!238
2018-05-03 09:12:52 -04:00
Ondřej Surý
358ef09a6e Also test the higher part of the confidence interval
(cherry picked from commit 8d3220643c)
2018-05-03 15:05:20 +02:00
Ondřej Surý
0e05f8cfc8 Merge branch '191-add-LibreSSL-2.7-support-v9_11' into 'v9_11'
[v9_11] Add LibreSSL 2.7.0 support

See merge request isc-projects/bind9!235
2018-05-03 08:34:45 -04:00
Ondřej Surý
cc0885fb7f Add CHANGES entry
4935.   [func]          Add support for LibreSSL >= 2.7.0 (some OpenSSL 1.1.0
                        call were added). [GL #191]

(cherry picked from commit 30488dddf0)
2018-05-03 14:27:47 +02:00
Ondřej Surý
c74decdf53 Workaround LibreSSL 2.7.0-2.7.2 quirk in DH_set0_key
(cherry picked from commit 6b9e3b7b06)
2018-05-03 14:27:33 +02:00
Ondřej Surý
f3414c74ec Add support for LibreSSL 2.7
(cherry picked from commit 29ff62a149)
2018-05-03 14:27:33 +02:00
Evan Hunt
ac62f97242 Merge branch '208-dig-doc' into 'v9_11'
Resolve "Added -t TYPEnn description to dig"

Closes #208

See merge request isc-projects/bind9!221
2018-04-27 00:00:09 -07:00
Paul Hoffman
d742db122e add -t type### description to the dig man page
(cherry picked from commit 2d957c6b9f)
2018-04-27 00:00:03 -07:00
Evan Hunt
3cea5c34c5 Merge branch '159-improve-handling-of-inline-signed-zones-with-missing-signing-keys' into 'v9_11'
Improve handling of inline signed zones with missing signing keys

Closes #159

See merge request isc-projects/bind9!133
2018-04-25 12:10:00 -07:00
Michał Kępień
1112a69a02 Add CHANGES entries
4916.	[bug]		Not creating signing keys for an inline signed zone
			prevented changes applied to the raw zone from being
			reflected in the secure zone until signing keys were
			made available. [GL #159]

4915.	[bug]		Bumped signed serial of an inline signed zone was
			logged even when an error occurred while updating
			signatures. [GL #159]

(cherry picked from commit 7d2c09c905)
(cherry picked from commit e4995efe24)
2018-04-25 12:09:53 -07:00
Michał Kępień
911836509e Apply raw zone deltas to yet unsigned secure zones
When inline signing is enabled for a zone without creating signing keys
for it, changes subsequently applied to the raw zone will not be
reflected in the secure zone due to the dns_update_signaturesinc() call
inside receive_secure_serial() failing.  Given that an inline zone will
be served (without any signatures) even with no associated signing keys
being present, keep applying raw zone deltas to the secure zone until
keys become available in an attempt to follow the principle of least
astonishment.

(cherry picked from commit 6acf326969)
(cherry picked from commit 8a58a60772)
2018-04-25 12:09:53 -07:00
Michał Kępień
4ba247818c Only log bumped signed serial after a successful secure zone update
If a raw zone is modified, but the dns_update_signaturesinc() call in
receive_secure_serial() fails, the corresponding secure zone's database
will not be modified, even though by that time a message containing the
bumped signed serial will already have been logged.  This creates
confusion, because a different secure zone version will be served than
the one announced in the logs.  Move the relevant dns_zone_log() call so
that it is only performed if the secure zone's database is modified.

(cherry picked from commit cfbc8e264d)
(cherry picked from commit cdc7ab42b1)
2018-04-25 12:09:53 -07:00
Evan Hunt
a8b21dbde2 Merge branch '171-lgtm-issues-v9_11' into 'v9_11'
Resolve "problems detected by LGTM static analyzer"

Closes #171

See merge request isc-projects/bind9!213
2018-04-22 12:58:27 -07:00
Evan Hunt
f9da5a735e remove unnecessary comparison
(cherry picked from commit 8b1baa10ee)
2018-04-22 12:58:27 -07:00
Evan Hunt
0dcff8f93c silence warnings about unnecessary comparisons
- these are cases where result has been explicitly set, so
  if (result != ISC_R_SUCCESS) is unnecessary

(cherry picked from commit e00eb55cd2)
2018-04-22 12:58:27 -07:00
Evan Hunt
7f61e9d50e add header guards in files that were missing them
(cherry picked from commit 4247477b61)
2018-04-22 12:58:27 -07:00
Evan Hunt
f7755696a5 add header guard when generating bind.keys.h
(cherry picked from commit bfbe6925df)
2018-04-22 12:58:27 -07:00
Evan Hunt
9d99bf0f4b change "key" to "tsigkey" to silence "short global name" warning
(cherry picked from commit 0cc7aa250e)
2018-04-22 12:58:24 -07:00
Evan Hunt
694a1486ca fix shadowed global variables
(cherry picked from commit 9ca3ab1168)
2018-04-22 12:57:58 -07:00
Evan Hunt
b9db91aa64 fix duplicate include guard in dnsconf.h
- IMHO we should consider removing dnsconf.c and deprecating the
  /etc/dns.conf file, though, as I don't think it's likely anyone
  is using it

(cherry picked from commit a08ba418ef)
2018-04-22 12:57:58 -07:00
Ondřej Surý
2054c850d8 Merge branch '202-cppcheck-reporting-miscellaneous-issues-v9_11' into 'v9_11'
Resolve "cppcheck reporting miscellaneous issues"

See merge request isc-projects/bind9!217
2018-04-20 18:53:54 -04:00
Mark Andrews
cdce9f752c remove exit calls after FATAL_ERROR
(cherry picked from commit f8d2a46daa)
2018-04-20 18:47:39 -04:00
Mark Andrews
bd3ad6fb59 remove dead code
(cherry picked from commit 686edad5c5)
2018-04-20 18:47:39 -04:00
Mark Andrews
578714e8f1 use %u instead of %d for unsigned int arguments
(cherry picked from commit 49f8e9571c)
2018-04-20 18:47:39 -04:00
Ondřej Surý
ac810872c6 Merge branch '206-nslookup-accepts-any-bogus-option-interpret-it-as-vc-v9_11' into 'v9_11'
Resolve "nslookup accepts any -bogus -option, interpret it as -vc"

See merge request isc-projects/bind9!215
2018-04-20 18:20:46 -04:00
Mukund Sivaraman
4f35a81004 Remove bogus comparison
(cherry picked from commit 89cf503880)
2018-04-20 14:52:43 -07:00
Ondřej Surý
901363a3dd Merge branch '189-fix-tsig-dump-keyfile-name-generation-issues-v9_11' into 'v9_11'
[v9_11] Fix TSIG dump keyfile name generation issues

See merge request isc-projects/bind9!192
2018-04-12 03:07:16 -04:00
Ondřej Surý
cf5598156d Sync isc_file_template functions between unix and win32, so they are same
(cherry picked from commit 8c99d104e3)
2018-04-12 09:00:13 +02:00
Ondřej Surý
6f550b33bf Cherry-pick changes to isc_file_template and associated unit test from v9_12 to v9_11
(cherry picked parts of commit 2dfb992349)
2018-04-12 08:59:35 +02:00
Mukund Sivaraman
63331f010e Fix TSIG dump keyfile name buffer size issues
(cherry picked from commit 44b84cb5a6)
2018-04-11 14:38:10 +02:00
Ondřej Surý
d69d5b96c1 Define PATH_MAX on Windows as _MAX_PATH, so we can use it everywhere
(cherry picked from commit 7467735258)
2018-04-11 14:38:10 +02:00
Evan Hunt
ec32538c2e Merge branch '193-fix-variable-definitions-in-bin-tests-Makefile.in-v9_11' into 'v9_11'
Fix variable definitions in bin/tests/Makefile.in

Closes #193

See merge request isc-projects/bind9!183
2018-04-10 20:04:40 -07:00
Evan Hunt
2a6a2014b4 Alter distclean rule to prevent recursing into the same directory twice
Commit f87e0c03ee removed the "system" directory from the TESTDIRS
variable in bin/tests/Makefile.in in an attempt to fix "make distclean"
which was broken since commit 0d784de16a.  However, this change
prevented any system tests from being run when "make test" is invoked.

We now put it back into both SUBDIRS and TESTDIRS, but with a modified
rule to check for the existence of a Makefile in each subdirectory before
trying to run make there. This prevents "make distclean" from trying to
run again in a directory where it's already been run.

(cherry picked from commit 93ee6b8a22)
2018-04-10 20:04:40 -07:00
Michał Kępień
19db5fb1f3 Fail CI pipeline when "make test" does not run any system tests
Apart from ensuring "make test" returns 0, also check whether any system
test output was generated as a result of running it.  This prevents the
CI job running system tests from succeeding unless it actually tests
something.

(cherry picked from commit 80ab2c0f22)
2018-04-10 20:04:39 -07:00
Evan Hunt
f7090700c7 Merge branch '197-dnstap-sockaddr-v9_11' into 'v9_11'
Resolve "dnstap: log actual local IPv6 address, not :: listening address"

Closes #197

See merge request isc-projects/bind9!188
2018-04-10 17:32:27 -07:00
Evan Hunt
bd60a72551 CHANGES note
(cherry picked from commit 330b26c9df)
2018-04-10 17:32:27 -07:00
Tony Finch
b53dee6d8f dnstap: log actual local IPv6 address, not :: listening address
(cherry picked from commit ccff953c25)
2018-04-10 17:26:08 -07:00
Evan Hunt
920eb326a5 Merge branch '183-add-dns_fixedname_initname-v9_11' into 'v9_11'
Add and use dns_fixedname_initname()

Closes #183

See merge request isc-projects/bind9!161
2018-04-10 14:08:27 -07:00
Mukund Sivaraman
984182a3fc Add CHANGES entry:
4921.   [cleanup]       Add dns_fixedname_initname() and refactor the caller
                        code to make usage of the new function, as a part of
                        refactoring dns_fixedname_*() macros were turned into
                        functions. [GL #183]

(cherry picked from commit d7faee2566)
(cherry picked from commit d7676d0fa8)
2018-04-10 13:27:54 -07:00
Michał Kępień
ab88043e74 Do not access dns_fixedname_t fields directly
Employ dns_fixedname_name() and dns_fixedname_initname() to no longer
directly access dns_fixedname_t fields.

(cherry picked from commit 39ddf9991f)
(cherry picked from commit 706f865a20)
2018-04-10 13:27:48 -07:00
Michał Kępień
ecea678dac Use dns_fixedname_initname() where possible
Replace dns_fixedname_init() calls followed by dns_fixedname_name()
calls with calls to dns_fixedname_initname() where it is possible
without affecting current behavior and/or performance.

This patch was mostly prepared using Coccinelle and the following
semantic patch:

    @@
    expression fixedname, name;
    @@
    -	dns_fixedname_init(&fixedname);
    	...
    -	name = dns_fixedname_name(&fixedname);
    +	name = dns_fixedname_initname(&fixedname);

The resulting set of changes was then manually reviewed to exclude false
positives and apply minor tweaks.

It is likely that more occurrences of this pattern can be refactored in
an identical way.  This commit only takes care of the low-hanging fruit.

(cherry picked from commit 4df4a8e731)
(cherry picked from commit 0041aeb751)
2018-04-10 13:26:23 -07:00
Mukund Sivaraman
1dea0795d1 Add a dns_fixedname_initname() helper function
This also turns the dns_fixedname macros into functions.

(cherry picked from commit 0d2a03c290)
(cherry picked from commit cee4fef7c5)
2018-04-10 13:14:25 -07:00
Mark Andrews
1b4f1c26b2 Merge branch 'ssl-double-free-v9_11' into 'v9_11'
Fix double free after keygen error in dnssec-keygen

Closes #109

See merge request isc-projects/bind9!70
2018-04-06 14:24:36 +10:00
Ondřej Surý
9a4414b039 Add CHANGES entry
(cherry picked from commit ef2b2a6c92)
2018-04-06 14:24:27 +10:00
Ondřej Surý
c5d1fedca8 A couple of more cleanups after free in opensslrsa_generate()
(cherry picked from commit d2b3188c61)
2018-04-06 14:23:58 +10:00
Petr Mensik
8baf990392 Do not assign NULL conditionally in OpenSSL < 1.1, make it always explicit.
(cherry picked from commit edaafacf36)
2018-04-06 14:23:58 +10:00
Petr Mensik
f36e13b039 Fix double free on RSA_generate_key_ex failure
(cherry picked from commit 01cc622e7b)
2018-04-06 14:23:57 +10:00
Mark Andrews
0f67278a7e system should only be in SUBDIRS
(cherry picked from commit 342e146fe3)
2018-04-06 13:09:45 +10:00
Ondřej Surý
d653a8bf24 Merge branch 'pemensik/bind9-no-idn2-export-v9_11' into 'v9_11'
Don't include -lidn2 in isc-config.sh output

See merge request isc-projects/bind9!180
2018-04-05 06:13:44 -04:00
Ondřej Surý
31e5ceeea7 Print information about LIBIDN2 in Configuration summary (Closes: #163)
(cherry picked from commit 8da5e5290f)
2018-04-05 12:05:59 +02:00
Petr Menšík
3b2294c56a Remove -lidn2 from exported LIBS. Do not propagate it from isc-config.sh --libs isc.
(cherry picked from commit 21c2871667)
2018-04-05 12:05:57 +02:00
Ondřej Surý
ba1cb23fa3 Merge branch 'kchen/bind9-test-prereqs-v9_11' into 'v9_11'
Add a Net::DNS prereq for couple of tests

See merge request isc-projects/bind9!177
2018-04-04 17:09:29 -04:00
Kevin Chen
a39c613ccc Add a Net::DNS prereq for digdelv, fetchlimit, rpzrecurse, and zero
tests to avoid failed tests when Net::DNS is not present.

(cherry picked from commit 8b1b809ab4)
2018-04-04 23:02:58 +02:00
Stephen Morris
51fd67202b Merge branch '139-tests-for-idna2008-libidn2-merge-v9_11' into 'v9_11'
Resolve "Tests for IDNA2008 (libidn2)" - Merge into 9.11

See merge request isc-projects/bind9!173
2018-04-04 10:00:30 -04:00
Stephen Morris
79b7a5c89b Check libidn2 version before proceding with one of the tests.
A known issue in libidn2 causes one of the tests of a fake A-label
to fail.  The problem should be corrected in version 2.0.5 of
libidn2.
2018-04-04 09:48:52 -04:00
Ondřej Surý
05880829e0 Use C.UTF-8 if available, and en_US.UTF-8 is available, otherwise do nothing and let the test break 2018-04-04 09:48:51 -04:00
Stephen Morris
8319ece415 Set known locale prior to running tests. 2018-04-04 09:48:50 -04:00
Stephen Morris
dfb264f85c Fix check for the presence of IDNA. 2018-04-04 09:48:49 -04:00
Stephen Morris
777a37affd Added additional tests for invalid punycode strings. 2018-04-04 09:48:49 -04:00
Stephen Morris
e0b6c11840 Initial set of IDNA tests. 2018-04-04 09:48:47 -04:00
Michał Kępień
a71c9a12f9 Merge branch '188-remove-duplicate-named_g_conffile-init-v9_11' into 'v9_11'
Remove redundant named_g_conffile initialization

Closes #188

See merge request isc-projects/bind9!166
2018-04-04 12:34:21 +02:00
Ondřej Surý
61715b2120 Remove redundant ns_g_conffile initialization from bin/named/win32/os.c
(cherry picked from commit c727f0797b)
2018-04-04 12:34:07 +02:00
Ondřej Surý
535a4ae85c Merge branch '26-fix-normalization-for-non-IDN-v9_11' into 'v9_11'
Don't use the IDN translated name if no conversion took a place

See merge request isc-projects/bind9!157
2018-03-22 10:04:10 -04:00
Ondřej Surý
db7231e4ab Don't use the IDN traslated name if no conversion took a place
(cherry picked from commit 08f66d8509)
2018-03-22 13:54:49 +00:00
Mark Andrews
4dd54a688c Merge branch '167-coverity-dereferencing-a-null-pointer-in-lib-dns-tests-rbt_test-c-v9_11' into 'v9_11'
Resolve "coverity: Dereferencing a null pointer in lib/dns/tests/rbt_test.c"

Closes #167

See merge request isc-projects/bind9!150
2018-03-20 09:54:56 +11:00
Mukund Sivaraman
4445ee6491 Check return value of isc_mem_get()
(cherry picked from commit de3a4af1bf)
2018-03-20 09:54:55 +11:00
Mark Andrews
f56b63d9ac fix temporary file name to have subtest number
(cherry picked from commit e12453f43c88bac722fb511b62f12303735b788c)
2018-03-19 23:13:10 +11:00
Mark Andrews
79c85f5e60 Merge branch 'fixtypo-v9_11' into 'v9_11'
fix typo

See merge request isc-projects/bind9!148
2018-03-19 22:55:24 +11:00
Mark Andrews
c5d1d9d232 fix typo
(cherry picked from commit 6e4b5f2345)
2018-03-19 22:53:09 +11:00
Mark Andrews
b05e162caa Merge branch '166-statistics-system-test-numbering-is-bad-v9_11' into 'v9_11'
Resolve "statistics system test numbering is bad"

Closes #166

See merge request isc-projects/bind9!146
2018-03-19 20:27:50 +11:00
Mark Andrews
7921d18f11 fix numbering of tests and make consistent
(cherry picked from commit dd5dff3096)
2018-03-19 20:27:26 +11:00
Ondřej Surý
887fcc0061 Update libtool files to 2.4.6
(cherry picked from commit fe06778be7)
2018-03-19 13:03:56 +11:00
Ondřej Surý
de32e55f3e Merge branch '164-remove-openssl-warning-v9_11' into 'v9_11'
[v9_11] Remove useless OpenSSL warning from configure script

See merge request isc-projects/bind9!141
2018-03-17 10:50:21 -04:00
Ondřej Surý
9e2d1ddf22 Remove obsolete OpenSSL version check
(cherry picked from commit e9571d29af)
2018-03-17 14:31:47 +00:00
Ondřej Surý
eb48e66202 Merge branch '26-switch-to-IDNA2008-non-transitional-processing-v9_11' into 'v9_11'
Resolve "Switch to IDNA2008 non-transitional processing (and use libidn2 for that)"

Closes #26

See merge request isc-projects/bind9!124
2018-03-17 13:37:50 +00:00
Ondřej Surý
2ff3b664bc Add release notes for IDNA2008
(cherry picked from commit e7590c7528)
2018-03-17 13:37:48 +00:00
Ondřej Surý
a0d45f5d50 Add CHANGES for idn2 support
(cherry picked from commit 8f44ef7d59)
2018-03-17 13:36:53 +00:00
Ondřej Surý
b0c7cda6d7 Enable --with-libidn2 in GitLab CI checks
(cherry picked from commit 1c075646f5)
2018-03-17 13:36:34 +00:00
Ondřej Surý
c085286822 Simplify the libidn2 configure checks
(cherry picked from commit 76c05a71fc)
2018-03-17 13:36:33 +00:00
Petr Menšík
82914d0a41 Sanitize IDN initialization
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 29b94bbb04)
2018-03-17 13:35:59 +00:00
Petr Menšík
9117bbe9a5 Remove support for libidn (IDN 2003)
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 8254cf69d3)
2018-03-17 13:35:58 +00:00
Petr Menšík
2b031d1759 Remove conversion from locale to utf8 from public API
Emit fatal failures on locale to ACE encoding

Separate idnout support, disable it for libidn2 < 2.0

Add custom path to libidn. Leave default path for multilib support.

Allow turning off IDN input processing by dig option

Improve documentation, fix support in host

Fix configure changes to adjust help text

Use strlcpy with size guard

Improve IDN variants choosing. Fix idn2 function name.

Remove immediate idn_locale_to_ace and idn_ace_to_locale.

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 94757c1545)
2018-03-17 13:35:23 +00:00
Tomas Hozza
56b66f01c6 Add support for libidn2
Added two new configure options:
--with-libidn2 - to enable IDN using GNU libidn2

idnkit, libidn and libidn2 support can not be used at the same time.

NOTE: libidn2 does not support punycode back to Unicode
characters, so support for this is missing.

Signed-off-by: Tomas Hozza <thozza@redhat.com>

Removed iconv, convert directly from locale to ACE

Fix libidn2 and idnkit origin appending

Make IDN options in help less different

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 505f673451)
2018-03-17 13:33:42 +00:00
Tomas Hozza
edab22119f Add support for GNU libidn
Added new configure option:
--with-libidn - to enable IDN using GNU libidn

Renamed configure option:
--with-idn to --with-idnkit to make the option usage more clear

idnkit and libidn support can not be used at the same time.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
(cherry picked from commit 2320443f63)
2018-03-17 13:32:54 +00:00
Evan Hunt
f0cfa8acea Merge branch 'copyrights' into v9_11 2018-03-15 18:39:13 -07:00
Evan Hunt
09cf48603a update file headers 2018-03-15 18:38:48 -07:00
Evan Hunt
a5f7d8c718 ensure COPYRIGHT file retains years; edit file headers for consistency 2018-03-15 18:38:19 -07:00
Evan Hunt
4ebbb285b9 Merge branch '157-cleanup-win-libtests-v9_11' into 'v9_11'
Resolve "Windows build fails"

Closes #157

See merge request isc-projects/bind9!131
2018-03-15 13:47:18 -07:00
Evan Hunt
ee0364c0d3 remove references to lib/tests in the windows build
(cherry picked from commit e2bb9824f8)
2018-03-15 13:47:18 -07:00
Evan Hunt
f181bad544 Merge branch '154-fix-atomic-test-v9_11' into 'v9_11'
Resolve "Build failure on OSX with --disable-atomic --enable-developer"

Closes #154

See merge request isc-projects/bind9!130
2018-03-15 12:09:38 -07:00
Evan Hunt
14e22ddf8c add an 'untested' case when none of the atomic operations are available
- this fixes a build failure introduced in change 4913 when
  compiling with ATF and --disable-atomic

(cherry picked from commit 1b3eac926e)
2018-03-15 12:09:38 -07:00
Evan Hunt
112fe1e5e4 Merge branch 'fix-whitespace' into v9_11 2018-03-14 17:05:42 -07:00
Evan Hunt
c11d37af18 whitespace 2018-03-14 17:05:32 -07:00
Evan Hunt
7335809707 Merge branch 'fix-copyrights' into v9_11 2018-03-14 16:41:25 -07:00
Evan Hunt
8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Evan Hunt
891554b322 Update scripts in util/ to drop the year information from the individual source files. 2018-03-14 16:37:53 -07:00
Evan Hunt
95539f68c2 Merge branch 'fix-relnotes-v911' into v9_11 2018-03-14 14:48:14 -07:00
Evan Hunt
7938956183 update EoL information 2018-03-14 14:47:51 -07:00
Evan Hunt
7bd42894ae Merge branch 'branchsync' into 'v9_11'
update branchsync to deal with merge commits

See merge request isc-projects/bind9!127
2018-03-14 14:43:03 -07:00
Evan Hunt
e9fb455347 updated branchsync to deal with merge commits
(cherry picked from commit fccf8ca2f6)
2018-03-14 14:42:21 -07:00
Ondřej Surý
413b7d4b24 Update whitespace 2018-03-14 12:45:03 +01:00
Ondřej Surý
3bc1e17643 Update copyrights 2018-03-14 12:42:22 +01:00
Ondřej Surý
a14d0362df [v9_11] Enable GitLab CI
(cherry picked from commit 5b7393ab588aee8dc64adb194f38eab6818aaa10)
2018-03-14 12:39:03 +01:00
Evan Hunt
73a2aac95f Merge branch 'clean-xfer' into 'v9_11'
clean up dig.out files that were left behind after xfer test

See merge request isc-projects/bind9!120
2018-03-10 13:12:42 -08:00
Evan Hunt
01823b89c0 clean up dig.out files that were left behind after xfer test
(cherry picked from commit 733086cc67)
2018-03-10 13:12:39 -08:00
Evan Hunt
792e16bc39 Merge branch 'nothreads-fix' into 'v9_11'
Fix compiler warnings and test failures when building without threads

See merge request isc-projects/bind9!119
2018-03-10 10:37:41 -08:00
Evan Hunt
e98ec51b96 Fix compiler warnings and test failures when building without threads
(cherry picked from commit 56353aaf42)
2018-03-10 10:37:20 -08:00
Evan Hunt
8da54db729 Merge branch 'clean-bin-tests' into 'v9_11'
clean up bin/tests, convert unit tests to ATF

Closes #115

See merge request isc-projects/bind9!93
2018-03-09 16:47:51 -08:00
Evan Hunt
442c1530a3 final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
2018-03-09 16:17:56 -08:00
Evan Hunt
ade4face27 reduce race risk in parallel builds
(cherry picked from commit 74347f4a55)
(cherry picked from commit 7f4e62d902)
2018-03-09 15:48:34 -08:00
Evan Hunt
941946cf14 remove lib/tests as nothing uses it anymore
(cherry picked from commit d132f73497)
(cherry picked from commit d35f62434a)
2018-03-09 15:48:32 -08:00
Evan Hunt
64ea21a0e5 shorten ht_test and random_test
(cherry picked from commit 9b753aa154)
(cherry picked from commit 289836a066)
2018-03-09 15:47:21 -08:00
Evan Hunt
57a5820dcc migrate t_dst signature test to lib/dns/tests/dst_test
(cherry picked from commit a4ebe83cdb)
(cherry picked from commit 4439c471d1)
2018-03-09 15:46:53 -08:00
Evan Hunt
d3518e57b1 migrate t_db to lib/dns/tests/db_test
(cherry picked from commit f58ac8ada3)
(cherry picked from commit 56da937399)
2018-03-09 15:42:07 -08:00
Evan Hunt
b2fef3b438 migrate t_names to lib/dns/tests/name_test
(cherry picked from commit 8ecf69ef7b)
(cherry picked from commit aefad99e1e)
2018-03-09 15:40:21 -08:00
Evan Hunt
42fa3932ab migrate t_rbt to lib/dns/tests/rbt_test
(cherry picked from commit 109546cbda)
(cherry picked from commit c505afd183)
2018-03-09 15:39:42 -08:00
Evan Hunt
38f9cddcad migrate t_tasks to lib/isc/tests/task_test
(cherry picked from commit c6c1e99252)
(cherry picked from commit 88bfe56876)
2018-03-09 15:38:53 -08:00
Evan Hunt
5dd25f2285 migrate t_resolver to lib/dns/tests/resolver_test
(cherry picked from commit d80825c40b)
(cherry picked from commit 30e157f6e4)
2018-03-09 15:38:30 -08:00
Evan Hunt
274ee0b425 migrate t_timers to lib/isc/tests/timer_test
(cherry picked from commit e2b8699df9)
(cherry picked from commit efccdad0ea)
2018-03-09 15:37:03 -08:00
Evan Hunt
492e19d6ec migrate t_atomic to lib/isc/tests/atomic_test
(cherry picked from commit 874e2fc70c)
(cherry picked from commit c7fa56e8db)
2018-03-09 15:35:09 -08:00
Evan Hunt
814cd21e22 migrate t_mem to lib/isc/tests/mem_test
(cherry picked from commit 979f054702)
(cherry picked from commit af48544b75)
2018-03-09 15:34:31 -08:00
Evan Hunt
faedafd2b4 migrate t_net to lib/isc/tests
(cherry picked from commit 05b7251d51)
(cherry picked from commit af0c9b2cee)
2018-03-09 15:33:48 -08:00
Evan Hunt
323e2f7152 migrate t_sockaddr to lib/isc/tests
(cherry picked from commit 62f650078a)
(cherry picked from commit fadb93cf43)
2018-03-09 15:33:01 -08:00
Evan Hunt
c644427b77 remove hashes test (duplicates lib/isc/tests/hash_test)
(cherry picked from commit 6ad1a042bc)
(cherry picked from commit e686b9c297)
2018-03-09 15:32:30 -08:00
Evan Hunt
ae39f25a10 remove master test (duplicates lib/isc/tests/master_test)
(cherry picked from commit 6717f31e10)
(cherry picked from commit 36d08442bc)
2018-03-09 15:32:00 -08:00
Evan Hunt
dbb225d83e migrate tests from bin/tests/dnssec-signzone to bin/tests/system/dnssec
- added tests to the dnssec system test that duplicate the ones
  from bin/tests/dnssec-signzone
- changed cleanall.sh so it doesn't automatically remove all
  key files, because there are now some of those that are part of the
  distribution

(cherry picked from commit ccfe778c01)
(cherry picked from commit d8f8eee381)
2018-03-09 15:30:27 -08:00
Evan Hunt
e062109659 move all optional tests from bin/tests to bin/tests/optional
- some of these tests are obsolete and should be cleared up,
  others overlap with ATF tests and may be removed later.
  for now, let's just tidy up the bin/tests directory by
  moving these files down a level.

(cherry picked from commit 344ab0eb7d)
(cherry picked from commit dafdf2c09b)
2018-03-09 15:29:59 -08:00
Evan Hunt
22d9a69b3f remove some old and obsolete test files
(cherry picked from commit a633f6c5dd)
(cherry picked from commit 10efb4ff07)
2018-03-09 15:22:14 -08:00
Evan Hunt
360146cbc9 Merge branch 'parallel-unit-tests' into 'v9_11'
capture more info from unit tests, run in parallel

See merge request isc-projects/bind9!117
2018-03-09 14:37:51 -08:00
Evan Hunt
fb076e0591 allow ATF tests to run in parallel
(cherry picked from commit ef0b4c91bc)
(cherry picked from commit 787c5d1394)
2018-03-09 14:37:46 -08:00
Evan Hunt
6770e2c148 capture more information from unit tests
- preserve kyua results database when using kyua

(cherry picked from commit 81c23fecda)
2018-03-09 14:37:46 -08:00
Evan Hunt
3b559cf7f0 Merge branch 'v9_11_3_patch' into v9_11 2018-03-08 14:29:24 -08:00
Evan Hunt
56575848ec Merge branch 'rm-contrib-md' into v9_11 2018-03-08 13:03:56 -08:00
Evan Hunt
3265c127d3 remove doc/dev/contrib.md now that CONTRIBUTING.md exists 2018-03-08 12:59:25 -08:00
Evan Hunt
a375815431 Merge branch 'remove-bind9-bugs-references' into 'v9_11_3_patch'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 12:55:28 -08:00
Ondřej Surý
2baa66562a Update documentation to remove obsolete bind9-bugs@isc.org email address
(cherry picked from commit efc9bc5d8d)
(cherry picked from commit 486e79050f)
(cherry picked from commit b02bf3b8a2)
2018-03-08 12:52:29 -08:00
Evan Hunt
3096be06d4 Merge branch 'remove-bind9-bugs-references' into 'v9_11'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 10:40:32 -08:00
Ondřej Surý
b02bf3b8a2 Update documentation to remove obsolete bind9-bugs@isc.org email address
(cherry picked from commit efc9bc5d8d)
(cherry picked from commit 486e79050f)
2018-03-08 10:40:12 -08:00
Michał Kępień
63ddec2443 Merge branch '128-fix-mkeys-system-test-race-v9_11' into 'v9_11'
Fix a race in the mkeys system test

Closes #128

See merge request isc-projects/bind9!103
2018-03-08 13:43:35 +01:00
Michał Kępień
fe3404a595 Add CHANGES entry
4911.	[test]		Improved the reliability of the 'mkeys' system test.
			[GL #128]

(cherry picked from commit 32f875f9fc)
2018-03-08 13:43:35 +01:00
Michał Kępień
bdf0287c2d Fix a race between "rndc reconfig" and waiting for a ./DNSKEY fetch to complete
Calling nextpart() after reconfiguring ns1 is not safe, because the
expected log message may appear in ns5/named.run before nextpart() is
run.  With the TTL for ./DNSKEY set to 20 seconds, ns5 will refresh it
after 10 seconds, by which time wait_for_log() will already have failed.
This results in a false negative.

However, just calling nextpart() before reconfiguring ns1 would
introduce a different problem: if ns5 refreshed ./DNSKEY between these
two steps, the subsequent wait_for_log() call would return immediately
as it would come across the log message about a failure while refreshing
./DNSKEY instead of the expected success.  This in turn would result in
a different false negative as the root key would still be uninitialized
by the time "rndc secroots" is called.

Prevent both kinds of false negatives by:

  - calling nextpart() before reconfiguring ns1, in order to prevent the
    first case described above,

  - looking for a more specific log message, in order to prevent the
    second case described above.

Also look for a more specific log message in the first part of the
relevant check, not to fix any problem, but just to emphasize that a
different fetch result is expected in that case.

With these tweaks in place, if a (failed) ./DNSKEY refresh is scheduled
between nextpart() and reconfiguring ns1, wait_for_log() will just wait
for two more seconds (one "hour"), at which point another refresh
attempt will be made that will succeed.

(cherry picked from commit 012ca0a27d)
2018-03-08 13:43:34 +01:00
Mark Andrews
479ba17e93 Merge branch '133-update-util-check-changes-to-work-on-release-branches-v9_11' into 'v9_11'
Resolve "Update util/check-changes to work on release branches."

Closes #133

See merge request isc-projects/bind9!110
2018-03-08 16:19:42 +11:00
Mark Andrews
86e95f7efd update util/check-changes to handle non master branched (util/check-changes master=0 CHANGES)
(cherry picked from commit 88a2202093)
2018-03-08 16:19:41 +11:00
Mark Andrews
8543e4fc3f fix changes number
(cherry picked from commit 586b547a7d)
2018-03-08 12:40:58 +11:00
Mark Andrews
098d1052b1 Merge branch '125-in-view-duplicate-zone-not-detected-by-named-checkconf-v9_11' into 'v9_11'
Resolve "in-view duplicate zone not detected by named-checkconf"

Closes #125

See merge request isc-projects/bind9!97
2018-03-08 12:21:14 +11:00
Mark Andrews
8843c936bb add changes note for 'named-checkconf did not detect in-view zone collisions'
(cherry picked from commit 83f85817aa)
2018-03-08 12:21:04 +11:00
Mark Andrews
229e9e2215 check for in-view zones colliding with other zone definitions; also check the syntax of the in-view zone name
(cherry picked from commit 3e7e280040)
2018-03-08 12:20:59 +11:00
Mark Andrews
cb0a385692 add test configuration where a in-view zone collides with a existing zone
(cherry picked from commit ca55c672b0)
2018-03-08 12:16:24 +11:00
Tinderbox User
47608e9842 Merge branch 'prep-release' into v9_11_3_patch 2018-03-08 01:12:43 +00:00
Tinderbox User
c313914d0e prep 9.11.3 2018-03-08 01:11:57 +00:00
Evan Hunt
c30f0875de Merge branch 'test-names-v9_11' into 'v9_11'
use the test name in the -D string for each name server

See merge request isc-projects/bind9!107
2018-03-07 14:51:09 -08:00
Evan Hunt
b28dcef84b use the test name in the -D string for each name server
(cherry picked from commit 1eff695f33)
2018-03-07 14:51:09 -08:00
Evan Hunt
dd3d6e65e9 Merge branch 'longopts-v9_11' into 'v9_11'
restore long options for run.sh

See merge request isc-projects/bind9!104
2018-03-07 14:35:31 -08:00
Evan Hunt
223a646d54 restore long options for run.sh
(cherry picked from commit 4a714bffbc)
2018-03-07 14:35:30 -08:00
Evan Hunt
9ef3bb9751 Merge branch 'allow-query' into 'v9_11'
speed up allow_query test

Closes #81

See merge request isc-projects/bind9!76
2018-03-07 14:20:15 -08:00
Evan Hunt
37a6bb004c eliminate unnecessary waiting in allow-query test
- grep in the log to see if configuration is finished rather
  than sleeping for 5 seconds

(cherry picked from commit a9b6bed6af)
2018-03-07 14:06:32 -08:00
Evan Hunt
5d9e3f9b02 rename allow_query to allow-query
(cherry picked from commit ffc3e73c36)
2018-03-07 14:04:48 -08:00
Evan Hunt
82a3c61fc2 Merge branch 'fix-notify' into 'v9_11'
fix notify test

See merge request isc-projects/bind9!77
2018-03-06 11:46:37 -08:00
Evan Hunt
dff94add3e address a possible notify test failure
- wait for the transfer completion message to apear in the log instead
  of the notify message. this ensures we don't check for the presense of
  transfered records during the time between the notify and the
  transfer.

(cherry picked from commit ad32553c1d)
2018-03-06 11:46:26 -08:00
Michał Kępień
b40cf385d1 Merge branch '110-libirs-do-not-ignore-resolv.conf-syntax-errors-v9_11' into 'v9_11'
libirs: Do not ignore resolv.conf syntax errors

Closes #110

See merge request isc-projects/bind9!78
2018-03-06 09:24:54 +01:00
Michał Kępień
6bcb8e3502 Add CHANGES entry
4905.	[bug]		irs_resconf_load() ignored resolv.conf syntax errors
			when "domain" or "search" options were present in that
			file. [GL #110]

(cherry picked from commit 1f18d33804)
2018-03-06 09:24:52 +01:00
Michał Kępień
8f07fb476b Remove duplicate irs_resconf_load() unit test
The "sortlist-v4.conf" unit test for irs_resconf_load() is always run
twice due to a duplicate entry in the "tests" table.  Remove one of them
to prevent this.

(cherry picked from commit 6c09f305ae)
2018-03-06 09:24:41 +01:00
Michał Kępień
b4a10e77ea Do not ignore resolv.conf syntax errors
irs_resconf_load() stores the value returned by add_search() into ret
without consulting its current value first.  This causes any previous
errors raised while parsing resolv.conf to be ignored as long as any
"domain" or "search" statement is present in the file.

Prevent this by returning early in case an error is detected while
parsing resolv.conf.  Ensure that "searchlist" and "magic" members of
the created irs_resconf_t structure are always initialized before
isc_resconf_destroy() is called.

(cherry picked from commit 1f400b68a8)
2018-03-06 09:24:41 +01:00
Mark Andrews
b7deabcdf1 Merge branch '126-make-distclean-fail-v9_11' into 'v9_11'
Resolve ""make distclean" fail."

Closes #126

See merge request isc-projects/bind9!102
2018-03-06 16:11:43 +11:00
Mark Andrews
29a95f0d83 don't allow a macro to end in '\'
(cherry picked from commit 57f7cf211c)
2018-03-06 16:11:42 +11:00
Evan Hunt
58b961b19d Merge branch 'test-fix' into v9_11
Fix merge errors in addzone test
2018-03-04 00:34:08 -08:00
Evan Hunt
421c9eff41 fix addzone merge errors 2018-03-04 00:33:50 -08:00
Tinderbox User
dbc220178d Merge branch 'prep-release' into v9_11_3_patch 2018-03-02 21:56:43 +00:00
Tinderbox User
c80e152862 prep 9.11.3rc2 2018-03-02 21:53:14 +00:00
Evan Hunt
057d4edd4d Merge branch '124-revert-deadlock-check' into 'v9_11_3_patch'
revert cname loop test due to effects on apex CNAMEs under insecure delegations

See merge request isc-projects/bind9!95
2018-03-02 12:19:03 -08:00
Evan Hunt
8d1b3ceb4d temporarily revert change #4859 2018-03-02 12:16:31 -08:00
Evan Hunt
7096e76308 Merge branch '124-revert-deadlock-check-v9_12-v9_11' into 'v9_11'
revert cname loop test due to effects on apex CNAMEs under insecure delegations

See merge request isc-projects/bind9!95
2018-03-02 12:02:52 -08:00
Evan Hunt
95c01ddde2 temporarily revert change #4859
(cherry picked from commit 84ec07999f)
2018-03-02 12:02:49 -08:00
Michał Kępień
dd7a65cb17 Merge branch 'fix-fetchlimit-v9_11' into 'v9_11'
Improve failure logging in fetchlimit system test

See merge request isc-projects/bind9!81
2018-03-01 15:40:57 +01:00
Evan Hunt
61f39c70d5 revise soft limit test
- don't bail out of the loop if clients are exceeded, just count incidents
- verbosely describe expectations and results

(cherry picked from commit 86838b2a02)
2018-03-01 15:40:57 +01:00
Michał Kępień
c49d45e9f7 Merge branch '118-bind-9-10-cookie-system-test-failing-v9_11' into 'v9_11'
Fix cookie system test for BIND 9.10

See merge request isc-projects/bind9!84
2018-03-01 14:15:55 +01:00
Mark Andrews
3ebcbe5233 remove unnecessary copy_setports calls
(cherry picked from commit d4040783f4)
2018-03-01 14:15:48 +01:00
Michał Kępień
2f3c767305 Merge branch '122-bind-9-10-nsupdate-system-test-fails-v9_11' into 'v9_11'
Fix nsupdate system test for BIND < 9.12

See merge request isc-projects/bind9!89
2018-03-01 13:55:33 +01:00
Mark Andrews
8cf5dd031d remove unsupported command line argument (-4) from nsupdate call
(cherry picked from commit ac3d2a0ed9)
2018-03-01 13:55:33 +01:00
Michał Kępień
ebb0199e1e Merge branch '121-views-system-test-has-wrong-test-strings-for-reload-completion-v9_11' into 'v9_11'
Resolve "views system test has wrong test strings for reload completion."

Closes #121

See merge request isc-projects/bind9!88
2018-02-28 14:56:25 +01:00
Mark Andrews
75b8698f39 wait for 'all zones loaded' rather than 'reloading zones succeeded' which just indicates that everything kicked off ok
(cherry picked from commit 4cb0873a0a)
2018-02-28 14:56:25 +01:00
Evan Hunt
1e21a74595 Merge branch '113-minor-testsummary.sh-improvements-v9_11' into 'v9_11'
Minor testsummary.sh improvements (handling colored output, failure summary)

Closes #113

See merge request isc-projects/bind9!80
2018-02-27 10:04:24 -08:00
Evan Hunt
41c733a052 Do not destroy systests.output if there are no test.output files
(cherry picked from commit 38940619c6)
2018-02-27 10:04:23 -08:00
Michał Kępień
961528efb8 Use echoinfo for printing test summary
This ensures testsummary.sh is consistent with other scripts belonging
to the test framework.

(cherry picked from commit 642e20db8a)
2018-02-27 10:04:23 -08:00
Michał Kępień
da0c363485 Make testsummary.sh print a list of failed system tests
Print a list of failed system tests, if any, below the system test
summary to avoid the need to manually search through the test log.

(cherry picked from commit 28068857e7)
2018-02-27 10:04:23 -08:00
Michał Kępień
915b793bfb Tweak the regular expression used for extracting system test results
The current regular expression used for extracting system test results
from systests.output, "^R:", is anchored at the start of a line, which
prevents colored system test output from being properly processed.  As
just "R:" would arguably be too general, extend the pattern a bit to
ensure it will only match lines containing system test results.

(cherry picked from commit 9006d6dbbd)
2018-02-27 10:04:23 -08:00
Evan Hunt
f1edab7d00 Merge branch 'test-output-v9_11' into 'v9_11'
Clean up test output

See merge request isc-projects/bind9!66
2018-02-27 09:52:12 -08:00
Evan Hunt
d57e8f6df3 clean up test output
- removed a few remaing places where output wasn't being passed
  through echo_i or cat_i
- added a "digcomp" function to conf.sh.in to send digcomp.pl output
  through cat_i and return the correct exit value
- set SYSTESTDIR when calling echo_i from nsX directories, so that
  the test name will always be printed correctly
- fixed a test name typo in conf.sh.in

(cherry picked from commit 0e52fbd0b3)
2018-02-27 09:52:07 -08:00
Michał Kępień
56c44b87aa Merge branch '98-add-util-git-replay-merge.sh-v9_11' into 'v9_11'
Put git-replay-merge in source tree

Closes #98

See merge request isc-projects/bind9!83
2018-02-27 10:43:53 +01:00
Michał Kępień
c43062a1c8 Add util/git-replay-merge.sh
git-replay-merge.sh is a script whose purpose is to make backporting
merge requests more convenient by automating the process as much as
possible.

For more information, including usage examples, see:

    https://gitlab.isc.org/isc-projects/bind9/wikis/Backporting-a-Merge-Request

(cherry picked from commit f7fe1e3098)
2018-02-27 10:43:53 +01:00
Evan Hunt
b371e436df Merge branch '112-fix-mx-checks-for-dynamic-updates-v9_12-v9_11' into 'v9_11'
Fix MX checks for dynamic updates

Closes #112

See merge request isc-projects/bind9!79
2018-02-26 15:17:56 -08:00
Michał Kępień
db238f5fe7 Add CHANGES entry
4903.	[bug]		"check-mx fail;" did not prevent MX records containing
			IP addresses from being added to a zone by a dynamic
			update. [GL #112]

(cherry picked from commit 1d403f9d3c)
(cherry picked from commit 71a35bc8e5)
2018-02-26 15:17:33 -08:00
Michał Kępień
457738b3bb Fix MX checks for dynamic updates
The check_mx() function in lib/ns/update.c incorrectly tests whether the
DNS_RDATA_CHECKMX/DNS_RDATA_CHECKMXFAIL flags are set for each applied
MX record update as these flags are never set in code paths related to
dynamic updates; they can only be set when loading a zone from a master
file (DNS_ZONEOPT_CHECKMX -> DNS_MASTER_CHECKMX -> DNS_RDATA_CHECKMX).
This flaw allows MX records containing IP addresses to be added to a
zone even when "check-mx fail;" is used.

Ensure correct behavior by modifying the relevant tests in check_mx() so
that they use DNS_ZONEOPT_CHECKMX/DNS_ZONEOPT_CHECKMXFAIL instead.

(cherry picked from commit 857a40c87b)
(cherry picked from commit 590f092e00)
2018-02-26 15:17:09 -08:00
Evan Hunt
20cd15c4ad Merge branch 'check-for-test-interfaces-before-running-system-tests-v9_11' into 'v9_11'
Check for test interfaces before running system tests

See merge request isc-projects/bind9!19
2018-02-26 15:10:27 -08:00
Evan Hunt
869ebded8d test interfaces directly in runall.sh and parallel.mk
(cherry picked from commit a8b583e78b)
2018-02-26 15:10:27 -08:00
Michał Kępień
54c8d75ee1 Check for test interfaces before running system tests
Prevent runall.sh and "make test" from even attempting to run system
tests when "ifconfig.sh up" has not been run beforehand.  This ensures
the user is not flooded with error messages in such a case.

(cherry picked from commit e0221f2d25)
2018-02-26 15:10:27 -08:00
Evan Hunt
19f2f9698b add missing CHANGES note 2018-02-26 15:08:16 -08:00
Evan Hunt
8f5e678897 Merge branch '66-ixfr-system-test-fails-intermittently-v9_11' into 'v9_11'
chg: dev: Improved the reliability of the 'ixfr' system test. [GL #66]

Closes #66

See merge request isc-projects/bind9!67
2018-02-26 15:00:03 -08:00
Evan Hunt
813f341328 wait for synchronization; re-notify slave if the transfer doesn't happen
(cherry picked from commit 67a8b5ec17)
2018-02-26 15:00:01 -08:00
Mark Andrews
4257b06122 Merge branch '51-fix-cppcheck-detected-source-code-errors-v9_11' into 'v9_11'
Resolve "Fix cppcheck-detected source code errors"

Closes #51

See merge request isc-projects/bind9!46
2018-02-26 10:45:39 +11:00
Evan Hunt
0be726b440 minor cleanup and addressed a sprintf format warning
(cherry picked from commit ab0fe63f07)
2018-02-26 10:45:13 +11:00
Mark Andrews
bf79ae278c update printf format to match type
(cherry picked from commit 48ca11df5f)
2018-02-26 10:40:11 +11:00
Mark Andrews
4d8e501abe improve the conditional declaration and use of variable to silence cppcheck
(cherry picked from commit a04bb76973)
2018-02-26 10:40:11 +11:00
Mark Andrews
ae50b73d78 remove deadcode
(cherry picked from commit b71a1386ed)
2018-02-26 10:40:10 +11:00
Mark Andrews
ded99ca751 silence unread assignment warning by using POST macro
(cherry picked from commit e8249dcd49)
2018-02-26 10:40:10 +11:00
Mark Andrews
2c53a82644 update the sscanf format strings so they match the pointer types
(cherry picked from commit 70d192eb97)
2018-02-26 10:40:10 +11:00
Mark Andrews
77819f7d75 redefine CHECK so cppcheck see the definition
(cherry picked from commit a4186b1867)
2018-02-26 10:40:10 +11:00
Mark Andrews
b58a93d45a remove unused struct dst_context declaration
(cherry picked from commit f2c22662cc)
2018-02-26 10:40:09 +11:00
Mark Andrews
edbca5937c conditionally typedef fstrmtable
(cherry picked from commit dcd309bea1)
2018-02-26 10:40:09 +11:00
Mark Andrews
82b109bf5d adjust goto target and conditional compilation so that cleanup_spillattimer and cleanup_alglock labels match the element to be cleanup and so that they are always used
(cherry picked from commit 7b27be54ee)
2018-02-26 10:40:09 +11:00
Evan Hunt
1fb23825ba Merge branch 'upforwd-error-v9_11' into 'v9_11'
Resolve "upforwd test error"

See merge request isc-projects/bind9!72
2018-02-25 13:56:04 -08:00
Evan Hunt
d965560e41 fixed an upforwd test error.
(cherry picked from commit 54e010d51e)
2018-02-25 13:56:04 -08:00
Evan Hunt
cd3602b6a8 Merge branch 'tidy-runall.sh-environment-variables-v9_11' into 'v9_11'
Tidy runall.sh environment variables

See merge request isc-projects/bind9!18
2018-02-24 17:37:44 -08:00
Michał Kępień
2cd174dda9 Preserve values of environment variables which are already set
This enables the environment variables controlling run.sh behavior to be
permanently set in a working environment (e.g. to automatically force
colored output without using "-c" in each runall.sh invocation).

Relevant runall.sh command line arguments still have a higher priority.

(cherry picked from commit d989d20fe5)
2018-02-24 17:37:44 -08:00
Michał Kępień
cbebf7ef59 Allow forcing colored system test output
As parallel.mk and runsequential.sh both pipe system test output through
"tee" (for the purpose of creating test.output), run.sh invoked from
these two files detects it is not writing to a terminal, which prevents
colored output from being generated.  Allow forcing colored output using
a new command line argument for runall.sh, "-c", which sets an
environment variable (SYSTEMTEST_FORCE_COLOR) causing conf.sh to
unconditionally enable colored output.

The same environment variable can also be used directly to force colored
output when using "make test" instead of runall.sh.

(cherry picked from commit a324031a82)
2018-02-24 17:37:44 -08:00
Michał Kępień
e9c4dbe361 Allow retaining system test output using an environment variable
Instead of exporting an environment variable containing a command line
argument (NOCLEAN="-n"), extend run.sh to handle a "boolean" environment
variable (SYSTEMTEST_NO_CLEAN) itself.  The former method is buggy
because the value of NOCLEAN is set in parallel.mk when that file is
first created, but it is not subsequently updated upon each test run
(because make considers parallel.mk to be up to date).

To retain backward compatibility, the "-n" command line argument for
run.sh is still supported (and has a higher priority than the relevant
environment variable).

The SYSTEMTEST_NO_CLEAN environment variable can also be used directly
to prevent cleanup when using "make test" instead of runall.sh.

Apart from fixing a bug, this simplifies the way runall.sh controls
run.sh behavior due to the Makefile being bypassed.  Direct processing
of environment variables in run.sh is more scalable in the long run,
given that the previously utilized technique, even with its
implementation fixed, would still require Makefile.in to be modified in
two places each time a new flag needed to be passed from runall.sh to
run.sh.

(cherry picked from commit 3862043879)
2018-02-24 17:37:44 -08:00
Evan Hunt
f09698659a Merge branch '71-xfer-system-test-fails-intermittently-v9_12-v9_11' into 'v9_11'
chg: dev: Improve the resilience of the xfer system test, which could be flaky under load.

Closes #71

See merge request isc-projects/bind9!61
2018-02-24 01:46:54 -08:00
Evan Hunt
948bd83ce5 improve reliability of xfer test
(cherry picked from commit 5d7d6881a1)
(cherry picked from commit 09a1a261dc)
2018-02-24 01:46:52 -08:00
Evan Hunt
df7b99e275 Merge branch 'kyua-oot-v9_11' into 'v9_11'
chg: dev: Unit tests were broken in out-of-tree builds.

See merge request isc-projects/bind9!57
2018-02-23 15:50:35 -08:00
Petr Menšík
6d9b38e9fe unit/unittest.sh is generated by configure. It will always be
generated into builddir. If out-of-tree build is used, make unit
will always fail. Kyuafiles and testdata still have to be copied
manually into the builddir.

(cherry picked from commit 95cde3608a)
2018-02-23 15:50:33 -08:00
Evan Hunt
53e26b7abc Merge branch 'master-v9_12-v9_11' into 'v9_11'
Code cleanups

See merge request isc-projects/bind9!36
2018-02-23 13:52:49 -08:00
Petr Menšík
1b0cf4fea6 Reduce repeated detection of mysql lib directory.
Use common part once a bit later.

(cherry picked from commit 2a70eae04f)
(cherry picked from commit d04af52222)
2018-02-23 13:52:49 -08:00
Petr Menšík
6876501605 Reuse new function from rt46864 for similar block elsewhere.
(cherry picked from commit e7a93321f0)
(cherry picked from commit cb98ce8e67)
2018-02-23 13:52:43 -08:00
Evan Hunt
e3d4c66704 Merge branch '95-fix-dyndb-v9_11' into 'v9_11'
Resolve "dyndb system test fails intermittently"

Closes #95

See merge request isc-projects/bind9!63
2018-02-23 13:44:57 -08:00
Evan Hunt
dcd2348c8e improve dyndb test resilience
- no longer grep for specific line numbers when checking
  parameter logging, as those can change
- report the failure immediatey if parameter check fails

(cherry picked from commit 749df056be)
2018-02-23 13:44:53 -08:00
Evan Hunt
c4ed7c3a41 Merge branch '91-parallel-tests-v9_12-v9_11' into 'v9_11'
chg: dev: Convert most of the remaining system tests to be able to run in parallel [GL #91]

Closes #91

See merge request isc-projects/bind9!59
2018-02-23 13:34:45 -08:00
Evan Hunt
854f7846d8 tidying up after backport 2018-02-23 13:28:47 -08:00
Evan Hunt
c369fc06ca improve reliability of the xfer test on slow systems
- lengthed the wait loop for the transfers to complete

(cherry picked from commit b9246ce773)
(cherry picked from commit a5015d7791)
2018-02-23 13:25:29 -08:00
Evan Hunt
626566c72d remove v6synth
- this was a test for the allow-v6-synthesis option, which was
  deprecated and no longer works. the test was removed
  from conf.sh.in long ago.

(cherry picked from commit 474b10a133)
(cherry picked from commit 7971873639)
2018-02-23 13:25:27 -08:00
Evan Hunt
350f18b0d1 removed some unnecessary greps
(cherry picked from commit 731ad28be2)
(cherry picked from commit 17245b86d5)
2018-02-23 13:24:53 -08:00
Evan Hunt
fa8740feda reorder tests to get better use of parallelism
(cherry picked from commit 56e440f65f)
(cherry picked from commit 4429f8b291)
2018-02-23 13:24:51 -08:00
Evan Hunt
167fa161d1 parallelize most system tests
(cherry picked from commit c032c54dda)
(cherry picked from commit 2b81f322cb)
2018-02-23 13:23:31 -08:00
Stephen Morris
71332991fc Fixups after merge of branch 'rt46602-v9_11' into 'v9_11' 2018-02-22 15:41:04 +00:00
Stephen Morris
310523e5de Merge branch 'rt46602-v9_11' into 'v9_11'
Allow parallel run of system tests

See merge request isc-projects/bind9!7
2018-02-22 11:18:39 +00:00
Stephen Morris
8aaa92693c [rt46602] Update CHANGES for parallel tests
(cherry picked from commit dbf753b52d)
2018-02-22 11:18:19 +00:00
Stephen Morris
c4f5d07c1c [rt46602] Changes to get tests running on Windows
1. Track changes to conf.sh.in in conf.sh.win32
2. Modifications to prevent Windows "Configure" script replacing
   the sed "@PORT@" substitution tokens in conf.sh.win32.
3. runall.sh now runs Windows tests sequentially

(cherry picked from commit 7bb9a97904)
2018-02-22 11:17:30 +00:00
Stephen Morris
3d4a425266 [rt46602] Miscellaneous changes to fix rebase issues
(cherry picked from commit 7222c9fc76)
2018-02-22 11:15:22 +00:00
Stephen Morris
78f2976087 [rt46602] Change name of shell variable holding current test directory
It was TESTNAME, but this is an obvious name and was used in one of
the system tests, something that interfered with the content of
progress messages.  It is now SYSTESTDIR.

(cherry picked from commit 30cd931a0d)
2018-02-22 11:14:41 +00:00
Michał Kępień
747df7d66a [rt46602] Export environment variables in a portable manner
(cherry picked from commit 2c519531a7)
2018-02-22 11:14:41 +00:00
Michał Kępień
cfaeb55e8e [rt46602] Sanitize test names to fix "make check" on Solaris
(cherry picked from commit e005fb948d)
2018-02-22 11:14:40 +00:00
Stephen Morris
6508d98a98 [rt46602] Add .gitignore file for catz
(cherry picked from commit 3dfb7c17eb)
2018-02-22 11:14:40 +00:00
Stephen Morris
0ae7e64829 [rt46602] Pass noclean option to Makefile via exported variable
(cherry picked from commit 59d88ee192)
2018-02-22 11:14:40 +00:00
Stephen Morris
06a9a37d3b [rt46602] Mention conf.sh.win32 in instructions for adding a test.
(cherry picked from commit 23dfa27a84)
2018-02-22 11:14:40 +00:00
Michał Kępień
b40e75a75c [rt46602] Fix various typos, formatting issues and stylistic nits
(cherry picked from commit f0721de624)
2018-02-22 11:14:40 +00:00
Michał Kępień
4436930712 [rt46602] Remove redundant variable assignment
(cherry picked from commit 42cf18d239)
2018-02-22 11:14:40 +00:00
Michał Kępień
77e6ff0fae [rt46602] named.port is no longer created by setup.sh for allow_query
(cherry picked from commit 1ac4c3e4e5)
2018-02-22 11:14:40 +00:00
Michał Kępień
47e278b7c9 [rt46602] Consistently print usage for runall.sh to stderr
(cherry picked from commit fe1ccafc34)
2018-02-22 11:14:39 +00:00
Michał Kępień
0c8e56568f [rt46602] Clean up getopts usage
Ensure case clauses are in sync with the string passed to getopts.
Remove catch-all clauses as they will never be evaluated.

(cherry picked from commit 0dcee1cad3)
2018-02-22 11:14:39 +00:00
Michał Kępień
3752edb28e [rt46602] Assign default values to variables set by command line options and consistently treat them as integers
(cherry picked from commit fe51c34df3)
2018-02-22 11:14:39 +00:00
Michał Kępień
f47ed5ceb0 [rt46602] named.port cannot be ignored by git because it is required to be present by notify/ns4
(cherry picked from commit 1960de5530)
2018-02-22 11:14:39 +00:00
Michał Kępień
8f4770facf [rt46602] Re-add clean.sh invocation to catz/setup.sh
Commit 57aa7b60fd caused catz/setup.sh to no longer call clean.sh, which
results in the catz system test failing on subsequent runs if the first
run is interrupted or fails.

(cherry picked from commit 344d05063f)
2018-02-22 11:14:39 +00:00
Stephen Morris
8376949ea8 [rt46602] Remove option to format the printed start time of a test
There was too much incompatibility between operating systems as to
the allowed options for "date".

(cherry picked from commit 451b7309ca)
2018-02-22 11:14:39 +00:00
Stephen Morris
53ebdf225f [rt46602] Escape line ends in shell script variable assignment
Escape the line ends in a multi-line variable assignment.  Under some
circumstances, substituting the variable caused syntax errors when
used as the list of values in a shell script "for" statement.

(cherry picked from commit 462766cd76)
2018-02-22 11:14:32 +00:00
Stephen Morris
8513c4256b [rt46602] Fix EXTRAPORT substitutions in copy_setport
Fix problems where all EXTRAPORT macros were being replaced by
the EXTRAPORT1 value. (Copy and paste issue.)

(cherry picked from commit fb78f82ba1)
2018-02-22 11:13:58 +00:00
Stephen Morris
4731a82eef [rt46602] Minor documentation changes
(cherry picked from commit cdf18a5009)
2018-02-22 11:13:58 +00:00
Stephen Morris
36136dec55 [rt46602] Correct way allow_query test produces RNDC output
(cherry picked from commit 7f2d41d4c4)
2018-02-22 11:13:58 +00:00
Stephen Morris
fb5974f902 [rt46602] Simplify the cleanup code
(cherry picked from commit 0855a8a6cc)
2018-02-22 11:13:58 +00:00
Stephen Morris
56ba2e822b [rt46602] Extensions to README
Added descriptions of how nameservers are started and stopped
during the tests, and how the framework cleans up the files created.

(cherry picked from commit f606b17dfb)
2018-02-22 11:13:58 +00:00
Stephen Morris
3329876ffd [rt46602] Miscellenous small changes
(cherry picked from commit b88b508b22)
2018-02-22 11:13:58 +00:00
Stephen Morris
6602a31229 [rt46602] Handle echoing of multi-line output from tests
(cherry picked from commit 1f07c69f25)
2018-02-22 11:13:58 +00:00
Stephen Morris
7a5476173a [rt46602] Rename "test" variable to "systest"
... to avoid confusion between the variable and the command of the
same name.

(cherry picked from commit c12e06755f)
2018-02-22 11:13:58 +00:00
Stephen Morris
6917ea971a [rt46602] Add ability to prevent deletion of output files when running all tests
Some tests may need to examine all output files from all system tests.
Allow the deletion of these files to be inhibited if required.

(cherry picked from commit 00bc29640b)
2018-02-22 11:13:57 +00:00
Stephen Morris
ff5349b3b3 [rt46602] Error messages before start of test are output to stderr
Error messages concerning the invocation of run.sh are output to
stderr.  Messages after the test has started are output to stdout.

(cherry picked from commit 244d1c30e2)
2018-02-22 11:13:57 +00:00
Stephen Morris
6bd944c9d0 [rt46602] Ensure that output sent to stderr is routed to the output file
(cherry picked from commit a5cf6bd12a)
2018-02-22 11:13:57 +00:00
Stephen Morris
6b5e5a2da2 [rt46602] Minor tidying up of documentation
(cherry picked from commit ce66752adc)
2018-02-22 11:13:57 +00:00
Stephen Morris
0afcdf658d [rt46602] Check prerequsities before network interfaces when running test.
(cherry picked from commit 549a6c6bc8)
2018-02-22 11:13:57 +00:00
Stephen Morris
5fc5b514e4 [rt46602] Minor formatting changes to Perl files
(cherry picked from commit f0f5b5f045)
2018-02-22 11:13:57 +00:00
Stephen Morris
88081b765e [rt46603] Provide echostart() and echoend() to output test start/end messages.
(cherry picked from commit c344e1d768)
2018-02-22 11:13:57 +00:00
Stephen Morris
50769a4a9e [rt46602] Ensure test output in systests.output is not mixed up
When running all the system tests, output from a test is sent to a
test.output file in the test directory.  These are combined in to
systests.output when the run finishes.

(cherry picked from commit 055e5be9fd)
2018-02-22 11:13:50 +00:00
Stephen Morris
0e2e251a0d [rt46602] Miscellaneous minor fixes
... for misspellings, typos, trailing spaces, duplicated lines etc.

(cherry picked from commit 3c25e5fa02)
2018-02-22 11:13:26 +00:00
Stephen Morris
61514873e9 [rt46602] Allocate 100 ports to each test
(cherry picked from commit edc7a18d84)
2018-02-22 11:13:04 +00:00
Stephen Morris
f10b6cfeb6 [rt46602] Pass port numbers to tests via environment variables
(cherry picked from commit f5d8f07900)
2018-02-22 11:12:57 +00:00
Stephen Morris
bf2992dbe6 [rt46602] Ensure parallel tests are in alphabetical order
(cherry picked from commit b2d90da0c2)
2018-02-22 11:12:33 +00:00
Stephen Morris
3952d4631e [rt46602] Expanded system tests README
Add more information on running the tests, together with a section
on how the tests are organised, aimed at new developers.

(cherry picked from commit af005cdbcf)
2018-02-22 11:12:23 +00:00
Stephen Morris
78494c3a4d [rt46602] More updates to the test running framework
Tidy up the stop/start files and make switch usage consistent. Also
tidy up the various "clean" targets in the Makefile.

(cherry picked from commit b24c2e11d8)
2018-02-22 11:11:51 +00:00
Stephen Morris
b01b553d72 [rt46602] Modify some test files to cope with the "-p" flag
(cherry picked from commit 517d990bd4)
2018-02-22 11:11:44 +00:00
Stephen Morris
a49afdaeb8 [rt46602] Tidy up run management
Miscellaneous tidying up of run management.  The most significant
change is that "runall.sh" now runs _all_ the tests, even the
ones that can run in parallel.  runsequential.sh is the script
to run tests that have not been converted to parallel running.

(cherry picked from commit 32fe6f7682)
2018-02-22 11:11:12 +00:00
Stephen Morris
df1348ad2b [rt46602] Assign block of ports for each test
Some tests use more ports than just the query and control ports.
Each test that can run in parallel with other tests is now assigned
a unique block of 10 ports.

(cherry picked from commit e0ff77f9d3)
2018-02-22 11:11:12 +00:00
Stephen Morris
58de0adbf6 [rt46602] Allow catz system test to run in parallel with other tests
(cherry picked from commit 07341693e1)
2018-02-22 11:11:12 +00:00
Stephen Morris
01eb4d7c97 [rt46602] Miscellaneous changes to existing parallelised tests
Currently these tests are allow_query, rpzrecurse and serve-stale

1. Function to copy files and set port numbers renamed from copy_config
to copy_setports, as this is used to change the ports in Perl and Python
test scripts as well.
2. Changes to rpzrecurse/tests.sh to handle two calls to getopts (one to
parse port numbers, the other to parse rpzrecurse-specific options). Also
fixed various commands to use correct ports.
3. Updates to "clean.sh" scripts to ensure that all files created in the
test are removed.

(cherry picked from commit 78f2b9ca01)
2018-02-22 11:11:00 +00:00
Stephen Morris
4f68e67e5c [rt46602] Ensure that tests running in parallel use unique ports
Via an intermediate make file, tests that have been modified to be able
to run in parallel are assigned unique query and control port numbers
(other than 5300 and 9953 respectively).  Tests that have not yet been
modified all use ports 5300 and 9953, so must be run sequentially.

(cherry picked from commit e7429b124b)
2018-02-22 11:09:59 +00:00
Stephen Morris
ba694ca38c [rt46602] Miscellaneous tidying up of code cherry-picked from experimental branch
(cherry picked from commit e1a69e5d1f)
2018-02-22 11:08:42 +00:00
Ondřej Surý
a14bd48268 [rt46602] Allow parallel run of new dynamic port tests and the old ones
(cherry picked from commit 3b14d54fd7)
2018-02-22 11:08:05 +00:00
Ondřej Surý
cf7a86661a [rt46602] Put back original .gitignore files in the system tests
(cherry picked from commit caaec1ef6d)
2018-02-22 11:08:05 +00:00
Ondřej Surý
c5aa6ed87b [rt46602] Adjust rpzrecurse for dynamic port usage
Resolve conflict in run.sh during cherry-pick from an experimental branch.

(cherry picked from commit 2a435708e4)
2018-02-22 11:07:30 +00:00
Ondřej Surý
d37a52cc56 [rt46602] Add $SEDPORTS variable to help with @PORT@ and @CONTROLPORT@ replacement
(cherry picked from commit e6802badc0)
2018-02-22 11:02:14 +00:00
Ondřej Surý
a5c3077a9c [rt46602] Move most of ignored files to top of system tests directory
(cherry picked from commit d2c8286163)
2018-02-22 11:01:35 +00:00
Ondřej Surý
112355adb8 [rt46602] Fix output from rndc reload
(cherry picked from commit 53bade5ece)
2018-02-22 11:01:35 +00:00
Ondřej Surý
76dfb5c339 [rt46602] Add .gitignore to allow_query
(cherry picked from commit bc276f6c05)
2018-02-22 11:01:35 +00:00
Ondřej Surý
93034acb4d [rt46602] Utilize echo_i to allow mixed test output
(cherry picked from commit 7e3c96c867)
2018-02-22 11:01:29 +00:00
Ondřej Surý
b8e866d60f [rt46602] Prefix R:<result> as R:<test>:<result>
Resolve conflict in run.sh during cherry-pick from experimental branch.

(cherry picked from commit 278c72fef6)
2018-02-22 11:01:08 +00:00
Ondřej Surý
bd5b36f7a4 [rt46602] Add echo_i function to print I:<testname>:string
(cherry picked from commit f7ac41757a)
2018-02-22 11:01:08 +00:00
Ondřej Surý
57adb949a4 [rt46602] Add serve-stale working files to .gitignore
(cherry picked from commit cba162e70e)
2018-02-22 11:01:07 +00:00
Ondřej Surý
1d10178e83 [rt46602] Convert allow_query to dynamic port
(cherry picked from commit 992a2bafec)
2018-02-22 11:01:01 +00:00
Ondřej Surý
0ee883d443 [rt46602] Change the system tests script to support running individual tests on different ports
Resolved conflict in run.sh.

(cherry picked from commit fb00f18005)
2018-02-22 10:58:33 +00:00
Mark Andrews
a3d54b9ac5 Merge branch '82-cacheclean-test-is-not-robust-v9_11' into 'v9_11'
Resolve "cacheclean test is not robust."

Closes #82

See merge request isc-projects/bind9!50
2018-02-22 12:42:08 +11:00
Mark Andrews
51e94baf50 add CHANGES entry
(cherry picked from commit 8c8ad74abe)
2018-02-22 12:38:04 +11:00
Mark Andrews
e0c9b5bd2b check that sed selects a non zero range of lines
(cherry picked from commit 146c16c06e)
2018-02-22 12:37:27 +11:00
Mark Andrews
606321d278 Merge branch 'cherry-pick-643c8c27' into 'v9_11'
Merge branch '67-stabilize-cacheclean-system-test' into 'v9_11'

See merge request isc-projects/bind9!49
2018-02-20 16:09:20 -05:00
Mark Andrews
ea29bec179 Merge branch '67-stabilize-cacheclean-system-test' into 'master'
Stabilize cacheclean system test

Closes #67

See merge request isc-projects/bind9!43

(cherry picked from commit 643c8c27ff)

01de79b3 Assign an index to each check in the cacheclean system test
aeea1faf Do not overwrite cache dumps
2bbff06d Wait until a cache dump completes instead of waiting for a fixed amount of time
ca1049b2 Improve the way cache contents are searched for "ns.flushtest.example"
2018-02-20 16:08:59 -05:00
Evan Hunt
06908ef2df [v9_11] add missing release note, update README 2018-02-17 20:01:17 -08:00
Michał Kępień
ea9ba22c1b Merge branch 'fix-loadpending-handling-v9_11' into v9_11 2018-02-16 08:59:00 +01:00
Michał Kępień
b9d2b8845e Add CHANGES entry
4892.	[bug]		named could leak memory when "rndc reload" was invoked
			before all zone loading actions triggered by a previous
			"rndc reload" command were completed. [RT #47076]
2018-02-16 08:58:36 +01:00
Michał Kępień
5c080dfe73 Do not recheck DNS_ZONEFLG_LOADPENDING in zone_asyncload()
Remove a block of code which dates back to commit 8a2ab2b920, when
dns_zone_asyncload() did not yet check DNS_ZONEFLG_LOADPENDING.
Currently, no race in accessing DNS_ZONEFLG_LOADPENDING is possible any
more, because:

  - dns_zone_asyncload() is still the only function which may queue
    zone_asyncload(),

  - dns_zone_asyncload() accesses DNS_ZONEFLG_LOADPENDING under a lock
    (and potentially queues an event under the same lock),

  - DNS_ZONEFLG_LOADPENDING is not cleared until the load actually
    completes.

Thus, the rechecking code can be safely removed from zone_asyncload().

Note that this also brings zone_asyncload() to a state in which the
completion callback is always invoked.  This is required to prevent
leaking memory in case something goes wrong in zone_asyncload() and a
zone table the zone belongs to is indefinitely left with a positive
reference count.
2018-02-16 08:58:24 +01:00
Michał Kępień
4d391101a4 Asynchronous zone load events have no way of getting canceled
Code handling cancellation of asynchronous zone load events was likely
copied over from other functions when asynchronous zone loading was
first implemented in commit 8a2ab2b920.  However, unlike those other
functions, asynchronous zone loading events currently have no way of
getting canceled once they get posted, which means the aforementioned
code is effectively dead.  Remove it to prevent confusion.
2018-02-16 08:58:24 +01:00
Michał Kępień
749b3cacfc Only clear DNS_ZONEFLG_LOADPENDING in zone_asyncload() if zone loading is completed immediately
zone_load() is not always synchronous, it may only initiate an
asynchronous load and return DNS_R_CONTINUE, which means zone loading
has not yet been completed.  In such a case, zone_asyncload() must not
clear DNS_ZONEFLG_LOADPENDING immediately and leave that up to
zone_postload().
2018-02-16 08:58:24 +01:00
Michał Kępień
e0205aac03 Lock zone before checking whether its asynchronous load is already pending
While this is not an issue in named, which only calls
dns_zone_asyncload() from task-exclusive mode, this function is exported
by libdns and thus may in theory be concurrently called for the same
zone by multiple threads.  It also does not hurt to be consistent
locking-wise with other DNS_ZONEFLG_LOADPENDING accesses.
2018-02-16 08:58:24 +01:00
Mark Andrews
682f6c017f Merge branch 'fix-cpp-check-errors' into 'v9_11'
Fix cpp check errors v9_11

See merge request isc-projects/bind9!30
2018-02-15 23:13:06 -05:00
Mark Andrews
1cf7f9168a s/cppchecker/cppcheck 2018-02-16 15:08:49 +11:00
Mark Andrews
cdfea624f0 add GL issue number 2018-02-16 15:08:49 +11:00
Mark Andrews
9fd6febad4 add CHANGES note 2018-02-16 15:08:49 +11:00
Mark Andrews
ad5550c029 add POST(len); 2018-02-16 15:08:25 +11:00
Mark Andrews
65cfe7e1ad conditionally declare stacksize 2018-02-16 15:08:24 +11:00
Mark Andrews
027bc5535c add POST(len); 2018-02-16 15:08:24 +11:00
Mark Andrews
bdf5c08fc4 Clarify calculation precedence for '&' and '?' 2018-02-16 15:08:24 +11:00
Mark Andrews
2c85b9afd7 add POST(tl) 2018-02-16 15:08:24 +11:00
Mark Andrews
f103cbee94 return failure count 2018-02-16 15:08:24 +11:00
Mark Andrews
118203925a conditionally declare strbuf 2018-02-16 15:06:51 +11:00
Mark Andrews
c2e6e799b3 test for == 0 rather than <= as value is unsigned 2018-02-16 15:00:06 +11:00
Mark Andrews
0c2c1615cb add brackets 2018-02-16 14:59:20 +11:00
Mark Andrews
bb7a470a0d reorder test to silence cppcheck 2018-02-16 14:59:20 +11:00
Mark Andrews
5d9109c3b5 remove event which is only used for sizeof 2018-02-16 14:59:19 +11:00
Mark Andrews
6b77f4f258 remember the masters count 2018-02-16 14:58:18 +11:00
Mark Andrews
e51c5d2e74 reorder test to silence cppcheck 2018-02-16 14:58:18 +11:00
Mark Andrews
22c6b2308e use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
c58169ff1c use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
8db1762d68 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
f6dae15117 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
8d9097b0b7 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
04c5165b40 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews
54672c31b9 use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews
262d514345 use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews
8c51ba3aac use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews
8dba09602b case to unsigned; reorder expression 2018-02-16 14:52:51 +11:00
Mark Andrews
012ae8afa2 simplify expression 2018-02-16 14:45:20 +11:00
Mark Andrews
0ae4bf22d2 use %u and preserve unsigned property 2018-02-16 14:45:20 +11:00
Mark Andrews
7873680877 cast to unsigned 2018-02-16 14:36:56 +11:00
Mark Andrews
ea6732c354 preserve unsigned property 2018-02-16 14:36:56 +11:00
Mark Andrews
c35a870559 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews
c57610f1cc make both arguments of & unsigned 2018-02-16 14:36:56 +11:00
Mark Andrews
faf0e3ff65 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews
45960706e6 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews
1f0313656f use %u instead of %d 2018-02-16 14:36:02 +11:00
Mark Andrews
ab0805b73e shift unsigned (~0U) rather than signed (~0) contant 2018-02-16 14:35:36 +11:00
Mark Andrews
4b83e4e105 use %u instead of %d 2018-02-16 14:35:36 +11:00
Mark Andrews
351a27ef5b unsigned constants 2018-02-16 14:35:36 +11:00
Mark Andrews
e6cd8a52aa unsigned constants 2018-02-16 14:34:18 +11:00
Mark Andrews
9cc1ea9566 use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews
2bbdfaaa0a use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews
95657b047e use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews
42c12e6b81 INSIST ipnum6 != NULL 2018-02-16 14:29:27 +11:00
Mark Andrews
cd86c23e87 use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews
ca60688cb1 use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews
39142beb63 test for >= 0 and use %d instead of %u 2018-02-16 14:29:27 +11:00
Mark Andrews
a0adc34f3b formally cast to int; use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews
61f81fde94 formally cast to int 2018-02-16 14:29:27 +11:00
Mark Andrews
b883fa4c14 use %u instead of %d 2018-02-16 14:28:25 +11:00
Mark Andrews
2c13e20d2d use %u instead of %d 2018-02-16 14:28:25 +11:00
Mark Andrews
5517274e84 use %u instead of %d 2018-02-16 14:28:01 +11:00
Mark Andrews
57bd5fe992 use %u instead of %d 2018-02-16 14:26:57 +11:00
Mark Andrews
2c7bb6ed68 copyrights 2018-02-16 14:25:16 +11:00
Mark Andrews
b7c19f168f use %u instead of %d 2018-02-16 14:24:44 +11:00
Mark Andrews
27ca8bc72f use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews
6bbecea663 use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews
eb96b507da use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews
5a69c0dbf3 make declarations consistent 2018-02-16 14:23:54 +11:00
Mark Andrews
e04fb892dd report argument error in human form 2018-02-16 14:23:14 +11:00
Mark Andrews
cdaaa7b987 use %u instead of %d 2018-02-16 14:21:58 +11:00
Mark Andrews
bb68962050 use %u instead of %d 2018-02-16 14:21:58 +11:00
Mark Andrews
59b75eda7d use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews
5016c832fd use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews
bb8dbcf334 use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews
d421597403 use %u instead of %i 2018-02-16 14:21:05 +11:00
Mark Andrews
203b5fc246 use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews
813c074edd use %u rather than %d; pass a unsigned int pointer 2018-02-16 14:21:05 +11:00
Mark Andrews
e99ee92b84 clear *logp 2018-02-16 14:18:04 +11:00
Mark Andrews
4396092e81 use %u instead of %d 2018-02-16 14:18:04 +11:00
Mark Andrews
e950558247 signed vs unsigned fixes 2018-02-16 14:18:04 +11:00
Tinderbox User
b1331a6b3d regen v9_11 2018-02-15 19:36:40 +00:00
Evan Hunt
d77cb075aa [v9_11] prep 9.11.3rc1 2018-02-15 11:16:15 -08:00
Evan Hunt
079165bae3 [v9_11] copyrights 2018-02-10 16:31:54 -08:00
Mark Andrews
c8b2cbe1e0 check warning text
(cherry picked from commit c6cd108838)
2018-02-09 14:05:14 +11:00
Mark Andrews
b071744673 get the correct test file
(cherry picked from commit ae09500989)
2018-02-09 13:57:43 +11:00
Evan Hunt
e96cce6c7a [v9_11] fix test error 2018-02-08 18:46:01 -08:00
Evan Hunt
785d8ad324 [rt43670] more emphatic warning 2018-02-09 12:33:43 +11:00
Mark Andrews
1d4d23dac8 fix meger error
(cherry picked from commit f6b7ff7280)
2018-02-09 12:33:43 +11:00
Mark Andrews
30ca20f720 4889. [func] Warn about the use of old root keys without the new
root key being present.  Warn about dlv.isc.org's
                        key being present. Warn about both managed and
                        trusted root keys being present. [RT #43670]

(cherry picked from commit baef0ca988)
2018-02-09 12:33:42 +11:00
Tinderbox User
c71b045cdb regen v9_11 2018-02-09 01:24:58 +00:00
Evan Hunt
7ec97ae74e [v9_11] fix typo 2018-02-08 16:16:19 -08:00
Tinderbox User
83545641dd update copyright notice / whitespace 2018-02-08 23:48:55 +00:00
Tinderbox User
9b315cff91 newcopyrights 2018-02-08 23:30:26 +00:00
Mark Andrews
701a93f5a5 [v9_11] fix nsupdate test on windows
4888.	[test]		Initialize sockets correctly in sample-update so
			that nsupdate system test will will run on Windows.
			[RT #47097]

(cherry picked from commit 6757dc6488)
2018-02-08 13:35:43 -08:00
Tony Finch
002f137337 Document dig -u in manpage (#47150)
(cherry picked from commit cc82b5aa3c)
(cherry picked from commit 30c86d5649)
2018-02-09 00:53:07 +05:30
Tinderbox User
d605cf3283 regen v9_11 2018-02-08 01:25:06 +00:00
Tinderbox User
fccc836ebf update copyright notice / whitespace 2018-02-07 23:48:20 +00:00
Tinderbox User
5bd7123f31 newcopyrights 2018-02-07 23:32:19 +00:00
Mark Andrews
2767fc751b add note for update-policy rules changes
(cherry picked from commit ff8f2a584d)
2018-02-07 14:03:56 +11:00
Mark Andrews
8f1ed05dc0 4885. [security] update-policy rules that otherwise ignore the name
field now require that it be set to "." to ensure
                        that any type list present is properly interpreted.
                        [RT #47126]

(cherry picked from commit ec771bbdc8)
2018-02-07 13:50:00 +11:00
Mark Andrews
ebb4655236 look for #! to determine if the file is PYTHON or PYTHON-BIN
(cherry picked from commit 4fcc550877)
2018-02-05 11:40:44 +11:00
Tinderbox User
9b63f75476 update copyright notice / whitespace 2018-02-01 23:49:05 +00:00
Mark Andrews
1fea816a07 Update license to 'MPL' [RT #47101]
(cherry picked from commit a97ca00ce8)
2018-02-02 10:39:15 +11:00
Tinderbox User
2549e09af5 newcopyrights 2018-02-01 23:30:22 +00:00
Michał Kępień
40aa5cab12 [v9_11] Silence compiler warnings about comparisons between signed and unsigned integers [RT #46980]
(cherry picked from commit a3c2b8831e)
2018-02-01 21:29:17 +01:00
Tinderbox User
3c5862dfc7 update copyright notice / whitespace 2018-01-30 23:48:16 +00:00
Tinderbox User
ea32eb21a5 newcopyrights 2018-01-30 23:30:53 +00:00
Evan Hunt
587baddc8b [v9_11] use 'command' instead of 'type' to find atf-run and kyua paths 2018-01-30 10:33:36 -08:00
Evan Hunt
3a29ce9c08 [v9_11] typo 2018-01-30 09:13:36 -08:00
Mark Andrews
73cf0ba4e8 4882. [bug] Address potential memory leak in
dns_update_signaturesinc. [RT #47084]

(cherry picked from commit 7817caa3c7)
2018-01-30 15:28:56 +11:00
Mark Andrews
d8351dfc9b 4881. [bug] Only include dst_openssl.h when OpenSSL is required.
[RT #47068]

(cherry picked from commit a64503c736)
2018-01-30 15:28:51 +11:00
Mark Andrews
5c78f1f50e 4879. [bug] dns_rdata_caa:value_len is was small. [RT #47086]
(cherry picked from commit 3ae586b857)
2018-01-30 11:00:44 +11:00
Tinderbox User
596f89167f update copyright notice / whitespace 2018-01-29 23:47:56 +00:00
Tinderbox User
49d33058a8 newcopyrights 2018-01-29 23:30:20 +00:00
Mark Andrews
f1740da065 4878. [bug] List 'ply' as a requirement for the 'isc' python
package. [RT #47065]

(cherry picked from commit 6e08af82ed)
2018-01-29 13:29:35 +11:00
Mark Andrews
5bcd0fe019 copyrights 2018-01-25 16:47:34 +11:00
Mark Andrews
31c7ab4fb3 4811. [bug] Revert api changes to use <isc/buffer.h> inline
macros.  Provide a alternative mechanism to turn
                        on the use of inline macros when building BIND.
                        [RT #46520]

(cherry picked from commit a1a5145867)
2018-01-25 16:42:37 +11:00
Tinderbox User
574176a88d update copyright notice / whitespace 2018-01-24 23:47:27 +00:00
Tinderbox User
70732dde17 newcopyrights 2018-01-24 23:30:16 +00:00
Tinderbox User
617639b7cc regen v9_11 2018-01-24 21:23:16 +00:00
Evan Hunt
f6ea3eaf82 [v9_11] change uint to isc_uint to fix build failure on windows 2018-01-24 10:59:57 -08:00
Evan Hunt
b06c187525 [v9_11] fix version error 2018-01-24 10:40:42 -08:00
Evan Hunt
a48e2d4155 [v9_11] update 9.11 api range 2018-01-24 10:24:17 -08:00
Evan Hunt
ad309e8dfa [v9_11] prep 9.11.3b1 2018-01-24 10:21:04 -08:00
Evan Hunt
567aab801d [v9_11] copyrights 2018-01-24 09:50:56 -08:00
Mark Andrews
635e4351b0 4876. [bug] Address deadlock with accessing a keytable. [RT #47000]
(cherry picked from commit b575c4ec42)
2018-01-24 18:56:34 +11:00
Mark Andrews
fc04365d2f 4875. [bug] Address compile failures on older systems. [RT #47015]
(cherry picked from commit 99178b6329)
2018-01-24 13:10:44 +11:00
Tinderbox User
c3dc955aea newcopyrights 2018-01-23 23:30:14 +00:00
Mark Andrews
7cbac360bf 4874. [bug] Wrong time display when reporting new keywarntime.
[RT #47042]

(cherry picked from commit 83d005de61)
2018-01-24 08:00:30 +11:00
Tinderbox User
71cef386fa regen v9_11 2018-01-23 00:02:58 +00:00
Tinderbox User
93ca8abdf8 update copyright notice / whitespace 2018-01-22 23:47:25 +00:00
Tinderbox User
f63cdafaee newcopyrights 2018-01-22 23:40:12 +00:00
Mark Andrews
680cbc050a doc/misc/*.zoneopt are X
(cherry picked from commit 7f4dfa539c)
2018-01-23 10:36:23 +11:00
Evan Hunt
92b0a89969 [v9_11] fix test failure by sorting "type" to the top of zone clauses 2018-01-22 13:19:19 -08:00
Evan Hunt
40354825af [v9_11] silence warning 2018-01-22 13:07:41 -08:00
Evan Hunt
57137377ef [v9_11] fix unresolved externals for win32 2018-01-22 11:46:45 -08:00
Evan Hunt
1cf118a656 [v9_11] automatically generate named.conf grammars for the ARM
4873.	[doc]		Grammars for named.conf included in the ARM are now
			automatically generated by the configuration parser
			itself.  As a side effect of the work needed to
			separate zone type grammars from each other, this
			also makes checking of zone statements in
			named-checkconf more correct and consistent.
			[RT #36957]

(cherry picked from commit 129c4414cb)
(cherry picked from commit f662d5484e)
2018-01-22 19:40:00 +00:00
Mukund Sivaraman
6fb3db01ac Don't permit loading meta RR types such as TKEY from master files (#47009)
(cherry picked from commit 8a4ce20172)
(cherry picked from commit c8eb726046)
2018-01-22 14:36:18 +05:30
Mukund Sivaraman
fd82c70695 Fix configure issue detecting stdatomic.h support (#46959)
(cherry picked from commit 63d0c6a3fc)
(cherry picked from commit 7e1ed15762)
2018-01-22 13:50:38 +05:30
Mark Andrews
8a22fee591 remove old entries
(cherry picked from commit 54c4adef80)
2018-01-22 11:26:15 +11:00
Tinderbox User
b68401ccae update copyright notice / whitespace 2018-01-21 23:47:14 +00:00
Tinderbox User
6ef15b3730 newcopyrights 2018-01-21 23:32:47 +00:00
Mark Andrews
4a53e3c2b8 4870. [test] Update included ATF library to atf-0.21 preserving
the ATF tool. [RT #46967]

(cherry picked from commit 23d77c8747)
2018-01-22 10:00:47 +11:00
Mark Andrews
2cf0fe3b80 4869. [bug] Address some cases where NULL with zero length could
be passed to memmove which is undefined behaviour and
                        can lead to bad optimisation. [RT #46888]

(cherry picked from commit fdd8838bf9)
2018-01-22 09:39:25 +11:00
Tinderbox User
7c2888c7d4 newcopyrights 2018-01-19 23:30:24 +00:00
Tinderbox User
217efc6ec8 regen v9_11 2018-01-19 01:20:59 +00:00
Tinderbox User
5232303369 update copyright notice / whitespace 2018-01-18 23:47:19 +00:00
Tinderbox User
338dfe6b83 newcopyrights 2018-01-18 23:30:25 +00:00
Evan Hunt
cdda779d07 [v9_11] fix merge error 2018-01-18 13:28:55 -08:00
Evan Hunt
4221d9cd1d [v9_11] normalize rndc on/off commands
4867.	[cleanup]	Normalize rndc on/off commands (validation and
			querylog) so they accept the same synonyms
			for on/off (yes/no, true/false, enable/disable).
			Thanks to Tony Finch. [RT #47022]

(cherry picked from commit cf8f4241e7)
2018-01-18 10:52:15 -08:00
Tinderbox User
0906df5e29 regen v9_11 2018-01-18 01:20:29 +00:00
Tinderbox User
9eb24f1f84 update copyright notice / whitespace 2018-01-17 23:47:10 +00:00
Tinderbox User
ee10d96a4c newcopyrights 2018-01-17 23:30:23 +00:00
Francis Dupont
2d387429a1 bcmp -> memcmp 2018-01-17 15:32:43 +01:00
Francis Dupont
ea51eef4c8 Applied #46125 fix (hardcoded "pkcs11") 2018-01-17 15:20:44 +01:00
Francis Dupont
ded782a862 Merged rt46864 (check MD5 amd SHA1 support) 2018-01-17 14:41:58 +01:00
Francis Dupont
f9c410d937 Merged rt46864 (check MD5 amd SHA1 support) 2018-01-17 14:40:13 +01:00
Tinderbox User
2927284144 update copyright notice / whitespace 2018-01-15 23:47:32 +00:00
Tinderbox User
8052e13b10 newcopyrights 2018-01-15 23:30:15 +00:00
Michał Kępień
e526027287 [v9_11] Ensure all master definitions in a catalog zone contain an IP address
4864.	[bug]		named acting as a slave for a catalog zone crashed if
			the latter contained a master definition without an IP
			address. [RT #45999]

(cherry picked from commit ae51a676c9)
2018-01-15 20:52:54 +01:00
Tinderbox User
a853d87fc4 update copyright notice / whitespace 2018-01-13 23:48:14 +00:00
Tinderbox User
0536b2e549 newcopyrights 2018-01-13 23:30:22 +00:00
Mukund Sivaraman
929329d2d6 Fix various bugs reported by valgrind --tool=memcheck (#46978)
(cherry picked from commit f96133826e)
(cherry picked from commit 0374e1c3fd)
2018-01-13 11:47:46 +05:30
Mark Andrews
14d7dfd77e ret was not being set to 1 on dig error. [RT #46990]
(cherry picked from commit 69c4c987f6)
2018-01-13 13:16:33 +11:00
Tinderbox User
3b9b3854da update copyright notice / whitespace 2018-01-11 23:47:04 +00:00
Tinderbox User
1c0b2816a4 newcopyrights 2018-01-11 23:30:14 +00:00
Evan Hunt
fea55d47b3 [v9_11] go three section levels deep in the ARM table of contents
(cherry picked from commit 0c061ce614)
2018-01-11 13:41:29 -08:00
Tinderbox User
82ddae820c update copyright notice / whitespace 2018-01-10 23:50:06 +00:00
Tinderbox User
858c648f14 newcopyrights 2018-01-10 23:30:37 +00:00
Mark Andrews
7e1a62eea2 grammar
(cherry picked from commit a35b95acb1)
2018-01-11 09:54:20 +11:00
Mark Andrews
ec29d217ba 4862. [bug] The rdata flags for RRSIG was not being properly set
when constructing a rdataslab. [RT #46978]

(cherry picked from commit 7befb67af4)
2018-01-11 09:54:20 +11:00
Tinderbox User
5470c1cc10 update copyright notice / whitespace 2018-01-09 23:47:12 +00:00
Tinderbox User
9771484c6b newcopyrights 2018-01-09 23:30:13 +00:00
Mark Andrews
afefd75473 4861. [bug] The isc_crc64 unit test was not endian independent.
[RT #46973]

(cherry picked from commit 0ce212b9f5)
2018-01-10 09:46:54 +11:00
Mark Andrews
f0353a586c 4860. [bug] isc_int8_t should be signed char. [RT #46973]
(cherry picked from commit 21f708c88c)
2018-01-10 08:42:21 +11:00
Tinderbox User
c6c600c2d3 newcopyrights 2018-01-05 23:30:09 +00:00
Mark Andrews
e08a31e317 test devent->sigrdataset rather than devent->rdataset before calling query_putrdataset 2018-01-05 12:40:36 +11:00
Tinderbox User
111d5ef471 regen v9_11 2018-01-05 01:21:54 +00:00
Tinderbox User
dc2a85bed7 update copyright notice / whitespace 2018-01-04 23:46:19 +00:00
Tinderbox User
2f16d4dc29 newcopyrights 2018-01-04 23:30:22 +00:00
Mark Andrews
3b8a3c43a0 unconditionally typedef summarystat_t for coverity
(cherry picked from commit a0e66ef6dd)
2018-01-05 10:11:21 +11:00
Evan Hunt
5599d587e6 [v9_11] typo 2018-01-03 19:30:26 -08:00
Evan Hunt
7ff28f5bef [v9_11] block validator deadlock and prevent use-after-free
4859.	[bug]		A loop was possible when attempting to validate
			unsigned CNAME responses from secure zones;
			this caused a delay in returning SERVFAIL and
			also increased the chances of encountering
			CVE-2017-3145. [RT #46839]

4858.	[security]	Addresses could be referenced after being freed
			in resolver.c, causing an assertion failure.
			(CVE-2017-3145) [RT #46839]
2018-01-03 19:19:46 -08:00
Mark Andrews
cad79077bd 4857. [bug] Maintain attach/detach semantics for event->db,
event->node, event->rdataset and event->sigrdataset
                        in query.c. [RT #46891]
2018-01-04 13:07:51 +11:00
Tinderbox User
d2017ba188 update copyright notice / whitespace 2018-01-03 23:46:13 +00:00
Tinderbox User
9775151e65 newcopyrights 2018-01-03 23:30:09 +00:00
Mark Andrews
adfe58e8e5 4856. [bug] 'rndc zonestatus' reported the wrong underlying type
for a inline slave zone. [RT #46875]

(cherry picked from commit 0b27aa0712)
2018-01-04 10:12:15 +11:00
Mark Andrews
33506bef10 missing newline in comment
(cherry picked from commit 7258b852cf)
2018-01-03 17:11:50 +11:00
Mark Andrews
455265a147 wait for status: line to be readable, before checking status
(cherry picked from commit 4674127443)
2018-01-03 13:56:42 +11:00
Tinderbox User
09b9db3c91 update copyright notice / whitespace 2018-01-02 23:46:09 +00:00
Tinderbox User
88cc85197e newcopyrights 2018-01-02 23:30:11 +00:00
Tinderbox User
c13db274f7 regen v9_11 2018-01-02 01:22:18 +00:00
Mark Andrews
c3237dec87 4852. [bug] Handle strftime() failing in isc_time_formatISO8601ms.
Add REQUIRE's and INSIST's to isc_time_formattimestamp,
                        isc_time_formathttptimestamp, isc_time_formatISO8601,
                        isc_time_formatISO8601ms. [RT #46892]
2018-01-02 10:46:41 +11:00
Tinderbox User
b126532cb9 update copyright notice / whitespace 2018-01-01 23:46:05 +00:00
Tinderbox User
e5404e4930 newcopyrights 2018-01-01 23:30:18 +00:00
Mark Andrews
cb616c6d5c 4851. [port] Support using kyua as well as atf-run to run the unit
tests. [RT #46853]

(cherry picked from commit ccb5678066)
2018-01-02 10:21:39 +11:00
Tinderbox User
d0036fd5dd newcopyrights 2017-12-29 23:31:14 +00:00
Mark Andrews
9514777add X Kyuafile's
(cherry picked from commit fa0caa1f85)
2017-12-29 13:34:57 +11:00
Tinderbox User
335466db9e regen v9_11 2017-12-29 02:23:11 +00:00
Mark Andrews
c0a2210466 4850. [bug] Named failed to restart with multiple added zones in
lmdb database. [RT #46889]

(cherry picked from commit 9bec7facfb)
2017-12-27 16:26:32 +11:00
Tinderbox User
ebc438edb1 update copyright notice / whitespace 2017-12-22 23:46:35 +00:00
Tinderbox User
eea693ecbf newcopyrights 2017-12-22 23:30:21 +00:00
Mark Andrews
b498959ce2 properly test for yaml 2017-12-22 21:54:18 +11:00
Mark Andrews
b089df4f84 save why ydump.py failed
(cherry picked from commit f5d429e7c3)
2017-12-22 16:03:47 +11:00
Mark Andrews
8d1aadeb8a silence clang static analysis
(cherry picked from commit f933be6d45)
2017-12-22 13:09:32 +11:00
Mark Andrews
3c3d824db7 initalize sigsize to zero; ATF_CHECK_EQ(sigsize, tsig.siglen);
(cherry picked from commit 9f61f6b46b)
2017-12-22 08:59:03 +11:00
Tinderbox User
06dca180fb regen v9_11 2017-12-21 01:23:49 +00:00
Mark Andrews
070d7e5b0c lowercase m in macOS
(cherry picked from commit 2cc7c4d62c)
2017-12-21 10:57:48 +11:00
Tinderbox User
2b9f526504 update copyright notice / whitespace 2017-12-20 23:47:04 +00:00
Tinderbox User
81342c9bfa newcopyrights 2017-12-20 23:30:36 +00:00
Mark Andrews
534057c9f9 4849. [bug] Duplicate zones could appear in the .nzf file if
addzone failed. [RT #46435]

(cherry picked from commit 2d7f89b9c7)
(cherry picked from commit 22a32060c1)
2017-12-20 17:16:49 +11:00
Francis Dupont
f4819486bc Fixed embedded atf code warning (RT 46833) 2017-12-18 16:14:47 +01:00
Tinderbox User
350e5eecad regen v9_11 2017-12-16 01:27:21 +00:00
Mark Andrews
92595436be add "(Extended Support Version)" description 2017-12-15 17:46:49 +11:00
Mark Andrews
1e55e50215 fix case
(cherry picked from commit 68a2932f75)
2017-12-15 14:54:20 +11:00
Mark Andrews
f5c3f3a9d6 add MacOS to contents
(cherry picked from commit 13508261e0)
2017-12-15 14:46:11 +11:00
Mark Andrews
5a8e8bacd9 add MacOS note
(cherry picked from commit 91e4700bcc)
2017-12-15 14:39:14 +11:00
Mark Andrews
d1862fe530 test for key != NULL on error path
(cherry picked from commit 9bad78cbc2)
2017-12-13 15:13:18 +11:00
Mark Andrews
0f14b04132 4846. [test] Adjust timing values in runtime system test. Address
named.pid removal races in runtime system test.
                        [RT #46800]

(cherry picked from commit c67180f09b)
2017-12-13 10:26:58 +11:00
Mark Andrews
0c38c73c4c don't attempt to call isc_buffer_free(&buf) twice; don't attempt to call dns_message_destroy(&msg) twice; don't test for key != NULL
(cherry picked from commit cb8650d875)
2017-12-12 13:24:59 +11:00
Tinderbox User
549ab75392 regen v9_11 2017-12-09 01:18:32 +00:00
Tinderbox User
eb0d7a6314 newcopyrights 2017-12-08 23:30:13 +00:00
Mark Andrews
897d49e929 increment test number
(cherry picked from commit e5c2cfdbf9)
2017-12-08 14:50:46 +11:00
Evan Hunt
77a2183961 [v9_11] document "fixedpoint" 2017-12-07 19:01:10 -08:00
Mark Andrews
f7f4730e56 4844. [test] Address memory leaks in libatf-c. [RT #46798]
(cherry picked from commit 1c794002f5)
2017-12-08 12:34:49 +11:00
Mark Andrews
1848d38f44 4843. [bug] dnssec-signzone free hashlist on exit. [RT #46791]
(cherry picked from commit 8444b4856a)
2017-12-07 19:30:10 +11:00
Mark Andrews
2d82ed9456 4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
warnings about unused function. [RT #46790]

(cherry picked from commit 63459cdc05)
2017-12-07 13:31:57 +11:00
Tinderbox User
370b4a4556 regen v9_11 2017-12-07 01:13:59 +00:00
Tinderbox User
a1cf2291a9 update copyright notice / whitespace 2017-12-06 23:46:07 +00:00
Tinderbox User
958cf527f8 newcopyrights 2017-12-06 23:30:16 +00:00
Mark Andrews
a5a1cbece4 4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
(cherry picked from commit 9d5a0abe81)
2017-12-06 21:02:24 +11:00
Mark Andrews
c7e3e6dfa0 remove extra line 2017-12-06 21:01:44 +11:00
Mark Andrews
0d6328ce5f 4840. [test] Add tests to cover fallback to using ZSK on inactive
KSK. [RT #46787]

(cherry picked from commit 32d09cd7e0)
2017-12-06 20:38:26 +11:00
Mukund Sivaraman
16f43564c6 Backport performance work to 9.11 (#45637) 2017-12-06 10:35:21 +05:30
Tinderbox User
266afc085a regen v9_11 2017-12-06 01:18:58 +00:00
Tinderbox User
124cc0660c update copyright notice / whitespace 2017-12-05 23:46:27 +00:00
Tinderbox User
77278a8e1f newcopyrights 2017-12-05 23:30:23 +00:00
Curtis Blackburn
e5f0db4734 clarify "stage 1" and "stage 2" in autosign test 2017-12-05 10:03:23 -08:00
Mark Andrews
15057131d5 set the DNSKEY deletion time to now+5 once we got all the zones into their initial state
(cherry picked from commit ecafa2ae50)
2017-12-05 21:42:38 +11:00
Mark Andrews
7f31784c52 use 9.11 and earlier syntax for dnssec-keygen 2017-12-05 20:43:15 +11:00
Mark Andrews
6155978af5 add [RT #46774]
(cherry picked from commit 77f9623439)
2017-12-05 16:14:39 +11:00
Mark Andrews
e01ef6f01c 4839. [bug] zone.c:zone_sign was not properly determining
if there were active KSK and ZSK keys for
                        a algorithm when update-check-ksk is true
                        (default) leaving records unsigned with one or
                        more DNSKEY algorithms. [RT #46774]

(cherry picked from commit 00f5ea91cf)
2017-12-05 16:11:53 +11:00
Tinderbox User
bea02a4cc0 regen v9_11 2017-12-05 01:14:56 +00:00
Evan Hunt
95d40c1e9d [v9_11] fix test descriptions 2017-12-04 15:49:13 -08:00
Tinderbox User
45c5f40361 update copyright notice / whitespace 2017-12-04 23:47:42 +00:00
Evan Hunt
b722ecd2f8 [v9_11] revised release note 2017-12-04 15:37:36 -08:00
Tinderbox User
7cfb222988 newcopyrights 2017-12-04 23:30:30 +00:00
Mark Andrews
15bc7f54ff add note for [RT #46743] and [RT #46754]
(cherry picked from commit 9ff34db455)
2017-12-05 09:53:37 +11:00
Mark Andrews
677f507de7 4838. [bug] zone.c:add_sigs was not properly determining
if there were active KSK and ZSK keys for
                        a algorithm when update-check-ksk is true
                        (default) leaving records unsigned with one or
                        more DNSKEY algorithms. [RT #46754]

(cherry picked from commit 6fa2a0691e)
2017-12-05 09:32:50 +11:00
Tinderbox User
8e13601a1b update copyright notice / whitespace 2017-12-03 23:46:15 +00:00
Tinderbox User
5ef5b1c703 newcopyrights 2017-12-03 23:30:17 +00:00
Mark Andrews
bf459d24a1 4837. [bug] dns_update_signatures{inc} (add_sigs) was not
properly determining if there were active KSK and
                        ZSK keys for a algorithm when update-check-ksk is
                        true (default) leaving records unsigned. [RT #46743]

(cherry picked from commit 196e01da5f)
2017-12-04 10:04:58 +11:00
Tinderbox User
e3ef0f1b1f update copyright notice / whitespace 2017-12-01 23:46:06 +00:00
Tinderbox User
aea84ccf39 newcopyrights 2017-12-01 23:30:10 +00:00
Ondřej Surý
35b65c4cdf [v9_11] Fix minor memory leak in rndc [RT #46739]
(cherry picked from commit 1b0ca5d5bb)
2017-12-01 14:50:16 +01:00
Tinderbox User
666b453b37 regen v9_11 2017-12-01 01:14:59 +00:00
Tinderbox User
701e9f3149 update copyright notice / whitespace 2017-11-30 23:46:50 +00:00
Tinderbox User
01d58b1620 newcopyrights 2017-11-30 23:30:22 +00:00
Evan Hunt
4a5dfa2d51 [v9_11] silence compiler warning
(cherry picked from commit 49a8cd6c01)
2017-11-30 13:55:49 -08:00
Evan Hunt
59c46f0aef [v9_11] fix incorrect comment 2017-11-30 13:35:29 -08:00
Evan Hunt
f53e0bda46 [v9_11] fix "allow-transfer" inheritance and clean up ACL configuration
4836.	[bug]		Zones created using "rndc addzone" could
			temporarily fail to inherit an "allow-transfer"
			ACL that had been configured in the options
			statement. [RT #46603]

(cherry picked from commit e197a2bd15)
2017-11-30 12:56:39 -08:00
Ondřej Surý
c62d9ac65f [v9_11] Type the shifted values to isc_uint32_t so the top bit is unsigned (found by UBSAN) [RT #46740]
(cherry picked from commit a4a148cf9a)
2017-11-30 18:27:07 +01:00
Michał Kępień
81e3e30849 [v9_11] Fix LMDB support on OpenBSD; clean up and refactor LMDB-related code
4835.   [cleanup]       Clean up and refactor LMDB-related code. [RT #46718]

4834.   [port]          Fix LMDB support on OpenBSD. [RT #46718]

(cherry picked from commit 2c20fc0d13)
2017-11-30 14:34:43 +01:00
Tinderbox User
341ab4071f update copyright notice / whitespace 2017-11-29 23:46:06 +00:00
Mark Andrews
64d7fa3ec4 4833. [bug] isc_event_free should check that the event is not
linked when called. [RT #46725]

4832.   [bug]           Events were not being removed from zone->rss_events.
                        [RT #46725]

(cherry picked from commit 9ddf7d6c4c)
2017-11-30 10:38:46 +11:00
Tinderbox User
8b657d4646 newcopyrights 2017-11-29 23:30:14 +00:00
Mark Andrews
75505befa9 4831. [bug] Convert the RRSIG expirytime to 64 bits for
comparisions in diff.c:resign. [RT #46710]

(cherry picked from commit 0579a11658)
2017-11-29 15:20:49 +11:00
Tinderbox User
fc6d01c100 regen v9_11 2017-11-29 01:14:55 +00:00
Tinderbox User
acbc29f414 update copyright notice / whitespace 2017-11-28 23:46:12 +00:00
Tinderbox User
a67e25bbfc newcopyrights 2017-11-28 23:30:24 +00:00
Michał Kępień
a38f07c737 [v9_11] Bail out of "./configure --with-atf" if "./configure" inside unit/atf-src fails
4830.	[bug]		Failure to configure ATF when requested did not cause
			an error in top-level configure script. [RT #46655]

(cherry picked from commit 376d5996a1)
2017-11-28 13:38:16 +01:00
Mark Andrews
39d5523a8a 4829. [bug] isc_heap_delete did not zero the index value when
the heap was created with a callback to do that.
                        [RT #46709]

(cherry picked from commit 65a483106e)
2017-11-28 18:50:36 +11:00
Mark Andrews
0adaa6be4b #define update_recordsandbytes update_recordsandbytes64 2017-11-28 14:14:04 +11:00
Mark Andrews
f98a58d9e6 map more entry points to <name>64 2017-11-28 14:13:17 +11:00
Tinderbox User
68d0eb598d regen v9_11 2017-11-28 01:14:28 +00:00
Tinderbox User
4c713bf940 update copyright notice / whitespace 2017-11-27 23:47:09 +00:00
Tinderbox User
07763bba03 newcopyrights 2017-11-27 23:30:22 +00:00
Mark Andrews
eb59c7d35b restore setting header->heap_index to zero in setsigningtime
(cherry picked from commit c22b540e4c)
2017-11-28 06:47:06 +11:00
Ray Bellis
3824b9f6e2 fix warning under Xcode for iOS
(cherry picked from commit d92d70ac5d)
2017-11-27 10:17:43 +00:00
Michał Kępień
1de48eb1e3 [v9_11] Stabilize nsupdate system test [RT #46673]
(cherry picked from commit 00ff44c7c2)
2017-11-27 10:11:42 +01:00
Michał Kępień
2b6aa86915 [v9_11] Minor mkeys system test tweaks [RT #46649]
(cherry picked from commit 2f13e0ef98)
2017-11-27 10:05:15 +01:00
Michał Kępień
8e0ef3ecf7 [v9_11] Only look for mysql_config if --with-dlz-mysql is used [RT #46647]
(cherry picked from commit a80dc538bd)
2017-11-27 10:00:56 +01:00
Michał Kępień
1f4a3c7088 [v9_11] Do not use thread-local storage for storing LMDB reader locktable slots
4828.	[bug]		Do not use thread-local storage for storing LMDB reader
			locktable slots. [RT #46556]

(cherry picked from commit 40a90fbf89)
2017-11-27 09:48:49 +01:00
Michał Kępień
ea9b7c7ed7 [v9_11] Fix OPTIONS formatting
(cherry picked from commit 31b6ae485e)
2017-11-27 09:39:43 +01:00
Mark Andrews
89085bebd3 More:
4819.   [bug]           Fully backout the transaction when adding a RRset
                        to the resigning / removal heaps fails. [RT #46473]

(cherry picked from commit 19f6a63184)
2017-11-27 15:22:20 +11:00
Mark Andrews
cae9332121 add missing symbols 2017-11-27 14:04:47 +11:00
Mark Andrews
91827e6fd3 4827. [misc] Add a precommit check script util/checklibs.sh
[RT #46215]

(cherry picked from commit 7bc5d7f5e8)
2017-11-27 13:50:40 +11:00
Tinderbox User
62e4c4187c update copyright notice / whitespace 2017-11-23 23:46:25 +00:00
Tinderbox User
7fcb9dbe08 newcopyrights 2017-11-23 23:30:14 +00:00
Mark Andrews
295a6bb5df silence %lu vs size_t warning by casting to (unsigned long)
(cherry picked from commit 1dc8208a89)
2017-11-24 10:26:35 +11:00
Mark Andrews
55abc014f7 in rdbdb.c:setsigningtime stop breaking heap invariant property unless we are going to restore the invariant property
(cherry picked from commit 6ead410268)
2017-11-24 08:51:01 +11:00
Michał Kępień
35aae5884f [v9_11] Disable parallel make inside bin/confgen/ and bin/named/
4826.	[cleanup]	Prevent potential build failures in bin/confgen/ and
			bin/named/ when using parallel make. [RT #46648]

(cherry picked from commit a573b93b46)
2017-11-23 11:44:57 +01:00
Michał Kępień
57b1d64d9a [v9_11] Prevent bogus warning from being logged
4825.	[bug]		Prevent a bogus "error during managed-keys processing
			(no more)" warning from being logged. [RT #46645]

(cherry picked from commit 165df18f75)
2017-11-23 09:37:08 +01:00
Mark Andrews
de9c02bbe8 silence compiler warning [RT #46471] 2017-11-23 17:02:31 +11:00
Mark Andrews
40ec122c50 style 2017-11-23 16:14:28 +11:00
Mark Andrews
4e46e80c3e remove bin/tests/system/reclimit/ans4/ans.pl 2017-11-23 12:09:52 +11:00
Tinderbox User
675d004f49 update copyright notice / whitespace 2017-11-21 23:46:04 +00:00
Tinderbox User
f8eafaa4fa newcopyrights 2017-11-21 23:30:15 +00:00
Michał Kępień
2d517e233f [v9_11] Refactor reclimit system test
4823.	[test]		Refactor reclimit system test to improve its
			reliability and speed. [RT #46632]

(cherry picked from commit 6035d557c4)
2017-11-21 10:33:08 +01:00
Tinderbox User
7d4205bea9 update copyright notice / whitespace 2017-11-17 23:46:02 +00:00
Mark Andrews
13bd0e3159 remove out of date comment
(cherry picked from commit a197094d76)
2017-11-18 08:51:57 +11:00
Mark Andrews
09c3efda41 4822. [bug] Use resign_sooner in dns_db_setsigningtime. [RT #46473]
(cherry picked from commit f975d0acaa)
2017-11-18 07:51:20 +11:00
Mark Andrews
86d2f9abc8 4821. [bug] When resigning ensure that the SOA's expire time is
always later that the resigning time of other records.
                        [RT #46473]

4820.   [bug]           dns_db_subtractrdataset should transfer the resigning
                        information to the new header. [RT #46473]

4819.   [bug]           Fully backout the transaction when adding a RRset
                        to the resigning / removal heaps fail. [RT #46473]

(cherry picked from commit 656eed7c9b)
2017-11-18 07:21:28 +11:00
Tinderbox User
50a1afc1f4 update copyright notice / whitespace 2017-11-16 23:46:02 +00:00
Tinderbox User
7ebc315084 newcopyrights 2017-11-16 23:30:14 +00:00
Michał Kępień
c7e57ce1b0 [v9_11] Stabilize logfileconfig system test
4818.	[test]		The logfileconfig system test could intermittently
			report false negatives on some platforms. [RT #46615]

(cherry picked from commit 7a0188774f)
2017-11-16 08:09:43 +01:00
Tinderbox User
67a1122d50 update copyright notice / whitespace 2017-11-14 23:46:28 +00:00
Tinderbox User
4873082219 newcopyrights 2017-11-14 23:30:20 +00:00
Mark Andrews
953b3882cc whitespace
(cherry picked from commit bcce55197a)
2017-11-14 14:49:07 +11:00
Mark Andrews
ce37f22724 more DNS_NAME_INITABSOLUTE cases
(cherry picked from commit e2f9dcfd86)
2017-11-14 11:52:45 +11:00
Tinderbox User
9b68b948f6 update copyright notice / whitespace 2017-11-13 23:46:08 +00:00
Tinderbox User
475b92f91c newcopyrights 2017-11-13 23:30:17 +00:00
Mark Andrews
3ed16e796d 4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
[RT #45433]

(cherry picked from commit 3d905e0533)
2017-11-13 17:16:31 +11:00
Mark Andrews
14d8a14477 4816. [bug] Don't use a common array for storing EDNS options
in DiG as it could fill up. [RT #45611]

(cherry picked from commit 3def40b01b)
2017-11-13 16:28:43 +11:00
Mark Andrews
70e041bea1 4815. [bug] rbt_test.c:insert_and_delete needed to call
dns_rbt_addnode instead of dns_rbt_addname. [RT #46553]

(cherry picked from commit 04934b28ea)
2017-11-13 15:27:12 +11:00
Mark Andrews
d4e99895ac fix merge error 2017-11-13 13:03:01 +11:00
Mark Andrews
67247b4a83 4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521]
(cherry picked from commit 6bbbf12936)
2017-11-13 11:52:50 +11:00
Mark Andrews
49d11094de set SAMPLEUPDATE under windows; test if SAMPLEUPDATE exists and only run tests if it does
(cherry picked from commit 9eb5aa40aa)
2017-11-11 09:25:30 +11:00
Michał Kępień
eeb919b6f5 [v9_11] Minor improvements to code handling managed keys
4812.	[bug]		Minor improvements to stability and consistency of code
			handling managed keys. [RT #46468]

(cherry picked from commit 312c84c73a)
2017-11-09 15:19:32 +01:00
Mark Andrews
f1b3c45513 fix the IPv6 address length in compute_cookie. [RT #46538]
(cherry picked from commit b231ddc65d)
2017-11-10 00:03:59 +11:00
Tinderbox User
ea4722c529 update copyright notice / whitespace 2017-11-08 23:46:04 +00:00
Tinderbox User
e5b18a24c8 newcopyrights 2017-11-08 23:30:12 +00:00
Michał Kępień
79d54c20ad [v9_11] Prevent junk from being logged when using "also-notify { <ip> key <keyname>; };"
(cherry picked from commit 4034b098d8)
2017-11-08 09:22:01 +01:00
Michał Kępień
afb531d846 [v9_11] Do not NOTIFY back the master view from slave views in notify system test
This prevents a Linux kernel bug discussed in RT #32355 from being
triggered and thus makes "checking notify to multiple views using tsig"
stable.

(cherry picked from commit 27bf48327c)
2017-11-08 09:21:53 +01:00
Mark Andrews
a55438eda3 4810. [test] The chain system test failed if the IPv6 interfaces
were not configured. [RT #46508]

(cherry picked from commit c652213857)
2017-11-08 10:18:23 +11:00
Evan Hunt
8de17f83ca [v9_11] Check if -latomic is needed to handle 64-bit stdatomic.h types
4809.	[port]		Check at configure time whether -latomic is needed
			for stdatomic.h. [RT #46324]

(cherry picked from commit e3d9aafff0)
2017-11-07 13:27:48 -08:00
Tinderbox User
46f85f4eaf regen v9_11 2017-11-07 01:17:01 +00:00
Mark Andrews
9789e54e55 4808. [bug] Properly test for zlib.h. [RT #46504]
(cherry picked from commit b819a478b7)
2017-11-07 10:12:54 +11:00
Tinderbox User
17fdbf542a regen v9_11 2017-11-03 01:15:31 +00:00
Tinderbox User
9a769d8b16 update copyright notice / whitespace 2017-11-02 23:46:37 +00:00
Tinderbox User
246b604d6c newcopyrights 2017-11-02 23:30:12 +00:00
Evan Hunt
8f98972067 [v9_11] clarify doc on zone refresh and expiry 2017-11-01 23:09:47 -07:00
Michał Kępień
69b5b7eaa7 [v9_11] Replace FNR with NR in the awk script used by nextpart()
awk on Solaris does not support the FNR variable.  As nextpart() only
reads from one file, replace FNR with NR.

(cherry picked from commit 37039792cb)
2017-11-02 06:50:52 +01:00
Michał Kępień
9009045ae9 [v9_11] Copy nextpart() from conf.sh.in to conf.sh.win32
(cherry picked from commit 41b1a98545)
2017-11-02 06:50:43 +01:00
Evan Hunt
17b7c60902 [v9_11] removed references to obsolete versions in documentation 2017-11-01 22:20:36 -07:00
Mark Andrews
f8362536c6 4805. [bug] TCP4Active and TCP6Active weren't being updated
correctly. [RT #46454]

(cherry picked from commit 92bbc9914c)
2017-11-02 10:43:18 +11:00
Mark Andrews
0401db53f9 don't use the ERR macro as GCC 7 only does a partial static analysis which generates false positives for fallthrough. [RT #46115]
(cherry picked from commit 0698ad8503)
2017-11-01 19:19:10 +11:00
Mark Andrews
48865bf022 fix merge error 2017-11-01 11:55:37 +11:00
Tinderbox User
9159c4c80c update copyright notice / whitespace 2017-10-31 23:46:45 +00:00
Tinderbox User
d9f80ee2ba newcopyrights 2017-10-31 23:30:28 +00:00
Mark Andrews
24231e53a5 4804. [port] win32: access() does not work on directories as
required by POSIX.  Supply a alternative in
                        isc_file_isdirwritable. [RT #46394]
2017-11-01 09:39:08 +11:00
Michał Kępień
4b669b69ba [v9_11] Backport fix for RT #46055 and mkeys system test improvements
4803.   [bug]		Backport parts of RT #45293 and RT #46267, specifically
			the fix for RT #46055 and mkeys system test
			improvements. [RT #46430]
2017-10-31 06:06:07 +01:00
Tinderbox User
e74fcbd492 update copyright notice / whitespace 2017-10-30 23:46:33 +00:00
Mark Andrews
3e4480ae34 tmp should be a (struct in_addr) not (struct in_addr *)
(cherry picked from commit 6e02359034)
2017-10-31 10:35:52 +11:00
Tinderbox User
34f0f38b72 newcopyrights 2017-10-30 23:30:23 +00:00
Tinderbox User
d253648fe3 regen v9_11 2017-10-30 01:14:43 +00:00
Tinderbox User
49cb160c1d update copyright notice / whitespace 2017-10-29 23:46:34 +00:00
Evan Hunt
7354f3248d [v9_11] copyrights 2017-10-29 16:42:24 -07:00
Mark Andrews
9052766cc5 number test 2017-10-30 08:44:14 +11:00
Mark Andrews
43e2c588ba number tests 2017-10-30 08:39:45 +11:00
Mark Andrews
7382f51602 Add system tests and remove redundent logging from:
4801.   [func]          'dnssec-lookaside auto;' and 'dnssec-lookaside .
                        trust-anchor dlv.isc.org;' now elicit warnings rather
                        than being fatal configuration errors. [RT #46410]

(cherry picked from commit f5e1b555c5)
2017-10-30 08:12:59 +11:00
Mukund Sivaraman
eb11b39981 When processing delzone, write one zone config per line to the NZF (#46323)
(cherry picked from commit 625f656aa8)
2017-10-29 07:43:47 +05:30
Tinderbox User
fb177937be update copyright notice / whitespace 2017-10-28 23:46:15 +00:00
Tinderbox User
77743327f1 newcopyrights 2017-10-28 23:30:11 +00:00
Michał Kępień
8daeae9b01 [v9_11] Improve clarity of keytable unit tests
4799.	[cleanup]	Improve clarity of keytable unit tests. [RT #46407]

(cherry picked from commit c6c1193e39)
2017-10-28 20:03:07 +02:00
Mark Andrews
284595865d allow for numbered namedX.args
(cherry picked from commit 4cbaa08602)
2017-10-28 10:54:14 +11:00
Tinderbox User
c45e259c00 update copyright notice / whitespace 2017-10-26 23:46:46 +00:00
Mark Andrews
fe9b24391d .md for MKD
(cherry picked from commit f808b5e0d2)
2017-10-27 10:41:45 +11:00
Tinderbox User
c2becd6ae3 newcopyrights 2017-10-26 23:30:17 +00:00
Mark Andrews
c5e68335a1 address resource leak [RT #46413]
(cherry picked from commit c341e524dc)
2017-10-27 10:01:38 +11:00
Evan Hunt
8e24455c8f [v9_11] some improvements in doc/dev [RT #46011]
- add info about rdatasets, etc, to dev.md (thanks to Tony Finch)
- convert rdata.html to markdown

(cherry picked from commit 63270d33f1)
2017-10-25 23:30:29 -07:00
Evan Hunt
e7c0f97842 [v9_11] check file and tree headers when loading map files
4792.	[bug]		Fix map file header correctness check. [RT #38418]

(cherry picked from commit 5b69d3da83)
2017-10-25 21:37:21 -07:00
Evan Hunt
6acd7b903b [v9_11] clean up DNS_MESSAGETEXTFLAG comments
(cherry picked from commit 89d1777560)
2017-10-25 21:34:09 -07:00
Tinderbox User
811ccf37de regen v9_11 2017-10-26 01:17:56 +00:00
Tinderbox User
66ebd200f5 update copyright notice / whitespace 2017-10-25 23:50:03 +00:00
Tinderbox User
0c3fdb471f newcopyrights 2017-10-25 23:30:36 +00:00
Evan Hunt
4ee7a74729 [v9_11] fix some documentation errors [RT #45527]
(cherry picked from commit 81570e84a2)
2017-10-25 11:05:13 -07:00
Evan Hunt
01967d1839 [v9_11] fixed libdns doc
4791.	[doc]		Fixed outdated documentation about export libraries.
			[RT #46341]

(cherry picked from commit 6a59e53a69)
2017-10-25 10:56:04 -07:00
Mark Andrews
575e9d9e4b 4790. [bug] nsupdate could trigger a require when sending a
update to the second address of the server.
                        [RT #45731]

(cherry picked from commit 2bbca9594f)
2017-10-26 00:30:55 +11:00
Evan Hunt
7c442d7fe0 [v9_11] log when update-policy local gets a key match from a remote host
4788.	[cleanup]	When using "update-policy local", log a warning
			when an update matching the session key is received
			from a remote host. [RT #46213]

- this completes change #4762.
2017-10-25 00:59:17 -07:00
Michał Kępień
5e1ca7a326 [v9_11] Rename nsec3param_salt_totext() to dns_nsec3param_salttotext(), make it public, add unit tests
4786.	[cleanup]	Turn nsec3param_salt_totext() into a public function,
			dns_nsec3param_salttotext(), and add unit tests for it.
			[RT #46289]

(cherry picked from commit 910a01550a)
2017-10-25 09:50:33 +02:00
Mark Andrews
41aef8f068 read dig.out.ns3.test$n rather than dig.out.ns2.test$n
(cherry picked from commit 80739779fc)
2017-10-25 15:03:18 +11:00
Tinderbox User
2465dbb92d regen v9_11 2017-10-25 01:17:25 +00:00
Tinderbox User
8ed107eab4 update copyright notice / whitespace 2017-10-24 23:48:58 +00:00
Tinderbox User
f48877f10c newcopyrights 2017-10-24 23:30:51 +00:00
Mark Andrews
ba93bc80a7 4783. [test] dnssec: 'check that NOTIFY is sent at the end of
NSEC3 chain generation failed' required more time
                        on some machines for the IXFR to complete. [RT #46388]

(cherry picked from commit 969d923536)
2017-10-25 09:21:52 +11:00
Mark Andrews
5f10315828 4782. [test] dnssec: 'checking positive and negative validation
with negative trust anchors' required more time to
                        complete on some machines. [RT #46386]

(cherry picked from commit 6b8e4d6e69)
2017-10-25 09:13:42 +11:00
Michał Kępień
17441aca3d [v9_11] Remove REQUIRE preventing change 4592 from working
Change 4592 was supposed to replace a REQUIRE with a conditional return.
While the latter was added, the former was not removed.  Remove the
relevant REQUIRE to fix RT #43822 for good.

(cherry picked from commit a94d68ce43)
2017-10-24 21:14:22 +02:00
Evan Hunt
4d39bffd95 [v9_11] fix merge error; missing hunk from change 4780 2017-10-24 10:09:22 -07:00
Evan Hunt
e5715e1fe1 [v9_11] update B.ROOT-SERVERS.NET 2017-10-24 09:17:21 -07:00
Mark Andrews
b227ff5796 report test number 2017-10-24 15:00:03 +11:00
Evan Hunt
415b410ae8 [v9_11] zone "file" option was undocumented
(cherry picked from commit b1042e011c)
2017-10-23 19:40:12 -07:00
Evan Hunt
b7b76d6b85 [v9_11] omit NS from authority section if it was in answer
4780.	[bug]		When answering ANY queries, don't include the NS
			RRset in the authority section if it was already
			in the answer section. [RT #44543]
2017-10-23 19:33:14 -07:00
Mark Andrews
71fc94b76c report if named.run or named.memstats not removed after successful test
(cherry picked from commit 5bead588b7)
2017-10-24 12:45:50 +11:00
Mark Andrews
764e2f3413 4779. [bug] Expire NTA at the start of the second. Don't update
the expiry value if the record has already expired
                        after a successful check. [RT #46368]

(cherry picked from commit c9438ee2e0)
2017-10-24 09:55:33 +11:00
Evan Hunt
a06198688f [v9_11] clean up a redundancy
4777.	[cleanup]	Removed a redundant call to configure_view_acl().
			[RT #46369]

(cherry picked from commit 89636d8f30)
2017-10-23 11:12:47 -07:00
Tinderbox User
58400e502e regen v9_11 2017-10-22 01:17:25 +00:00
Evan Hunt
b30ffd0a5b [v9_11] doc nit: Base64 is capitalized and not hyphenated
(cherry picked from commit 321b8429f5)
2017-10-21 13:29:45 -07:00
Evan Hunt
fd1a7af399 [v9_11] add DNS_RPZ_MAX_ZONES to OPTIONS
(cherry picked from commit 172aa40e8f)
2017-10-21 13:29:26 -07:00
Evan Hunt
475c51cce0 [v9_11] test for Net::DNS::Nameserver in prereq.sh 2017-10-21 00:28:47 -07:00
Tinderbox User
9efd8fc7e8 regen v9_11 2017-10-21 01:21:39 +00:00
Mark Andrews
317330c25a use correct tag 2017-10-20 19:05:52 +11:00
Mark Andrews
23b41e9117 #include <inttypes.h>
(cherry picked from commit 5ff48dca18)
2017-10-20 16:36:25 +11:00
Mark Andrews
50433a667c 4776. [bug] Improve portability of ht_test. [RT #46333]
(cherry picked from commit 66258ca349)
2017-10-20 16:06:07 +11:00
Tinderbox User
54517c79ed regen v9_11 2017-10-20 01:17:51 +00:00
Mark Andrews
b71747f765 include "../mkd"; as we have already changed working directory 2017-10-20 11:48:12 +11:00
Tinderbox User
ff2d95be3d update copyright notice / whitespace 2017-10-19 23:46:54 +00:00
Tinderbox User
1ef84760d1 newcopyrights 2017-10-19 23:30:35 +00:00
Mark Andrews
a4ea78aa55 s/made/may/ 2017-10-20 10:29:15 +11:00
Mark Andrews
ff08ac42f7 note removal of <isc/util.h> from other header files
(cherry picked from commit 9e5439a6d8)
2017-10-20 10:27:08 +11:00
Mark Andrews
659b66eb54 s/REQUIRE/ISC_REQUIRE/; include <isc/assertions.h> if ISC_REQUIRE is used; include <isc/likely.h> if ISC_{UN}LIKELY is used
(cherry picked from commit 0fab171196)
2017-10-19 16:47:23 +11:00
Evan Hunt
b093b684a6 [v9_11] skip managed-keys reconfig tests in runtime if no crypto [RT #46327] 2017-10-18 22:24:55 -07:00
Mark Andrews
3c12bec945 4775. [bug] Address Coverity warnings in ht_test.c and mem_test.c
[RT #46281]

(cherry picked from commit 583e355951)
2017-10-19 13:11:13 +11:00
Mark Andrews
f44202ab64 4774. [bug] <isc/util.h> was incorrectly included in several
header files. [RT #46311]

(cherry picked from commit fe79e2efbf)
2017-10-19 12:32:53 +11:00
Tinderbox User
f14ce68ee5 regen v9_11 2017-10-19 01:16:52 +00:00
Evan Hunt
8a718a0c54 [v9_11] copyrights 2017-10-18 17:25:11 -07:00
Evan Hunt
56e30ebae6 [v9_11] require writable managed keys directory
4769.	[bug]		Enforce the requirement that the managed keys
			directory (specified by "managed-keys-directory",
			and defaulting to the working directory if not
			specified) must be writable. [RT #46077]
2017-10-17 21:26:41 -07:00
Tinderbox User
3ca1a32241 regen v9_11 2017-10-18 01:19:23 +00:00
Tinderbox User
3d5ed84c6f update copyright notice / whitespace 2017-10-17 23:49:26 +00:00
Tinderbox User
b6980a79a5 newcopyrights 2017-10-17 23:30:32 +00:00
Evan Hunt
e609b6b32b [v9_11] README and relnote fixes
(cherry picked from commit 30419509dd)
2017-10-17 13:50:49 -07:00
Michał Kępień
ad9772c559 [v9_11] Doxygen fixes and cleanups
4773.	[doc]		Fixed generating Doxygen documentation for functions
			annotated using certain macros.  Miscellaneous
			Doxygen-related cleanups. [RT #46276]

(cherry picked from commit 2361003a88)
2017-10-17 06:58:05 +02:00
Michał Kępień
394cf800c4 [v9_11] Regenerate presigned zone for the filter-aaaa system test [RT #46283]
Fix the filter-aaaa system test for builds without DNSSEC support.
2017-10-16 09:46:02 +02:00
Tinderbox User
8896e99166 update copyright notice / whitespace 2017-10-13 23:46:21 +00:00
Tinderbox User
dcf17dea53 newcopyrights 2017-10-13 23:30:16 +00:00
Evan Hunt
666af25a92 [v9_11] fix filter-aaaa test [RT #46268] 2017-10-13 10:28:34 -07:00
Evan Hunt
650e0aff5c [v9_11] use NUL instead of /dev/null for KRB5_CONFIG on windows
(cherry picked from commit 89b2fc092d)
2017-10-11 18:13:07 -07:00
Tinderbox User
b22915c279 update copyright notice / whitespace 2017-10-11 23:46:26 +00:00
Tinderbox User
a66a8912c6 newcopyrights 2017-10-11 23:30:36 +00:00
Mark Andrews
55ed351e81 reserve subscription flags
(cherry picked from commit a9a983781e)
2017-10-12 09:20:18 +11:00
Evan Hunt
5d7d67f82a [v9_11] ignore cache when sending 5011 refresh queries
4771.	[bug]		When sending RFC 5011 refresh queries, disregard
			cached DNSKEY rrsets. [RT #46251]

(cherry picked from commit b2597ce86b)
2017-10-11 14:24:52 -07:00
Evan Hunt
6216df5ccd [v9_11] reduce unnecessary priming queries
4770.	[bug]		Cache additional data from priming queries as glue.
			Previously they were ignored as unsigned
			non-answer data from a secure zone, and never
			actually got added to the cache, causing hints
			to be used frequently for root-server
			addresses, which triggered re-priming. [RT #45241]

(cherry picked from commit 5de02a075b)
2017-10-11 09:07:37 -07:00
Evan Hunt
d1aa5125a9 [v9_11] Move KRB5_CONFIG=/dev/null to conf.sh.* so the named run in the tests gets the setting
(cherry picked from commit 74f46c45b0)
2017-10-11 08:51:03 -07:00
Mark Andrews
4e191a81d9 ignore Makefile
(cherry picked from commit 9492533d46)
2017-10-11 11:00:32 +11:00
Michał Kępień
527500acb0 [v9_11] Sync draft-durand-doa-over-dns snippet in lib/dns/tests/rdata_test.c with draft version -03 2017-10-09 10:53:02 +02:00
Mark Andrews
c85920c0b4 4766. [cleanup] Addresss Coverity warnings. [RT #46150]
(cherry picked from commit 5df3f839b2)
2017-10-09 18:37:46 +11:00
Tinderbox User
193749a4f5 regen v9_11 2017-10-09 01:14:44 +00:00
Mark Andrews
654db68d60 cleanup 2017-10-09 11:13:17 +11:00
Evan Hunt
02af0069a1 [v9_11] add DOA to ARM 2017-10-07 19:34:39 -07:00
Tinderbox User
0d6a6642b2 regen v9_11 2017-10-08 01:16:06 +00:00
Tinderbox User
cd92b149b2 update copyright notice / whitespace 2017-10-07 23:46:43 +00:00
Tinderbox User
12343c067e newcopyrights 2017-10-07 23:30:36 +00:00
Mark Andrews
65d59e1418 ignore Makefile 2017-10-08 06:52:53 +11:00
Mark Andrews
514a44a2bb don't force souce port
(cherry picked from commit 02a669a9a6)
2017-10-08 06:43:21 +11:00
Mark Andrews
77db93e68c silence VC compiler warning
(cherry picked from commit e09b9e7a91)
2017-10-07 14:04:57 +11:00
Evan Hunt
0612274565 [v9_11] use mysql_config if available
4763.	[contrib]	Improve compatibility when building MySQL DLZ
			module by using mysql_config if available.
			[RT #45558]
2017-10-06 19:14:32 -07:00
Mark Andrews
c63a8763f1 map tat to trust-anchor-telemetry 2017-10-07 12:12:54 +11:00
Evan Hunt
fde1f87306 [v9_11] add missing names 2017-10-06 17:38:51 -07:00
Mark Andrews
0fb601af34 Normalize all the line endings 2017-10-07 11:23:19 +11:00
Tinderbox User
8a99b24dbe update copyright notice / whitespace 2017-10-06 23:46:41 +00:00
Tinderbox User
98240f34c3 newcopyrights 2017-10-06 23:30:42 +00:00
Evan Hunt
f592d2f76c [v9_11] further restrict update-policy local
4762.	[func]		"update-policy local" is now restricted to updates
                from local addresses. (Previously, other addresses
                were allowed so long as updates were signed by the
                local session key.) [RT #45492]
2017-10-06 15:43:18 -07:00
Michał Kępień
4ee1fbe056 [v9_11] Add support for DOA
4761.	[protocol]	Add support for DOA. [RT #45612]

(cherry picked from commit 417218837e)
2017-10-06 12:56:41 +02:00
Mark Andrews
1cd67567f7 add trust-anchor-telemetry to bring into sync with bin/named/log.c 2017-10-06 16:43:43 +11:00
Mark Andrews
bd35150bc6 add dns_name_istat to libdns.def.in 2017-10-06 14:23:47 +11:00
Mark Andrews
94deea78f4 fix merge error 2017-10-06 14:12:14 +11:00
Mark Andrews
1c8aa38b53 4759. [func] Add logging channel "trust-anchor-telementry" to
record trust-anchor-telementry in incoming requests.
                            Both _ta-XXXX.<anchor>/NULL and EDNS KEY-TAG options
                            are logged.  [RT #46124]

    (cherry picked from commit b41c1aacbc)
2017-10-06 13:53:50 +11:00
Evan Hunt
43d53a4e4b [v9_11] fix topology doc
4758.	[doc]		Remove documentation of unimplemented "topology".
			[RT #46161]
2017-10-05 18:52:11 -07:00
Tinderbox User
a0fb6a0980 regen v9_11 2017-10-06 01:15:42 +00:00
Tinderbox User
649482995b update copyright notice / whitespace 2017-10-05 23:46:27 +00:00
Tinderbox User
c4d2e7c8c8 newcopyrights 2017-10-05 23:30:46 +00:00
Evan Hunt
197903220d [v9_11] remove no-longer-needed check for nonexistence 2017-10-05 11:35:40 -07:00
Evan Hunt
e9cb871d0b [v9_11] revise style guide information on bracing 2017-10-05 11:28:16 -07:00
Michał Kępień
b1ce9b3d54 [v9_11] Prevent dig INSIST failures and hangs in some failure modes
4756.	[bug]		Interrupting dig could lead to an INSIST failure after
			certain errors were encountered while querying a host
			whose name resolved to more than one address.  Change
			4537 increased the odds of triggering this issue by
			causing dig to hang indefinitely when certain error
			paths were evaluated.  dig now also retries TCP queries
			(once) if the server gracefully closes the connection
			before sending a response. [RT #42832, #45159]

(cherry picked from commit 14afc8425b)
2017-10-05 09:45:34 +02:00
Evan Hunt
5fa4be41a3 [v9_11] don't log when NZF file doesn't exist
4755.	[cleanup]	Silence unnecessary log message when NZF file doesn't
			exist. [RT #46186]

(cherry picked from commit d7ee3ed488)
2017-10-05 00:13:36 -07:00
Mark Andrews
2732d4922c 4754. [bug] dns_zone_setview needs a two stage commit to properly
handle errors. [RT #45841]
2017-10-05 13:41:49 +11:00
Mark Andrews
2e10e64586 cast to unsigned int
(cherry picked from commit 34efd9ad93)
2017-10-05 13:34:24 +11:00
Evan Hunt
73b52dd1f0 [v9_11] fix tag 2017-10-04 18:44:26 -07:00
Tinderbox User
aaec997e6c update copyright notice / whitespace 2017-10-04 23:46:25 +00:00
Evan Hunt
24ffba17f0 [v9_11] remove nslint, query-loc and zkt from contrib
4753.	[contrib]	Software obtainable from known upstream locations
			(i.e., zkt, nslint, query-loc) has been removed.
			Links to these and other packages can be found at
			https://www.isc.org/community/tools [RT #46182]

(cherry picked from commit 319aad330d)
2017-10-04 16:39:56 -07:00
Tinderbox User
a564a0a6d0 newcopyrights 2017-10-04 23:30:23 +00:00
Evan Hunt
e7d68fc4b6 [v9_11] copy the color-coded test functions to conf.sh.win32 2017-10-04 09:28:37 -07:00
Mark Andrews
834b5e1e7e add L for wide
(cherry picked from commit 055d310e54)
2017-10-04 20:45:00 +11:00
Mark Andrews
e77f7b404a stderr to /dev/null also
(cherry picked from commit 4615bc5408)
2017-10-04 19:26:59 +11:00
Mark Andrews
af6a526dfd test for 'printf'
(cherry picked from commit d1e823af15)
2017-10-04 19:20:01 +11:00
Mark Andrews
863cec26ca silence compiler warning 2017-10-04 18:08:10 +11:00
Mark Andrews
9678018943 #undef inet_ntop
(cherry picked from commit 396125eefe)
2017-10-04 17:50:22 +11:00
Mark Andrews
21d58795b1 4752. [test] Add unit test for isc_net_pton. [RT #46171]
(cherry picked from commit 5fcdb09126)
2017-10-04 14:11:42 +11:00
Evan Hunt
34971c7618 [v9_11] missing declaration of INSIST 2017-10-03 20:03:19 -07:00
Evan Hunt
1a35af8e47 [v9_11] remove spurious control character 2017-10-03 19:41:57 -07:00
Tinderbox User
a134177ed9 update copyright notice / whitespace 2017-10-03 23:46:31 +00:00
Tinderbox User
3fb635d1c5 newcopyrights 2017-10-03 23:30:22 +00:00
Evan Hunt
d5bd8bb71a [v9_11] de-DLV
4749.	[func]		The ISC DLV service has been shut down, and all
			DLV records have been removed from dlv.isc.org.
			- Removed references to ISC DLV in documentation
			- Removed DLV key from bind.keys
			- No longer use ISC DLV by default in delv
			[RT #46155]
2017-10-03 00:43:19 -07:00
Mark Andrews
ad1317338a 4748. [cleanup] Sprintf to snprintf coversions. [RT #46132]
(cherry picked from commit a009d03a1a)
2017-10-03 14:55:33 +11:00
Tinderbox User
b725c6fc0e regen v9_11 2017-10-01 01:15:43 +00:00
Tinderbox User
f8f19158fa update copyright notice / whitespace 2017-09-30 23:49:40 +00:00
Tinderbox User
000b9bc9dc newcopyrights 2017-09-30 23:30:29 +00:00
Evan Hunt
9519bb92d7 [v9_11] add configured prefixes to summary
4746.	[cleanup]	Add configured prefixes to configure summary
			output. [RT #46153]

(cherry picked from commit c0f8a8f30a)
2017-09-30 10:03:32 -07:00
Evan Hunt
1c81aef28d [v9_11] color-coded test output
4745.	[test]		Add color-coded pass/fail messages to system
			tests when running on terminals that support them.
			[RT #45977]

(cherry picked from commit 3bb6150cae)
2017-09-30 10:02:52 -07:00
Mark Andrews
da1f585afa 4744. [bug] Suppress trust-anchor-telementry queries if
validation is disabled. [RT #46131]

(cherry picked from commit dc0a792d94)
2017-09-29 09:33:55 +10:00
Mark Andrews
1288734b53 improve forensics
(cherry picked from commit 86e5d14e82)
2017-09-28 22:15:41 +10:00
Tinderbox User
0bf752f483 update copyright notice / whitespace 2017-09-27 23:46:52 +00:00
Tinderbox User
37bf3e124e newcopyrights 2017-09-27 23:30:14 +00:00
Mark Andrews
07aa165627 switch to using snprintf from sprintf
(cherry picked from commit d386eb54c6)
2017-09-28 07:16:20 +10:00
Mukund Sivaraman
a8fa3e2d44 Make isc_refcount_current() atomically read the counter value (#46074)
(cherry picked from commit abb8813a33)
2017-09-27 15:09:42 +05:30
Mukund Sivaraman
d0d2ba9546 Use stdatomic.h in acache code (#46085)
Part of change 4728.
2017-09-27 14:58:05 +05:30
Mark Andrews
d4eaef0b87 use %u and cast to unsigned int
(cherry picked from commit 2495de04a5)
2017-09-27 17:57:22 +10:00
Mark Andrews
d71d41341d 4740. [cleanup] Avoid triggering format-truncated warnings. [RT #46107] 2017-09-27 16:20:00 +10:00
Mark Andrews
62cce53589 tcp test got reversed
(cherry picked from commit b4c31c8795)
2017-09-27 15:20:16 +10:00
Mark Andrews
d72952cf25 4739. [cleanup] Address clang static analysis warnings. [RT #45952]
(cherry picked from commit f9f3f20d2d)
2017-09-27 10:58:44 +10:00
Evan Hunt
68d7ff133c [v9_11] backport rpz tweaks
4713.	[cleanup]	Minor revisions to RPZ code to reduce
			differences with the development branch. [RT #46037]
2017-09-26 11:02:59 -07:00
Mark Andrews
aae171c542 4738. [port] win32: strftime mishandles %Z. [RT #46039]
(cherry picked from commit 744061a03b)
2017-09-26 23:33:26 +10:00
Mark Andrews
6b183c64a3 4737. [cleanup] Address Coverity warnings. [RT #46012]
(cherry picked from commit 08151d7fce)
2017-09-26 23:24:37 +10:00
Michał Kępień
5a8f2f0cd6 [v9_11] Comment NSEC3-related code and fix a few minor issues
4736.	[cleanup]	(a) Added comments to NSEC3-related functions in
			lib/dns/zone.c.  (b) Refactored NSEC3 salt formatting
			code.  (c) Minor tweaks to lock and result handling.
			[RT #46053]

(cherry picked from commit acc3728c47)
2017-09-26 11:28:38 +02:00
Tinderbox User
ea9558dc72 update copyright notice / whitespace 2017-09-23 23:46:33 +00:00
Tinderbox User
ace0869e25 newcopyrights 2017-09-23 23:30:10 +00:00
Mark Andrews
e2cc7418bf 4735. [bug] Add @ISC_OPENSSL_LIBS@ to isc-config. [RT #46078]
(cherry picked from commit 2919a6d34b)
2017-09-23 14:58:21 +10:00
Evan Hunt
36ec0d3748 [v9_11] contrib: dns-over-tls sample configurations
4734.	[contrib]	Added sample configuration for DNS-over-TLS in
			contrib/dnspriv.

(cherry picked from commit e02abf7ed8)
2017-09-22 15:14:09 -07:00
Mukund Sivaraman
dc0d95a23d Use stdint.h only when stdatomic.h is in use (stdint.h isn't available everywhere)
(cherry picked from commit fb9712f639)
2017-09-22 15:15:34 +05:30
Mark Andrews
7f8ccd62f2 #include <isc/string.h> as it includes both <string.h> and <strings.h> if they both exist
(cherry picked from commit 6138c5a5e4)
2017-09-22 18:09:50 +10:00
Tinderbox User
81aae25057 regen v9_11 2017-09-22 01:15:14 +00:00
Tinderbox User
c05cfdba6a update copyright notice / whitespace 2017-09-21 23:50:32 +00:00
Tinderbox User
d0d09653dd newcopyrights 2017-09-21 23:30:35 +00:00
Evan Hunt
71f3cd81dd [v9_11] fix typos 2017-09-21 10:13:19 -07:00
Mark Andrews
07b1de86e1 alphabetise 2017-09-21 18:06:34 +10:00
Tinderbox User
731c2e5f0f regen v9_11 2017-09-21 07:30:52 +00:00
Mark Andrews
d037e4dbbe #include <stdint.h> 2017-09-21 14:20:53 +10:00
Tinderbox User
28a3d74227 regen v9_11 2017-09-21 03:48:24 +00:00
Mark Andrews
c0d6d4e2f2 atomic_compare_exchange_strong_explicit's second argument should not be atomic_* 2017-09-21 13:41:43 +10:00
Mark Andrews
e24ec1cb12 explicitly list test programs 2017-09-21 13:06:26 +10:00
Evan Hunt
751b32e344 [v9_11] Merge branch 'v9_11' of ssh://repo.isc.org/proj/git/prod/bind9 into v9_11 2017-09-20 12:00:57 -07:00
Tinderbox User
e9777ae6f9 regen v9_11 2017-09-20 01:17:06 +00:00
Tinderbox User
8688e7005a update copyright notice / whitespace 2017-09-19 23:47:50 +00:00
Tinderbox User
40e10611ee newcopyrights 2017-09-19 23:30:36 +00:00
Evan Hunt
4100890e5a [v9_11] specify correct license 2017-09-19 12:59:26 -07:00
Mukund Sivaraman
e446fd29b9 Fix changeset numbers 2017-09-19 19:52:47 +05:30
Mukund Sivaraman
f896f7c8be Fix use after free when closing an LMDB (#46000)
(cherry picked from commit e2ed24aa4d)
2017-09-19 19:43:22 +05:30
Mukund Sivaraman
027a4a5b5d Fix out of bounds access in DHCID totext() method (#46001)
(cherry picked from commit 98998f3ddd)
2017-09-19 19:34:13 +05:30
Mukund Sivaraman
b5252fcde5 Don't use memset() to wipe memory (#45947)
(cherry picked from commit d5707676e4)
2017-09-19 17:00:37 +05:30
Mukund Sivaraman
9905606390 Use C11's stdatomic.h instead of isc_atomic where available
(cherry picked from commit 404c9b1c53)
2017-09-19 15:49:21 +05:30
Mark Andrews
4ae32a6f72 remove unimplement rate-limit option [RT #46030]
(cherry picked from commit fb088a00cf)
2017-09-19 13:15:53 +10:00
Tinderbox User
3d202a0d60 regen v9_11 2017-09-19 01:15:53 +00:00
Tinderbox User
acce4b333d update copyright notice / whitespace 2017-09-18 23:52:43 +00:00
Tinderbox User
81573f7b11 newcopyrights 2017-09-18 23:31:09 +00:00
Evan Hunt
fd8d52fbdd [v9_11] add I: when echoing information about failed tests
(cherry picked from commit 49740fb0f2)
2017-09-18 14:15:55 -07:00
Michał Kępień
62f2fefaec [v9_11] Prevent possible infinite signing loop after retransferring an inline-signed slave using NSEC3
4727.	[bug]		Retransferring an inline-signed slave using NSEC3
			around the time its NSEC3 salt was changed could result
			in an infinite signing loop. [RT #45080]

(cherry picked from commit f665c724e4)
2017-09-18 09:23:18 +02:00
Michał Kępień
b351a58647 [v9_11] Improve handling of TCP_FASTOPEN on FreeBSD
4726.	[port]		Prevent setsockopt() errors related to TCP_FASTOPEN
			from being logged on FreeBSD if the kernel does not
			support it.  Notify the user when the kernel does
			support TCP_FASTOPEN, but it is disabled by sysctl.
			Add a new configure option, --disable-tcp-fastopen, to
			disable use of TCP_FASTOPEN altogether. [RT #44754]

(cherry picked from commit c2179857de)
2017-09-18 08:34:53 +02:00
Mark Andrews
8008de0b11 4725. [bug] Nsupdate: "recvsoa" was incorrectly reported for
failures in sending the update message.  The correct
                        location to be reported is "update_completed".
                        [RT #46014]

(cherry picked from commit 0bcb8b0b7c)
2017-09-18 14:29:40 +10:00
Tinderbox User
b815731d05 update copyright notice / whitespace 2017-09-15 23:47:07 +00:00
Mark Andrews
2832654236 don't use strlcat with non NUL terminated strings rt45981_stage3
(cherry picked from commit dc71aa898a)
2017-09-15 13:14:40 +10:00
Mark Andrews
7b4bfc0201 4723. [bug] Statistics counter DNSTAPdropped was misidentified
as DNSSECdropped. [RT #46002]

(cherry picked from commit 3128cd21e3)
2017-09-14 23:53:07 +00:00
Tinderbox User
7c38d4781f update copyright notice / whitespace 2017-09-14 23:48:31 +00:00
Tinderbox User
8ac5ddf659 newcopyrights 2017-09-14 23:30:39 +00:00
Evan Hunt
a3b6dcd418 [v9_11] revert dlzexternal changes for portability 2017-09-14 11:33:36 -07:00
Mark Andrews
2b5e8ac281 silence warning
(cherry picked from commit c59bf663e8)
2017-09-14 19:02:45 +10:00
Mark Andrews
cd320a8d23 #include <isc/string.h>
(cherry picked from commit 7eb73f6288)
2017-09-14 18:58:52 +10:00
Mark Andrews
4f851656c4 #include <isc/string.h>
(cherry picked from commit 5fb0c09a5e)
2017-09-14 18:55:15 +10:00
Mark Andrews
5a93d3be4e more str{n}{cat,cpy} corrections rt45981_stage2
(cherry picked from commit cb629cdeda)
2017-09-14 18:33:02 +10:00
Mukund Sivaraman
e05b7dc69a Link dlzexternal system test's driver against libisc
(cherry picked from commit bbe9f1dd95)
2017-09-14 13:37:22 +05:30
Evan Hunt
41621724af [v9_11] cast char * 2017-09-13 22:04:08 -07:00
Evan Hunt
4c2dd50d64 [v9_11] clean up bufsize errors
(cherry picked from commit 9b729a06b0)
2017-09-13 21:19:11 -07:00
Tinderbox User
bd911976d5 update copyright notice / whitespace 2017-09-13 23:52:25 +00:00
Tinderbox User
2b7254075b newcopyrights 2017-09-13 23:31:46 +00:00
Mark Andrews
d8402e191a fix filenamelen so it has the buffer length rather than buffer length - 1
(cherry picked from commit 21c12d0107)
2017-09-14 09:30:03 +10:00
Evan Hunt
7df17e0de2 [v9_11] fix incorrect comment 2017-09-13 13:53:57 -07:00
Mukund Sivaraman
d45eddf28f Fix output string size in GOST unittest
(cherry picked from commit e5eca6eebb)
2017-09-14 01:36:37 +05:30
Mukund Sivaraman
e004f87b71 Fix gost unittest failure
(cherry picked from commit 93f7384928)
2017-09-14 00:29:53 +05:30
Mark Andrews
28a55095f7 add #include <isc/string.h>
(cherry picked from commit 4c9ba9ded8)
2017-09-13 19:51:49 +05:30
Mukund Sivaraman
a13e9f894c Add missing <isc/print.h>
(cherry picked from commit 188fa6ea68)
2017-09-13 19:48:20 +05:30
Mukund Sivaraman
fc7ed600ae Tweak hash_test.c further, passing sizeof(str)
(cherry picked from commit 8997fc0a3f)
2017-09-13 19:32:57 +05:30
Mukund Sivaraman
4baac8b9f3 Tweak
(cherry picked from commit a2873eabf6)
2017-09-13 19:32:56 +05:30
Mukund Sivaraman
3dc00443bb Fix size of output string in hash tests
(cherry picked from commit bc5e0a6868)
2017-09-13 19:32:54 +05:30
Francis Dupont
1cc250f9af Added isc/string.h to shutdown_test which got strlcpy
(cherry picked from commit 804ca1d926)
2017-09-13 23:00:42 +10:00
Evan Hunt
7cd594b842 [master] cleanup strcat/strcpy
4722.	[cleanup]	Clean up uses of strcpy() and strcat() in favor of
			strlcpy() and strlcat() for safety. [RT #45981]

(cherry picked from commit 114f95089c)
2017-09-13 00:17:16 -07:00
Mark Andrews
a27226b849 give more time for the initial signing of bits in the inline signing test to complete
(cherry picked from commit e930487ce7)
2017-09-13 12:19:42 +10:00
Mark Andrews
3f932812d7 fix first if test in setoption
(cherry picked from commit abda73147d)
2017-09-13 11:58:52 +10:00
Mark Andrews
c76e8412f4 4719. [bug] Address PVS static analyzer warnings. [RT #45946]
(cherry picked from commit 34130ee25a)
2017-09-13 09:51:39 +10:00
Tinderbox User
c40e033d21 update copyright notice / whitespace 2017-09-12 23:47:30 +00:00
Tinderbox User
16afb24a00 newcopyrights 2017-09-12 23:31:54 +00:00
Evan Hunt
a2a0100e0f [v9_11] improve handling of qcount=0 replies
4717.	[bug]		Treat replies with QCOUNT=0 as truncated if TC=1,
			FORMERR if TC=0, and log the error correctly.
			[RT #45836]

(cherry picked from commit 25b33bede4)
2017-09-12 15:27:06 -07:00
Mark Andrews
1feffc6fdb 4715. [bug] TreeMemMax was mis-identified as a second HeapMemMax
in the Json cache statistics. [RT #45980]

(cherry picked from commit 0a1359034d)
2017-09-12 14:55:40 +10:00
Mark Andrews
22bed621ef 4714. [port] openbsd/libressl: add support for building with
--enable-openssl-hash. [RT #45982]

(cherry picked from commit c75e9c7630)
2017-09-12 14:20:13 +10:00
Mark Andrews
f39894c0b1 update 2017-09-12 12:50:28 +10:00
Evan Hunt
e5f5675b1d [v9_11] dig: retain domain when retrying with tcp
4712.	[bug]		"dig +domain" and "dig +search" didn't retain the
			search domain when retrying with TCP. [RT #45547]

(cherry picked from commit 8e014c45ae)
2017-09-11 10:10:38 -07:00
Evan Hunt
29f0ced781 [v9_11] add missing rrtypes to genzones
4711.	[test]		Some RR types were missing from genzones.sh.
			[RT #45782]

(cherry picked from commit 3e66721b35)
2017-09-11 09:35:03 -07:00
Evan Hunt
8452718133 [v9_11] removed outdated library reference 2017-09-09 11:49:41 -07:00
Evan Hunt
b9fd54f8d4 [v9_11] change hash function for RRL
4709.	[cleanup]	Use dns_name_fullhash() to hash names for RRL.
			[RT #45435]

(cherry picked from commit f13385770e)
2017-09-08 15:46:55 -07:00
Tinderbox User
2f0eac53a9 update copyright notice / whitespace 2017-09-07 23:48:25 +00:00
Tinderbox User
3524df526a newcopyrights 2017-09-07 23:30:41 +00:00
Mark Andrews
fcb5e646e4 4703. [bug] BINDInstall.exe was missing some buffer length checks.
[RT #45898]

(cherry picked from commit 7e40d6274e)
2017-09-07 12:59:22 +10:00
Mark Andrews
7dfd012873 sync option order with master 2017-09-06 15:26:38 +10:00
Mark Andrews
9ecd39b2ca add PYTHON_INSTALL_DIR 2017-09-06 13:24:13 +10:00
Tinderbox User
5f2a1507e0 regen v9_11 2017-09-05 01:20:07 +00:00
Tinderbox User
a450a32be2 update copyright notice / whitespace 2017-09-04 23:47:14 +00:00
Tinderbox User
9b0a4470f9 newcopyrights 2017-09-04 23:30:59 +00:00
Michał Kępień
a22c3cf515 [v9_11] Add --with-python-install-dir configure option
4698.	[port]		Add --with-python-install-dir configure option to allow
			specifying a nonstandard installation directory for
			Python modules. [RT #45407]

(cherry picked from commit a5dc1bc395)
2017-09-04 08:44:40 +02:00
Tinderbox User
772bc9542d update copyright notice / whitespace 2017-09-01 23:46:54 +00:00
Mukund Sivaraman
836601ccc5 Tweak code (reviewed by Mark)
(cherry picked from commit cdabd36dc7)
2017-09-01 12:42:12 +05:30
Mark Andrews
b301c4293c 4697. [bug] Restore workaround for Microsoft Windows TSIG hash
computation bug. [RT #45854]

(cherry picked from commit a8a20462b5)
2017-09-01 11:23:40 +10:00
Mark Andrews
6eb9141841 update 2017-09-01 09:46:48 +10:00
Mark Andrews
5c4e0c7800 4696. [port] Enable filter-aaaa support by default on Windows
builds. [RT #45883]

(cherry picked from commit b4eb8b9656)
2017-08-31 13:38:01 +10:00
Mark Andrews
6e1f755f19 4695. [bug] cookie-secrets were not being properly checked by
named-checkconf. [RT #45886]
(cherry picked from commit 2e743d9bdc)
2017-08-31 13:28:59 +10:00
Mark Andrews
95ed40ff9a sort view_clauses 2017-08-31 08:10:44 +10:00
Mark Andrews
435a7cd229 4692. [bug] Fix build failures with libressl introduced in 4676.
[RT #45879]

(cherry picked from commit c26370fc69)
2017-08-30 18:22:25 +10:00
Tinderbox User
9700e6d72c regen v9_11 2017-08-30 01:21:44 +00:00
Tinderbox User
36d3f6b40f update copyright notice / whitespace 2017-08-29 23:47:49 +00:00
Tinderbox User
e5c7ef08d1 newcopyrights 2017-08-29 23:30:30 +00:00
Michał Kępień
b7a823a402 [v9_11] Ensure consistent handling of -4/-6 command line options in all tools
4690.	[bug]		Command line options -4/-6 were handled inconsistently
			between tools. [RT #45632]

(cherry picked from commit d6814700de)
2017-08-29 10:22:10 +02:00
Mark Andrews
c46c8e5c56 fix changes number
(cherry picked from commit 503223b800)
2017-08-26 13:26:37 +10:00
Evan Hunt
031bc55634 [v9_11] turn on minimal responses for CDS/CDNSKEY
4678.	[cleanup]	Turn on minimal responses for CDNSKEY and CDS in
			addition to DNSKEY and DS. Thanks to Tony Finch.
			[RT #45690]

(cherry picked from commit 391a3a2f20)
2017-08-25 13:32:18 -07:00
Tinderbox User
dfae459e8c regen v9_11 2017-08-25 01:20:31 +00:00
Tinderbox User
4ffac123a0 update copyright notice / whitespace 2017-08-24 23:48:46 +00:00
Tinderbox User
bd49a41f96 newcopyrights 2017-08-24 23:30:31 +00:00
Mark Andrews
a64daf673d 4688. [protocol] Check and display EDNS KEY TAG options (RFC 8145) in
messages. [RT #44804]

(cherry picked from commit 07741d43c8)
2017-08-25 08:47:19 +10:00
Tinderbox User
3b0259a957 regen v9_11 2017-08-22 01:20:35 +00:00
Tinderbox User
6f25333e73 update copyright notice / whitespace 2017-08-21 23:50:38 +00:00
Tinderbox User
b378314925 newcopyrights 2017-08-21 23:30:34 +00:00
Michał Kępień
0aadc6dd7b [v9_11] Prevent dnssec-settime from printing a bogus warning
4686.	[bug]		dnssec-settime -p could print a bogus warning about
			key deletion scheduled before its inactivation when a
			key had an inactivation date set but no deletion date
			set. [RT #45807]

(cherry picked from commit 330365566d)
2017-08-21 10:21:58 +02:00
Michał Kępień
f20ff8b74d [v9_11] Fix calculation of dates for a successor key
4685.	[bug]		dnssec-settime incorrectly calculated publication and
			activation dates for a successor key. [RT #45806]

(cherry picked from commit 5201b96d03)
2017-08-21 10:00:21 +02:00
Michał Kępień
7ff682f3c6 [v9_11] Prevent delv from sending bogus queries for provided server address
4684.	[bug]		delv could send bogus DNS queries when an explicit
			server address was specified on the command line along
			with -4/-6. [RT #45804]

(cherry picked from commit 367fcd7454)
2017-08-21 09:18:54 +02:00
Tinderbox User
e57ec8c501 regen v9_11 2017-08-18 01:20:17 +00:00
Tinderbox User
2dc5db0eb0 update copyright notice / whitespace 2017-08-17 23:47:47 +00:00
Tinderbox User
5e145d3125 newcopyrights 2017-08-17 23:30:56 +00:00
Michał Kępień
e02fa56849 [v9_11] Prevent nsupdate from immediately exiting on invalid user input in interactive mode
4683.	[bug]		Prevent nsupdate from immediately exiting on invalid
			user input in interactive mode. [RT #28194]

(cherry picked from commit 1aa583b5a5)
2017-08-17 08:32:44 +02:00
Mark Andrews
abcea74291 4682. [bug] Don't report errors on records below a DNAME.
[RT #44880]

(cherry picked from commit 615b961e02)
2017-08-17 15:51:22 +10:00
Tinderbox User
f3df966b81 update copyright notice / whitespace 2017-08-15 23:49:26 +00:00
Tinderbox User
4674e9e023 newcopyrights 2017-08-15 23:30:23 +00:00
Mark Andrews
079c9e6939 'uname -o' is not portable, suppress error message; remove spurious cat tmp.out; provide forensics for failure analysis
(cherry picked from commit e85a2c5624)
2017-08-15 18:02:55 +10:00
Tinderbox User
7db794030a regen v9_11 2017-08-15 01:21:22 +00:00
Tinderbox User
296f5969a8 update copyright notice / whitespace 2017-08-14 23:49:57 +00:00
Tinderbox User
b625bdae12 newcopyrights 2017-08-14 23:30:34 +00:00
Mark Andrews
b5fb3f8722 request-nsid/request-sit out of order
(cherry picked from commit bf1ab06a48)
2017-08-14 23:51:56 +10:00
Michał Kępień
d748d8a4af [v9_11] Fix master address failover when GSS-API is used
4680.	[bug]		Fix failing over to another master server address when
			nsupdate is used with GSS-API. [RT #45380]

(cherry picked from commit b55ec74eaa)
2017-08-14 15:00:49 +02:00
Michał Kępień
cbb33c87f4 [v9_11] Make dnssec-verify suggest using -o when appropriate
4679.	[cleanup]	Suggest using -o when dnssec-verify finds a SOA record
			not at top of zone and -o is not used. [RT #45519]

(cherry picked from commit 877c264edc)
2017-08-14 14:02:20 +02:00
Mark Andrews
a6a3a81e36 sort options
(cherry picked from commit 00f067539a)
2017-08-14 21:42:25 +10:00
Mark Andrews
8026cf5768 alphabetize options_clauses
(cherry picked from commit 60fd71ec66)
2017-08-14 07:27:21 +00:00
Mark Andrews
afb3bcade3 tcp-only and tcp-keepalive where out of alphabetical order
(cherry picked from commit 9697129ae2)
2017-08-14 07:02:36 +00:00
Mark Andrews
76e878e109 sit-secret was out of alphabetical order
(cherry picked from commit fa7bacca7d)
2017-08-14 06:50:49 +00:00
Mark Andrews
324b00ad49 4678. [bug] geoip-use-ecs has the wrong type when geoip support
is disabled at configure time. [RT #45763]

(cherry picked from commit cc88df4f01)
2017-08-14 06:18:50 +00:00
Mark Andrews
d91a7418ed use isc_thread_self instead of pthread_self
(cherry picked from commit 5e9d9aa9d0)
2017-08-14 13:54:36 +10:00
Tinderbox User
3d09597bc1 update copyright notice / whitespace 2017-08-11 23:48:33 +00:00
Evan Hunt
4dc6fa1e92 [v9_11] fix CHANGES note 2017-08-10 22:53:19 -07:00
Evan Hunt
2b0060b8ff [v9_11] split up main and add callback function pointers to support iOS
4677.	[port]		Split up the main function in dig to better support
			the iOS app version. [RT #45508]
2017-08-10 22:24:44 -07:00
Tinderbox User
61ceead03b regen v9_11 2017-08-10 01:21:31 +00:00
Mark Andrews
b81b178ab9 4676. [cleanup] Allow BIND to be built using OpenSSL 1.0.X with
deprecated functions removed. [RT #45706]

(cherry picked from commit cbc80a42d3)
2017-08-10 10:17:02 +10:00
Tinderbox User
3523e19da2 update copyright notice / whitespace 2017-08-09 23:49:39 +00:00
Tinderbox User
33b0d10552 newcopyrights 2017-08-09 23:30:33 +00:00
Mark Andrews
bf216589c1 4675. [cleanup] Don't use C++ keyword class. [RT #45726] 2017-08-10 08:44:23 +10:00
Evan Hunt
5007b353e4 [v9_11] grammar error and missing reference to filter-aaaa-on-v6
(cherry picked from commit b2a5df8d4b)
2017-08-09 15:05:36 -07:00
Evan Hunt
7dbeb5e7f0 [v9_11] silence gcc 7 warnings
4673.	[port]		Silence GCC 7 warnings. [RT #45592]

(cherry picked from commit cdacec1dcb)
2017-08-09 00:24:16 -07:00
Mark Andrews
93049edb81 add comment 2017-08-09 10:48:33 +05:30
Evan Hunt
72f91848ef style 2017-08-09 10:48:29 +05:30
Tinderbox User
36babd3e63 update copyright notice / whitespace 2017-08-09 01:01:24 +00:00
Tinderbox User
c4a3562395 newcopyrights 2017-08-09 00:38:03 +00:00
Mark Andrews
a5f6549534 style changes from [RT #45321]
(cherry picked from commit bcb2df226f)
2017-08-09 07:49:38 +10:00
Mark Andrews
c80cbf4eed remove placeholder 2017-08-09 07:36:36 +10:00
Mukund Sivaraman
8ecd1dc557 Fix tsig_test.c unittest (OK'd by Mark on Jabber)
(cherry picked from commit f2b6eef899)
2017-08-08 21:56:25 +05:30
Mukund Sivaraman
b5dc708403 Add placeholder
(cherry picked from commit a6ed0b587b)
2017-08-08 20:49:05 +05:30
Mukund Sivaraman
6e10f87913 Fix a race in resume_dslookup() (#45168)
(cherry picked from commit c88efb83b3)
2017-08-08 13:11:11 +05:30
Evan Hunt
37f6466aa3 [v9_11] ensure verified_sig
4670.	[cleanup]	Ensure that a request MAC is never sent back
			in an XFR response unless the signature was
                        verified. [RT #45494]

(cherry picked from commit 0ad72b96d2)
2017-08-07 18:54:54 -07:00
Evan Hunt
5832599943 [v9_11] add missing eddsa files 2017-08-07 14:23:01 -07:00
Tinderbox User
95098d55d2 regen v9_11 2017-08-04 01:15:29 +00:00
Curtis Blackburn
93f0e3d747 fix pthread_np.h detection
[rt45680]
2017-08-03 18:04:44 -07:00
Tinderbox User
81baaebbc7 update copyright notice / whitespace 2017-08-02 23:57:18 +00:00
Tinderbox User
5835beb229 newcopyrights 2017-08-02 23:48:54 +00:00
Mark Andrews
4162d3b36d 4668. [bug] Use localtime_r and gmtime_r for thread safety.
[RT #45664]

(cherry picked from commit 2019cf29e2)
2017-08-03 08:45:37 +10:00
Mark Andrews
3925b3c74b remove bin/tests/rdata_test.c 2017-08-02 12:43:33 +10:00
Tinderbox User
46bb3884a0 regen v9_11 2017-08-02 01:17:06 +00:00
Tinderbox User
bc6f4c1c4c update copyright notice / whitespace 2017-08-01 23:47:30 +00:00
Tinderbox User
97f57cf534 newcopyrights 2017-08-01 23:30:58 +00:00
Michał Kępień
ce6f0c1221 [v9_11] Refactor RDATA unit tests
4667.	[cleanup]	Refactor RDATA unit tests. [RT #45610]

(cherry picked from commit 712825d755)
2017-08-01 12:16:14 +02:00
Mark Andrews
baeaed1834 copyrights 2017-08-01 12:26:10 +10:00
Mukund Sivaraman
be2de707ec Add missing file 2017-08-01 07:48:09 +05:30
Mark Andrews
2c4c405aeb handle .key and .private files
(cherry picked from commit 3c4dffefe8)
2017-08-01 12:09:57 +10:00
Tinderbox User
bfb7b680bf regen v9_11 2017-08-01 01:16:08 +00:00
Tinderbox User
15f02725a8 sync 2017-08-01 01:09:50 +00:00
Evan Hunt
f72f587942 [v9_11] parse numeric domain names correctly
4666.	[bug]		dnssec-keymgr: Domain names beginning with digits (0-9)
			could cause a parser error when reading the policy
			file. This now works correctly so long as the domain
			name is quoted. [RT #45641]
2017-07-31 10:44:26 -07:00
Evan Hunt
1073e2001c [v9_11] revise CHANGES note and add release note 2017-07-31 10:36:00 -07:00
Francis Dupont
78608b0a45 Added Ed25519 support (#44696) 2017-07-31 15:45:32 +02:00
Tinderbox User
d95b19f839 regen v9_11 2017-07-29 01:18:02 +00:00
Tinderbox User
66e599a004 update copyright notice / whitespace 2017-07-28 23:47:00 +00:00
Tinderbox User
ebe53509ca newcopyrights 2017-07-28 23:30:58 +00:00
Evan Hunt
d1c18780d3 [v9_11] remove unnecessary acronym expansions 2017-07-28 12:23:40 -07:00
Michał Kępień
11c4e6d8fc [v9_11] Clarify error message printed by dnssec-dsfromkey
4663.	[cleanup]	Clarify error message printed by dnssec-dsfromkey.
			[RT #21731]

(cherry picked from commit c150f68609)
2017-07-28 10:29:54 +02:00
Evan Hunt
59122481b2 [v9_11] Maintain ZEROTTL cache entries at the tail of the LRU lists
4662.	[performance]	Improve cache memory cleanup of zero TTL records
			by putting them at the tail of LRU header lists.
			[RT #45274]

(cherry picked from commit e924155211)
2017-07-28 00:13:37 -07:00
Evan Hunt
fe6d2fd833 [v9_11] race condition when reloading while resigning
4661.	[bug]		A race condition could occur if a zone was reloaded
			while resigning, triggering a crash in
			rbtdb.c:closeversion(). [RT #45276]

(cherry picked from commit 036305f00d)
2017-07-28 00:02:47 -07:00
Mark Andrews
05a456499a 4660. [bug] Remove spurious "peer" from Windows socket log
messages. [RT #45617]

(cherry picked from commit 5140501a0b)
2017-07-28 16:07:12 +10:00
Mark Andrews
cb4e0ef4e2 4659. [bug] Remove spurious log message about lmdb-mapsize
not being supported when parsing builtin
                        configuration file. [RT #45618]

(cherry picked from commit 71cd6910ba)
2017-07-28 16:03:24 +10:00
Mark Andrews
9f5909ed8c add semicolon 2017-07-28 15:59:14 +10:00
Mark Andrews
e3efc855f9 4658. [bug] Clean up build directory created by "setup.py install"
immediately.  [RT #45628]

(cherry picked from commit e54f256bb4)
2017-07-28 15:57:00 +10:00
Tinderbox User
fc42a7d4d9 update copyright notice / whitespace 2017-07-27 23:52:09 +00:00
Tinderbox User
ab0417b81b newcopyrights 2017-07-27 23:40:11 +00:00
Evan Hunt
709ea21068 [v9_11] fix typo in BADCDS
(cherry picked from commit 7ff9d3a962)
2017-07-27 15:42:12 -07:00
Tinderbox User
dd050664bb update copyright notice / whitespace 2017-07-26 23:47:23 +00:00
Tinderbox User
8f977d4d64 newcopyrights 2017-07-26 23:31:07 +00:00
Michał Kępień
e56c085458 [v9_11] Properly handle errors in rrchecker system test
4657.	[bug]		rrchecker system test result could be improperly
			determined. [RT #45602]

(cherry picked from commit 984a28c771)
2017-07-26 10:41:07 +02:00
Evan Hunt
6e9b764f99 [v9_11] add print.h 2017-07-26 01:24:31 -07:00
Michał Kępień
6727802528 [v9_11] Process "port" and "dscp" for "default-masters"
4656.	[bug]		Apply "port" and "dscp" values specified in catalog
			zone's "default-masters" option to the generated
			configuration of its member zones. [RT #45545]

(cherry picked from commit 383240d572)
2017-07-26 09:29:38 +02:00
Mark Andrews
3d0f9f8cca fix RT number
(cherry picked from commit cdc5e0cea0)
2017-07-26 16:40:38 +10:00
Mark Andrews
72b322cde0 9.11.2 2017-07-24 17:26:26 +10:00
Mark Andrews
4d41be5f9e 4655. [bug] Lack of seccomp could be falsely reported. [RT #45599]
(cherry picked from commit 4f4b94a042)
2017-07-23 07:14:35 +10:00
Tinderbox User
6fb9b25791 update copyright notice / whitespace 2017-07-21 23:46:43 +00:00
Tinderbox User
51aeb0ae19 newcopyrights 2017-07-21 23:30:39 +00:00
Mark Andrews
bfde61d519 4654. [cleanup] Don't use C++ keywords delete, new and namespace.
[RT #45538]

(cherry picked from commit 4bf32aa587)
2017-07-21 12:28:58 +10:00
Tinderbox User
2cda87d34f update copyright notice / whitespace 2017-07-20 23:45:50 +00:00
Tinderbox User
3ccf87473f newcopyrights 2017-07-20 23:30:16 +00:00
Mark Andrews
28ea558bc8 9.11.2rc2 2017-07-20 13:12:16 +10:00
Mark Andrews
8ed6c49f1a 4653. [bug] Reorder includes to move @DST_OPENSSL_INC@ and
@ISC_OPENSSL_INC@ after shipped include directories.
                        [RT #45581]

(cherry picked from commit 124712666e)
2017-07-20 11:52:29 +10:00
Tinderbox User
ab8823e535 update copyright notice / whitespace 2017-07-19 23:45:44 +00:00
Mark Andrews
447dfe4f11 4653. [bug] Reorder includes in bin/nsupdate/Makefile.in.
[RT #45581]

(cherry picked from commit a5a4cf96c6)
2017-07-20 09:38:01 +10:00
Tinderbox User
4b14dedee8 newcopyrights 2017-07-19 23:30:21 +00:00
Mark Andrews
42ae02626d correct for missing placeholder 2017-07-19 16:14:21 +10:00
Mark Andrews
8e8ccd0139 use 'test "constant" <condition> "$variable"' [RT #45486]
(cherry picked from commit aed501fb88)
2017-07-19 15:53:34 +10:00
Mark Andrews
a60831febf 4651. [bug] Nsupdate could attempt to use a zeroed address on
server timeout. [RT #45417]

(cherry picked from commit dac36869f3)
2017-07-19 15:36:55 +10:00
Mark Andrews
6b56350522 4651. [bug] Nsupdate could attempt to use a zeroed address on
server timeout. [RT #45417]

(cherry picked from commit 38edf586f9)
2017-07-19 15:36:55 +10:00
Mark Andrews
41caed6e2d 4650. [test] Silence coverity warnings in tsig_test.c. [RT #45528]
(cherry picked from commit c0ac259940)
2017-07-19 14:35:51 +10:00
Mark Andrews
1a9d96524f silence coverity warnings in tsig_test.c. [RT #45528]
(cherry picked from commit 469ba6daffe6dcc5bd4a77c333c939de1ddb2263)
2017-07-19 14:31:43 +10:00
Tinderbox User
a9ea295696 regenerate 2017-07-16 22:28:27 +00:00
Tinderbox User
0b89eee616 regen v9_11 2017-07-16 21:23:32 +00:00
Evan Hunt
f2720d2436 [v9_11] update api ranges 2017-07-16 13:57:09 -07:00
Evan Hunt
565535d182 [v9_11] prep 9.11.2 2017-07-16 13:44:23 -07:00
Tinderbox User
363b21045b regen v9_11 2017-07-16 01:14:20 +00:00
Evan Hunt
d4098be27b [v9_11] update relnotes to mention termination of windows XP support 2017-07-15 13:56:54 -07:00
Tinderbox User
8c72455146 regen v9_11 2017-07-15 01:18:18 +00:00
Evan Hunt
3ba9f5804c [v9_11] add a release note for TSIG regression 2017-07-14 14:52:29 -07:00
Tinderbox User
c48fdfda7a regen v9_11 2017-07-11 03:49:36 +00:00
Mark Andrews
e55c767c89 note change in AD setting on some truncated answers
(cherry picked from commit 56d8312a48)
2017-07-11 13:29:33 +10:00
Mark Andrews
66afb7c86a add note about .local
(cherry picked from commit 9987992232)
2017-07-11 12:45:02 +10:00
Tinderbox User
c956167155 regen v9_11 2017-07-10 07:35:15 +00:00
Tinderbox User
38a5df33f4 regen v9_11 2017-07-10 06:24:26 +00:00
Mark Andrews
6045abbc9a update for 9.11.2rc1 2017-07-10 15:19:34 +10:00
Mark Andrews
f7d148398c 4649. [bug] The wrong zone was logged when a catalog zone is added.
[RT #45520]

(cherry picked from commit abe5cf42b3)
2017-07-10 10:37:25 +10:00
Tinderbox User
4ef21d0f93 update copyright notice / whitespace 2017-07-09 23:46:10 +00:00
Tinderbox User
c3bf582eed newcopyrights 2017-07-09 23:30:17 +00:00
Mark Andrews
3a84275b10 4648. [bug] "rndc reconfig" on a slave no longer causes all member
zones of configured catalog zones to be removed from
                        configuration. [RT #45310]

(cherry picked from commit 1e9b39fe26)
2017-07-10 09:07:29 +10:00
Tinderbox User
e466abceb5 regen v9_11 2017-07-08 01:23:42 +00:00
Tinderbox User
951e10294c update copyright notice / whitespace 2017-07-07 23:46:16 +00:00
Tinderbox User
048b775e5c newcopyrights 2017-07-07 23:30:21 +00:00
Mark Andrews
bf97ea8fb4 add #include <isc/print.h>
(cherry picked from commit 00a235c8e6)
2017-07-08 00:48:16 +10:00
Mark Andrews
398834f755 4647. [bug] Change 4643 broke verification of TSIG signed TCP
message sequences where not all the messages contain
                        TSIG records.  These may be used in AXFR and IXFR
                        responses.  [RT #45509]
2017-07-07 23:43:20 +10:00
Mukund Sivaraman
5eceaccb00 Fix typo in configure output
(cherry picked from commit 5f88472fd1)
2017-07-07 17:33:23 +05:30
Ray Bellis
0359dfcf63 fixed new warning with previous iOS patch
(cherry picked from commit 70676a01eb)
2017-07-04 12:12:41 +01:00
Ray Bellis
4f1073e7b2 fix warnings from iOS build of dig
(cherry picked from commit 03a4e4381e)
2017-07-04 11:54:54 +01:00
Mark Andrews
250d96dd31 loop waiting for ns4/managed-keys.bind to be written
(cherry picked from commit f7a22ae512)
2017-07-04 15:53:45 +10:00
Tinderbox User
02e1a5b3ae update copyright notice / whitespace 2017-06-30 23:46:05 +00:00
Tinderbox User
2128e98a14 newcopyrights 2017-06-30 23:30:17 +00:00
Evan Hunt
28061f80b6 [v9_11] fix RSA parsing when md5 disabled
4645.	[bug]		Fix PKCS#11 RSA parsing when MD5 is disabled.
			[RT #45300]

(cherry picked from commit b05b3fab3c)
2017-06-29 15:54:35 -07:00
Tinderbox User
35255451d4 regen v9_11 2017-06-29 00:33:13 +00:00
Evan Hunt
68bdc7fbc4 [v9_11] complete change #4643 2017-06-28 09:11:59 -07:00
Tinderbox User
550d3276d0 regen v9_11 2017-06-28 01:17:23 +00:00
Tinderbox User
710a238dfe update copyright notice / whitespace 2017-06-27 23:46:13 +00:00
Tinderbox User
384e37a497 newcopyrights 2017-06-27 23:30:15 +00:00
Evan Hunt
52f38b35e7 [v9_11] fix API ranges (170-179 was used for two branches) 2017-06-27 12:21:30 -07:00
Evan Hunt
a03f4b1ea4 [v9_11] address TSIG bypass/forgery vulnerabilities
4643.	[security]	An error in TSIG handling could permit unauthorized
			zone transfers or zone updates. (CVE-2017-3142)
			(CVE-2017-3143) [RT #45383]

(cherry picked from commit 581c1526ab)
2017-06-27 11:39:33 -07:00
Evan Hunt
d315545e6d [v9_11] enhanced rfc 5011 logging
4642.	[cleanup]	Add more logging of RFC 5011 events affecting the
			status of managed keys: newly observed keys,
			deletion of revoked keys, etc. [RT #45354]

(cherry picked from commit 0d90835d2a)
2017-06-27 10:50:29 -07:00
Tinderbox User
ba9e87b35e newcopyrights 2017-06-26 23:30:18 +00:00
Mark Andrews
f8ceab59ea add EXCLUDED 2017-06-26 15:45:55 +10:00
Tinderbox User
8008316c9f regen v9_11 2017-06-26 03:15:58 +00:00
Mark Andrews
613fa3ce9d copyrights 2017-06-26 12:15:40 +10:00
Mark Andrews
ccf9f42c76 copyrights 2017-06-26 12:14:02 +10:00
Mark Andrews
a7af229766 bump api values for 9.11.2b1 as required 2017-06-26 12:09:43 +10:00
Mark Andrews
15471a63a2 'name' should be on isc_thread_setname argument not isc_thread_create 2017-06-26 12:05:35 +10:00
Mark Andrews
a785bf2c39 add release marker 9.11.2b1 2017-06-26 11:48:13 +10:00
Mark Andrews
00f1312935 4641. [cleanup] Parallel builds (make -j) could fail with --with-atf /
--enable-developer. [RT #45373]

(cherry picked from commit 1be7580be7)
2017-06-26 10:01:52 +10:00
Mark Andrews
b2e7185306 4640. [bug] If query_findversion failed in query_getdb due to
memory failure the error status was incorrectly
                        discarded. [RT #45331]

(cherry picked from commit b551ee14bd)
2017-06-23 17:18:23 +10:00
Michał Kępień
42c1acfa47 4639. [bug] Fix a regression in --with-tuning reporting introduced
by change 4488. [RT #45396]
2017-06-23 08:18:20 +02:00
Tinderbox User
236a983ca3 update copyright notice / whitespace 2017-06-20 23:45:53 +00:00
Tinderbox User
0c71e48c9c newcopyrights 2017-06-20 23:30:15 +00:00
Mark Andrews
0d2c3b6048 fix attribute name in DNS_NAME_INITABSOLUTE [RT #45409]
(cherry picked from commit da0df9367d)
2017-06-20 12:39:27 +10:00
Tinderbox User
421ba11f3f regen v9_11 2017-06-14 01:15:32 +00:00
Tinderbox User
6431922cb2 update copyright notice / whitespace 2017-06-13 23:46:02 +00:00
Tinderbox User
076e51f1ff newcopyrights 2017-06-13 23:30:24 +00:00
Evan Hunt
503809a8e1 [v9_11] put in a missing #ifdef section
(cherry picked from commit 19a72397da)
2017-06-13 14:51:09 -07:00
Evan Hunt
214b53880b [v9_11] prevent reload failure due to LMDB database perms
4638.	[bug]		Reloading or reconfiguring named could fail on
			some platforms when LMDB was in use. [RT #45203]

(cherry picked from commit bf05e66bb3)
2017-06-13 12:01:29 -07:00
Mark Andrews
dd5375de0a 4636. [bug] Normalize rpz policy zone names when checking for
existence. [RT #45358]

(cherry picked from commit e85e95c19e)
2017-06-13 13:07:23 +10:00
Mukund Sivaraman
3a58e1fefb Don't log NSDNAME failures as NSIP (#45052)
(cherry picked from commit 2c11da8441)
2017-06-12 14:11:32 +05:30
Tinderbox User
55affca0c4 newcopyrights 2017-06-11 23:30:13 +00:00
Mark Andrews
7c67b8c2b0 4634. [contrib] check5011.pl needs to handle optional space before
semi-colon in +multi-line output. [RT #45352]

(cherry picked from commit ed2659c974)
2017-06-11 22:05:13 +10:00
Tinderbox User
fa0173af87 update copyright notice / whitespace 2017-06-02 23:45:40 +00:00
Tinderbox User
83a7197872 newcopyrights 2017-06-02 23:30:11 +00:00
Mark Andrews
5aed5dc329 4633. [maint] Updated AAAA (2001:500:200::b) for B.ROOT-SERVERS.NET.
(cherry picked from commit 9c179a5607)
2017-06-02 11:48:54 +10:00
Mark Andrews
387f5e872d fix changes numbers
(cherry picked from commit 5e1cedb130)
2017-05-31 11:50:41 +10:00
Tinderbox User
51da15c886 regen v9_11 2017-05-31 01:15:21 +00:00
Tinderbox User
8664a1bd40 update copyright notice / whitespace 2017-05-30 23:46:05 +00:00
Tinderbox User
80eaeb6c6f newcopyrights 2017-05-30 23:30:12 +00:00
Evan Hunt
c28e44f3f8 [v9_11] quote service registry paths
4532.	[security]	The BIND installer on Windows used an unquoted
                        service path, which can enable privilege escalation.
			(CVE-2017-3141) [RT #45229]

(cherry picked from commit 967a3b9419)
2017-05-30 13:38:22 -07:00
Evan Hunt
3440cf9c60 [v9_11] fix rpz formerr loop
4531.	[security]	Some RPZ configurations could go into an infinite
			query loop when encountering responses with TTL=0.
			(CVE-2017-3140) [RT #45181]
2017-05-30 12:35:06 -07:00
Mark Andrews
9270a14461 4530. [bug] "dyndb" is dependent on dlopen existing / being
enabled. [RT #45291]

(cherry picked from commit aa3a8979bc)
2017-05-30 11:35:05 +10:00
Mark Andrews
541ce84ff2 4530. [bug] "dyndb" is dependent on dlopen existing / being
enabled. [RT #45291]

(cherry picked from commit ae903759c2)
2017-05-30 11:32:06 +10:00
Mark Andrews
032d2134a4 4629. [bug] dns_client_startupdate could not be called with a
running client. [RT #45277]

(cherry picked from commit e51d62ecae)
2017-05-30 09:52:45 +10:00
Tinderbox User
29656aa09c update copyright notice / whitespace 2017-05-28 23:46:19 +00:00
Tinderbox User
127d2b350e newcopyrights 2017-05-28 23:30:14 +00:00
Evan Hunt
fb9ef31fed [v9_11] Add DLZ db version to activeversions
4628.	[bug]		Fixed a potential reference leak in query_getdb().
			[RT #45247]

(cherry picked from commit 594eadcc34)
2017-05-28 14:29:58 -07:00
Evan Hunt
ab44851860 [v9_11] Use 127.0.0.1 as interface for rndc in logfileconfig test 2017-05-28 14:23:32 -07:00
Mark Andrews
62323c1ba2 test crypto support
(cherry picked from commit 0a78894304)
2017-05-26 16:04:18 +10:00
Tinderbox User
2c893f16d8 update copyright notice / whitespace 2017-05-24 23:45:56 +00:00
Tinderbox User
efdfbc256c newcopyrights 2017-05-24 23:30:13 +00:00
Mark Andrews
5228a39457 make chain system test work with python 3
(cherry picked from commit b9c5b37e0c)
2017-05-24 21:45:16 +10:00
Mark Andrews
6f1632aedf use 'python -u' to run python scripts
(cherry picked from commit a5dc0d5066)
2017-05-24 15:16:41 +10:00
Evan Hunt
d786bb0f8b [v9_11] copyrights 2017-05-23 16:44:42 -07:00
Evan Hunt
823ccd1f02 [v9_11] add chain ordering tests
4626.	[test]		Added more tests for handling of different record
			ordering in CNAME and DNAME responses. [QA #430]
2017-05-22 17:09:31 -07:00
Tinderbox User
c15e906adf update copyright notice / whitespace 2017-05-21 23:46:06 +00:00
Tinderbox User
39c56dd2b8 newcopyrights 2017-05-21 23:30:12 +00:00
Evan Hunt
adedbbbcfb [v9_11] corrected a possible crash in isc_test_end()
(cherry picked from commit 9e44639ae0)
2017-05-21 15:44:28 -07:00
Tinderbox User
f00c53aafe regen v9_11 2017-05-19 01:17:52 +00:00
Evan Hunt
0725e28e47 [v9_11] remove outdated reference to libbind
(cherry picked from commit ef9ab10ce0)
2017-05-18 15:35:30 -07:00
Tinderbox User
abe69df9a7 regen v9_11 2017-05-17 01:17:01 +00:00
Tinderbox User
4745777284 update copyright notice / whitespace 2017-05-16 23:45:57 +00:00
Tinderbox User
4cd01ec68f newcopyrights 2017-05-16 23:30:09 +00:00
Evan Hunt
403e7b4512 [v9_11] symbolic option names for dig +ednsopt
4555.	[func]		dig +ednsopt: EDNS options can now be specified by
			name in addition to numeric value. [RT #44461]

(cherry picked from commit 25a9b90369)
2017-05-16 10:08:17 -07:00
Evan Hunt
b6fa637fc8 [v9_11] don't keep an LMDB transaction open across an exclusive section
4625.	[bug]		Running "rndc addzone" and "rndc delzone" at close
			to the same time could trigger a deadlock if using
			LMDB. [RT #45209]

(cherry picked from commit 03a7a952c0)
2017-05-16 08:48:21 -07:00
Tinderbox User
74e2f78492 update copyright notice / whitespace 2017-05-11 23:46:03 +00:00
Tinderbox User
1ddabe157c newcopyrights 2017-05-11 23:30:13 +00:00
Mark Andrews
ace5680c12 4623. [bug] Use --with-protobuf-c and --with-libfstrm to find
protoc-c and fstrm_capture. [RT #45187]

(cherry picked from commit 366cff85a9)
2017-05-11 18:30:41 +10:00
Tinderbox User
99b30e26a6 regen v9_11 2017-05-11 01:17:38 +00:00
Mark Andrews
613cdc91fe add warning about semicolon no longer being escaped
(cherry picked from commit d4d73bca79)
2017-05-11 11:03:06 +10:00
Mark Andrews
59d940391c 4622. [bug] Remove unnecessary escaping of semicolon in CAA and
URI records. [RT #45216]

(cherry picked from commit 1611ceb8b2)
2017-05-11 10:58:03 +10:00
Tinderbox User
9a006fe9a0 update copyright notice / whitespace 2017-05-10 23:45:58 +00:00
Tinderbox User
f549a65f4c newcopyrights 2017-05-10 23:30:13 +00:00
Mark Andrews
6b432e1149 4621. [port] Force alignment of oid arrays to silence loader
warnings. [RT #45131]

(cherry picked from commit 2fb1a0bdef)
2017-05-11 09:25:00 +10:00
Mark Andrews
cb9345c996 4620. [port] Handle EPFNOSUPPORT being returned when probing
to see if a socket type is supported. [RT #45214]

(cherry picked from commit d352a9db95)
2017-05-11 07:58:44 +10:00
Mark Andrews
c935952ede 4619. [bug] Call isc_mem_put instead of isc_mem_free in
bin/named/server.c:setup_newzones. [RT #45202]

(cherry picked from commit 0c18eb4783)
2017-05-10 11:11:09 +10:00
Mark Andrews
9604a49da0 4618. [bug] Check isc_mem_strdup results in dns_view_setnewzones.
Add logging for lmdb call failures. [RT #45204]

(cherry picked from commit d242bf393c)
2017-05-10 10:51:48 +10:00
Mark Andrews
638068f7e7 be consistent with master 2017-05-09 11:27:07 +10:00
Tinderbox User
4cf9718549 update copyright notice / whitespace 2017-05-08 23:46:00 +00:00
Tinderbox User
9ff905d267 newcopyrights 2017-05-08 23:30:10 +00:00
Mark Andrews
da5b569ddb 4617. [test] Update rndc system test to be more delay tolerant.
[RT #45177]

(cherry picked from commit 31f4fb98e2)
2017-05-09 04:10:49 +10:00
Tinderbox User
3b15473ced regen v9_11 2017-05-05 01:15:31 +00:00
Tinderbox User
14f4347139 update copyright notice / whitespace 2017-05-04 23:46:00 +00:00
Tinderbox User
662620c15c newcopyrights 2017-05-04 23:30:08 +00:00
Evan Hunt
c83a306155 [v9_11] fix lmdb delzone
4616.	[bug]		When using LMDB, zones deleted using "rndc delzone"
			were not correctly removed from the new-zone
			database. [RT #45185]

(cherry picked from commit 3a554a444c)
2017-05-04 12:32:47 -07:00
Francis Dupont
75713d8c37 Added lmdb in WIN32 Configure (as not supported) 2017-05-03 14:09:56 +02:00
Tinderbox User
c88b4680d9 update copyright notice / whitespace 2017-05-02 23:46:05 +00:00
Tinderbox User
632a81d453 newcopyrights 2017-05-02 23:30:14 +00:00
Mark Andrews
ac9072210c 4615. [bug] AD could be set on truncated answer with no records
present in the answer and authority sections.
                        [RT #45140]

(cherry picked from commit 33e94f501f)
2017-05-03 07:52:02 +10:00
Mark Andrews
0b18154e45 remove unused assignments [RT #45147]
(cherry picked from commit 78551a3f2c)
2017-05-03 07:46:21 +10:00
Evan Hunt
512765ba1e [v9_11] error in sockaddr unit test
4614.	[test]		Fixed an error in the sockaddr unit test. [RT #45146]

(cherry picked from commit d73c32c17f)
2017-05-02 13:41:12 -07:00
Tinderbox User
a24c7e850d update copyright notice / whitespace 2017-05-01 23:46:02 +00:00
Tinderbox User
35eb1a5f07 newcopyrights 2017-05-01 23:30:22 +00:00
Mark Andrews
27a262bc4d 4612. [bug] Silence 'may be use uninitalised' warning and simplify
the code in lwres/getaddinfo:process_answer.
                        [RT #45158]

(cherry picked from commit b09eb48f8a)
2017-05-02 09:24:13 +10:00
Evan Hunt
6cb8389877 [v9_11] add util.h
(cherry picked from commit 532a001001)
2017-05-01 13:28:53 -07:00
Mark Andrews
9b84e4edd6 complete comment marker change
(cherry picked from commit c8abbc4312)
2017-04-30 20:55:31 +10:00
Tinderbox User
43d2e7a905 update copyright notice / whitespace 2017-04-28 23:45:57 +00:00
Tinderbox User
adeafa4320 newcopyrights 2017-04-28 23:30:12 +00:00
Evan Hunt
59663800d2 [v9_11] change markdown comment style for pandoc 2017-04-27 23:44:00 -07:00
Tinderbox User
d079dc1d27 regen v9_11 2017-04-28 01:16:08 +00:00
Mark Andrews
9df7c100a7 silence 'may be used uninitialized' warning. [RT #45139]
(cherry picked from commit d1554926d0)
2017-04-28 11:02:10 +10:00
Tinderbox User
e5f454626c update copyright notice / whitespace 2017-04-27 23:45:57 +00:00
Mark Andrews
3a015a84bc add mark_stale_header define 2017-04-27 13:02:42 +10:00
Mark Andrews
790345ffa3 add rbtdb_zero_header define 2017-04-27 12:49:55 +10:00
Tinderbox User
32098293b7 regen v9_11 2017-04-27 00:50:42 +00:00
Mark Andrews
91ccb395a9 silence unused-parameter warning
(cherry picked from commit cc3ebbfd91)
2017-04-27 09:50:36 +10:00
Tinderbox User
af0d9b7705 update copyright notice / whitespace 2017-04-26 23:46:00 +00:00
Tinderbox User
5b3dd19d81 newcopyrights 2017-04-26 23:30:36 +00:00
Tinderbox User
0fc4b96b2b regen v9_11 2017-04-26 23:29:27 +00:00
Evan Hunt
f7d2161e55 [v9_11] fix building of markdown output on docs 2017-04-26 16:20:23 -07:00
Mukund Sivaraman
3b38e4b834 Set a LMDB mapsize and also provide a config option to control it (#44954)
(cherry picked from commit 241b49e611)
2017-04-26 23:55:27 +05:30
Tinderbox User
b5f1f8f06e regen v9_11 2017-04-26 01:10:34 +00:00
Tinderbox User
40f40073d3 update copyright notice / whitespace 2017-04-25 23:45:59 +00:00
Tinderbox User
b06265857b regen v9_11 2017-04-25 01:10:35 +00:00
Tinderbox User
5d52a1fe1b update copyright notice / whitespace 2017-04-24 23:46:02 +00:00
Tinderbox User
20648865f1 newcopyrights 2017-04-24 23:30:15 +00:00
Evan Hunt
0d24df5c0b [v9_11] allow parallel make
4609.	[cleanup]	Rearrange makefiles to enable parallel execution
			(i.e. "make -j"). [RT #45078]
2017-04-23 23:04:34 -07:00
Mark Andrews
7c1c9b4dcd 4608. [func] DiG now warns about .local queries which are reserved
for Multicast DNS. [RT #44783]

(cherry picked from commit 7ef453bf43)
2017-04-24 11:57:23 +10:00
Mark Andrews
9689922a0d 4606. [port] Stop using experimental "Experimental keys on scalar"
feature of perl as it has been removed. [RT #45012]

(cherry picked from commit a14562e120)
2017-04-24 11:18:11 +10:00
Tinderbox User
9b9b0d5962 regen v9_11 2017-04-24 01:10:30 +00:00
Evan Hunt
1ca2cf0243 [v9_11] update copyrights that had been missed recently 2017-04-23 17:07:59 -07:00
Evan Hunt
8d59536d7c [v9_11] recent_changes script could terminate too early
(cherry picked from commit 58502352f2)
2017-04-23 17:06:46 -07:00
Mark Andrews
1f9754245c update 2017-04-24 09:43:08 +10:00
Tinderbox User
164ade1482 regen v9_11 2017-04-23 01:10:00 +00:00
Mukund Sivaraman
5fb7dd046e Add missing types for non-threaded build
(cherry picked from commit b1568eeedc)
2017-04-22 19:59:59 +05:30
Evan Hunt
02989eceef [v9_11] openssl backward compatibility fix
4604.	[bug]		Don't use ERR_load_crypto_strings() when building
			with OpenSSL 1.1.0. [RT #45117]

(cherry picked from commit 4c31eda5e1)
2017-04-21 18:56:28 -07:00
Evan Hunt
0532602218 [v9_11] fix portability issue
(cherry picked from commit 8ee6a6afd8)
2017-04-21 18:16:16 -07:00
Tinderbox User
d0c3b241e5 update copyright notice / whitespace 2017-04-21 23:46:11 +00:00
Evan Hunt
34f649fa22 [v9_11] auto-generate named.conf.docbook
4603.	[doc]		Automatically generate named.conf(5) man page
			from doc/misc/options. Thanks to Tony Finch.
			[RT #43525]
2017-04-21 16:30:51 -07:00
Evan Hunt
8b9c4592ed [v9_11] give threads unique names to assist debugging
4602.	[func]		Threads are now set to human-readable
			names to assist debugging, when supported by
			the OS. [RT #43234]

(cherry picked from commit d26ae7fc08)
2017-04-21 14:00:15 -07:00
Evan Hunt
c03cca4629 [v9_11] clear out relnotes 2017-04-21 13:37:32 -07:00
Evan Hunt
32ceffe2d8 [v9_11] typo in rndc doc
(cherry picked from commit b9e736f4f6)
2017-04-21 13:16:51 -07:00
Mukund Sivaraman
264e17e739 Reject incorrect RSA key lengths during key generation and and sign/verify context creation (#45043)
(cherry picked from commit 239e9dc81c)
2017-04-21 19:04:50 +05:30
Mukund Sivaraman
9a8b2b3ab3 Adjust RPZ trigger counts only when the entry being deleted exists (#43386)
(cherry picked from commit f23c10f925)
2017-04-21 17:13:45 +05:30
Mukund Sivaraman
eeb16584fb Fix inconsistencies in inline signing time comparisons (#42112)
(cherry picked from commit 4176d278e2)
2017-04-21 16:44:51 +05:30
Mukund Sivaraman
9540b42695 Ignore SHA-1 DS digest type when SHA-384 DS digest type is present (#45017)
(cherry picked from commit 5d01eab088)
2017-04-21 16:20:57 +05:30
Mukund Sivaraman
fec9247b8f Validate glue before adding it to the additional section (#45062)
(cherry picked from commit b0dbcba2d2)
2017-04-21 15:46:07 +05:30
Evan Hunt
0d7548ee34 [v9_11] update README, remove FAQ
4593.	[doc]		Update README using markdown, remove outdated FAQ
			file in favor of the knowledge base.
2017-04-20 19:30:41 -07:00
Tinderbox User
c32570b319 regen v9_11 2017-04-21 01:09:10 +00:00
Evan Hunt
2883bbaef3 [v9_11] fix change number 2017-04-20 17:43:25 -07:00
Evan Hunt
527163f0e5 [v9_11] fix dispatch.c shutdown race
4952.	[bug]		A race condition on shutdown could trigger an
			assertion failure in dispatch.c. [RT #43822]

(cherry picked from commit 019132b70c)
2017-04-20 17:41:58 -07:00
Evan Hunt
62a6147e51 [v9_11] python 3 compatibility
4591.	[port]		Addressed some python 3 compatibility issues.
			Thanks to Ville Skytta. [RT #44955] [RT #44956]

(cherry picked from commit 6d19d975c6)
2017-04-20 17:30:58 -07:00
Mark Andrews
4c432aae90 4590. [bug] Support for PTHREAD_MUTEX_ADAPTIVE_NP was not being
properly detected. [RT #44871]

(cherry picked from commit 88740c7fce)
2017-04-21 10:03:50 +10:00
Tinderbox User
d63ae51ba3 update copyright notice / whitespace 2017-04-20 23:46:08 +00:00
Tinderbox User
9218b940fe newcopyrights 2017-04-20 23:30:24 +00:00
Evan Hunt
bf053e878c [v9_11] correct a mistake in nsupdate help
(cherry picked from commit bdbdc69a75)
2017-04-20 16:17:36 -07:00
Evan Hunt
3195754154 [v9_11] some output was not silenced with configure -q
4589.	[cleanup]	"configure -q" is now silent. [RT #44829]

(cherry picked from commit 897049d129)
2017-04-20 15:09:54 -07:00
Evan Hunt
9115769563 [v9_11] nsupdate: send tkey queries to the right server
4588.	[bug]		nsupdate could send queries for TKEY to the wrong
			server when using GSSAPI. Thanks to Tomas Hozza.
			[RT #39893]

(cherry picked from commit 66b71679b7)
2017-04-20 09:29:33 -07:00
Mark Andrews
7863128078 fix 'minimal-any yes;' to force TCP / UDP
(cherry picked from commit 706c6ac5e2)
2017-04-20 21:06:02 +10:00
Mark Andrews
fd0d60b3a0 4587. [bug] named-checkzone failed to handle occulted data below
DNAMEs correctly. [RT #44877]

(cherry picked from commit 600b027731)
2017-04-20 13:29:53 +10:00
Mark Andrews
3001a1b4e6 4586. [func] dig, host and nslookup now use TCP for ANY queries.
[RT #44687]

(cherry picked from commit 033a59090c)
2017-04-20 13:24:26 +10:00
Mark Andrews
1bce43adcc 4585. [port] win32: Set CompileAS value. [RT #42474]
(cherry picked from commit 3742338a7b)
2017-04-20 12:42:39 +10:00
Mark Andrews
52cae869e0 4574. [bug] Dig leaked memory with multiple +subnet options.
[RT #44683]

(cherry picked from commit af2b20ee3f)
2017-04-20 10:29:25 +10:00
Mark Andrews
da4823c08a 4584. [bug] A number of memory usage statistics were not properly
reported when they exceeded 4G.  [RT #44750]

(cherry picked from commit ddac00e3e0)
2017-04-20 10:22:26 +10:00
Evan Hunt
d15af1c3c2 [v9_11] README was missing CVE-2016-9444 2017-04-17 21:05:47 -07:00
Tinderbox User
dc524b82fc update copyright notice / whitespace 2017-04-17 23:46:03 +00:00
Tinderbox User
5aebd7e7af newcopyrights 2017-04-17 23:30:15 +00:00
Evan Hunt
e2ab8249c4 [v9_11] fix out of tree build error
(cherry picked from commit 28cff4f924)
2017-04-17 14:31:50 -07:00
Tinderbox User
e3dc2e7b99 regenerate 2017-04-14 03:58:25 +00:00
Tinderbox User
67794b68b2 regen v9_11 2017-04-14 03:58:23 +00:00
Evan Hunt
62b5dd5b09 [v9_11] prep 9.11.1 2017-04-13 20:41:42 -07:00
Tinderbox User
90d71c30af regen v9_11 2017-04-12 21:29:38 +00:00
Evan Hunt
869cb92bab [v9_11] formatting
(cherry picked from commit 52e398c0af)
2017-04-12 14:06:04 -07:00
Tinderbox User
c52dde9229 regen v9_11 2017-04-12 01:09:13 +00:00
Tinderbox User
5a0fe4f483 update copyright notice / whitespace 2017-04-11 23:46:04 +00:00
Tinderbox User
66317da170 newcopyrights 2017-04-11 23:30:14 +00:00
Evan Hunt
672c06580e [v9_11] correct -M in synopsis
(cherry picked from commit a477a025d5)
2017-04-11 12:24:36 -07:00
Tinderbox User
f2c50d7dd2 regenerate 2017-03-29 22:07:27 +00:00
Tinderbox User
19a1241d2f regen v9_11 2017-03-29 22:07:25 +00:00
Mark Andrews
33cc2edb8e add CVE-2017-3138
(cherry picked from commit fe1ad70e51)
2017-03-30 02:57:02 +11:00
Tinderbox User
48900a8f62 regen v9_11 2017-03-26 01:09:12 +00:00
Tinderbox User
7d169212b4 update copyright notice / whitespace 2017-03-25 23:46:04 +00:00
Tinderbox User
551e6d2414 newcopyrights 2017-03-25 23:30:13 +00:00
Evan Hunt
cf710c81ae [v9_11] document that delv should be used instead of sigchase
(cherry picked from commit db93f3d4b3)
2017-03-25 12:23:14 -07:00
Tinderbox User
003e956a96 update copyright notice / whitespace 2017-03-24 23:46:02 +00:00
Tinderbox User
3718b6ecfc newcopyrights 2017-03-24 23:30:15 +00:00
Mark Andrews
8c31a25f3f 4582. [security] 'rndc ""' could trigger a assertion failure in named.
(CVE-2017-3138) [RT #44924]

(cherry picked from commit 8e8dfc5941)
2017-03-25 02:01:10 +11:00
Tinderbox User
3be4330b77 update copyright notice / whitespace 2017-03-16 23:47:44 +00:00
Tinderbox User
c317b09bf1 newcopyrights 2017-03-16 23:30:23 +00:00
Mark Andrews
8bcd80824c 4581. [port] Linux: Add getpid and getrandom to the list of system
calls named uses for seccomp. [RT #44883]

(cherry picked from commit f94f3e2791)
2017-03-16 11:23:36 +11:00
Tinderbox User
975ff35d85 regen v9_11 2017-03-15 01:10:42 +00:00
Mark Andrews
7fcbbd6fa9 4580. [bug] 4578 introduced a regression when handling CNAME to
referral below the current domain. [RT #44850]

(cherry picked from commit 638c7c635d)
2017-03-14 15:12:03 +11:00
Francis Dupont
457de041a9 Visual Studio 2017 was published 2017-03-10 08:00:36 +01:00
Mark Andrews
d81a3ca82c adjust range
(cherry picked from commit 9301c35ae6)
2017-03-02 12:34:17 +11:00
Mark Andrews
0e5fbd523a allow more time for the IPv6 transfer attemt to timeout and fall over to IPv4
(cherry picked from commit d411448ceb)
2017-03-02 12:19:55 +11:00
Tinderbox User
f9ecaf8a4a regen v9_11 2017-03-01 02:43:28 +00:00
Tinderbox User
d1bc66f4df update copyright notice / whitespace 2017-03-01 01:54:03 +00:00
Tinderbox User
eab4f224b5 newcopyrights 2017-03-01 01:51:21 +00:00
Mark Andrews
c006cfc5a2 Reimplement:
4578.   [security]      Some chaining (CNAME or DNAME) responses to upstream
                        queries could trigger assertion failures.
                        (CVE-2017-3137) [RT #44734]

(cherry picked from commit f240f4a5de)
2017-03-01 12:02:39 +11:00
Tinderbox User
cb9582623e update copyright notice / whitespace 2017-02-28 23:45:56 +00:00
Tinderbox User
32eb4cec6f newcopyrights 2017-02-28 23:30:10 +00:00
Mark Andrews
cfeb569d54 fix nsupdate reference
(cherry picked from commit 02fa49a4d8)
2017-03-01 08:34:26 +11:00
Tinderbox User
168c82cb5d regenerate 2017-02-24 02:40:06 +00:00
Tinderbox User
8dcec3cf25 regen v9_11 2017-02-24 01:08:12 +00:00
Evan Hunt
559cbe04e7 [v9_11] remove unnecessary INSIST and prep 9.11.1rc2
4578.	[security]	Some chaining (CNAME or DNAME) responses to upstream
			queries could trigger assertion failures.
			(CVE-2017-3137) [RT #44734]

(cherry picked from commit a1365a0042)
2017-02-23 14:55:10 -08:00
Mark Andrews
fd71f5a87f dns_master_styleflags returns dns_masterstyle_flags_t 2017-02-20 17:38:56 +11:00
Mark Andrews
4acedf9e13 explicitly cast to (unsigned int) 2017-02-20 17:29:18 +11:00
Tinderbox User
0f863f054c regen v9_11 2017-02-16 01:53:58 +00:00
Mark Andrews
1d0815a2b5 remove redundant $Id 2017-02-16 12:33:08 +11:00
Mark Andrews
c75bf330fc update copyrights 2017-02-16 12:30:34 +11:00
Mark Andrews
6ef61e7645 9.11.1 2017-02-16 12:27:40 +11:00
Mark Andrews
ab92948efa record ranges; account for -P's 2017-02-16 12:20:59 +11:00
Tinderbox User
6afd7f9c56 regen v9_11 2017-02-16 01:08:56 +00:00
Mark Andrews
42f4ea6317 add CVE-2017-3136 note
(cherry picked from commit d77eadc261)
2017-02-15 12:45:30 +11:00
Mark Andrews
94a94fca24 update description 2017-02-15 12:38:01 +11:00
Mark Andrews
b81977ae70 4575. [security] Dns64 with break-dnssec yes; can result in a
assertion failure. (CVE-2017-3136) [RT #44653]

(cherry picked from commit 3bce12e4b6)
2017-02-15 12:22:53 +11:00
Tinderbox User
4d4242b744 regen v9_11 2017-02-08 01:08:12 +00:00
Evan Hunt
6043c4453d [v9_11] doc style 2017-02-07 08:18:55 -08:00
Tinderbox User
d64eb56a2d regen v9_11 2017-02-07 01:07:48 +00:00
Evan Hunt
8e69860942 [v9_11] removed extra note about bind.keys update 2017-02-06 14:18:37 -08:00
Evan Hunt
ece26dd7d7 [v9_11] fix build errors from inline macros (change 4565) 2017-02-06 10:42:31 -08:00
Mark Andrews
9ecedaea58 4571. [bug] Out-of-tree builds of backtrace_test failed.
(cherry picked from commit 3e48466e0a)
2017-02-06 13:46:30 +11:00
Tinderbox User
0726d872f6 newcopyrights 2017-02-05 23:30:07 +00:00
Tinderbox User
105a34268c regenerate 2017-02-05 07:00:20 +00:00
Tinderbox User
33c9436ef1 regen v9_11 2017-02-05 06:45:22 +00:00
Evan Hunt
43769594c0 [v9_11] prep 9.11.1rc1 2017-02-04 22:30:16 -08:00
Evan Hunt
59f34c1fc7 [v9_11] release note about new root key 2017-02-04 22:15:30 -08:00
Tinderbox User
1a6f02ce4a regen v9_11 2017-02-05 01:08:44 +00:00
Tinderbox User
1617002c78 update copyright notice / whitespace 2017-02-04 23:46:08 +00:00
Tinderbox User
dc7e5458bb newcopyrights 2017-02-04 23:30:11 +00:00
Evan Hunt
fc8c8966c9 [v9_11] fall back to builtin keys if bind.keys is empty
4570.	[cleanup]	named did not correctly fall back to the built-in
			initializing keys if the bind.keys file was present
			but empty. [RT #44531]
2017-02-04 00:43:32 -08:00
Evan Hunt
f3497a3cb4 [v9_11] revised comment 2017-02-04 00:24:14 -08:00
Evan Hunt
07b7a3eade [v9_11] store local and remote addresses in dnstap
4569.	[func]		Store both local and remote addresses in dnstap
			logging, and modify dnstap-read output format to
			print them. [RT #43595]

(cherry picked from commit 650b5e7592)
2017-02-03 17:11:06 -08:00
Tinderbox User
8c22550776 regen v9_11 2017-02-04 01:09:25 +00:00
Evan Hunt
85a26f938e [v9_11] add "configure --with-bind" option to dnsperf
4568.	[contrib]	Added a --with-bind option to the dnsperf configure
			script to specify BIND prefix path.

(cherry picked from commit adcdff94d9)
2017-02-03 16:29:08 -08:00
Tinderbox User
48ba8af30c update copyright notice / whitespace 2017-02-03 23:46:00 +00:00
Tinderbox User
4e40289129 newcopyrights 2017-02-03 23:30:09 +00:00
Evan Hunt
a09e49f3f4 [v9_11] silence "unused value" warning
(cherry picked from commit f4d20b15a2)
2017-02-03 11:27:00 -08:00
Mark Andrews
a4240242cd remove outdated cvs $Id strings 2017-02-03 18:39:57 +11:00
Mark Andrews
4ed920490a wait longer for the transfer to complete
(cherry picked from commit 04ed4dd4db)
2017-02-03 17:52:05 +11:00
Mark Andrews
4901f2c10b 4567. [port] Call getprotobyname and getservbyname prior to calling
chroot so that shared libraries get loaded. [RT #44537]

(cherry picked from commit c550e75ade)
2017-02-03 14:23:01 +11:00
Tinderbox User
0ce865f8b2 regen v9_11 2017-02-03 01:08:36 +00:00
Tinderbox User
e2ec0753ce update copyright notice / whitespace 2017-02-02 23:46:34 +00:00
Tinderbox User
edd791fb53 newcopyrights 2017-02-02 23:30:31 +00:00
Evan Hunt
8e9dbb6222 [v9_11] support autore in inline macro buffer functions
4565.	[cleanup]	The inline macro versions of isc_buffer_put*()
			did not implement automatic buffer reallocation.
			[RT #44216]

(cherry picked from commit 7769c92946)
2017-02-02 11:33:04 -08:00
Evan Hunt
6ec6741fe7 [v9_11] Revert "fixed build failure when building without LMDB"
This reverts commit d9788e03ad.
2017-02-02 11:28:53 -08:00
Evan Hunt
d9788e03ad [v9_11] fixed build failure when building without LMDB
(cherry picked from commit 8acbf7e4de99bbc4867b02ed87dbbc3761a57ca5)
2017-02-02 11:24:57 -08:00
Evan Hunt
c4cd9250fe [v9_11] Remove obsolete Id lines that showed old date on generated bind.keys.h 2017-02-02 11:16:30 -08:00
Mark Andrews
51b0319696 new root KSK 2017-02-02 18:30:00 +11:00
Mark Andrews
b04e009f8b 9.11.1rc1 2017-02-02 18:16:04 +11:00
Mark Andrews
b5ad091624 4564. [maint] Update the built in managed keys to include the
upcoming root KSK. [RT #44579]

(cherry picked from commit 00a83c64d7)
2017-02-02 17:36:17 +11:00
Mark Andrews
da23e32e41 4563. [bug] Modified zones would occasionally fail to reload.
[RT #39424]

(cherry picked from commit dfe3068ef3)
2017-02-02 17:14:09 +11:00
Evan Hunt
486f8e6644 [v9_11] Merge branch 'v9_11' of ssh://repo.isc.org/proj/git/prod/bind9 into v9_11 2017-02-01 17:53:35 -08:00
Evan Hunt
18ab9a0a34 [v9_11] Squashed commit of the following:
4561.	[port]		Silence a warning in strict C99 compilers. [RT #44414]

(cherry picked from commit 6cb5e36ca3)
2017-02-01 17:31:22 -08:00
Tinderbox User
217ccfa85b regen v9_11 2017-02-02 01:08:17 +00:00
Evan Hunt
f3a6bb528f [v9_11] clarify client logging doc 2017-02-01 14:51:14 -08:00
Tinderbox User
4269c36906 update copyright notice / whitespace 2017-01-31 23:46:16 +00:00
Tinderbox User
11ebeaa09e newcopyrights 2017-01-31 23:30:21 +00:00
Tinderbox User
2acf9aa8ff regen v9_11 2017-01-31 01:09:23 +00:00
Evan Hunt
05fce8cfff [v9_11] address portability issues
(cherry picked from commit a2bd99a959)
2017-01-30 16:52:32 -08:00
Mark Andrews
c2c386119e add a REQUIRE to catch the NULL pointer dereference that triggered CVE-2017-3135
(cherry picked from commit 1d8995d226)
2017-01-31 11:21:09 +11:00
Evan Hunt
781f6daa74 [v9_11] change 4558 was incomplete
(cherry picked from commit cd668ea57f)
2017-01-30 14:11:17 -08:00
Tinderbox User
1520c6474f newcopyrights 2017-01-25 23:30:05 +00:00
Tinderbox User
adabefa84c regen v9_11 2017-01-25 01:08:40 +00:00
Tinderbox User
5688a47c15 update copyright notice / whitespace 2017-01-24 23:45:58 +00:00
Tinderbox User
abe52cd988 newcopyrights 2017-01-24 23:30:10 +00:00
Evan Hunt
c742ef745e [v9_11] CHANGES typo 2017-01-24 13:09:55 -08:00
Mark Andrews
8ce73e5c8c fix changes note 2017-01-24 17:53:30 +11:00
Mark Andrews
832f5803f6 4560. [bug] mdig: add -m option to enable memory debugging rather
than have in on all the time. [RT #44509]

4559.   [bug]           Openssl_link.c didn't compile if ISC_MEM_TRACKLINES
                        was turned off.  [RT #44509]

(cherry picked from commit 25da687db7)
2017-01-24 17:49:08 +11:00
Mark Andrews
4441328a1d 4558. [bug] Synthesised CNAME before matching DNAME was still
being cached when it should have been.  [RT #44318]

(cherry picked from commit 9f4bf43b79)
2017-01-24 17:41:17 +11:00
Evan Hunt
2f70ce448a [v9_11] expand relnote
(cherry picked from commit afa0ff0cbb)
2017-01-23 20:04:30 -08:00
Mark Andrews
f2e8131f50 fix changes number 2017-01-24 12:39:17 +11:00
Tinderbox User
801d3c8888 regen v9_11 2017-01-24 01:08:44 +00:00
Mark Andrews
22e3ffcf2c 4556. [security] Combining dns64 and rpz can result in dereferencing
a NULL pointer (read).  (CVE-2017-3135) [RT#44434]

(cherry picked from commit 5abe80ef13)
2017-01-24 09:54:54 +11:00
Tinderbox User
2f4e3e45d6 update copyright notice / whitespace 2017-01-19 23:46:07 +00:00
Tinderbox User
2ca9cf1582 newcopyrights 2017-01-19 23:30:10 +00:00
Mark Andrews
eb032a17ef whitespace
(cherry picked from commit bf0b649993)
2017-01-19 13:16:35 +11:00
Tinderbox User
9b2743294c update copyright notice / whitespace 2017-01-14 23:46:06 +00:00
Tinderbox User
a778b94bdb newcopyrights 2017-01-14 23:30:09 +00:00
Mark Andrews
7bcba68b95 4554. [bug] Remove double unlock in dns_dispatchmgr_setudp.
[RT #44336]

(cherry picked from commit 5dfa5221d5)
2017-01-14 13:14:25 +11:00
Tinderbox User
00860eece0 update copyright notice / whitespace 2017-01-13 23:46:05 +00:00
Tinderbox User
08b7d06946 newcopyrights 2017-01-13 23:30:10 +00:00
Mark Andrews
1de3115e8c make e's declaration unconditional. [RT #44324]
(cherry picked from commit b8eee0f48d)
2017-01-13 16:10:39 +11:00
Mark Andrews
88840c01be remove false negatives (add eol to grep patterns; add missing ret=0)
(cherry picked from commit bcfaac260a)
2017-01-13 16:00:17 +11:00
Tinderbox User
fb2e132c5c regen v9_11 2017-01-13 01:08:50 +00:00
Tinderbox User
f6b9092741 update copyright notice / whitespace 2017-01-12 23:46:13 +00:00
Tinderbox User
e1ebc476b0 newcopyrights 2017-01-12 23:30:29 +00:00
Mark Andrews
c2687b0594 address shadow warning 2017-01-13 09:13:57 +11:00
Evan Hunt
445b0e72d7 [v9_11] more specific date for DLV shutdown warning 2017-01-12 09:11:17 -08:00
Mark Andrews
2cee8eadec 4553. [bug] Named could deadlock there were multiple changes to
NSEC/NSEC3 parameters for a zone being processed at
                        the same time. [RT #42770]

(cherry picked from commit d2e1b47d4f)
2017-01-12 14:26:06 +11:00
Mark Andrews
9e4e871392 4552. [bug] Named could trigger a assertion when sending notify
messages. [RT #44019]

(cherry picked from commit 42924b40af)
2017-01-12 14:18:01 +11:00
Mark Andrews
81df1363fb 4552. [bug] Named could trigger a assertion when sending notify
messages. [RT #44019]

(cherry picked from commit 7b9e28f1a5)
2017-01-12 14:12:38 +11:00
Mark Andrews
800cfc8a5c --enable-developer now compiles bin/tests's XTARGETS [RT #44205]
(cherry picked from commit 434477aa02)
2017-01-12 14:03:05 +11:00
Mark Andrews
0de20c29f3 remove false positives due to bad grep [RT #44178]
(cherry picked from commit 0c43d50368)
2017-01-12 13:59:24 +11:00
Mark Andrews
3b6e750bb7 win2utils/Configure report modify file list [RT #43994]
(cherry picked from commit 260ca42f96)
2017-01-12 13:47:38 +11:00
Mark Andrews
08397f5b6c 4551. [test] Add system tests for integrity checks of MX and
SRV records. [RT #43953]

(cherry picked from commit 750619b7a8)
2017-01-12 13:34:16 +11:00
Tinderbox User
3b7f610bec update copyright notice / whitespace 2017-01-11 23:45:54 +00:00
Tinderbox User
4c721f0e45 newcopyrights 2017-01-11 23:30:06 +00:00
Evan Hunt
e63d63dc85 [v9_11] expand the flags field in dns_master_style
4550.	[cleanup]	Increased the number of available master file
			output style flags from 32 to 64. [RT #44043]

(cherry picked from commit 2e703d7b61)
2017-01-11 12:01:06 -08:00
Tinderbox User
de2cc8b872 newcopyrights 2017-01-05 23:30:09 +00:00
Tinderbox User
36b7137e99 regen v9_11 2017-01-05 01:08:54 +00:00
Tinderbox User
231d6c83c3 sync 2017-01-05 01:05:25 +00:00
Tinderbox User
2728d0618e update copyright notice / whitespace 2017-01-04 23:45:48 +00:00
Tinderbox User
c7fd128f8e newcopyrights 2017-01-04 23:30:35 +00:00
Tinderbox User
5e013c280f regen v9_11 2017-01-04 01:08:57 +00:00
Evan Hunt
f5c17a057f [v9_11] add support for native pkcs11 on keyper
4547.	[port]		Add support for --enable-native-pkcs11 on the AEP
			Keyper HSM. [RT #42463]
2017-01-03 16:42:07 -08:00
Evan Hunt
e7f06a8535 [v9_11] don't use binmode when setting up files for VS2005 (XP build) 2016-12-29 14:22:26 -08:00
Mark Andrews
4266303103 remove #!/usr/bin/python
(cherry picked from commit 813ff2d277)
2016-12-29 23:38:33 +11:00
Mark Andrews
5f135a3198 add copyright notice
(cherry picked from commit da40ddaeca)
2016-12-29 23:12:33 +11:00
Mark Andrews
1992e14919 fix ProjectGuid 2016-12-29 19:37:39 +11:00
Mark Andrews
b3d1215c49 fix ProjectGuid 2016-12-29 19:35:20 +11:00
Mark Andrews
f7f5220b95 fix ProjectGuid 2016-12-29 19:32:30 +11:00
Tinderbox User
d6b834c98c regenerate 2016-12-29 05:23:33 +00:00
Tinderbox User
0da02c26a6 regen v9_11 2016-12-29 05:02:27 +00:00
Evan Hunt
971d346eae [v9_11] README 2016-12-28 20:39:00 -08:00
Evan Hunt
ac424b61bb [v9_11] release notes 2016-12-28 20:19:10 -08:00
Evan Hunt
7fa388dac3 [v9_11] silence warning
(cherry picked from commit b3aebb5890)
2016-12-28 17:54:39 -08:00
Mark Andrews
d6080de9be 9.11.1b1 2016-12-29 12:26:27 +11:00
Mark Andrews
b1ab6766f7 spelling 2016-12-29 12:07:23 +11:00
Mark Andrews
701aa95d96 4510. [security] Named mishandled some responses where covering RRSIG
records are returned without the requested data
                        resulting in a assertion failure. (CVE-2016-9147)
                        [RT #43548]

(cherry picked from commit 6adf421e7e)
2016-12-29 11:49:06 +11:00
Mark Andrews
b243aa40f9 4508. [security] Named incorrectly tried to cache TKEY records which
could trigger a assertion failure when there was
                            a class mismatch. (CVE-2016-9131) [RT #43522]

(cherry picked from commit 2c1c4b99a1)
2016-12-29 11:17:14 +11:00
Tinderbox User
2a2618356e update copyright notice / whitespace 2016-12-28 23:50:44 +00:00
Mark Andrews
2595d1da35 4517. [security] Named could mishandle authority sections that were
missing RRSIGs triggering an assertion failure.
                        (CVE-2016-9444) [RT # 43632]

(cherry picked from commit 1df30cfd27c5a3c57fce357c54aaf6c702227d51)
2016-12-29 10:41:06 +11:00
Tinderbox User
bf19cffa72 newcopyrights 2016-12-28 23:30:54 +00:00
Mark Andrews
9609899255 4531. [security] 'is_zone' was not being properly updated by redirect2
and subsequently preserved leading to an assertion
                        failure. (CVE-2016-9778) [RT #43837]

(cherry picked from commit d376792dae)
2016-12-29 10:27:21 +11:00
Evan Hunt
58f15381f7 [v9_11] expand intro 2016-12-28 13:20:44 -08:00
Evan Hunt
544e2b48ec [v9_11] release notes 2016-12-28 11:51:06 -08:00
Evan Hunt
6649db1ca4 [v9_11] release note 2016-12-28 11:09:12 -08:00
wpk
397b24d008 [master] Remove spurious entry in lib/dns/win32/libdns.def.in 2016-12-28 19:22:13 +01:00
wpk
b1866070ef 4545. [func] Make dnstap-read output more functionally usable.
[RT #43642]

4544.	[func]		Add message/payload size to dnstap-read YAML output.
			[RT #43622]
2016-12-28 11:58:08 +01:00
Mark Andrews
6b45fd062b 4543. [bug] dns_client_startupdate now delays sending the update
request until isc_app_ctxrun has been called.
                        [RT #43976]

(cherry picked from commit 6f94747270)
2016-12-28 15:51:47 +11:00
Mark Andrews
72cae054ad 4541. [bug] rndc addzone should properly reject non master/slave
zones. [RT #43665]

(cherry picked from commit e20db12918)
2016-12-28 10:28:54 +11:00
Tinderbox User
ffe29868b4 regen v9_11 2016-12-27 01:11:28 +00:00
Evan Hunt
d438157f7e [v9_11] clarify auth ECS is not meant for production use 2016-12-26 16:52:14 -08:00
Tinderbox User
cec9fddbaf update copyright notice / whitespace 2016-12-26 23:47:35 +00:00
Tinderbox User
4b568c8873 newcopyrights 2016-12-26 23:30:52 +00:00
Mark Andrews
f1e3dd087b 4540. [bug] Correctly handle ecs entries in dns_acl_isinsecure.
[RT #43601]

(cherry picked from commit 8e333f42ef)
2016-12-27 09:50:08 +11:00
Mark Andrews
23ac7e6634 4539. [bug] Referencing a nonexistant zone with rpz could lead
to a assertion failure when configuring. [RT #43787]

(cherry picked from commit 762c4fc5a8)
2016-12-27 09:13:40 +11:00
Mark Andrews
458e816ed0 4538. [bug] Call dns_client_startresolve from client->task.
[RT #43896]

(cherry picked from commit aceabacdb8)
2016-12-27 07:02:58 +11:00
Mark Andrews
641dede12a if gen fails remove the file [RT #43949]
(cherry picked from commit e17d2f98be)
2016-12-23 09:20:48 +11:00
Mark Andrews
b8e7abc50e freeaddrinfo is called too early.
(cherry picked from commit c1870d0e44)
2016-12-15 09:39:51 +11:00
Mark Andrews
d84a356d4b 4537. [bug] Handle timouts better in dig/host/nslookup. [RT #43576]
(cherry picked from commit 6089c8df71)
2016-12-14 15:44:02 +11:00
Tinderbox User
8852646542 update copyright notice / whitespace 2016-12-13 23:47:43 +00:00
Mark Andrews
bc2510a6a5 4536. [bug] ISC_SOCKEVENTATTR_USEMINMTU was not being cleared
when reusing the event structure. [RT #43885]

(cherry picked from commit a678e70481)
2016-12-14 10:43:24 +11:00
Mark Andrews
1160ea4c28 4535. [bug] Address race condition in setting / testing of
DNS_REQUEST_F_SENDING. [RT #43889]

(cherry picked from commit 37a8db0ba4)
2016-12-14 10:33:04 +11:00
Tinderbox User
edfc6f05ea newcopyrights 2016-12-13 23:30:46 +00:00
Mark Andrews
348d80fb84 4534. [bug] Only set RD, RA and CD in QUERY responses. [RT #43879]
(cherry picked from commit def6b33bad)
2016-12-13 16:27:49 +11:00
Mark Andrews
47071b7310 spelling 2016-12-13 16:19:20 +11:00
Mark Andrews
45f206e6c1 4533. [bug] dns_client_update should terminate on prerequiste
failures (NXDOMAIN, YXDOMAIN, NXRRSET, YXRRSET)
                        and also on BADZONE.  [RT #43865]

(cherry picked from commit 8ca45ba01a)
2016-12-13 15:48:20 +11:00
Mark Andrews
3bab13a6df number all resolver tests
(cherry picked from commit 4914e3ddc6)
2016-12-13 15:05:31 +11:00
Tinderbox User
dfc3a0fffd newcopyrights 2016-12-12 23:30:34 +00:00
Evan Hunt
1b63e3c2fd [v9_11] tweak logfileconfig test so it can pass on slower machines
(cherry picked from commit 76a26842a9)
2016-12-12 12:13:10 -08:00
Mark Andrews
f6f3264d8c 4532. [contrib] Make gen-data-queryperf.py python 3 compatible.
[RT #43836]

(cherry picked from commit 043ae106d2)
2016-12-12 17:47:18 +11:00
Mark Andrews
d77cab69bf 4530. [bug] Change 4489 broke the handling of CNAME -> DNAME
in responses resulting in SERVFAIL being returned.
                        [RT #43779]

(cherry picked from commit 60cb462c56)
2016-12-09 12:51:09 +11:00
Evan Hunt
f1b29d8428 [v9_11] silence DSCP probing error
4529.	[cleanup]	Silence noisy log warning when DSCP probe fails
			due to firewall rules. [RT #43847]

(cherry picked from commit f2c7ae114a)
2016-12-08 08:44:44 -08:00
Mark Andrews
d0c5ff7f65 4528. [bug] Only set the flag bits for the i/o we are waiting
for on EPOLLERR or EPOLLHUP. [RT #43617]

(cherry picked from commit c1619b8420)
2016-12-08 17:00:37 +11:00
Tinderbox User
7911e6f9de regen v9_11 2016-12-07 01:09:50 +00:00
Mark Andrews
83a28ca274 4527. [doc] Support DocBook XSL Stylesheets v1.79.1. [RT #43831]
(cherry picked from commit 1b8ce3b330)
2016-12-07 10:50:50 +11:00
Tinderbox User
9a4743fca8 update copyright notice / whitespace 2016-12-05 23:47:38 +00:00
Tinderbox User
65a8034126 newcopyrights 2016-12-05 23:30:55 +00:00
Tinderbox User
d983757c61 regenerate 2016-12-05 19:19:10 +00:00
Tinderbox User
a9ba09c109 regen v9_11 2016-12-05 18:28:40 +00:00
Evan Hunt
1585a9f239 [v9_11] fixed ARM grammars
4526.	[doc]		Corrected errors and improved formatting of
			grammar defintiions in the ARM. [RT #43739]
2016-12-05 00:43:37 -08:00
Mark Andrews
b00d77e4f2 look $UNLIMITEDFILE.4 as $UNLIMITEDFILE.5 may not exist yet 2016-12-05 18:20:18 +11:00
Evan Hunt
2fb4184d9d [v9_11] fix managed-keys doc
4525.	[doc]		Fixed outdated documentation on managed-keys.
			[RT #43810]

(cherry picked from commit e1ba21bd58)
2016-12-04 20:22:38 -08:00
Mark Andrews
5be93f5dff 4524. [bug] The net zero test was broken causing IPv4 servers
with addresses ending in .0 to be rejected. [RT #43776]

(cherry picked from commit df372d967e)
2016-12-05 10:47:38 +11:00
Mark Andrews
52254f7526 added -T keepstderr to keep stderr open when daemonizing [RT #43736]
(cherry picked from commit c9ee977f31)
2016-12-05 10:38:50 +11:00
Mukund Sivaraman
6ae22c4119 Add doc function for cfg_type_querysource4 and cfg_type_querysource6 (#43768)
(cherry picked from commit 5c843b384d)
2016-12-02 11:17:14 +05:30
Mark Andrews
0d22fc8758 update 2016-12-01 10:39:25 +11:00
Tinderbox User
ac946c1f16 regen v9_11 2016-11-30 01:10:50 +00:00
Mark Andrews
74d98566ed 4522. [bug] Handle big gaps in log file version numbers better.
[RT #38688]

(cherry picked from commit cab871f1bc)
2016-11-30 11:00:49 +11:00
Tinderbox User
2a2335a013 update copyright notice / whitespace 2016-11-29 23:47:26 +00:00
Evan Hunt
1c89e89eaf [v9_11] log as error if entropy unavailable
4521.	[cleanup]	Log it as an error if an entropy source is not
			found and there is no fallback available. [RT #43659]

(cherry picked from commit 6bdb70057d)
2016-11-29 11:30:47 -08:00
Mark Andrews
0c2d891abe 4520. [cleanup] Alphabetise more of the grammar when printing it
out. Fix unbalanced indenting. [RT #43755]

(cherry picked from commit 4352551d23)
2016-11-29 15:33:37 +11:00
Mark Andrews
fd017eea63 4519. [port] win32: handle ERROR_MORE_DATA. [RT #43534]
(cherry picked from commit a611e44f9a)
2016-11-29 11:29:23 +11:00
Tinderbox User
f0aad53417 regen v9_11 2016-11-25 21:04:54 +00:00
Mark Andrews
ae07f624ff automate insertion of copyright year list into Bv9ARM-book.xml
(cherry picked from commit e527dcdb00)
2016-11-26 07:50:06 +11:00
Francis Dupont
50cdb3af69 Added VS 2017 RC 2016-11-24 17:20:44 +01:00
Mark Andrews
6ef1cdec9a 4516. [bug] isc_socketmgr_renderjson was missing from the
windows build. [RT #43602]

(cherry picked from commit 358c6ecd26)
2016-11-22 12:08:26 +11:00
Tinderbox User
1008577c67 update copyright notice / whitespace 2016-11-19 23:47:47 +00:00
Curtis Blackburn
294ef74e5a 4515. [port] FreeBSD: Find readline headers when they are in
edit/readline/ instead of readline/. [RT #43658]
2016-11-18 11:12:28 -08:00
Tinderbox User
e3db607c92 sync 2016-11-17 01:06:34 +00:00
Mark Andrews
42a79fde4c check the value of s
(cherry picked from commit 28f344c18a)
2016-11-15 16:52:31 +11:00
Mukund Sivaraman
32f4f500a5 Update CHANGES entry to match KB article
(cherry picked from commit ea3c3afadc)
2016-11-14 14:24:19 +09:00
Mark Andrews
0bd3042bb3 add --ipv6only=no test
(cherry picked from commit 415eeebda4)
2016-11-11 10:00:33 +11:00
Mark Andrews
fe6557e590 4514. [port] NetBSD: strip -WL, from ld command line. [RT #43204]
(cherry picked from commit 69e77384fa)
2016-11-10 11:34:01 +11:00
Mark Andrews
21e5f9c5cd 4513. [cleanup] Minimum Python versions are now 2.7 and 3.2.
[RT #43566]

(cherry picked from commit 472e99cfa6)
2016-11-10 09:51:19 +11:00
Mark Andrews
9eb4bce9e1 don't call dst_lib_destroy in t2_vfy
(cherry picked from commit 1106845b4e)
2016-11-09 17:04:34 +11:00
Mark Andrews
e0f1907562 locks are only need in OpenSSL < 1.1 2016-11-09 10:06:34 +11:00
Mark Andrews
704f73353d only call dns_test_begin once
(cherry picked from commit f13c7b01746a07bef87a386ceff93ccb2a7488a9)
(cherry picked from commit 56c6fc0dac)
2016-11-09 10:03:47 +11:00
Mark Andrews
a135cb62d3 remove spurious newline [RT #43585]
(cherry picked from commit fed2f7e4c1)
2016-11-09 08:27:27 +11:00
Evan Hunt
0fdb1e5cb7 [v9_11] typo in comment 2016-11-08 09:06:30 -08:00
Mark Andrews
4df43743ab 4512. [bug] win32: @GEOIP_INC@ missing from delv.vcxproj.in.
[RT #43556]

(cherry picked from commit 084d88f67b)
2016-11-07 10:04:30 +11:00
Mark Andrews
60c47284e4 4511. [bug] win32: mdig.exe-BNFT was missing Configure. [RT #43554] 2016-11-07 09:55:16 +11:00
Francis Dupont
fb87feb6e7 Fixed filter-aaaa prereq.sh 2016-11-04 14:56:48 +01:00
Mark Andrews
34996e0aa5 cleanup 2016-11-03 15:25:23 +11:00
Evan Hunt
7a3d063847 [v9_11] make rrl system test more robust
4509.	[test]		Make the rrl system test more reliable on slower
			machines by using mdig instead of dig. [RT #43280]

(cherry picked from commit 1e2aca8d90)
2016-11-02 20:56:27 -07:00
Evan Hunt
7802f7d3a9 [v9_11] corrected typo in nsupdate test (DIG-->$DIG) 2016-11-02 19:34:49 -07:00
Tinderbox User
45571e7374 regen v9_11 2016-11-03 01:12:32 +00:00
Tinderbox User
9ab989b88c update copyright notice / whitespace 2016-11-02 23:48:10 +00:00
Tinderbox User
5382b244c3 newcopyrights 2016-11-02 23:31:13 +00:00
Mark Andrews
68770381db add dns_db_getsize, dns_rdataslab_count, dns_zone_getmaxrecords, dns_zone_setmaxrecords
(cherry picked from commit aee76db9e3)
2016-11-03 09:48:40 +11:00
Mark Andrews
744c1db635 4504. [security] Allow the maximum number of records in a zone to
be specified.  This provides a control for issues
                        raised in CVE-2016-6170. [RT #42143]

(cherry picked from commit 5f8412a4cb)
2016-11-03 09:48:26 +11:00
Evan Hunt
b7ae121eff [v9_11] typo 2016-11-02 09:43:01 -07:00
Francis Dupont
2b8679cf0f Name -> Named 2016-11-02 09:27:48 +01:00
Francis Dupont
66f169daf5 Fixed IP_PMTUDISC_OMIT typos 2016-11-02 09:19:45 +01:00
Mark Andrews
2ea4ed1726 remove review fprintf
(cherry picked from commit a0caf66c97)
2016-11-02 18:04:20 +11:00
Mark Andrews
6db55b4ff9 4507. [bug] Name could incorrectly log 'allows updates by IP
address, which is insecure' [RT #43432]

(cherry picked from commit 2b2b85c897)
2016-11-02 17:54:37 +11:00
Mark Andrews
2ac8829a8a 4505. [port] Use IP_PMTUDISC_OMIT if available. [RT #35494]
(cherry picked from commit a61f252391)
2016-11-02 17:40:27 +11:00
Evan Hunt
e1477f467f [v9_11] restore dropped #else block 2016-11-01 22:34:45 -07:00
Evan Hunt
d9b96d0a42 [v9_11] typo 2016-11-01 20:31:12 -07:00
Evan Hunt
8a5809527e [v9_11] make uninstall
4503.	[cleanup]	"make uninstall" now removes file installed by
			BIND. (This currently excludes Python files
			due to lack of support in setup.py.) [RT #42912]

(cherry picked from commit 6087f87afb)
2016-11-01 19:17:23 -07:00
Mark Andrews
bd19cef223 4502. [func] Report multiple and experimental options when printing
grammar. [RT #43134]

(cherry picked from commit 89286906dc)
2016-11-02 12:50:39 +11:00
Tinderbox User
8d72b87657 regen v9_11 2016-11-02 01:11:47 +00:00
Tinderbox User
31ad8218cc update copyright notice / whitespace 2016-11-01 23:47:34 +00:00
Tinderbox User
620745a4c7 newcopyrights 2016-11-01 23:31:46 +00:00
Mark Andrews
2c629a1b84 'I:exit status: <value>' should be outsied of if
(cherry picked from commit e1c93a0f58)
2016-11-02 09:12:02 +11:00
Mark Andrews
a0e34c90ea 4500. [bug] Support modifier I64 in isc__print_printf. [RT #43526]
(cherry picked from commit e200da5044)
2016-11-02 08:46:39 +11:00
Evan Hunt
669e108d67 [v9_11] use arc4random_stir() when available
4499.	[port]		MacOSX: silence deprecated function warning
			by using arc4random_stir() when available
			instead of arc4random_addrandom(). [RT #43503]

(cherry picked from commit 3fb62a5a4e)
2016-11-01 14:00:54 -07:00
Evan Hunt
4b48e6a89e [v9_11] clean up reporting of R:FAIL so it can't spuriously appear mid-test
(cherry picked from commit 7960fc596b)
2016-11-01 13:47:24 -07:00
Evan Hunt
0b0c74d199 [v9_11] fix backport error 2016-10-31 22:47:57 -07:00
Evan Hunt
6552f33198 [v9_11] 4496. [func] dig: add +idnout to control whether labels are
display in punycode or not.  Requires idn support
                        to be enabled at compile time. [RT #43398]

(cherry picked from commit 42470b0b87)
2016-10-31 20:17:28 -07:00
Mark Andrews
fd44151797 check for LIBRESSL_VERSION_NUMBER
(cherry picked from commit b2c1d6f0a2)
2016-11-01 12:49:13 +11:00
Mark Andrews
880fce6a74 add more LIBRESSL_VERSION_NUMBER checks
(cherry picked from commit 429b543086)
2016-11-01 12:37:29 +11:00
Mark Andrews
395fe33465 add more LIBRESSL_VERSION_NUMBER checks
(cherry picked from commit 3d38cfaf8a)
2016-11-01 12:25:03 +11:00
Mark Andrews
48e1d4823c check for LIBRESSL_VERSION_NUMBER
(cherry picked from commit f53fc4540a)
2016-11-01 12:07:30 +11:00
Evan Hunt
45fd95544c [v9_11] simplify prereq checks by using feature-test.c
4498.	[test]		Simplify prerequisite checks in system tests.
			[RT #43516]

(cherry picked from commit 5480a74b70)
2016-10-31 17:47:42 -07:00
Mark Andrews
83baacd8ff update spelling in comment
(cherry picked from commit ace79092b3)
2016-11-01 10:51:53 +11:00
Tinderbox User
e356a7622a update copyright notice / whitespace 2016-10-30 23:47:21 +00:00
Mark Andrews
76af83c9ad 4497. [port] Add support for OpenSSL 1.1.0. [RT #41284]
(cherry picked from commit 1fce0951ed)
2016-10-31 10:05:55 +11:00
Mark Andrews
9e0cd8be9a s/it/not/
(cherry picked from commit bdd2066846)
2016-10-28 15:09:06 +11:00
Mark Andrews
c29c3e51b1 update copyrights 2016-10-28 11:28:44 +11:00
Mark Andrews
fb9cdee4af 4495. [bug] A isc_mutex_init call was it being checked. [RT #43391]
(cherry picked from commit f21645e137)
2016-10-28 11:15:18 +11:00
Francis Dupont
afa016c3c1 Merged rt43345 libisccfg spuriously depended on libisccc 2016-10-27 14:08:10 +02:00
Mark Andrews
2a1860ad83 4494. [bug] Look for <editline/readline.h>. [RT #43429]
(cherry picked from commit 6fbb2b51d8)
2016-10-27 15:49:11 +11:00
Mark Andrews
de6469b663 4493. [bug] bin/tests/system/dyndb/driver/Makefile.in should use
SO_TARGETS. [RT# 43336]

(cherry picked from commit c910fc24ce)
2016-10-27 15:38:25 +11:00
Mark Andrews
d389069a39 4492. [bug] irs_resconf_load failed to initialise sortlistnxt
causing bad writes if resolv.conf contained a
                        sortlist directive. [RT #43459]

(cherry picked from commit 55b78fff62)
2016-10-27 13:18:47 +11:00
Mark Andrews
fd2f4551d9 4491. [bug] Improve message emitted when testing whether sendmsg
works with TOS/TCLASS fails. [RT #43483]

(cherry picked from commit 8eaf918adf)
2016-10-27 09:02:36 +11:00
Mark Andrews
8d0f8e8c2e change 4487 broke the cacheclean test with old version of perl. [RT #43476]
(cherry picked from commit ecd8e95bb5)
2016-10-27 00:09:41 +11:00
Mark Andrews
54ee0b0eef s/,/;/
(cherry picked from commit 856c77cc40)
2016-10-26 22:38:50 +11:00
Mark Andrews
c5e8808e35 4490. [maint] Added AAAA (2001:500:12::d0d) for G.ROOT-SERVERS.NET.
(cherry picked from commit 3b7cb2c5b1)
2016-10-21 22:44:42 +11:00
Mark Andrews
7c66fc9700 4489. [security] It was possible to trigger assertions when processing
a response. (CVE-2016-8864) [RT #43465]

(cherry picked from commit bd6f27f5c3)
2016-10-21 14:56:20 +11:00
Mark Andrews
415d630b63 copyrights 2016-10-21 14:25:50 +11:00
Mark Andrews
2a80bc0153 4488. [port] Darwin: use -framework for Kerberos. [RT #43418]
(cherry picked from commit 8d6fefac31)
2016-10-20 10:26:46 +11:00
Witold Krecicki
cc51cd2d20 4487. [test] Make system tests work on Windows. [RT #42931] 2016-10-19 17:21:13 +02:00
Tinderbox User
17697000bc regen v9_11 2016-10-16 01:10:31 +00:00
Mark Andrews
2e0d02503c add managed keys to view section
(cherry picked from commit 7551ec1ebe)
2016-10-16 08:15:36 +11:00
Mark Andrews
3fe7c625ff fix changes numbers
(cherry picked from commit b1b595617b)
2016-10-12 12:34:58 +11:00
Mark Andrews
01387de5a7 further readline changes [RT #43139]
(cherry picked from commit 09f914d2d4)
2016-10-12 11:57:38 +11:00
Tinderbox User
452a97a23d update copyright notice / whitespace 2016-10-11 23:47:26 +00:00
Tinderbox User
bd7a552249 newcopyrights 2016-10-11 23:30:35 +00:00
Mark Andrews
a7dff3d9b0 don't clobber readline
(cherry picked from commit ccf0bea98a)
2016-10-11 17:32:05 +11:00
Mark Andrews
d2605df7e9 fix typo
(cherry picked from commit 6bb84df34d)
2016-10-11 17:05:57 +11:00
Mark Andrews
321f87f8ea don't require lctx to be non NULL
(cherry picked from commit 3793d848bd)
2016-10-11 17:03:16 +11:00
Mark Andrews
2bbab60f50 4485. [bug] Look in $prefix/lib/pythonX.Y/site-packages for
the python modules we install. [RT #43330]

(cherry picked from commit 01862dfaa5)
2016-10-11 15:21:48 +11:00
Mark Andrews
0b612b420d 4484. [bug] Failure to find readline when requested should be
fatal to configure. [RT #43328]

(cherry picked from commit 6caac8d9a9)
2016-10-11 15:16:20 +11:00
Mark Andrews
802e0662ef 4483. [func] Check prefixes in acls to make sure the address and
prefix lengths are consistent.  Warn only in
                        BIND 9.11 and earlier. [RT #43367]
2016-10-11 15:03:24 +11:00
Mark Andrews
af9b975ccc 4482. [bug] Address use before require check and remove extraneous
dns_message_gettsigkey call in dns_tsig_sign.
                        [RT #43374]

(cherry picked from commit 61463ab7a4)
2016-10-11 14:41:01 +11:00
Evan Hunt
94694e720a [v9_11] add cfg_parse_buffer3() function with linenum parameter
4482.	[cleanup]	Change #4455 was incomplete. [RT #43252]

(cherry picked from commit 676ac3cc82)
2016-10-10 17:12:30 -07:00
Mark Andrews
99811850b4 sleep 2 to let in progress lookups complete
(cherry picked from commit d3f29e7a4f)
2016-10-10 14:36:02 +11:00
Evan Hunt
67a42ef55c [v9_11] reset ret between NTA tests
(cherry picked from commit af05768c0e)
2016-10-05 21:07:18 -07:00
Mark Andrews
538c6bd3f1 fix long line
(cherry picked from commit 26d21e2e25)
2016-10-06 14:23:55 +11:00
Tinderbox User
ea640e04ea regen v9_11 2016-10-06 01:09:07 +00:00
Tinderbox User
b9e0ed731a update copyright notice / whitespace 2016-10-05 23:46:11 +00:00
Witold Krecicki
ef1e2f7906 4478. [func] Add +continue option to mdig, allow continue on socket errors. [RT #43281] 2016-10-05 13:51:30 +02:00
Witold Krecicki
e8fab79146 4477. [test] Fix mkeys test timing issues. [RT #41028] 2016-10-05 13:45:37 +02:00
Witold Krecicki
c034b72ba1 4476. [test] Fix reclimit test on slower machines. [RT #43283] 2016-10-05 13:22:22 +02:00
Mark Andrews
7d238ed0c7 4475. [doc] Update named-checkconf documentation. [RT #43153]
(cherry picked from commit 67cdd2d3a4)
2016-10-05 14:22:19 +11:00
Mark Andrews
82a50a619a 4474. [bug] win32: call WSAStartup in fromtext_in_wks so that
getprotobyname and getservbyname work.  [RT #43197]
2016-10-05 12:29:00 +11:00
Mark Andrews
2f1c460bea 4473. [bug] Only call fsync / _commit on regular files. [RT #43196]
(cherry picked from commit fe4d0fbc7c)
2016-10-05 12:20:46 +11:00
Mark Andrews
9ee66e3a5b 4472. [bug] Named could fail to find the correct NSEC3 records when
a zone was update between looking for the answer and
                        looking for the NSEC3 records proving non-existance
                        of the answer. [RT #43247]
2016-10-05 10:37:17 +11:00
Witold Krecicki
62f3453730 [master] Fix a minor bug in isc_netaddr_masktoprefixlen
(cherry picked from commit f78603b534)
2016-10-05 09:07:17 +11:00
Mukund Sivaraman
6f2752da7a Typo
(cherry picked from commit b7d07b861b)
2016-10-01 11:35:38 +05:30
Witold Krecicki
b4e6d4c724 [master] Disable dig IPv4-to-IPv6 mapping system test on OpenBSD 2016-09-30 12:20:55 +02:00
Mark Andrews
1477c19dd9 make statschannel version number agnostic 2016-09-29 17:01:06 +10:00
Tinderbox User
1ca759b3f5 regen v9_11 2016-09-28 23:05:58 +00:00
Mark Andrews
8b2b41ba4f 9.11.0 2016-09-29 09:00:27 +10:00
Evan Hunt
19977879ca [v9_11] minor cleanup/clarification in dnstap documentation
Patch submitted by Tony Finch (dot@dotat.at).

(cherry picked from commit e9917a51d3)
2016-09-27 20:46:54 -07:00
Mark Andrews
11d37bfa8d use repo.isc.org rt43254
(cherry picked from commit ea23a4868c)
2016-09-26 15:25:37 +10:00
Tinderbox User
c54d7ba815 regenerate 2016-09-23 03:50:44 +00:00
Tinderbox User
3cdd0f1bc9 regen v9_11 2016-09-23 01:09:59 +00:00
Evan Hunt
fcadf0b320 [v9_11] render querylog format consistent, and add a release note
4471.	[cleanup]	Render client/query logging format consistent for
			ease of log file parsing. (Note that this affects
			"querylog" format: there is now an additional field
			indicating the client object address.) [RT #43238]

(cherry picked from commit c4b7db4932)
2016-09-22 14:49:26 -07:00
Tinderbox User
6d631f32e2 regen v9_11 2016-09-20 12:05:51 +00:00
Tinderbox User
e21a6f5ec6 regen v9_11 2016-09-20 12:01:36 +00:00
Mark Andrews
47f8b47b8d 9.11.0rc3 2016-09-20 21:19:46 +10:00
Mark Andrews
d9a7138196 whitespace 2016-09-20 21:00:24 +10:00
Mark Andrews
31c7bf574e move release tag 2016-09-14 12:53:36 +10:00
Tinderbox User
c5eabd6d9e 9.11.0rc2 regen 2016-09-14 01:19:28 +00:00
Tinderbox User
cfbd5fb444 regen v9_11 2016-09-14 01:08:07 +00:00
Mark Andrews
db9781d4a2 4468. [bug] Address ECS option handling issues. [RT #43191]
(cherry picked from commit df17290113)
2016-09-14 08:23:07 +10:00
Tinderbox User
9035967309 regen v9_11 2016-09-09 05:42:31 +00:00
Mark Andrews
8269f06a0f 9.11.0rc2 2016-09-09 15:38:24 +10:00
Tinderbox User
c4626e20fd regen v9_11 2016-09-09 02:56:03 +00:00
Tinderbox User
63d4f7ac56 regen v9_11 2016-09-09 02:21:56 +00:00
Mark Andrews
61349d96c0 reorder
(cherry picked from commit 9ffbc3f9b3)
2016-09-09 11:54:34 +10:00
Mark Andrews
cdf97b41dc add CVE-2016-2776
(cherry picked from commit d4c8a622c0)
2016-09-09 11:50:38 +10:00
Mark Andrews
97222baa4e add CVE-2016-2776
(cherry picked from commit 1090e198c4)
2016-09-09 11:39:47 +10:00
Mark Andrews
6cc63451da add CVE-2016-2776
(cherry picked from commit 9872e3fbd9)
2016-09-09 11:37:05 +10:00
Mark Andrews
700d3cb789 4467. [security] It was possible to trigger a assertion when rendering
a message. [RT #43139]

(cherry picked from commit 2bd0922cf9)
2016-09-09 11:31:59 +10:00
Mark Andrews
f024476161 4466. [bug] Interface scanning didn't work on a Windows system
without a non local IPv6 addresses. [RT #43130]

(cherry picked from commit 61ca100b80)
2016-09-08 14:26:09 +10:00
Mark Andrews
48ec547968 4465. [bug] Don't use "%z" as Windows doesn't support it.
[RT #43131]

(cherry picked from commit f1977af0d3)
2016-09-08 14:17:32 +10:00
Mark Andrews
095c47be54 4464. [bug] Fix windows python support. [RT #43173]
(cherry picked from commit 85468d4c81)
2016-09-08 13:55:48 +10:00
Mark Andrews
178dc0e1d6 4463. [bug] The dnstap system test failed on some systems.
[RT #43129]

(cherry picked from commit ed7097fc00)
2016-09-08 11:40:47 +10:00
Mark Andrews
6aaf3d01a1 4462. [bug] Don't describe a returned EDNS COOKIE as "good"
when there isn't a valid server cookie. [RT #43167]

(cherry picked from commit 58d622d96d)
2016-09-08 11:35:11 +10:00
Francis Dupont
086454217d Fixed obvious typo in t_atomic 2016-09-08 01:56:47 +02:00
Tinderbox User
cb5446c260 newcopyrights 2016-09-07 23:30:10 +00:00
Mark Andrews
143526179e restore release marker
(cherry picked from commit 5125df6753)
2016-09-07 14:14:42 +10:00
Mark Andrews
e51ba26500 4461. [bug] win32: not all external data was properly marked
as external data for windows dll. [RT #43161]

(cherry picked from commit 8eceb0bffe)
2016-09-07 14:14:40 +10:00
Tinderbox User
f71fa687c4 regen v9_11 2016-09-02 01:08:19 +00:00
Mark Andrews
98546bb432 s/secret_string/algorithm_id/ for cookie-algorithm
(cherry picked from commit fe09d4b609)
2016-09-01 12:05:33 +10:00
Tinderbox User
637cef10a9 regen v9_11 2016-09-01 01:08:33 +00:00
Evan Hunt
e615ecb7a5 [v9_11] correct default value of tcp-clients
(cherry picked from commit b46760b373)
2016-08-30 23:02:39 -07:00
Tinderbox User
3711866d8b update copyright notice / whitespace 2016-08-30 23:45:56 +00:00
Tinderbox User
052969f1f1 newcopyrights 2016-08-30 23:30:19 +00:00
Tinderbox User
e0815f8120 regenerate 2016-08-30 11:01:49 +00:00
Mark Andrews
f51c0bba70 silence unused variable 'pollstate' warning [RT #43109]
(cherry picked from commit 9d11e46714)
2016-08-30 14:26:17 +10:00
Mark Andrews
15bee593e7 4460. [test] Add system test for dnstap using unix domain sockets.
[RT #42926]

(cherry picked from commit 3e1fa8411b)
2016-08-30 11:21:33 +10:00
Mark Andrews
7100602261 spelling
(cherry picked from commit dc449c999c)
2016-08-30 09:55:08 +10:00
Mark Andrews
4d506ae0d1 whitespace 2016-08-30 09:42:33 +10:00
Evan Hunt
af326c2e3f [v9_11] fix tcp client memory leak
4459.	[bug]		TCP client objects created to handle pipeline queries
			were not cleaned up correctly, causing uncontrolled
			memory growth. [RT #43106]

(cherry picked from commit a26a62cef2)
2016-08-29 11:56:56 -07:00
Mukund Sivaraman
ce78690029 Update assertions to be more correct, and also remove use of a reserved word (#43090)
Note: this doesn't actually fix #43090.
(cherry picked from commit becac651e8)
2016-08-29 18:54:02 +05:30
Mark Andrews
301458d3d5 make depend needs to decend into lib/*/test [rt #43105]
(cherry picked from commit 5336feefb0)
2016-08-29 10:20:22 +10:00
Mark Andrews
d102ab1b84 4457. [maint] Added AAAA (2001:500:a8::e) for E.ROOT-SERVERS.NET.
(cherry picked from commit c55b572ccf)
2016-08-29 10:16:30 +10:00
Mark Andrews
d6fa26d0ad 4456. [doc] Add DOCTYPE and lang attribute to <html> tags.
[RT #42587]

(cherry picked from commit 63fe88e8d8)
2016-08-26 15:14:32 +10:00
Mark Andrews
1ea64ac3e5 remove spurious 'i'
(cherry picked from commit e1f590a59a)
2016-08-26 13:43:18 +10:00
Mark Andrews
1f65db3778 add isc_lex_setsourceline 2016-08-26 03:16:08 +00:00
Evan Hunt
f503aa345b [v9_11] pass source file and line to dyndb load function
4455.	[cleanup]	Allow dyndb modules to correctly log the filename
			and line number when processing configuration text
			from named.conf. [RT #43050]

(cherry picked from commit 02fb764681)
2016-08-25 18:09:45 -07:00
Tinderbox User
d3e2a34ffb regen v9_11 2016-08-26 01:08:09 +00:00
Tinderbox User
a3253fb44c update copyright notice / whitespace 2016-08-25 23:46:16 +00:00
Tinderbox User
6b9225c4be newcopyrights 2016-08-25 23:30:19 +00:00
Jeremy C. Reed
6dd849c866 fix the 8K number
from the upstream source:
/** Default `buffer_hint` value. */
2016-08-25 13:56:57 -04:00
Evan Hunt
99e64ce41f [v9_11] fix dnssec-policy.conf in notes
(cherry picked from commit bfb479d5e3)
2016-08-25 08:19:16 -07:00
Mark Andrews
6f36f2f7b8 rename ioqversion -> generation; move increment before fstrm_iothr_destroy
(cherry picked from commit 7535dd93a1)
2016-08-25 12:07:34 +10:00
Tinderbox User
7e71f05d86 regen v9_11 2016-08-25 01:08:27 +00:00
Mark Andrews
7df3f06c0b 4454. [bug] 'rndc dnstap -reopen' had a race issue. [RT #43089]
(cherry picked from commit 726cddb564)
2016-08-25 10:05:07 +10:00
Mark Andrews
d1cacbb374 4453. [bug] Prefetching of DS records failed to update their
RRSIGs. [RT #42865]

(cherry picked from commit f431bf02a6)
2016-08-25 09:53:50 +10:00
Mark Andrews
2be9d18ee9 4452. [bug] The default key manager policy file is now
<sysdir>/dnssec-policy.conf (usually
                        /etc/dnssec-policy.conf). [RT #43064]

(cherry picked from commit e09f18e349)
2016-08-25 09:53:33 +10:00
Tinderbox User
65a3f63297 update copyright notice / whitespace 2016-08-24 23:46:02 +00:00
Tinderbox User
de2c04f82e newcopyrights 2016-08-24 23:30:19 +00:00
Evan Hunt
756b54c8ff [v9_11] add missing release notes and fix other doc nits
(cherry picked from commit 864dc79dce)
2016-08-24 16:25:51 -07:00
Evan Hunt
8b82b4982c [v9_11] 43076 was missed from CHANGES
(cherry picked from commit 9d990968ad)
2016-08-24 14:09:48 -07:00
Evan Hunt
28a4d32b05 [v9_11] add dnssec-keygen and nslookup man page links to ARM
(cherry picked from commit 1e50c0d857)
2016-08-24 20:39:52 +00:00
Tinderbox User
cb927f08d9 regenerate 2016-08-23 05:27:13 +00:00
Mark Andrews
fdcfc6bae7 add signing -serial to rndc usage
(cherry picked from commit 7bb9972a1f)
2016-08-23 13:42:25 +10:00
Mark Andrews
a8cfd15880 update copyrights / whitespace 2016-08-23 09:50:22 +10:00
Evan Hunt
0b756d60e5 [v9_11] Added print.h include
(cherry picked from commit 76a3f42977)
2016-08-22 09:07:56 -07:00
Evan Hunt
22913d088f [v9_11] Merged rt43077 (new RSA verify unit test)
(cherry picked from commit fc41d120f0)
2016-08-22 09:07:52 -07:00
Evan Hunt
5026ac37c1 [v9_11] Merged rt43076 (log PKCS#11 provider load failure)
(cherry picked from commit 2f08617da9)
2016-08-22 09:07:45 -07:00
Evan Hunt
50a8f5f9b8 [v9_11] regen configure (cannot wait for cron)
(cherry picked from commit 228a095c29)
2016-08-22 09:07:32 -07:00
Tinderbox User
5cde7b189e regenerate 2016-08-19 09:59:00 +00:00
Witold Krecicki
892f238ace Prep for 9.11.0rc1 2016-08-19 11:34:11 +02:00
Tinderbox User
c2258eedf2 regen v9_11 2016-08-19 01:56:34 +00:00
Francis Dupont
7e89f3c9f8 Updated WIN32 part of TCP_FASTOPEN doc
(cherry picked from commit f4288bafe9)
2016-08-19 11:47:16 +10:00
Francis Dupont
12b4d2a75e _MSV_VER -> _MSC_VER 2016-08-19 11:46:28 +10:00
Francis Dupont
8425f3717a Fixed trivial typo
(cherry picked from commit fcb2309a9a)
2016-08-19 11:43:27 +10:00
Evan Hunt
32431c79c7 [master] fix dnstap query/response selectors
4427.	[bug]		The "query" and "response" parameters to the
			"dnstap" option had their functions reversed.

(cherry picked from commit e9bd1496ed)
2016-08-19 11:41:07 +10:00
Tinderbox User
7e09576b77 update copyright notice / whitespace 2016-08-19 01:23:39 +00:00
Mark Andrews
5c80172c5f 9.11.0rc1 2016-08-19 11:21:36 +10:00
Evan Hunt
428fc1a50e [v9_11] document power of 2 requirement for fstrm-set-input-queue-size
(cherry picked from commit dd666442d3)
2016-08-18 18:10:49 -07:00
Evan Hunt
d4bcb6ee58 [v9_11] missed renaming SIT to COOKIE
(cherry picked from commit b715ad3cdb)
2016-08-18 18:09:02 -07:00
Tinderbox User
281ed127e3 regen v9_11 2016-08-19 01:08:24 +00:00
Mark Andrews
77997fab4b update copyright list 2016-08-19 11:00:37 +10:00
Evan Hunt
11435e83c6 [v9_11] clarify README.site
(cherry picked from commit 6d2963e4d4)
2016-08-18 17:52:56 -07:00
Mark Andrews
c40906dfad 4450. [port] Provide more nuanced HSM support which better matches
the specific PKCS11 providers capabilities. [RT #42458]

(cherry picked from commit 8ee6f289d8)
2016-08-19 08:05:47 +10:00
Witold Krecicki
f9e49fd80e 4449. [test] Fix catalog zones test on slower systems. [RT #42997] 2016-08-18 18:17:17 +02:00
Mark Andrews
0350f56110 install isc/errno.h
(cherry picked from commit dec17fb662)
2016-08-18 22:12:49 +10:00
Mark Andrews
e8c70b0c35 4448. [bug] win32: ::1 was not being found when iterating
interfaces. [RT #42993]

(cherry picked from commit 6e4788dd12)
2016-08-18 21:59:45 +10:00
Mark Andrews
e722a7f2eb add dns_dt_getstats
(cherry picked from commit 81ace51190)
2016-08-18 12:22:14 +10:00
Mark Andrews
7204d08a31 4447. [tuning] Allow the fstrm_iothr_init() options to be set using
named.conf to control how dnstap manages the data
                        flow. [RT #42974]

(cherry picked from commit 934837913f)
2016-08-18 11:16:58 +10:00
Tinderbox User
a0c1ad17ab update copyright notice / whitespace 2016-08-17 23:46:03 +00:00
Tinderbox User
903fcd6a60 newcopyrights 2016-08-17 23:30:22 +00:00
Evan Hunt
6ce5279d0f [v9_11] check for STALE rdatasets in cache search
4446.	[bug]		The cache_find() and _findrdataset() functions
			could find rdatasets that had been marked stale.
			[RT #42853]

(cherry picked from commit 46e7763d19)
2016-08-17 11:44:41 -07:00
Evan Hunt
f5898cf348 [v9_11] fix dyndb issues; isc_errno_toresult()
4445.	[cleanup]	isc_errno_toresult() can now be used to call the
			formerly private function isc__errno2result().
			[RT #43050]

4444.	[bug]		Fixed some issues related to dyndb: A bug caused
			braces to be omitted when passing configuration text
			from named.conf to a dyndb driver, and there was a
			use-after-free in the sample dyndb driver. [RT #43050]

Patch for dyndb driver submitted by Petr Spacek at Red Hat.

(cherry picked from commit 3390d74e33)
2016-08-17 11:39:42 -07:00
Mark Andrews
ab598428c8 update dyndb_init inline documentationi [RT #43050]
(cherry picked from commit 8c2c6b8b42)
2016-08-17 14:12:54 +10:00
Mark Andrews
a5c76d926c use explict casts to silence truncation warnings
(cherry picked from commit 4cb2ad343f)
2016-08-16 12:29:32 +10:00
Tinderbox User
d621f10ebe update copyright notice / whitespace 2016-08-15 23:45:57 +00:00
Mark Andrews
f4e993861d update 2016-08-16 09:45:02 +10:00
Mark Andrews
c27c710939 4443. [func] Set TCP_MAXSEG in addition to IPV6_USE_MIN_MTU on
TCP sockets. [RT #42864]

(cherry picked from commit 7872d4d1c0)
2016-08-16 07:42:53 +10:00
Mark Andrews
4d09627fde don't return void
(cherry picked from commit 42a14518ac)
2016-08-16 07:37:10 +10:00
Mukund Sivaraman
4e9a1ad226 Fix RPZ CIDR tree insertion bug (#43035)
(cherry picked from commit 131307a70e)
2016-08-15 17:07:50 +05:30
Mark Andrews
d6a0e00dc3 add dnstap to help. [RT #42928]
(cherry picked from commit f814343d1b)
2016-08-15 11:56:37 +10:00
Mark Andrews
555469af35 4441. [cleanup] Alphabetize host's help output. [RT #43031]
(cherry picked from commit 8a98ea9e94)
2016-08-15 11:22:08 +10:00
Mark Andrews
dde130e859 update 2016-08-13 12:44:07 +10:00
Tinderbox User
911c11bf4b update copyright notice / whitespace 2016-08-12 23:45:53 +00:00
Mark Andrews
c5342425ea 4440. [func] Enable TCP fast open support when available on the
server side. [RT #42866]

(cherry picked from commit a977bc4c8e)
2016-08-12 15:32:00 +10:00
Mark Andrews
b4bbf49418 4439. [bug] Address race conditions getting ownernames of nodes.
[RT #43005]

(cherry picked from commit c7e021e2e6)
2016-08-12 14:09:34 +10:00
Mark Andrews
bd01b96d11 add isc_ratelimiter_setpushpop
(cherry picked from commit d260d5ef4c)
2016-08-12 12:40:02 +10:00
Mark Andrews
f3a4a5f8db 4438. [func] Use LIFO rather than FIFO when processing startup
notify and refresh queries. [RT #42825]

(cherry picked from commit 5734cd3943)
2016-08-12 11:34:29 +10:00
Tinderbox User
0cfa9af7ed regen v9_11 2016-08-12 01:08:44 +00:00
Mark Andrews
2fb6d3782b 4437. [func] Minimal-responses now has two additional modes
no-auth and no-auth-recursive which suppress
                        adding the NS records to the authority section
                        as well as the associated address records for the
                        nameservers. [RT #42005]

(cherry picked from commit 78e31dd187)
2016-08-12 10:49:57 +10:00
Mark Andrews
bc09fd1365 4436. [func] Return TLSA records as additional data for MX and SRV
lookups. [RT #42894]

(cherry picked from commit bb900e62bf)
2016-08-12 10:10:30 +10:00
Tinderbox User
ecd229e44c update copyright notice / whitespace 2016-08-11 23:45:54 +00:00
Mark Andrews
36be0aad8e 4435. [tuning] Only set IPV6_USE_MIN_MTU for UDP when the message
will not fit into a single IPv4 encapsulated IPv6
                        UDP packet when transmitted over a Ethernet link.
                        [RT #42871]

(cherry picked from commit 31ffec1541)
2016-08-12 09:43:55 +10:00
Mark Andrews
33f91e248b 4434. [protocol] Return EDNS EXPIRE option for master zones in addition
to slave zones. [RT #43008]

(cherry picked from commit bf2238b064)
2016-08-12 09:32:29 +10:00
Evan Hunt
51227d6f16 [v9_11] error on bad parameter to 'rndc dumpdb'
4433.	[cleanup]	Report an error when passing an invalid option or
			view name to "rndc dumpdb". [RT #42958]

(cherry picked from commit c38d989fdd)
2016-08-11 16:04:38 -07:00
Evan Hunt
175a8414a7 [v9_11] correct [testing] tags to [test] 2016-08-10 09:28:08 -07:00
Evan Hunt
770fe3dcab [v9_11] remove spurious newline in EDNS EXPIRE logging
Patch submitted by Tony Finch (dot@dotat.at).
2016-08-10 09:26:40 -07:00
Mark Andrews
9e4811dc90 4432. [testing] Hide rndc output on expected failures in logfileconfig
system test. [RT #27996]

(cherry picked from commit 12895c8d6f)
2016-08-10 13:07:05 +10:00
Tinderbox User
b0cd1a7a63 update copyright notice / whitespace 2016-08-09 00:25:59 +00:00
Mark Andrews
4c3d55cb2d update 2016-08-09 10:20:21 +10:00
Mark Andrews
12b791ae20 4431. [bug] named-checkconf now checks the rate-limit clause.
[RT #42970]
2016-08-08 23:54:15 +10:00
Mark Andrews
080582dc47 4430. [bug] Lwresd died if a search list was not defined.
Found by 0x710DDDD At Alibaba Security. [RT #42895]

(cherry picked from commit 3146be6fd6)
2016-08-08 10:23:22 +10:00
Mark Andrews
3a71cd8ca3 4429. [bug] Address potential use after free on fclose() error.
[RT #42976]

(cherry picked from commit c1915935cf)
2016-08-08 09:51:13 +10:00
Mark Andrews
02ceed9f83 4428. [bug] The "test dispatch getnext" unit test could fail
in a threaded build. [RT #42979]

(cherry picked from commit c4153b554d)
2016-08-08 09:39:47 +10:00
Mark Andrews
ba800567a3 regen 2016-07-30 07:45:54 +10:00
Mark Andrews
9bff99379e remove spurious breaks
(cherry picked from commit e95391abd4)
2016-07-29 23:56:59 +10:00
Witold Krecicki
a23f742c3d Remove spurious isc_stdio_open 2016-07-28 14:26:36 +02:00
Tinderbox User
e381c9c48e newcopyrights 2016-07-27 23:32:00 +00:00
Tinderbox User
3f72dac411 regenerate 2016-07-27 13:54:22 +00:00
Witold Krecicki
8db83c1e90 Move 9.11.0b3 marker in CHANGES (respin) 2016-07-27 15:46:59 +02:00
Witold Krecicki
ba340e4469 4426. [bug] Addressed Coverity warnings. [RT #42908] 2016-07-27 15:45:58 +02:00
Tinderbox User
1e9517ea21 regen v9_11 2016-07-27 01:12:35 +00:00
Witold Krecicki
bd9e956e03 Fix typos in nzd2nzf test 2016-07-26 21:16:15 +02:00
Mark Andrews
b8f9413618 add mdig, named-nzd2nzf, pkcs11-destroy, pkcs11-list, pkcs11-keygen and pkcs11-tokens manpages
(cherry picked from commit 915544f389)
2016-07-27 05:00:49 +10:00
Witold Krecicki
3783f45e68 Fix merge error in bin/tests/system/conf.sh.in, add missing cleanups in tests 2016-07-26 20:33:06 +02:00
Mark Andrews
c70fb599b9 add space in #error message 2016-07-26 11:28:29 +10:00
Mark Andrews
17d4581ce9 remove comma
(cherry picked from commit 0ac94b80e8)
2016-07-26 11:17:52 +10:00
Tinderbox User
0ff8d59a07 regen v9_11 2016-07-26 01:11:57 +00:00
Mark Andrews
b62db16a58 named-rrchecker is also in ${prefix}/bin 2016-07-26 07:12:00 +10:00
Mark Andrews
72cc860dd2 4425. [bug] arpaname and dnstap-read were not being installed
into ${prefix}/bin.  Tidy up installation issues
                        with CHANGE 4421. [RT #42910]

(cherry picked from commit 711aff9fa7)
2016-07-26 06:54:19 +10:00
Tinderbox User
52d94378a0 regenerate 2016-07-25 12:08:48 +00:00
Tinderbox User
5f0c46ca5f regen v9_11 2016-07-25 12:05:14 +00:00
Witold Krecicki
4a6f729845 Update API versions for release 9.11.0b3 2016-07-25 14:00:17 +02:00
Witold Krecicki
a6d873b8bc Fix merge error in bin/tools/Makefile.in 2016-07-25 13:15:27 +02:00
Tinderbox User
a548226d23 regen v9_11 2016-07-23 01:14:40 +00:00
Tinderbox User
14d7597167 update copyright notice / whitespace 2016-07-22 23:48:02 +00:00
Tinderbox User
c42fe4bf07 newcopyrights 2016-07-22 23:30:57 +00:00
Mark Andrews
3953cc1d49 add dns_keytable_forall
(cherry picked from commit 6655b7db13)
2016-07-22 20:34:14 +10:00
Mark Andrews
b7161f9898 4424. [experimental] Named now sends _ta-XXXX.<trust-anchor>/NULL queries
to provide feedback to the trust-anchor administrators
                        about how key rollovers are progressing as per
                        draft-ietf-dnsop-edns-key-tag-02.  This can be
                        disabled using 'trust-anchor-telemetry no;'.
                        [RT #40583]

(cherry picked from commit f20179857a)
2016-07-22 20:03:06 +10:00
Evan Hunt
2fee8782a6 [v9_11] copyrights 2016-07-21 20:06:52 -07:00
Evan Hunt
6d609c3cbe [v9_11] add aaaa for b.root-servers.net
4423.	[maint]		Added missing IPv6 address 2001:500:84::b for
			B.ROOT-SERVERS.NET. [RT #42898]

Patch submitted by Xoze Vazquez Perez (xose.vazquez@gmail.com).
2016-07-21 20:02:49 -07:00
Tinderbox User
eb2a5f51bd regen v9_11 2016-07-22 01:10:34 +00:00
Tinderbox User
adb0ac475d update copyright notice / whitespace 2016-07-21 23:46:46 +00:00
Evan Hunt
b83e886b30 [v9_11] silence clang warnings
4422.	[port]		Silence clang warnings in dig.c and dighost.c.
			[RT #42451]
2016-07-21 15:54:00 -07:00
Evan Hunt
2c9f6f236f [v9_11] add release note 2016-07-21 13:36:36 -07:00
Evan Hunt
ee9982dbd9 [v9_11] add missing file 2016-07-21 12:45:39 -07:00
Evan Hunt
12c8dec44b [v9_11] print.h 2016-07-21 11:25:26 -07:00
Evan Hunt
801707fe19 [v9_11] store "addzone" zone config in a NZD database
4421.	[func]		When built with LMDB (Lightning Memory-mapped
			Database), named will now use a database to store
			the configuration for zones added by "rndc addzone"
			instead of using a flat NZF file. This improves
			performance of "rndc delzone" and "rndc modzone"
			significantly. Existing NZF files will
			automatically by converted to NZD databases.
			To view the contents of an NZD or to roll back to
			NZF format, use "named-nzd2nzf". To disable
                        this feature, use "configure --without-lmdb".
                        [RT #39837]
2016-07-21 11:14:16 -07:00
Mark Andrews
529d8a7cf1 4420. [func] nslookup now looks for AAAA as well as A by default.
[RT #40420]

(cherry picked from commit e7e7efe901)
2016-07-22 03:28:28 +10:00
Witold Krecicki
d9d7b2657e 4419. [bug] Don't cause undefined result if the label of an
entry in catalog zone is changed. [RT #42708]
2016-07-21 13:07:56 +02:00
Witold Krecicki
1fe29e5d65 4418. [bug] Fix a compiler warning in GSSAPI code. [RT #42879] 2016-07-21 12:16:13 +02:00
Mark Andrews
02d54949f0 copyright
(cherry picked from commit e3d74bdd7f)
2016-07-21 19:39:25 +10:00
Mark Andrews
a1ddbcb37a more copyright cleanups
(cherry picked from commit 592127b7fa)
2016-07-21 19:16:24 +10:00
Mark Andrews
e79ed99510 update example copyright notice
(cherry picked from commit ed1a24cc86)
2016-07-21 19:09:34 +10:00
Mark Andrews
cb1d847607 update example copyright notice
(cherry picked from commit ba99d845a2)
2016-07-21 19:05:36 +10:00
Tinderbox User
5347c0fcb0 regen v9_11 2016-07-21 07:53:18 +00:00
Mark Andrews
194e2dfffa consolidate copyrights 2016-07-21 17:26:05 +10:00
Mark Andrews
a809c57ab2 consolidate copyrights 2016-07-21 17:25:39 +10:00
Mark Andrews
704e6c8876 copyright
(cherry picked from commit 813e9f7ee2)
2016-07-21 17:02:22 +10:00
Mark Andrews
bd5040035c regen 2016-07-21 17:02:06 +10:00
Evan Hunt
b05ccd39b3 [v9_11] remove SIT doc 2016-07-20 21:36:30 -07:00
Tinderbox User
6ce3705502 update copyright notice / whitespace 2016-07-20 23:48:08 +00:00
Evan Hunt
d907426f0f [v9_11] fix keymgr with low prepublication interval
4417.	[bug]		dnssec-keymgr could fail to create successor keys
			if the prepublication interval was set to a value
			smaller than the default. [RT #42820]

Patch submitted by Nis Wechselberg (enbewe@enbewe.de).
2016-07-20 15:14:20 -07:00
Evan Hunt
f0fe1930a2 [v9_11] normalize domain names for trailing dots
4416.	[bug]		dnssec-keymgr: Domain names in policy files could
			fail to match due to trailing dots. [RT #42807]

Patch submitted by Armin Pech (mail@arminpech.de).
2016-07-20 14:36:12 -07:00
Evan Hunt
a78396e652 [v9_11] deleted keys not correctly excluded
4415.	[bug]		dnssec-keymgr: Expired/deleted keys were not always
			excluded. [RT #42884]

Patch submitted by Nis Wechselberg (enewe@enbewe.de).
2016-07-20 14:29:01 -07:00
Tinderbox User
181125e682 update copyright notice / whitespace 2016-07-19 23:46:49 +00:00
Evan Hunt
7bc7cdd947 [v9_11] fix isc_atomic_xadd() on MIPS
4414.	[bug]		Corrected a bug in the MIPS implementation of
			isc_atomic_xadd(). [RT #41965]

Submitted by Lamont Jones (lamont@debian.org). Closes Debian issue #406409.
2016-07-19 11:12:09 -07:00
Mark Andrews
55d61515ec 4413. [bug] GSSAPI negotiation could fail if GSS_S_CONTINUE_NEEDED
was returned. [RT #42733]

(cherry picked from commit 63e58ad048)
2016-07-14 15:08:15 +10:00
Mark Andrews
111ec860a8 Visual Studio 2005 doesn't like named elements, construct addr using isc_netaddr_fromin6
(cherry picked from commit d937f8e999)
2016-07-14 11:31:01 +10:00
Mark Andrews
1ac74a984d Windows doesn't like LLU use ULL instead
(cherry picked from commit 6b5d6472cdbdb57ee7d8247d85f07c42fb347663)
2016-07-14 11:13:56 +10:00
Tinderbox User
1700442a77 regen v9_11 2016-07-14 00:01:54 +00:00
Mark Andrews
1ddde9710e 9.11.0b2 2016-07-14 09:54:08 +10:00
Tinderbox User
a217937e59 update copyright notice / whitespace 2016-07-13 23:46:23 +00:00
Mark Andrews
0ad430bda9 grammar
(cherry picked from commit 8f7881684b)
2016-07-14 09:42:51 +10:00
Mark Andrews
61b1075ddb bug -> security 2016-07-14 09:35:14 +10:00
Mukund Sivaraman
47ed813864 Some general cleanup (#42827)
(cherry picked from commit e65cd99461)
2016-07-13 14:31:48 +05:30
Mukund Sivaraman
2d5581de6e Make fixes for GCC 6 (#42721)
(cherry picked from commit 4116177ac4)
2016-07-13 13:56:22 +05:30
Evan Hunt
3525200d9f [v9_11] rndc dnstap -roll
4411.	[func]		"rndc dnstap -roll" automatically rolls the
			dnstap output file; the previous version is
			saved with ".0" suffix, and earlier versions
			with ".1" and so on. An optional numeric argument
			indicates how many prior files to save. [RT #42830]
2016-07-13 01:18:41 -07:00
Mark Andrews
28303a06ce 4410. [bug] Address use after free and memory leak with dnstap.
[RT #42746]

(cherry picked from commit a2101037d9)
2016-07-13 16:56:53 +10:00
Tinderbox User
576bce9d73 regen v9_11 2016-07-13 04:49:09 +00:00
Mark Andrews
d23a531fde add [RT #42694] 2016-07-13 11:36:52 +10:00
Mark Andrews
967c2a93ac issue -> flaw
(cherry picked from commit 268f9e6832)
2016-07-13 11:23:36 +10:00
Mark Andrews
64196d78c8 add more DNS64 default exclude acl tests
(cherry picked from commit d147d56227)
2016-07-13 10:58:46 +10:00
Mark Andrews
8a659aae94 spelling/grammar
(cherry picked from commit 1256b0c344)
2016-07-13 10:27:12 +10:00
Mark Andrews
f8ef82e475 sync 2016-07-12 11:34:50 +10:00
Mark Andrews
35c014cb1d 4408. [func] Continue waiting for expected response when we the
response we get does not match the request. [RT #41026]

(cherry picked from commit ec5e01747a)
2016-07-12 11:33:49 +10:00
Tinderbox User
e191be096c regen v9_11 2016-07-12 01:09:40 +00:00
Tinderbox User
ebb8a69f33 update copyright notice / whitespace 2016-07-11 23:47:19 +00:00
Mark Andrews
b740318a42 add CVE-2016-2775
(cherry picked from commit 909d442cc0)
2016-07-12 01:09:37 +10:00
Mukund Sivaraman
a16f42441a Use GCC builtin for clz in RPZ lookup code (#42818)
(cherry picked from commit 27038b159b)
2016-07-11 10:05:06 +05:30
Mark Andrews
4d8940486c 4409. [bug] DNS64 should exlude mapped addresses by default when
a exclude acl is not defined. [RT #42810]

(cherry picked from commit 557c7221fd)
2016-07-11 14:12:42 +10:00
Tinderbox User
e2f974003e regen v9_11 2016-07-08 01:09:30 +00:00
Tinderbox User
8760668acc newcopyrights 2016-07-07 04:18:11 +00:00
Mark Andrews
da984e8fc5 add note for rt42694
(cherry picked from commit 429701008e)
2016-07-07 13:50:56 +10:00
Mark Andrews
f555b59e36 4406. [bug] getrrsetbyname with a non absolute name could
trigger a infinite recursion bug in lwresd
                        and named with lwres configured if when combined
                        with a search list entry the resulting name is
                        too long. [RT #42694]

(cherry picked from commit 38cc2d14e2)
2016-07-07 13:50:38 +10:00
Tinderbox User
8a48b6b9b6 regen v9_11 2016-07-07 01:09:16 +00:00
Mark Andrews
2be74962e4 ignore bin/tests/system/rndc/ns4/named.conf
(cherry picked from commit 3c88f741c6)
2016-07-07 09:57:01 +10:00
Tinderbox User
1105cecdc2 update copyright notice / whitespace 2016-07-06 23:47:18 +00:00
Tinderbox User
1e07acce90 newcopyrights 2016-07-06 23:31:15 +00:00
Mark Andrews
d2647cd5fd license section is no longer a list 2016-07-06 13:01:40 +10:00
Mark Andrews
988c13928a spelling 2016-07-06 12:57:34 +10:00
Tinderbox User
6af971acc0 regen v9_11 2016-07-06 01:09:13 +00:00
Mark Andrews
8d9a134fe7 4405. [bug] Change 4342 introduced a regression where you could
not remove a delegation in a NSEC3 signed zone using
                        OPTOUT via nsupdate. [RT #42702]

(cherry picked from commit d811a7d9ef)
2016-07-06 10:14:01 +10:00
Evan Hunt
4695e981ba [v9_11] remove spurious license text 2016-07-05 15:42:38 -07:00
Mark Andrews
f2af4484a8 one -f the -D sync's should have been just -D
(cherry picked from commit 27505a932f)
2016-07-06 08:33:31 +10:00
Evan Hunt
0c9a909262 [v9_11] clarify some comments 2016-07-05 10:53:17 -07:00
Mark Andrews
c2a6e9d347 4404. [misc] Allow krb5-config to be used when configuring gssapi.
[RT #42580]

(cherry picked from commit c8fb7e488a)
2016-07-04 15:47:27 +10:00
Tinderbox User
1ffe3f29e3 regen v9_11 2016-07-03 01:09:09 +00:00
Evan Hunt
f0e7471845 [v9_11] notes formatting, fix a CHANGES tag 2016-07-02 14:06:27 -07:00
Tinderbox User
bcfc5188be newcopyrights 2016-06-29 23:30:11 +00:00
Mark Andrews
680c1ba73d ignore configure generated files
(cherry picked from commit 0dacb6efdf)
2016-06-29 23:32:27 +10:00
Mark Andrews
e96a2a2b89 ignore configure generated files
(cherry picked from commit cd734243d4)
2016-06-29 23:27:51 +10:00
Mark Andrews
27330b0e55 #include <stdlib.h>
(cherry picked from commit 700e08fcc4)
2016-06-29 11:39:14 +10:00
Mark Andrews
cccfafa311 4403. [bug] Rename variables and arguments that shadow: basename,
clone and gai_error.

(cherry picked from commit ecfa005085)
2016-06-29 11:26:49 +10:00
Mark Andrews
e8555412f1 4402. [bug] protoc-c is now a hard requirement for --enable-dnstap.
(cherry picked from commit d75bbd0d98)
2016-06-29 09:31:15 +10:00
Mark Andrews
9904949098 fix typo
(cherry picked from commit 273549a13584f21438a0065d4803d84129e5c8e2)
2016-06-28 12:09:09 +10:00
Tinderbox User
dca6957b62 regenerate 2016-06-27 17:38:13 +00:00
Tinderbox User
a1ff871f78 regen v9_11 2016-06-27 17:36:43 +00:00
Witold Krecicki
4ab08a8117 Fix a typo and missing link in notes.xml 2016-06-27 19:33:10 +02:00
Curtis Blackburn
448e23ed61 cleanup of notes.xml
added better text to describe the license change

    added information about the following changes to notes.xml

    +4396. [func] dnssec-keymgr now takes a '-r randomfile' option.
    + [RT #42455]
    +4392. [func] Collect statistics for RSSAC02v3 traffic-volume,
    + traffic-sizes and rcode-volume reporting. [RT #41475]
    +4388. [func] Support for master entries with TSIG keys in catalog
    + zones. [RT #42577]
    +4385. [func] Add support for allow-query and allow-transfer ACLs
    + to catalog zones. [RT #42578]
2016-06-27 10:01:58 -07:00
Witold Krecicki
a77f86b6ca Fix keymgr test for change 4400 [RT #42718] 2016-06-27 12:22:01 +02:00
Witold Krecicki
f5b0ad3c8d Prep 9.11.0b1 2016-06-27 11:38:59 +02:00
7491 changed files with 1049596 additions and 1557589 deletions

View File

@@ -1,83 +0,0 @@
BasedOnStyle: LLVM
IndentWidth: 8
UseTab: Always
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: false
AfterEnum: false
AfterStruct: false
AfterUnion: false
AfterControlStatement: MultiLine
AfterFunction: false # should also be MultiLine, but not yet supported
AfterExternBlock: false
BeforeElse: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
AlwaysBreakAfterReturnType: All
Cpp11BracedListStyle: false
ColumnLimit: 80
AlignAfterOpenBracket: Align
AlignConsecutiveBitFields: true
AlignConsecutiveDeclarations: false
AlignConsecutiveMacros: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
AlignEscapedNewlines: Left
DerivePointerAlignment: false
PointerAlignment: Right
PointerBindsToType: false
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<(urcu\.h|urcu/urcu-|urcu-)'
Priority: 2
- Regex: '^<urcu/'
Priority: 3
- Regex: '^<isc/'
Priority: 5
- Regex: '^<(pk11|pkcs11)/'
Priority: 10
- Regex: '^<dns/'
Priority: 15
- Regex: '^<dst/'
Priority: 20
- Regex: '^<isccc/'
Priority: 25
- Regex: '^<isccfg/'
Priority: 30
- Regex: '^<ns/'
Priority: 35
- Regex: '^<irs/'
Priority: 40
- Regex: '^<(dig|named|rndc|confgen|dlz)/'
Priority: 50
- Regex: '^<dlz_'
Priority: 55
- Regex: '^".*"'
Priority: 99
- Regex: '^<tests/'
Priority: 100
- Regex: '<openssl/'
Priority: 4
- Regex: '<(mysql|protobuf-c)/'
Priority: 4
- Regex: '.*'
Priority: 0
IndentExternBlock: NoIndent
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
PenaltyBreakAssignment: 30
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 80
PenaltyExcessCharacter: 100
Standard: Cpp11
ContinuationIndentWidth: 8
ForEachMacros: [ 'cds_lfs_for_each', 'cds_lfs_for_each_safe', 'cds_list_for_each_entry_safe', 'ISC_LIST_FOREACH', 'ISC_LIST_FOREACH_SAFE', 'ISC_LIST_FOREACH_REV', 'ISC_LIST_FOREACH_REV_SAFE' ]
RemoveParentheses: ReturnStatement
RemoveSemicolon: true

View File

@@ -1,82 +0,0 @@
BasedOnStyle: LLVM
IndentWidth: 8
UseTab: Always
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: false
AfterEnum: false
AfterStruct: false
AfterUnion: false
AfterControlStatement: MultiLine
AfterFunction: false # should also be MultiLine, but not yet supported
AfterExternBlock: false
BeforeElse: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
AlwaysBreakAfterReturnType: All
Cpp11BracedListStyle: false
ColumnLimit: 80
AlignAfterOpenBracket: Align
AlignConsecutiveBitFields: true
AlignConsecutiveDeclarations: true
AlignConsecutiveMacros: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AlwaysBreakBeforeMultilineStrings: false
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
AlignEscapedNewlines: Left
DerivePointerAlignment: false
PointerAlignment: Right
PointerBindsToType: false
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<(urcu/urcu-|urcu-)'
Priority: 2
- Regex: '^<urcu/'
Priority: 3
- Regex: '^<isc/'
Priority: 5
- Regex: '^<(pk11|pkcs11)/'
Priority: 10
- Regex: '^<dns/'
Priority: 15
- Regex: '^<dst/'
Priority: 20
- Regex: '^<isccc/'
Priority: 25
- Regex: '^<isccfg/'
Priority: 30
- Regex: '^<ns/'
Priority: 35
- Regex: '^<irs/'
Priority: 40
- Regex: '^<(dig|named|rndc|confgen|dlz)/'
Priority: 50
- Regex: '^<dlz_'
Priority: 55
- Regex: '^".*"'
Priority: 99
- Regex: '^<tests/'
Priority: 100
- Regex: '<openssl/'
Priority: 4
- Regex: '<(mysql|protobuf-c)/'
Priority: 4
- Regex: '.*'
Priority: 0
IndentExternBlock: NoIndent
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
PenaltyBreakAssignment: 30
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 80
PenaltyExcessCharacter: 100
Standard: Cpp11
ContinuationIndentWidth: 8
RemoveParentheses: ReturnStatement
RemoveSemicolon: true

View File

@@ -16,6 +16,10 @@
(concat directory-of-current-dir-locals-file "./"))
;; libisc
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/unix/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/pthreads/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/include"))
(expand-file-name
@@ -49,10 +53,6 @@
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/bind9/include"))
;; libtest
(expand-file-name
(concat directory-of-current-dir-locals-file "tests/include"))
;; bin
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/check"))
@@ -61,7 +61,7 @@
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/confgen"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/confgen/include"))
(concat directory-of-current-dir-locals-file "bin/confgen/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/dig/include"))
(expand-file-name
@@ -77,9 +77,6 @@
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/rndc/include"))
(expand-file-name "/usr/include/libxml2")
(expand-file-name "/usr/include/json-c")
(expand-file-name "/usr/local/opt/openssl@1.1/include")
(expand-file-name "/usr/local/opt/libxml2/include/libxml2")
(expand-file-name "/usr/local/opt/json-c/include/json-c/")
@@ -109,10 +106,6 @@
(list
"--enable=all"
"--suppress=missingIncludeSystem"
"--suppress=nullPointerRedundantCheck"
"--suppress=preprocessorErrorDirective"
"--suppress=unknownMacro"
"--suppress=unmatchedSuppression"
(concat "-include=" (expand-file-name
(concat directory-of-current-dir-locals-file "config.h")))
)

View File

@@ -1,5 +0,0 @@
[*.sh{,.in}]
indent_style = space
indent_size = 2
binary_next_line = true
switch_case_indent = true

File diff suppressed because it is too large Load Diff

16
.gitattributes vendored
View File

@@ -1,13 +1,5 @@
*.sln.in eol=crlf
*.vcxproj.* eol=crlf
/fuzz/dns_rdata_fromwire_text.in/input-* -text
.gitignore export-ignore
/conftools export-ignore
/doc/design export-ignore
/doc/dev export-ignore
/util/** export-ignore
/util/bindkeys.pl -export-ignore
/util/check-make-install.in -export-ignore
/util/dtrace.sh -export-ignore
*.vcxproj.in eol=crlf
*.vcxproj.filters.in eol=crlf
*.dsw eol=crlf
win32utils/**.txt eol=crlf

View File

@@ -1 +0,0 @@
contrib/gitchangelog/changelog.rc.py

View File

@@ -1,55 +0,0 @@
name: "CodeQL"
on:
push:
branches: [ "bind-9.16", "bind-9.18", "main" ]
schedule:
- cron: '39 8 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: liburcu-dev libuv1-dev libssl-dev libnghttp2-dev libxml2-dev liblmdb-dev libjson-c-dev pkg-config autoconf automake autotools-dev libtool-bin libjemalloc-dev libedit-dev libcap-dev libidn2-dev libkrb5-dev libmaxminddb-dev zlib1g-dev python3-ply
version: 1.0
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"

View File

@@ -1,15 +0,0 @@
name: 'Lock down mirror repository'
on:
issues:
types: opened
pull_request:
types: opened
jobs:
lockdown:
runs-on: ubuntu-latest
steps:
- uses: dessant/repo-lockdown@v2
with:
github-token: ${{ github.token }}

View File

@@ -1,50 +0,0 @@
name: SonarCloud
on:
push:
branches: [ "bind-9.16", "bind-9.18", "main" ]
schedule:
- cron: '39 8 * * 3'
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
env:
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install build dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: liburcu-dev libuv1-dev libssl-dev libnghttp2-dev libxml2-dev liblmdb-dev libjson-c-dev pkg-config autoconf automake autotools-dev libtool-bin libjemalloc-dev libedit-dev libcap-dev libidn2-dev libkrb5-dev libmaxminddb-dev zlib1g-dev python3-ply
version: 1.0
- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v1
- name: Run build-wrapper
run: |
autoreconf -fi
./configure
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make clean all
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"

50
.gitignore vendored
View File

@@ -4,18 +4,13 @@
*.gcno
*.la
*.lo
*.log
*.log.txt
*.o
*.orig
*.plist/ # ccc-analyzer store its results in .plist directories
*.rej
*.so
*.trs
*_test
*.ipch # vscode/intellisense precompiled header
*~
__pycache__/
.ccache/
.cproject
.deps/
@@ -40,6 +35,7 @@ __pycache__/
/depcomp
/install-sh
/isc-config.sh
/libltdl/*
/libtool
/ltmain.sh
/m4/libtool.m4
@@ -54,50 +50,12 @@ __pycache__/
/stamp-h1
/test-driver
Makefile
Makefile.in
Makefile.user
ans.run
gen.dSYM/
kyua.log
named.memstats
named.run
timestamp
/compile_commands.json
# Gets generated by Build Ear (bear)
/compile_commands.commands.json
/tsan
/util/check-make-install
/INSTALL
doc/man/dnssec-cds.8in
doc/man/dnssec-checkds.8in
doc/man/dnssec-coverage.8in
doc/man/dnssec-dsfromkey.8in
doc/man/dnssec-importkey.8in
doc/man/dnssec-keyfromlabel.8in
doc/man/dnssec-keygen.8in
doc/man/dnssec-keymgr.8in
doc/man/dnssec-ksr.8in
doc/man/dnssec-revoke.8in
doc/man/dnssec-settime.8in
doc/man/dnssec-signzone.8in
doc/man/dnssec-verify.8in
doc/man/named-checkconf.8in
doc/man/named-checkzone.8in
doc/man/named-journalprint.8in
doc/man/named-nzd2nzf.8in
doc/man/nsec3hash.8in
doc/man/pkcs11-destroy.8in
doc/man/pkcs11-keygen.8in
doc/man/pkcs11-list.8in
doc/man/pkcs11-tokens.8in
# clangd index directory
/\.cache/
/\.*_clangd/
# GNU Global index files
/GPATH
/GRTAGS
/GTAGS
TAGS
# Emacs specific files
\.dir-locals-2.el
/emacs.desktop
/emacs.desktop-lock
/cppcheck_html/
/cppcheck.results

File diff suppressed because it is too large Load Diff

View File

@@ -1,63 +0,0 @@
<!--
If the bug you are reporting is potentially security-related - for example,
if it involves an assertion failure or other crash in `named` that can be
triggered repeatedly - then please make sure that you make the new issue
confidential by clicking the checkbox at the bottom!
-->
### Summary
<!-- Concisely summarize the bug encountered. -->
### BIND version affected
<!--
Make sure you are testing with the **latest** supported version of BIND
for a given branch. Many bugs have been fixed over time!
See https://kb.isc.org/docs/supported-platforms for the current list.
The latest source is available from https://www.isc.org/download/#BIND
Paste the output of `named -V` here.
-->
### Steps to reproduce
<!--
This is extremely important! Be precise and use itemized lists, please.
Even if a default configuration is affected, please include the full configuration
files _you were testing with_.
Example:
1. Use _attached_ configuration file
2. Start BIND server with command: `named -g -c named.conf ...`
3. Simulate legitimate clients using command `dnsperf -S1 -d legit-queries ...`
4. Simulate attack traffic using command `dnsperf -S1 -d attack-queries ...`
-->
1.
2.
3.
### What is the current *bug* behavior?
<!-- What actually happens. -->
### What is the expected *correct* behavior?
<!-- What you should see instead. -->
### Relevant configuration files
<!-- Paste any relevant configuration files here - please use code blocks (```)
to format console output. If submitting the contents of your
configuration file in a non-confidential issue, it is advisable to
obscure key secrets; this can be done automatically by using
`named-checkconf -px`. -->
### Relevant logs
<!-- Paste any relevant logs here - please use code blocks (```) to format console
output, logs, and code, as it's very hard to read otherwise. -->
/label ~Bug

View File

@@ -1,8 +0,0 @@
Hi and thanks for filing an issue! It will be read with care by human beings.
It would be a tremendous help if you could follow these steps first:
- [ ] Search the existing issues in GitLab (both open and closed) to see if your report might be a duplicate. We have a large database here and many issues have already been fixed in the latest versions!
- [ ] Make sure this is **not** a support question. If you have specific trouble configuring or debugging your setup, please use the bind-users mailing list: https://lists.isc.org/mailman/listinfo/bind-users
- [ ] You have read and understood the "out in the open" support policy: https://blog.powerdns.com/2016/01/18/open-source-support-out-in-the-open/ . Even though it was written by the PowerDNS folks, we follow it as well!
Before continuing, **please select the appropriate issue template in the drop-down menu above, under the heading _Description_**.

View File

@@ -1,11 +0,0 @@
### Description
(Describe the problem, use cases, benefits, and/or goals.)
### Request
(Describe the solution you'd like to see.)
### Links / references
/label ~Feature

View File

@@ -1,122 +0,0 @@
<!--
THIS ISSUE TEMPLATE IS INTENDED ONLY FOR INTERNAL USE.
If the bug you are reporting is potentially security-related - for example,
if it involves an assertion failure or other crash in `named` that can be
triggered repeatedly - then please make sure that you make the new issue
confidential!
-->
| Quick Links | :link: |
| ------------------------ | ------------------------------------ |
| Incident Manager: | @user |
| Deputy Incident Manager: | @user |
| Public Disclosure Date: | YYYY-MM-DD |
| CVSS Score: | [0.0][cvss_score] |
| Security Advisory: | isc-private/printing-press!NNN |
| Mattermost Channel: | [CVE-YYYY-NNNN][mattermost_url] |
| Support Ticket: | [URL] |
| Release Checklist: | #NNNN |
[cvss_score]: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:X/AC:X/PR:X/UI:X/S:X/C:X/I:X/A:X&version=3.1
[mattermost_url]:
:bulb: **Click [here][checklist_explanations] (internal resource) for general information about the security incident handling process.**
[checklist_explanations]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations
### Earlier Than T-5
- [ ] [:link:][step_deputy] **(IM)** Pick a Deputy Incident Manager
- [ ] [:link:][step_respond] **(IM)** Respond to the bug reporter
- [ ] [:link:][step_public_mrs] **(SwEng)** Ensure there are no public merge requests which inadvertently disclose the issue
- [ ] [:link:][step_assign_cve_id] **(IM)** Assign a CVE identifier
- [ ] [:link:][step_note_cve_info] **(SwEng)** Update this issue with the assigned CVE identifier and the CVSS score
- [ ] [:link:][step_versions_affected] **(SwEng)** Determine the range of product versions affected (including the Subscription Edition)
- [ ] [:link:][step_workarounds] **(SwEng)** Determine whether workarounds for the problem exist
- [ ] [:link:][step_coordinate] **(SwEng)** If necessary, coordinate with other parties
- [ ] [:link:][step_earliest_prepare] **(Support)** Prepare "earliest" notification text and hand it off to Marketing
- [ ] [:link:][step_earliest_send] **(Marketing)** Update "earliest" notification document in SF portal and send bulk email to earliest customers
- [ ] [:link:][step_advisory_mr] **(Support)** Create a merge request for the Security Advisory and include all readily available information in it
- [ ] [:link:][step_reproducer_mr] **(SwEng)** Prepare a private merge request containing a system test reproducing the problem
- [ ] [:link:][step_notify_support] **(SwEng)** Notify Support when a reproducer is ready
- [ ] [:link:][step_code_analysis] **(SwEng)** Prepare a detailed explanation of the code flow triggering the problem
- [ ] [:link:][step_fix_mr] **(SwEng)** Prepare a private merge request with the fix
- [ ] [:link:][step_review_fix] **(SwEng)** Ensure the merge request with the fix is reviewed and has no outstanding discussions
- [ ] [:link:][step_review_docs] **(Support)** Review the documentation changes introduced by the merge request with the fix
- [ ] [:link:][step_backports] **(SwEng)** Prepare backports of the merge request addressing the problem for all affected (and still maintained) branches of a given product
- [ ] [:link:][step_finish_advisory] **(Support)** Finish preparing the Security Advisory
- [ ] [:link:][step_meta_issue] **(QA)** Create (or update) the private issue containing links to fixes & reproducers for all CVEs fixed in a given release cycle
- [ ] [:link:][step_merge_fixes] **(QA)** Merge the CVE fixes in CVE identifier order
- [ ] [:link:][step_patches] **(QA)** Prepare a standalone patch for the last stable release of each affected (and still maintained) product branch
- [ ] [:link:][step_asn_releases] **(QA)** Prepare ASN releases (as outlined in the Release Checklist)
### At T-5
- [ ] [:link:][step_asn_documents] **(Marketing)** Update the text on the T-5 (from the Printing Press project) and "earliest" ASN documents in the SF portal
- [ ] [:link:][step_asn_links] **(Marketing)** (BIND 9 only) Update the BIND -S information document in SF with download links to the new versions
- [ ] [:link:][step_asn_send] **(Marketing)** Bulk email eligible customers to check the SF portal
- [ ] [:link:][step_preannouncement] **(Marketing)** (BIND 9 only) Send a pre-announcement email to the *bind-announce* mailing list to alert users that the upcoming release will include security fixes
### At T-1
- [ ] [:link:][step_packager_emails] **(First IM)** Send notifications to OS packagers
### On the Day of Public Disclosure
- [ ] [:link:][step_clearance] **(IM)** Grant QA & Marketing clearance to proceed with public release
- [ ] [:link:][step_publish] **(QA/Marketing)** Publish the releases (as outlined in the release checklist)
- [ ] [:link:][step_matrix] **(Support)** (BIND 9 only) Add the new CVEs to the vulnerability matrix in the Knowledge Base
- [ ] [:link:][step_publish_advisory] **(Support)** Bump Document Version for the Security Advisory and publish it in the Knowledge Base
- [ ] [:link:][step_notifications] **(First IM)** Send notification emails to third parties
- [ ] [:link:][step_mitre] **(First IM)** Advise MITRE about the disclosed CVEs
- [ ] [:link:][step_merge_advisory] **(First IM)** Merge the Security Advisory merge request
- [ ] [:link:][step_embargo_end] **(IM)** Inform original reporter (if external) that the security disclosure process is complete
- [ ] [:link:][step_asn_clear] **(Marketing)** Update the SF portal to clear the ASN
- [ ] [:link:][step_customers] **(Marketing)** Email ASN recipients that the embargo is lifted
### After Public Disclosure
- [ ] [:link:][step_regression] **(QA)** Merge a regression test reproducing the bug into all affected (and still maintained) branches
[step_deputy]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#pick-a-deputy-incident-manager
[step_respond]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#respond-to-the-bug-reporter
[step_public_mrs]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#ensure-there-are-no-public-merge-requests-which-inadvertently-disclose-the-issue
[step_assign_cve_id]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#assign-a-cve-identifier
[step_note_cve_info]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#update-this-issue-with-the-assigned-cve-identifier-and-the-cvss-score
[step_versions_affected]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#determine-the-range-of-product-versions-affected-including-the-subscription-edition
[step_workarounds]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#determine-whether-workarounds-for-the-problem-exist
[step_coordinate]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#if-necessary-coordinate-with-other-parties
[step_earliest_prepare]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-earliest-notification-text-and-hand-it-off-to-marketing
[step_earliest_send]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#update-earliest-notification-document-in-sf-portal-and-send-bulk-email-to-earliest-customers
[step_advisory_mr]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#create-a-merge-request-for-the-security-advisory-and-include-all-readily-available-information-in-it
[step_reproducer_mr]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-a-private-merge-request-containing-a-system-test-reproducing-the-problem
[step_notify_support]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#notify-support-when-a-reproducer-is-ready
[step_code_analysis]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-a-detailed-explanation-of-the-code-flow-triggering-the-problem
[step_fix_mr]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-a-private-merge-request-with-the-fix
[step_review_fix]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#ensure-the-merge-request-with-the-fix-is-reviewed-and-has-no-outstanding-discussions
[step_review_docs]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#review-the-documentation-changes-introduced-by-the-merge-request-with-the-fix
[step_backports]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-backports-of-the-merge-request-addressing-the-problem-for-all-affected-and-still-maintained-branches-of-a-given-product
[step_finish_advisory]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#finish-preparing-the-security-advisory
[step_meta_issue]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#create-or-update-the-private-issue-containing-links-to-fixes-reproducers-for-all-cves-fixed-in-a-given-release-cycle
[step_changes]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bind-9-only-reserve-a-block-of-changes-placeholders-once-the-complete-set-of-vulnerabilities-fixed-in-a-given-release-cycle-is-determined
[step_merge_fixes]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#merge-the-cve-fixes-in-cve-identifier-order
[step_patches]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-a-standalone-patch-for-the-last-stable-release-of-each-affected-and-still-maintained-product-branch
[step_asn_releases]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#prepare-asn-releases-as-outlined-in-the-release-checklist
[step_asn_documents]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#update-the-text-on-the-t-5-from-the-printing-press-project-and-earliest-asn-documents-in-the-sf-portal
[step_asn_links]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bind-9-only-update-the-bind-s-information-document-in-sf-with-download-links-to-the-new-versions
[step_asn_send]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bulk-email-eligible-customers-to-check-the-sf-portal
[step_preannouncement]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bind-9-only-send-a-pre-announcement-email-to-the-bind-announce-mailing-list-to-alert-users-that-the-upcoming-release-will-include-security-fixes
[step_packager_emails]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#send-notifications-to-os-packagers
[step_clearance]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#grant-qa-marketing-clearance-to-proceed-with-public-release
[step_publish]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#publish-the-releases-as-outlined-in-the-release-checklist
[step_matrix]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bind-9-only-add-the-new-cves-to-the-vulnerability-matrix-in-the-knowledge-base
[step_publish_advisory]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#bump-document-version-for-the-security-advisory-and-publish-it-in-the-knowledge-base
[step_notifications]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#send-notification-emails-to-third-parties
[step_mitre]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#advise-mitre-about-the-disclosed-cves
[step_merge_advisory]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#merge-the-security-advisory-merge-request
[step_embargo_end]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#inform-original-reporter-if-external-that-the-security-disclosure-process-is-complete
[step_asn_clear]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#update-the-sf-portal-to-clear-the-asn
[step_customers]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#email-asn-recipients-that-the-embargo-is-lifted
[step_regression]: https://gitlab.isc.org/isc-private/isc-wiki/-/wikis/Security-Incident-Handling-Checklist-Explanations#merge-a-regression-test-reproducing-the-bug-into-all-affected-and-still-maintained-branches
/confidential

View File

@@ -1,139 +0,0 @@
### Summary
<!--
Concisely summarize the bug encountered,
preferably in one paragraph or less.
-->
### BIND versions affected
<!--
Make sure you are testing with the **latest** supported version of BIND.
See https://kb.isc.org/docs/supported-platforms for the current list.
The latest source is available from https://www.isc.org/download/#BIND
Paste the output of `named -V` here.
-->
### Preconditions and assumptions
<!--
Is a specific setup needed?
Please check the BIND Security Assumptions chapter in the ARM:
https://bind9.readthedocs.io/en/latest/chapter7.html#security-assumptions
E.g. DNSSEC validation must be disabled, etc.
E.g. Resolver must be configured to forward to attacker's server via DNS-over-TLS, etc.
E.g. Authoritative server must be configured to transfer specific primary zone.
E.g. Attacker must be in posession of a key authorized to modify at least one zone.
E.g. Attacker can affect system clock on the server running BIND.
-->
### Attacker's abilities
<!--
What resources does an attacker need to have under their control to mount this attack?
E.g. If attacking an authoritative server, does the attacked have to have prior
relationship with it? "The authoritative server under attack needs to
transfer a malicious zone from attacker's authoritative server via TLS."
E.g. If attacking a resolver, does the attacker need the ability to send
arbitrary queries to the resolver under attack? Do they need to _also_ control
an authoritative server at the same time?
-->
### Impact
<!--
Who or what is the victim of the attack and what is the impact?
Is a third party receiving many packets generated by a reflection attack?
If the affected party is the BIND server itself, please quantify the impact
on legitimate clients:
E.g. After launching the attack, the answers-per-second metric for legitimate
traffic drops to 1/1000 within the first minute of the attack.
-->
### Steps to reproduce
<!--
This is extremely important! Be precise and use itemized lists, please.
Even if a default configuration is affected, please include the full configuration
files _you were testing with_.
Example:
1. Use the _attached_ configuration file
2. Start the BIND server with command: `named -g -c named.conf ...`
3. Simulate legitimate clients using the command `dnsperf -S1 -d legit-queries ...`
4. Simulate attack traffic using the command `dnsperf -S1 -d attack-queries ...`
-->
1.
2.
3.
### What is the current *bug* behavior?
<!--
Examples:
Legitimate QPS drops 1000x.
Memory consumption increases out of bounds and the server crashes.
The server crashes immediately.
-->
### What is the expected *correct* behavior?
<!--
If the attack causes resource exhaustion, what do you think the correct
behavior should be? Should BIND refuse to process more requests?
What heuristic do you propose to distinguish legitimate and attack traffic?
-->
### Relevant logs
<!--
Please provide log files from your testing. Include full named logs and also
the output from any testing tools (e.g. dnsperf, DNS Shotgun, kxdpgun, etc.)
If multiple log files are needed, make sure all the files have matching timestamps
so we can correlate log events across log files.
In the case of resource exhaustion attacks, please _also_ include system monitoring
data. You can use https://gitlab.isc.org/isc-projects/resource-monitor/ to
gather system-wide statistics.
-->
### Coordination
- Does this issue affect multiple implementations?
<!--
Issues affecting multiple implementations require very careful coordination. We
have to make sure the information does not leak to the public until vendors are ready to
release fixed versions. If it is a multi-vendor issue, we need to know about the situation
as soon as possible to start the (confidential!) coordination process within
DNS-OARC and other suitable fora.
Please list implementations you have tested.
-->
- Have you shared the information with anyone else?
<!--
Have you informed other affected vendors? Or maybe submitted a paper for
review?
-->
- What is your plan to publicize this issue?
<!--
E.g. we plan to go public during conference XYZ on 20XX-XX-XX
-->
### Acknowledgements
<!--
Please specify whether and how you would like to be publicly credited with
discovering the issue. We normally use the format:
First_name Last_name, Company_or_Team.
-->
<!-- DO NOT modify the following two lines. -->
/label ~Bug ~Security
/confidential

View File

@@ -1,27 +0,0 @@
Alan Clegg <aclegg@isc.org>
Alessio Podda <alessio@isc.org>
Aram Sargsyan <aram@isc.org>
Artem Boldariev <artem@isc.org> <artem@boldariev.com>
Curtis Blackburn <ckb@isc.org> <ckb@freebsd11.local>
Curtis Blackburn <ckb@isc.org> <ckb@isc.org>
Diego Fronza <diego@isc.org>
Evan Hunt <each@isc.org> Evan Hunt <fanf@isc.org>
Håvard Eidnes <he@uninett.no>
Jeremy C. Reed <jreed@isc.org> <jreed@docs.lab.isc.org>
Jeremy C. Reed <jreed@isc.org> <jreed@ISC.org>
Joey Salazar <joey@isc.org>
John H. DuBois III <johnd>
Mark Andrews <marka@isc.org>
Mark Andrews <marka@isc.org> <marka@daemon.lab.isc.org>
Mark Andrews <marka@isc.org> <marka@newdocs.lab.isc.org>
Matthijs Mekking <matthijs@isc.org> <github@pletterpet.nl>
Nicki Křížek <nicki@isc.org> <tkrizek@isc.org>
Ondřej Surý <ondrej@isc.org>
Ondřej Surý <ondrej@isc.org> <ondrej@openbsd-6-9.home.sury.org>
Ondřej Surý <ondrej@isc.org> <ondrej@sury.org>
Petr Menšík <pemensik@redhat.com>
Petr Menšík <pemensik@redhat.com> <pmensik@redhat.com>
Robert Edmonds <edmonds>
Tatuya JINMEI 神明達哉 <jinmei@isc.org>
Witold Kręcicki <wpk@isc.org>
Witold Kręcicki <wpk@isc.org> <wpk@culm.net>

View File

@@ -1,28 +0,0 @@
[IMPORTS]
deprecated-modules=
dns.resolver,
[MESSAGES CONTROL]
disable=
C0103, # invalid-name
C0114, # missing-module-docstring
C0115, # missing-class-docstring
C0116, # missing-function-docstring
C0209, # consider-using-f-string
C0301, # line-too-long, handled better by black
C0302, # too-many-lines
C0415, # import-outside-toplevel
R0801, # duplicate-code
R0901, # too-many-ancestors
R0902, # too-many-instance-attributes
R0903, # too-few-public-methods
R0904, # too-many-public-methods
R0911, # too-many-return-statements
R0912, # too-many-branches
R0913, # too-many-arguments
R0914, # too-many-locals
R0915, # too-many-statements
R0916, # too-many-boolean-expressions
R0917, # too-many-positional-arguments

View File

@@ -1,18 +0,0 @@
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
jobs:
pre_build:
- python -m pip install -r https://gitlab.isc.org/isc-projects/bind9/-/raw/main/doc/arm/requirements.txt
# Build documentation in doc/arm/ with Sphinx
sphinx:
configuration: doc/arm/conf.py
# Build all formats
formats: all

View File

@@ -1,230 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: BIND 9
Upstream-Contact: Internet Systems Consortium, Inc. ("ISC") <info@isc.org>
Source: https://gitlab.isc.org/isc-projects/bind9/
#
# Build system, data files from tests, and misc cruft
#
Files: **/*.after*
**/*.bad
**/*.batch
**/*.before*
**/*.ccache
**/*.good
**/*.key
**/*.pem
**/*.private
**/*.raw
**/*.saved
**/*.zonelist
**/*dig.out*
**/Makefile
**/Makefile.*
**/testdata/*
.github/*
.gitlab/*
.mailmap
AUTHORS
COPYRIGHT
Makefile
Makefile.*
bin/tests/system/checkzone/zones/bad-caa-rr.db
bin/tests/system/checkzone/zones/bad1.db
bin/tests/system/checkzone/zones/crashzone.db
bin/tests/system/dnstap/large-answer.fstrm
bin/tests/system/doth/CA/CA.cfg
bin/tests/system/doth/CA/README
bin/tests/system/doth/CA/index.txt
bin/tests/system/doth/CA/index.txt.attr
bin/tests/system/doth/CA/serial
bin/tests/system/formerr/badnsec3owner
bin/tests/system/formerr/badrecordname
bin/tests/system/formerr/dupans
bin/tests/system/formerr/dupquestion
bin/tests/system/formerr/keyclass
bin/tests/system/formerr/malformeddeltype
bin/tests/system/formerr/malformedrrsig
bin/tests/system/formerr/nametoolong
bin/tests/system/formerr/noquestions
bin/tests/system/formerr/optwrongname
bin/tests/system/formerr/qtypeasanswer
bin/tests/system/formerr/questionclass
bin/tests/system/formerr/shortquestion
bin/tests/system/formerr/shortrecord
bin/tests/system/formerr/tsignotlast
bin/tests/system/formerr/tsigwrongclass
bin/tests/system/formerr/twoquestionnames
bin/tests/system/formerr/twoquestiontypes
bin/tests/system/formerr/wrongclass
bin/tests/system/forward/CA/CA.cfg
bin/tests/system/forward/CA/README
bin/tests/system/forward/CA/index.txt
bin/tests/system/forward/CA/index.txt.attr
bin/tests/system/forward/CA/serial
bin/tests/system/isctest/vars/.ac_vars/*
bin/tests/system/journal/ns1/managed-keys.bind.in
bin/tests/system/journal/ns1/managed-keys.bind.jnl.in
bin/tests/system/journal/ns2/managed-keys.bind.in
bin/tests/system/journal/ns2/managed-keys.bind.jnl.in
bin/tests/system/keepalive/expected
bin/tests/system/legacy/ns6/edns512.db.signed
bin/tests/system/legacy/ns7/edns512-notcp.db.signed
bin/tests/system/masterfile/knowngood.include
bin/tests/system/masterfile/knowngood.ttl1
bin/tests/system/masterfile/knowngood.ttl2
bin/tests/system/notify/CA/CA.cfg
bin/tests/system/notify/CA/README
bin/tests/system/notify/CA/index.txt
bin/tests/system/notify/CA/index.txt.attr
bin/tests/system/notify/CA/serial
bin/tests/system/notify/ns4/named.port.in
bin/tests/system/nsupdate/CA/CA.cfg
bin/tests/system/nsupdate/CA/README
bin/tests/system/nsupdate/CA/index.txt
bin/tests/system/nsupdate/CA/index.txt.attr
bin/tests/system/nsupdate/CA/serial
bin/tests/system/nsupdate/commandlist
bin/tests/system/nsupdate/verylarge.in
bin/tests/system/org.isc.bind.system.plist
bin/tests/system/pipelined/input
bin/tests/system/pipelined/inputb
bin/tests/system/pipelined/ref
bin/tests/system/pipelined/refb
bin/tests/system/rsabigexponent/ns2/dsset-example.in
bin/tests/system/run.gdb
bin/tests/system/runtime/ctrl-chars
bin/tests/system/runtime/long-cmd-line
bin/tests/system/statschannel/traffic.expect.1
bin/tests/system/statschannel/traffic.expect.2
bin/tests/system/statschannel/traffic.expect.4
bin/tests/system/statschannel/traffic.expect.5
bin/tests/system/statschannel/traffic.expect.6
bin/tests/system/tcp/1996-alloc_dnsbuf-crash-test.pkt
bin/tests/system/tsig/badlocation
bin/tests/system/tsig/badtime
bin/tests/system/unknown/large.out
bin/tests/system/xfer/ans5/badkeydata
bin/tests/system/xfer/ans5/badmessageid
bin/tests/system/xfer/ans5/ednsformerr
bin/tests/system/xfer/ans5/ednsnotimp
bin/tests/system/xfer/ans5/goodaxfr
bin/tests/system/xfer/ans5/ixfrnotimp
bin/tests/system/xfer/ans5/partial
bin/tests/system/xfer/ans5/soamismatch
bin/tests/system/xfer/ans5/unknownkey
bin/tests/system/xfer/ans5/unsigned
bin/tests/system/xfer/ans5/wrongkey
bin/tests/system/xfer/ans5/wrongname
bin/tests/system/xfer/knowngood.mapped
cocci/*.cocci
cocci/*.disabled
cocci/*.spatch
doc/arm/*.dia
doc/arm/*.png
doc/arm/isc-logo.pdf
doc/man/*.1in
doc/man/*.5in
doc/man/*.8in
fuzz/*.in/*
Copyright: Internet Systems Consortium, Inc. ("ISC")
License: MPL-2.0
#
# DNSSEC Guide images
#
Files: doc/dnssec-guide/img/*.png
Copyright: Internet Systems Consortium, Inc. ("ISC")
License: MPL-2.0
#
# Libtool Files
#
Files: m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/ltversion.m4
m4/lt~obsolete.m4
Copyright: Free Software Foundation, Inc.
License:
This file is free software; the Free Software Foundation gives unlimited
permission to copy and/or distribute it, with or without modifications, as long
as this notice is preserved.
#
# DLZ Modules
#
Files: contrib/dlz/modules/*/testing/*
Copyright: Internet Systems Consortium, Inc. ("ISC")
Stichting NLnet, Netherlands
License: ISC and MPL-2.0
#
# Stuff that's basically uncopyrightable (configuration, generated files),
# use CC0-1.0 for clarity that we don't care
#
Files: **/.clang-format
**/.clang-format.headers
**/.dir-locals.el
**/.gitattributes
**/.gitignore
**/named*.args
**/named.dropedns
**/named.ednsformerr
**/named.ednsnotimp
**/named.ednsrefused
**/named.maxudp1460
**/named.maxudp512
**/named.noaa
**/named.noedns
**/named.nosoa
**/named.notcp
**/startme
.clang-format
.clang-format.headers
.dir-locals.el
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore
.gitlab-ci.yml
.lgtm.yml
.pylintrc
.readthedocs.yaml
.tsan-suppress
.uncrustify.cfg
contrib/gitchangelog/changelog.rc.py
contrib/gitchangelog/relnotes.rc.py
doc/misc/*.zoneopt
doc/misc/options
doc/misc/rndc.grammar
sonar-project.properties
tests/bench/names.csv
Copyright: Internet Systems Consortium, Inc. ("ISC")
License: CC0-1.0
#
# geoip2 test files (mmdb is generated from json)
#
Files: bin/tests/system/geoip2/data/*.json
bin/tests/system/geoip2/data/*.mmdb
Copyright: Internet Systems Consortium, Inc. ("ISC")
License: CC0-1.0
#
# files that may be left over from other branches.
#
# in a newly cloned branch or after running "git clean", these
# files don't exist, but they can be left lying around after
# checking out an older branch. we explicitly ignore them so they
# won't clutter up the output when running "reuse lint" by hand
# in a working source tree.
#
Files: **/platform.h
bin/python/*
bin/tests/optional/*
make/*
unit/unittest.sh
Copyright: Internet Systems Consortium, Inc. ("ISC")
License: CC0-1.0

View File

@@ -1,16 +0,0 @@
{% for copyright_line in copyright_lines %}
{{ copyright_line }}
{% endfor %}
{% for expression in spdx_expressions %}
SPDX-License-Identifier: {{ expression }}
{% endfor %}
{% if "MPL-2.0" in spdx_expressions %}
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
{% endif %}

View File

@@ -1,3 +0,0 @@
# Uninstrumented libraries
called_from_lib:libfstrm.so
race:dummyrpz

File diff suppressed because it is too large Load Diff

54
AUTHORS
View File

@@ -1,54 +0,0 @@
Mark Andrews
Andreas Gustafsson
Evan Hunt
Brian Wellington
Bob Halley
David Lawrence
Michael Graff
Michael Sawyer
Ondřej Surý
James Brister
Tatuya JINMEI 神明達哉
Francis Dupont
Michał Kępień
Danny Mayer
Mukund Sivaraman
Jeremy C. Reed
William King
Stephen Morris
Witold Kręcicki
Curtis Blackburn
Scott Mann
Rob Austein
Jim Reid
Eric Luce
Olafur Gudmundsson
Stephen Jacob
Damien Neil
Tony Finch
Jakob Schlyter
Petr Menšík
Vernon Schryver
Matt Nelson
Shane Kerr
Paul Ebersman
Ray Bellis
Shawn Routhier
Ben Cottrell
Tomas Hozza
johnd
Bill Parker
李昶
Kevin Chen
Jonathan Casey
Mary Stahl
Mathieu Arnold
David Hankins
Paul Hoffman
Paul Vixie
Brian Conry
Anay Panvalkar
colleen
Robert Edmonds
João Damas
Artem Boldariev (Артем Болдарєв)

16582
CHANGES Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,84 +0,0 @@
<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
SPDX-License-Identifier: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
-->
# BIND 9 Code of Conduct
Like the technical community as a whole, the BIND 9 team and community is made
up of a mixture of professionals and volunteers from all over the world, working
on every aspect of the mission - including mentorship, teaching, and connecting
people.
Diversity is one of our huge strengths, but it can also lead to communication
issues and unhappiness. To that end, we have a few ground rules that we ask
people to adhere to. This code applies equally to the core development team,
open source contributors and those seeking help and guidance.
This isn't an exhaustive list of things that you can't do. Rather, take it in
the spirit in which it's intended - a guide to make it easier to enrich all of
us and the technical communities in which we participate.
This code of conduct applies to all spaces managed by the BIND 9 project or
Internet Systems Consortium. This includes chat, the mailing lists, the issue
tracker, and any other fora created by the project team which the
community uses for communication. In addition, violations of this code outside
these spaces may affect a person's ability to participate within them.
If you believe someone is violating the code of conduct, we ask that you report
it by emailing [conduct@isc.org](conduct@isc.org). For more details please see
our [Reporting Guidelines](https://www.isc.org/conductreporting/).
* **Be friendly and patient.**
* **Be welcoming.** We strive to be a community that welcomes and supports
people of all backgrounds and identities. This includes, but is not limited to
members of any race, ethnicity, culture, national origin, colour, immigration
status, social and economic class, educational level, sex, sexual orientation,
gender identity and expression, age, size, family status, political belief,
religion, and mental and physical ability.
* **Be considerate.** Your work will be used by other people, and you in turn
will depend on the work of others. Any decision you take will affect users and
colleagues, and you should take those consequences into account when making
decisions. Remember that we're a world-wide community, so you might not be
communicating in someone else's primary language.
* **Be respectful.** Not all of us will agree all the time, but disagreement is
no excuse for poor behavior and poor manners. We might all experience some
frustration now and then, but we cannot allow that frustration to turn into a
personal attack. It's important to remember that a community where people feel
uncomfortable or threatened is not a productive one. Members of the BIND 9
community should be respectful when dealing with other members as well as with
people outside the BIND 9 community.
* **Be careful in the words that you choose.** We are a community of
professionals, and we conduct ourselves professionally. Be kind to others. Do
not insult or put down other participants. Harassment and other exclusionary
behavior aren't acceptable. This includes, but is not limited to:
* Violent threats or language directed against another person.
* Discriminatory jokes and language.
* Posting sexually explicit or violent material.
* Posting (or threatening to post) other people's personally identifying
information ("doxing").
* Personal insults, especially those using racist or sexist terms.
* Unwelcome sexual attention.
* Advocating for, or encouraging, any of the above behavior.
* Repeated harassment of others. In general, if someone asks you to stop, then
stop.
* **When we disagree, try to understand why.** Disagreements, both social and
technical, happen all the time and BIND 9 is no exception. It is important
that we resolve disagreements and differing views constructively. Remember
that we're different. The strength of BIND 9 comes from its varied community,
people from a wide range of backgrounds. Different people have different
perspectives on issues. Being unable to understand why someone holds a
viewpoint doesn't mean that they're wrong. Don't forget that it is human to
err and blaming each other doesn't get us anywhere. Instead, focus on helping
to resolve issues and learning from mistakes.
Original text courtesy of the [Django Code of Conduct](https://www.djangoproject.com/conduct/)
project.

188
CONTRIBUTING Normal file
View File

@@ -0,0 +1,188 @@
CONTRIBUTING
BIND Source Access and Contributor Guidelines
Feb 22, 2018
Contents
1. Access to source code
2. Reporting bugs
3. Contributing code
Introduction
Thank you for using BIND!
BIND is open source software that implements the Domain Name System (DNS)
protocols for the Internet. It is a reference implementation of those
protocols, but it is also production-grade software, suitable for use in
high-volume and high-reliability applications. It is by far the most
widely used DNS software, providing a robust and stable platform on top of
which organizations can build distributed computing systems with the
knowledge that those systems are fully compliant with published DNS
standards.
BIND is and will always remain free and openly available. It can be used
and modified in any way by anyone.
BIND is maintained by the Internet Systems Consortium, a public-benefit
501(c)(3) nonprofit, using a "managed open source" approach: anyone can
see the source, but only ISC employees have commit access. Until recently,
the source could only be seen once ISC had published a release: read
access to the source repository was restricted just as commit access was.
That's now changing, with the opening of a public git mirror to the BIND
source tree (see below).
Access to source code
Public BIND releases are always available from the ISC FTP site.
A public-access GIT repository is also available at https://gitlab.isc.org
. This repository is a mirror, updated several times per day, of the
source repository maintained by ISC. It contains all the public release
branches; upcoming releases can be viewed in their current state at any
time. It does not contain development branches or unreviewed work in
progress. Commits which address security vulnerablilities are withheld
until after public disclosure.
You can browse the source online via https://gitlab.isc.org/isc-projects/
bind9
To clone the repository, use:
$ git clone https://gitlab.isc.org/isc-projects/bind9.git
Release branch names are of the form v9_X, where X represents the second
number in the BIND 9 version number. So, to check out the BIND 9.12
branch, use:
$ git checkout v9_12
Whenever a branch is ready for publication, a tag will be placed of the
form v9_X_Y. The 9.12.0 release, for instance, is tagged as v9_12_0.
The branch in which the next major release is being developed is called
master.
Reporting bugs
Reports of flaws in the BIND package, including software bugs, errors in
the documentation, missing files in the tarball, suggested changes or
requests for new features, etc, can be filed using https://gitlab.isc.org/
isc-projects/bind9/issues.
Due to a large ticket backlog, we are sometimes slow to respond,
especially if a bug is cosmetic or if a feature request is vague or low in
priority, but we will try at least to acknowledge legitimate bug reports
within a week.
ISC's ticketing system is publicly readable; however, you must have an
account to file a new issue. You can either register locally or use
credentials from an existing account at GitHub, GitLab, Google, Twitter,
or Facebook.
Reporting possible security issues
If you think you may be seeing a potential security vulnerability in BIND
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
report it immediately by emailing to security-officer@isc.org. Plain-text
e-mail is not a secure choice for communications concerning undisclosed
security issues so please encrypt your communications to us if possible,
using the ISC Security Officer public key.
Do not discuss undisclosed security vulnerabilites on any public mailing
list. ISC has a long history of handling reported vulnerabilities promptly
and effectively and we respect and acknowledge responsible reporters.
ISC's Security Vulnerability Disclosure Policy is documented at https://
kb.isc.org/article/AA-00861/0.
If you have a crash, you may want to consult ?What to do if your BIND or
DHCP server has crashed.?
Contributing code
BIND is licensed under the Mozilla Public License 2.0. Earier versions
(BIND 9.10 and earlier) were licensed under the ISC License
ISC does not require an explicit copyright assignment for patch
contributions. However, by submitting a patch to ISC, you implicitly
certify that you are the author of the code, that you intend to reliquish
exclusive copyright, and that you grant permission to publish your work
under the open source license used for the BIND version(s) to which your
patch will be applied.
BIND code
Patches for BIND may be submitted directly via merge requests in ISC's
Gitlab source repository for BIND.
Patches can also be submitted as diffs against a specific version of BIND
-- preferably the current top of the master branch. Diffs may be generated
using either git format-patch or git diff.
Those wanting to write code for BIND may be interested in the developer
information page, which includes information about BIND design and coding
practices, including discussion of internal APIs and overall system
architecture. (This is a work in progress, and still quite preliminary.)
Every patch submitted will be reviewed by ISC engineers following our code
review process before it is merged.
It may take considerable time to review patch submissions, especially if
they don't meet ISC style and quality guidelines. If a patch is a good
idea, we can and will do additional work to bring it up to par, but if
we're busy with other work, it may take us a long time to get to it.
To ensure your patch is acted on as promptly as possible, please:
* Try to adhere to the BIND 9 coding style.
* Run make check to ensure your change hasn't caused any functional
regressions.
* Document your work, both in the patch itself and in the accompanying
email.
* In patches that make non-trivial functional changes, include system
tests if possible; when introducing or substantially altering a
library API, include unit tests. See Testing for more information.
Changes to configure
If you need to make changes to configure, you should not edit it directly;
instead, edit configure.in, then run autoconf. Similarly, instead of
editing config.h.in directly, edit configure.in and run autoheader.
When submitting a patch as a diff, it's fine to omit the configure diffs
to save space. Just send the configure.in diffs and we'll generate the new
configure during the review process.
Documentation
All functional changes should be documented. There are three types of
documentation in the BIND source tree:
* Man pages are kept alongside the source code for the commands they
document, in files ending in .docbook; for example, the named man page
is bin/named/named.docbook.
* The BIND 9 Administrator Reference Manual is mostly in doc/arm/
Bv9ARM-book.xml, plus a few other XML files that are included in it.
* API documentation is in the header file describing the API, in
Doxygen-formatted comments.
It is not necessary to edit any documentation files other than these; all
PDF, HTML, and nroff-format man page files will be updated automatically
from the docbook and XML files after merging.
Patches to improve existing documentation are also very welcome!
Tests
BIND is a large and complex project. We rely heavily on continuous
automated testing and cannot merge new code without adequate test
coverage. Please see the 'Testing' section of doc/dev/dev.md for more
information.
Thanks
Thank you for your interest in contributing to the ongoing development of
BIND.

View File

@@ -1,17 +1,15 @@
<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
SPDX-License-Identifier: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
## BIND 9 Source Access and Contributor Guidelines
*Nov 26, 2024*
## BIND Source Access and Contributor Guidelines
*Feb 22, 2018*
### Contents
@@ -21,12 +19,12 @@ information regarding copyright ownership.
### Introduction
Thank you for using BIND 9!
Thank you for using BIND!
BIND is open source software that implements the Domain Name System (DNS)
protocols for the Internet. It is a reference implementation of those
protocols, but it is also production-grade software, suitable for use in
high-volume and high-reliability applications. It is very
high-volume and high-reliability applications. It is by far the most
widely used DNS software, providing a robust and stable platform on top of
which organizations can build distributed computing systems with the
knowledge that those systems are fully compliant with published DNS
@@ -35,34 +33,27 @@ standards.
BIND is and will always remain free and openly available. It can be
used and modified in any way by anyone.
BIND is maintained by [Internet Systems Consortium](https://www.isc.org),
BIND is maintained by the [Internet Systems Consortium](https://www.isc.org),
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
anyone can see the source, but only ISC employees have commit access.
In the past, the source could only be seen once ISC had published
a release; read access to the source repository was restricted just
as commit access was. That has changed, as ISC now provides a
public git repository of the BIND source tree (see below).
At ISC, we're committed to
building communities that are welcoming and inclusive: environments where people
are encouraged to share ideas, treat each other with respect, and collaborate
towards the best solutions. To reinforce our commitment, ISC
has adopted a slightly modified version of the Django
[Code of Conduct](https://gitlab.isc.org/isc-projects/bind9/-/blob/main/CODE_OF_CONDUCT.md)
for the BIND 9 project, as well as for the conduct of our developers throughout
the industry.
Until recently, the source could only be seen once ISC had published
a release: read access to the source repository was restricted just
as commit access was. That's now changing, with the opening of a
public git mirror to the BIND source tree (see below).
### <a name="access"></a>Access to source code
Public BIND releases are always available from the
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
A public-access git repository is also available at
[https://gitlab.isc.org](https://gitlab.isc.org). This repository
contains all public release branches. Upcoming releases can be viewed in
their current state at any time. Short-lived development branches
contain unreviewed work in progress. Commits which address security
vulnerablilities are withheld until after public disclosure.
A public-access GIT repository is also available at
[https://gitlab.isc.org](https://gitlab.isc.org).
This repository is a mirror, updated several times per day, of the
source repository maintained by ISC. It contains all the public release
branches; upcoming releases can be viewed in their current state at any
time. It does *not* contain development branches or unreviewed work in
progress. Commits which address security vulnerablilities are withheld
until after public disclosure.
You can browse the source online via
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
@@ -71,49 +62,61 @@ To clone the repository, use:
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
Release branch names are of the form `bind-9.X`, where X represents the second
number in the BIND 9 version number. So, to check out the BIND 9.20
Release branch names are of the form `v9_X`, where X represents the second
number in the BIND 9 version number. So, to check out the BIND 9.12
branch, use:
> $ git checkout bind-9.20
> $ git checkout v9_12
Whenever a branch is ready for publication, a tag is placed of the
form `v9.X.Y`. The 9.20.0 release, for instance, is tagged as `v9.20.0`.
Whenever a branch is ready for publication, a tag will be placed of the
form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`.
The branch in which the next major release is being developed is called
`main`.
`master`.
### <a name="bugs"></a>Reporting bugs
Reports of flaws in the BIND package, including software bugs, errors
in the documentation, missing files in the tarball, suggested changes
or requests for new features, etc., can be filed using
or requests for new features, etc, can be filed using
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
Due to a large ticket backlog, we are sometimes slow to respond,
especially if a bug is cosmetic or if a feature request is vague or
low in priority, but we try at least to acknowledge legitimate
low in priority, but we will try at least to acknowledge legitimate
bug reports within a week.
ISC's GitLab system is publicly readable; however, you must have
an account to create a new issue. You can either register locally or
ISC's ticketing system is publicly readable; however, you must have
an account to file a new issue. You can either register locally or
use credentials from an existing account at GitHub, GitLab, Google,
Twitter, or Facebook.
### Reporting possible security issues
If you think you may be seeing a potential security vulnerability in BIND
(for example, a crash with REQUIRE, INSIST, or ASSERT failure), please
report it immediately by emailing to security-officer@isc.org. Plain-text
e-mail is not a secure choice for communications concerning undisclosed
security issues so please encrypt your communications to us if possible,
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
See `SECURITY.md`.
Do not discuss undisclosed security vulnerabilites on any public mailing list.
ISC has a long history of handling reported vulnerabilities promptly and
effectively and we respect and acknowledge responsible reporters.
### <a name="contrib"></a>Contributing code
ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0).
If you have a crash, you may want to consult
[What to do if your BIND or DHCP server has crashed.](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
### <a name="bugs"></a>Contributing code
BIND is licensed under the
[Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/).
Earlier versions (BIND 9.10 and earlier) were licensed under the
[ISC License](https://www.isc.org/licenses/)
[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/).
Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/)
ISC does not require an explicit copyright assignment for patch
contributions. However, by submitting a patch to ISC, you implicitly
certify that you are the author of the code, that you intend to relinquish
certify that you are the author of the code, that you intend to reliquish
exclusive copyright, and that you grant permission to publish your work
under the open source license used for the BIND version(s) to which your
patch will be applied.
@@ -121,20 +124,20 @@ patch will be applied.
#### <a name="bind"></a>BIND code
Patches for BIND may be submitted directly via merge requests in
[ISC's GitLab](https://gitlab.isc.org/isc-projects/bind9/) source repository for
BIND. Please contact ISC and provide your GitLab username in order to be allowed
to fork the project and submit merge requests.
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
repository for BIND.
Patches can also be submitted as diffs against a specific version of
BIND -- preferably the current top of the `main` branch. Diffs may
BIND -- preferably the current top of the `master` branch. Diffs may
be generated using either `git format-patch` or `git diff`.
Those wanting to write code for BIND may be interested in the
[developer information](doc/dev/dev.md) page, which includes information
about BIND design and coding practices, including discussion of internal
APIs and overall system architecture.
APIs and overall system architecture. (This is a work in progress, and
still quite preliminary.)
Every patch submitted is reviewed by ISC engineers following our
Every patch submitted will be reviewed by ISC engineers following our
[code review process](doc/dev/dev.md#reviews) before it is merged.
It may take considerable time to review patch submissions, especially if
@@ -145,8 +148,8 @@ we're busy with other work, it may take us a long time to get to it.
To ensure your patch is acted on as promptly as possible, please:
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
* Run unit and system tests to ensure your change hasn't caused any
functional regressions (these can be checked in the CI pipeline).
* Run `make` `check` to ensure your change hasn't caused any
functional regressions.
* Document your work, both in the patch itself and in the
accompanying email.
* In patches that make non-trivial functional changes, include system
@@ -157,12 +160,12 @@ To ensure your patch is acted on as promptly as possible, please:
##### Changes to `configure`
If you need to make changes to `configure`, you should not edit it
directly; instead, edit `configure.ac`, then run `autoconf`. Similarly,
instead of editing `config.h.in` directly, edit `configure.ac` and run
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
instead of editing `config.h.in` directly, edit `configure.in` and run
`autoheader`.
When submitting a patch as a diff, it's fine to omit the `configure`
diffs to save space. Just send the `configure.ac` diffs and we'll
diffs to save space. Just send the `configure.in` diffs and we'll
generate the new `configure` during the review process.
##### Documentation
@@ -171,24 +174,28 @@ All functional changes should be documented. There are three types
of documentation in the BIND source tree:
* Man pages are kept alongside the source code for the commands
they document, in files ending in `.rst`: for example, the
`named` man page is `bin/named/named.rst`.
* The *BIND 9 Administrator Reference Manual* is in the .rst files in
`doc/arm/`; the HTML version is automatically generated from
the `.rst` files.
they document, in files ending in `.docbook`; for example, the
`named` man page is `bin/named/named.docbook`.
* The *BIND 9 Administrator Reference Manual* is mostly in
`doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included
in it.
* API documentation is in the header file describing the API, in
Doxygen-formatted comments.
It is not necessary to edit any documentation files other than these;
all PDF, HTML, and `nroff`-format man page files will be updated
automatically from the `docbook` and `XML` files after merging.
Patches to improve existing documentation are also very welcome!
##### Tests
BIND is a large and complex project. We rely heavily on continuous
automated testing and cannot merge new code without adequate test coverage.
Please see [the "Testing" section of doc/dev/dev.md](doc/dev/dev.md#testing)
Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing)
for more information.
#### Thanks
Thank you for your interest in contributing to the ongoing development
of BIND 9.
of BIND.

View File

@@ -1 +0,0 @@
LICENSE

271
COPYRIGHT
View File

@@ -1,8 +1,8 @@
Copyright (C) 1996-2023 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2019 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-----------------------------------------------------------------------------
@@ -133,7 +133,7 @@ modification, are permitted provided that the following conditions are met:
3. Neither the name of the University nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -149,28 +149,54 @@ POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright (c) 1997 - 2003 Kungliga Tekniska Högskolan
(Royal Institute of Technology, Stockholm, Sweden).
(Royal Institute of Technology, Stockholm, Sweden).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the Institute nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright (c) 1998 Doug Rabson
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the Institute nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
@@ -181,6 +207,41 @@ SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright ((c)) 2002, Rice University
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Rice University (RICE) nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
This software is provided by RICE and the contributors on an "as is"
basis, without any representations or warranties of any kind, express
or implied including, but not limited to, representations or
warranties of non-infringement, merchantability or fitness for a
particular purpose. In no event shall RICE or contributors be liable
for any direct, indirect, incidental, special, exemplary, or
consequential damages (including, but not limited to, procurement of
substitute goods or services; loss of use, data, or profits; or
business interruption) however caused and on any theory of liability,
whether in contract, strict liability, or tort (including negligence
or otherwise) arising in any way out of the use of this software, even
if advised of the possibility of such damage.
-----------------------------------------------------------------------------
Copyright (c) 1993 by Digital Equipment Corporation.
Permission to use, copy, modify, and distribute this software for any
@@ -201,6 +262,61 @@ SOFTWARE.
-----------------------------------------------------------------------------
Copyright 2000 Aaron D. Gifford. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTOR(S) ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright (c) 1998 Doug Rabson.
Copyright (c) 2001 Jake Burkholder.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
All rights reserved.
@@ -247,6 +363,49 @@ SOFTWARE.
-----------------------------------------------------------------------------
Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved.
By using this file, you agree to the terms and conditions set forth bellow.
LICENSE TERMS AND CONDITIONS
The following License Terms and Conditions apply, unless a different
license is obtained from Japan Network Information Center ("JPNIC"),
a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
Chiyoda-ku, Tokyo 101-0047, Japan.
1. Use, Modification and Redistribution (including distribution of any
modified or derived work) in source and/or binary forms is permitted
under this License Terms and Conditions.
2. Redistribution of source code must retain the copyright notices as they
appear in each source code file, this License Terms and Conditions.
3. Redistribution in binary form must reproduce the Copyright Notice,
this License Terms and Conditions, in the documentation and/or other
materials provided with the distribution. For the purposes of binary
distribution the "Copyright Notice" refers to the following language:
"Copyright (c) 2000-2002 Japan Network Information Center. All rights
reserved."
4. The name of JPNIC may not be used to endorse or promote products
derived from this Software without specific prior written approval of
JPNIC.
5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-----------------------------------------------------------------------------
Copyright (C) 2004 Nominet, Ltd.
Permission to use, copy, modify, and distribute this software for any
@@ -263,6 +422,24 @@ PERFORMANCE OF THIS SOFTWARE.
-----------------------------------------------------------------------------
Portions Copyright RSA Security Inc.
License to copy and use this software is granted provided that it is
identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
(Cryptoki)" in all material mentioning or referencing this software.
License is also granted to make and use derivative works provided that
such works are identified as "derived from the RSA Security Inc. PKCS #11
Cryptographic Token Interface (Cryptoki)" in all material mentioning or
referencing the derived work.
RSA Security Inc. makes no representations concerning either the
merchantability of this software or the suitability of this software for
any particular purpose. It is provided "as is" without express or implied
warranty of any kind.
-----------------------------------------------------------------------------
Copyright (c) 1996, David Mazieres <dm@uun.org>
Copyright (c) 2008, Damien Miller <djm@openbsd.org>
@@ -280,6 +457,54 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-----------------------------------------------------------------------------
Copyright (c) 2000-2001 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. All advertising materials mentioning features or use of this
software must display the following acknowledgment:
"This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
endorse or promote products derived from this software without
prior written permission. For written permission, please contact
licensing@OpenSSL.org.
5. Products derived from this software may not be called "OpenSSL"
nor may "OpenSSL" appear in their names without prior written
permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following
acknowledgment:
"This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
Copyright (c) 1995, 1997, 1998 The NetBSD Foundation, Inc.
All rights reserved.
@@ -367,25 +592,3 @@ distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-----------------------------------------------------------------------------
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

View File

@@ -1 +0,0 @@
doc/arm/changelog.rst

18
EXCLUDED Normal file
View File

@@ -0,0 +1,18 @@
4607. [bug] The memory context's malloced and maxmalloced counters
were being updated without the appropriate lock being
held. [RT #44869]
4605. [performance] Improve performance for delegation heavy answers
and also general query performance. Removes the
acache feature that didn't significantly improve
performance. Adds a glue cache. Removes
additional-from-cache and additional-from-auth
features. Enables minimal-responses by
default. Improves performance of compression
code, owner case restoration, hash function,
etc. Uses inline buffer implementation by
default. Many other performance changes and fixes.
[RT #44029]
4556. [bug] Sending an EDNS Padding option using "dig
+ednsopt" could cause a crash in dig. [RT #44462]

398
HISTORY Normal file
View File

@@ -0,0 +1,398 @@
HISTORY
Functional enhancements from prior major releases of BIND 9
BIND 9.10.0
BIND 9.10.0 includes a number of changes from BIND 9.9 and earlier
releases. New features include:
* DNS Response-rate limiting (DNS RRL), which blunts the impact of
reflection and amplification attacks, is always compiled in and no
longer requires a compile-time option to enable it.
* An experimental "Source Identity Token" (SIT) EDNS option is now
available. Similar to DNS Cookies as invented by Donald Eastlake 3rd,
these are designed to enable clients to detect off-path spoofed
responses, and to enable servers to detect spoofed-source queries.
Servers can be configured to send smaller responses to clients that
have not identified themselves using a SIT option, reducing the
effectiveness of amplification attacks. RRL processing has also been
updated; clients proven to be legitimate via SIT are not subject to
rate limiting. Use "configure --enable-sit" to enable this feature in
BIND.
* A new zone file format, "map", stores zone data in a format that can
be mapped directly into memory, allowing significantly faster zone
loading.
* "delv" (domain entity lookup and validation) is a new tool with
dig-like semantics for looking up DNS data and performing internal
DNSSEC validation. This allows easy validation in environments where
the resolver may not be trustworthy, and assists with troubleshooting
of DNSSEC problems. (NOTE: In previous development releases of BIND
9.10, this utility was called "delve". The spelling has been changed
to avoid confusion with the "delve" utility included with the Xapian
search engine.)
* Improved EDNS(0) processing for better resolver performance and
reliability over slow or lossy connections.
* A new "configure --with-tuning=large" option tunes certain compiled-in
constants and default settings to values better suited to large
servers with abundant memory. This can improve performance on such
servers, but will consume more memory and may degrade performance on
smaller systems.
* Substantial improvement in response-policy zone (RPZ) performance. Up
to 32 response-policy zones can be configured with minimal performance
loss.
* To improve recursive resolver performance, cache records which are
still being requested by clients can now be automatically refreshed
from the authoritative server before they expire, reducing or
eliminating the time window in which no answer is available in the
cache.
* New "rpz-client-ip" triggers and drop policies allowing response
policies based on the IP address of the client.
* ACLs can now be specified based on geographic location using the
MaxMind GeoIP databases. Use "configure --with-geoip" to enable.
* Zone data can now be shared between views, allowing multiple views to
serve the same zones authoritatively without storing multiple copies
in memory.
* New XML schema (version 3) for the statistics channel includes many
new statistics and uses a flattened XML tree for faster parsing. The
older schema is now deprecated.
* A new stylesheet, based on the Google Charts API, displays XML
statistics in charts and graphs on javascript-enabled browsers.
* The statistics channel can now provide data in JSON format as well as
XML.
* New stats counters track TCP and UDP queries received per zone, and
EDNS options received in total.
* The internal and export versions of the BIND libraries (libisc,
libdns, etc) have been unified so that external library clients can
use the same libraries as BIND itself.
* A new compile-time option, "configure --enable-native-pkcs11", allows
BIND 9 cryptography functions to use the PKCS#11 API natively, so that
BIND can drive a cryptographic hardware service module (HSM) directly
instead of using a modified OpenSSL as an intermediary. (Note: This
feature requires an HSM to have a full implementation of the PKCS#11
API; many current HSMs only have partial implementations. The new
"pkcs11-tokens" command can be used to check API completeness. Native
PKCS#11 is known to work with the Thales nShield HSM and with SoftHSM
version 2 from the Open DNSSEC project.)
* The new "max-zone-ttl" option enforces maximum TTLs for zones. This
can simplify the process of rolling DNSSEC keys by guaranteeing that
cached signatures will have expired within the specified amount of
time.
* "dig +subnet" sends an EDNS CLIENT-SUBNET option when querying.
* "dig +expire" sends an EDNS EXPIRE option when querying. When this
option is sent with an SOA query to a server that supports it, it will
report the expiry time of a slave zone.
* New "dnssec-coverage" tool to check DNSSEC key coverage for a zone and
report if a lapse in signing coverage has been inadvertently
scheduled.
* Signing algorithm flexibility and other improvements for the "rndc"
control channel.
* "named-checkzone" and "named-compilezone" can now read journal files,
allowing them to process dynamic zones.
* Multiple DLZ databases can now be configured. Individual zones can be
configured to be served from a specific DLZ database. DLZ databases
now serve zones of type "master" and "redirect".
* "rndc zonestatus" reports information about a specified zone.
* "named" now listens on IPv6 as well as IPv4 interfaces by default.
* "named" now preserves the capitalization of names when responding to
queries: for instance, a query for "example.com" may be answered with
"example.COM" if the name was configured that way in the zone file.
Some clients have a bug causing them to depend on the older behavior,
in which the case of the answer always matched the case of the query,
rather than the case of the name configured in the DNS. Such clients
can now be specified in the new "no-case-compress" ACL; this will
restore the older behavior of "named" for those clients only.
* new "dnssec-importkey" command allows the use of offline DNSSEC keys
with automatic DNSKEY management.
* New "named-rrchecker" tool to verify the syntactic correctness of
individual resource records.
* When re-signing a zone, the new "dnssec-signzone -Q" option drops
signatures from keys that are still published but are no longer
active.
* "named-checkconf -px" will print the contents of configuration files
with the shared secrets obscured, making it easier to share
configuration (e.g. when submitting a bug report) without revealing
private information.
* "rndc scan" causes named to re-scan network interfaces for changes in
local addresses.
* On operating systems with support for routing sockets, network
interfaces are re-scanned automatically whenever they change.
* "tsig-keygen" is now available as an alternate command name to use for
"ddns-confgen".
BIND 9.9.0
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
releases. New features include:
* Inline signing, allowing automatic DNSSEC signing of master zones
without modification of the zonefile, or "bump in the wire" signing in
slaves.
* NXDOMAIN redirection.
* New 'rndc flushtree' command clears all data under a given name from
the DNS cache.
* New 'rndc sync' command dumps pending changes in a dynamic zone to
disk without a freeze/thaw cycle.
* New 'rndc signing' command displays or clears signing status records
in 'auto-dnssec' zones.
* NSEC3 parameters for 'auto-dnssec' zones can now be set prior to
signing, eliminating the need to initially sign with NSEC.
* Startup time improvements on large authoritative servers.
* Slave zones are now saved in raw format by default.
* Several improvements to response policy zones (RPZ).
* Improved hardware scalability by using multiple threads to listen for
queries and using finer-grained client locking
* The 'also-notify' option now takes the same syntax as 'masters', so it
can used named masterlists and TSIG keys.
* 'dnssec-signzone -D' writes an output file containing only DNSSEC
data, which can be included by the primary zone file.
* 'dnssec-signzone -R' forces removal of signatures that are not expired
but were created by a key which no longer exists.
* 'dnssec-signzone -X' allows a separate expiration date to be specified
for DNSKEY signatures from other signatures.
* New '-L' option to dnssec-keygen, dnssec-settime, and
dnssec-keyfromlabel sets the default TTL for the key.
* dnssec-dsfromkey now supports reading from standard input, to make it
easier to convert DNSKEY to DS.
* RFC 1918 reverse zones have been added to the empty-zones table per
RFC 6303.
* Dynamic updates can now optionally set the zone's SOA serial number to
the current UNIX time.
* DLZ modules can now retrieve the source IP address of the querying
client.
* 'request-ixfr' option can now be set at the per-zone level.
* 'dig +rrcomments' turns on comments about DNSKEY records, indicating
their key ID, algorithm and function
* Simplified nsupdate syntax and added readline support
BIND 9.8.0
BIND 9.8.0 includes a number of changes from BIND 9.7 and earlier
releases. New features include:
* Built-in trust anchor for the root zone, which can be switched on via
"dnssec-validation auto;"
* Support for DNS64.
* Support for response policy zones (RPZ).
* Support for writable DLZ zones.
* Improved ease of configuration of GSS/TSIG for interoperability with
Active Directory
* Support for GOST signing algorithm for DNSSEC.
* Removed RTT Banding from server selection algorithm.
* New "static-stub" zone type.
* Allow configuration of resolver timeouts via "resolver-query-timeout"
option.
* The DLZ "dlopen" driver is now built by default.
* Added a new include file with function typedefs for the DLZ "dlopen"
driver.
* Made "--with-gssapi" default.
* More verbose error reporting from DLZ LDAP.
BIND 9.7.0
BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier
releases. Most are intended to simplify DNSSEC configuration. New features
include:
* Fully automatic signing of zones by "named".
* Simplified configuration of DNSSEC Lookaside Validation (DLV).
* Simplified configuration of Dynamic DNS, using the "ddns-confgen"
command line tool or the "local" update-policy option. (As a side
effect, this also makes it easier to configure automatic zone
re-signing.)
* New named option "attach-cache" that allows multiple views to share a
single cache.
* DNS rebinding attack prevention.
* New default values for dnssec-keygen parameters.
* Support for RFC 5011 automated trust anchor maintenance
* Smart signing: simplified tools for zone signing and key maintenance.
* The "statistics-channels" option is now available on Windows.
* A new DNSSEC-aware libdns API for use by non-BIND9 applications
* On some platforms, named and other binaries can now print out a stack
backtrace on assertion failure, to aid in debugging.
* A "tools only" installation mode on Windows, which only installs dig,
host, nslookup and nsupdate.
* Improved PKCS#11 support, including Keyper support and explicit
OpenSSL engine selection.
BIND 9.6.0
* Full NSEC3 support
* Automatic zone re-signing
* New update-policy methods tcp-self and 6to4-self
* The BIND 8 resolver library, libbind, has been removed from the BIND 9
distribution and is now available as a separate download.
* Change the default pid file location from /var/run to /var/run/
{named,lwresd} for improved chroot/setuid support.
BIND 9.5.0
* GSS-TSIG support (RFC 3645).
* DHCID support.
* Experimental http server and statistics support for named via xml.
* More detailed statistics counters including those supported in BIND 8.
* Faster ACL processing.
* Use Doxygen to generate internal documentation.
* Efficient LRU cache-cleaning mechanism.
* NSID support.
BIND 9.4.0
* Implemented "additional section caching (or acache)", an internal
cache framework for additional section content to improve response
performance. Several configuration options were provided to control
the behavior.
* New notify type 'master-only'. Enable notify for master zones only.
* Accept 'notify-source' style syntax for query-source.
* rndc now allows addresses to be set in the server clauses.
* New option "allow-query-cache". This lets "allow-query" be used to
specify the default zone access level rather than having to have every
zone override the global value. "allow-query-cache" can be set at both
the options and view levels. If "allow-query-cache" is not set then
"allow-recursion" is used if set, otherwise "allow-query" is used if
set unless "recursion no;" is set in which case "none;" is used,
otherwise the default (localhost; localnets;) is used.
* rndc: the source address can now be specified.
* ixfr-from-differences now takes master and slave in addition to yes
and no at the options and view levels.
* Allow the journal's name to be changed via named.conf.
* 'rndc notify zone [class [view]]' resend the NOTIFY messages for the
specified zone.
* 'dig +trace' now randomly selects the next servers to try. Report if
there is a bad delegation.
* Improve check-names error messages.
* Make public the function to read a key file, dst_key_read_public().
* dig now returns the byte count for axfr/ixfr.
* allow-update is now settable at the options / view level.
* named-checkconf now checks the logging configuration.
* host now can turn on memory debugging flags with '-m'.
* Don't send notify messages to self.
* Perform sanity checks on NS records which refer to 'in zone' names.
* New zone option "notify-delay". Specify a minimum delay between sets
of NOTIFY messages.
* Extend adjusting TTL warning messages.
* Named and named-checkzone can now both check for non-terminal wildcard
records.
* "rndc freeze/thaw" now freezes/thaws all zones.
* named-checkconf now check acls to verify that they only refer to
existing acls.
* The server syntax has been extended to support a range of servers.
* Report differences between hints and real NS rrset and associated
address records.
* Preserve the case of domain names in rdata during zone transfers.
* Restructured the data locking framework using architecture dependent
atomic operations (when available), improving response performance on
multi-processor machines significantly. x86, x86_64, alpha, powerpc,
and mips are currently supported.
* UNIX domain controls are now supported.
* Add support for additional zone file formats for improving loading
performance. The masterfile-format option in named.conf can be used to
specify a non-default format. A separate command named-compilezone was
provided to generate zone files in the new format. Additionally, the
-I and -O options for dnssec-signzone specify the input and output
formats.
* dnssec-signzone can now randomize signature end times (dnssec-signzone
-j jitter).
* Add support for CH A record.
* Add additional zone data constancy checks. named-checkzone has
extended checking of NS, MX and SRV record and the hosts they
reference. named has extended post zone load checks. New zone options:
check-mx and integrity-check.
* edns-udp-size can now be overridden on a per server basis.
* dig can now specify the EDNS version when making a query.
* Added framework for handling multiple EDNS versions.
* Additional memory debugging support to track size and mctx arguments.
* Detect duplicates of UDP queries we are recursing on and drop them.
New stats category "duplicates".
* "USE INTERNAL MALLOC" is now runtime selectable.
* The lame cache is now done on a <qname,qclass,qtype> basis as some
servers only appear to be lame for certain query types.
* Limit the number of recursive clients that can be waiting for a single
query (<qname,qtype,qclass>) to resolve. New options clients-per-query
and max-clients-per-query.
* dig: report the number of extra bytes still left in the packet after
processing all the records.
* Support for IPSECKEY rdata type.
* Raise the UDP recieve buffer size to 32k if it is less than 32k.
* x86 and x86_64 now have seperate atomic locking implementations.
* named-checkconf now validates update-policy entries.
* Attempt to make the amount of work performed in a iteration self
tuning. The covers nodes clean from the cache per iteration, nodes
written to disk when rewriting a master file and nodes destroyed per
iteration when destroying a zone or a cache.
* ISC string copy API.
* Automatic empty zone creation for D.F.IP6.ARPA and friends. Note: RFC
1918 zones are not yet covered by this but are likely to be in a
future release.
* New options: empty-server, empty-contact, empty-zones-enable and
disable-empty-zone.
* dig now has a '-q queryname' and '+showsearch' options.
* host/nslookup now continue (default)/fail on SERVFAIL.
* dig now warns if 'RA' is not set in the answer when 'RD' was set in
the query. host/nslookup skip servers that fail to set 'RA' when 'RD'
is set unless a server is explicitly set.
* Integrate contibuted DLZ code into named.
* Integrate contibuted IDN code from JPNIC.
* libbind: corresponds to that from BIND 8.4.7.
BIND 9.3.0
* DNSSEC is now DS based (RFC 3658).
* DNSSEC lookaside validation.
* check-names is now implemented.
* rrset-order is more complete.
* IPv4/IPv6 transition support, dual-stack-servers.
* IXFR deltas can now be generated when loading master files,
ixfr-from-differences.
* It is now possible to specify the size of a journal, max-journal-size.
* It is now possible to define a named set of master servers to be used
in masters clause, masters.
* The advertised EDNS UDP size can now be set, edns-udp-size.
* allow-v6-synthesis has been obsoleted.
* Zones containing MD and MF will now be rejected.
* dig, nslookup name. now report "Not Implemented" as NOTIMP rather than
NOTIMPL. This will have impact on scripts that are looking for
NOTIMPL.
* libbind: corresponds to that from BIND 8.4.5.
BIND 9.2.0
* The size of the cache can now be limited using the "max-cache-size"
option.
* The server can now automatically convert RFC1886-style recursive
lookup requests into RFC2874-style lookups, when enabled using the new
option "allow-v6-synthesis". This allows stub resolvers that support
AAAA records but not A6 record chains or binary labels to perform
lookups in domains that make use of these IPv6 DNS features.
* Performance has been improved.
* The man pages now use the more portable "man" macros rather than the
"mandoc" macros, and are installed by "make install".
* The named.conf parser has been completely rewritten. It now supports
"include" directives in more places such as inside "view" statements,
and it no longer has any reserved words.
* The "rndc status" command is now implemented.
* rndc can now be configured automatically.
* A BIND 8 compatible stub resolver library is now included in lib/bind.
* OpenSSL has been removed from the distribution. This means that to use
DNSSEC, OpenSSL must be installed and the --with-openssl option must
be supplied to configure. This does not apply to the use of TSIG,
which does not require OpenSSL.
* The source distribution now builds on Windows. See win32utils/
readme1.txt and win32utils/win32-build.txt for details.
* This distribution also includes a new lightweight stub resolver
library and associated resolver daemon that fully support forward and
reverse lookups of both IPv4 and IPv6 addresses. This library is
considered experimental and is not a complete replacement for the BIND
8 resolver library. Applications that use the BIND 8 res_* functions
to perform DNS lookups or dynamic updates still need to be linked
against the BIND 8 libraries. For DNS lookups, they can also use the
new "getrrsetbyname()" API.
* BIND 9.2 is capable of acting as an authoritative server for DNSSEC
secured zones. This functionality is believed to be stable and
complete except for lacking support for verifications involving
wildcard records in secure zones.
* When acting as a caching server, BIND 9.2 can be configured to perform
DNSSEC secure resolution on behalf of its clients. This part of the
DNSSEC implementation is still considered experimental. For detailed
information about the state of the DNSSEC implementation, see the file
doc/misc/dnssec.

417
HISTORY.md Normal file
View File

@@ -0,0 +1,417 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
### Functional enhancements from prior major releases of BIND 9
#### BIND 9.10.0
BIND 9.10.0 includes a number of changes from BIND 9.9 and earlier
releases. New features include:
- DNS Response-rate limiting (DNS RRL), which blunts the
impact of reflection and amplification attacks, is always
compiled in and no longer requires a compile-time option
to enable it.
- An experimental "Source Identity Token" (SIT) EDNS option
is now available. Similar to DNS Cookies as invented by
Donald Eastlake 3rd, these are designed to enable clients
to detect off-path spoofed responses, and to enable servers
to detect spoofed-source queries. Servers can be configured
to send smaller responses to clients that have not identified
themselves using a SIT option, reducing the effectiveness of
amplification attacks. RRL processing has also been updated;
clients proven to be legitimate via SIT are not subject to
rate limiting. Use "configure --enable-sit" to enable this
feature in BIND.
- A new zone file format, "map", stores zone data in a
format that can be mapped directly into memory, allowing
significantly faster zone loading.
- "delv" (domain entity lookup and validation) is a new tool
with dig-like semantics for looking up DNS data and performing
internal DNSSEC validation. This allows easy validation in
environments where the resolver may not be trustworthy, and
assists with troubleshooting of DNSSEC problems. (NOTE:
In previous development releases of BIND 9.10, this utility
was called "delve". The spelling has been changed to avoid
confusion with the "delve" utility included with the Xapian
search engine.)
- Improved EDNS(0) processing for better resolver performance
and reliability over slow or lossy connections.
- A new "configure --with-tuning=large" option tunes certain
compiled-in constants and default settings to values better
suited to large servers with abundant memory. This can
improve performance on such servers, but will consume more
memory and may degrade performance on smaller systems.
- Substantial improvement in response-policy zone (RPZ)
performance. Up to 32 response-policy zones can be
configured with minimal performance loss.
- To improve recursive resolver performance, cache records
which are still being requested by clients can now be
automatically refreshed from the authoritative server
before they expire, reducing or eliminating the time
window in which no answer is available in the cache.
- New "rpz-client-ip" triggers and drop policies allowing
response policies based on the IP address of the client.
- ACLs can now be specified based on geographic location
using the MaxMind GeoIP databases. Use "configure
--with-geoip" to enable.
- Zone data can now be shared between views, allowing
multiple views to serve the same zones authoritatively
without storing multiple copies in memory.
- New XML schema (version 3) for the statistics channel
includes many new statistics and uses a flattened XML tree
for faster parsing. The older schema is now deprecated.
- A new stylesheet, based on the Google Charts API, displays
XML statistics in charts and graphs on javascript-enabled
browsers.
- The statistics channel can now provide data in JSON
format as well as XML.
- New stats counters track TCP and UDP queries received
per zone, and EDNS options received in total.
- The internal and export versions of the BIND libraries
(libisc, libdns, etc) have been unified so that external
library clients can use the same libraries as BIND itself.
- A new compile-time option, "configure --enable-native-pkcs11",
allows BIND 9 cryptography functions to use the PKCS#11 API
natively, so that BIND can drive a cryptographic hardware
service module (HSM) directly instead of using a modified
OpenSSL as an intermediary. (Note: This feature requires an
HSM to have a full implementation of the PKCS#11 API; many
current HSMs only have partial implementations. The new
"pkcs11-tokens" command can be used to check API completeness.
Native PKCS#11 is known to work with the Thales nShield HSM
and with SoftHSM version 2 from the Open DNSSEC project.)
- The new "max-zone-ttl" option enforces maximum TTLs for
zones. This can simplify the process of rolling DNSSEC keys
by guaranteeing that cached signatures will have expired
within the specified amount of time.
- "dig +subnet" sends an EDNS CLIENT-SUBNET option when
querying.
- "dig +expire" sends an EDNS EXPIRE option when querying.
When this option is sent with an SOA query to a server
that supports it, it will report the expiry time of
a slave zone.
- New "dnssec-coverage" tool to check DNSSEC key coverage
for a zone and report if a lapse in signing coverage has
been inadvertently scheduled.
- Signing algorithm flexibility and other improvements
for the "rndc" control channel.
- "named-checkzone" and "named-compilezone" can now read
journal files, allowing them to process dynamic zones.
- Multiple DLZ databases can now be configured. Individual
zones can be configured to be served from a specific DLZ
database. DLZ databases now serve zones of type "master"
and "redirect".
- "rndc zonestatus" reports information about a specified zone.
- "named" now listens on IPv6 as well as IPv4 interfaces
by default.
- "named" now preserves the capitalization of names
when responding to queries: for instance, a query for
"example.com" may be answered with "example.COM" if the
name was configured that way in the zone file. Some
clients have a bug causing them to depend on the older
behavior, in which the case of the answer always matched
the case of the query, rather than the case of the name
configured in the DNS. Such clients can now be specified
in the new "no-case-compress" ACL; this will restore the
older behavior of "named" for those clients only.
- new "dnssec-importkey" command allows the use of offline
DNSSEC keys with automatic DNSKEY management.
- New "named-rrchecker" tool to verify the syntactic
correctness of individual resource records.
- When re-signing a zone, the new "dnssec-signzone -Q" option
drops signatures from keys that are still published but are
no longer active.
- "named-checkconf -px" will print the contents of configuration
files with the shared secrets obscured, making it easier to
share configuration (e.g. when submitting a bug report)
without revealing private information.
- "rndc scan" causes named to re-scan network interfaces for
changes in local addresses.
- On operating systems with support for routing sockets,
network interfaces are re-scanned automatically whenever
they change.
- "tsig-keygen" is now available as an alternate command
name to use for "ddns-confgen".
#### BIND 9.9.0
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
releases. New features include:
- Inline signing, allowing automatic DNSSEC signing of
master zones without modification of the zonefile, or
"bump in the wire" signing in slaves.
- NXDOMAIN redirection.
- New 'rndc flushtree' command clears all data under a given
name from the DNS cache.
- New 'rndc sync' command dumps pending changes in a dynamic
zone to disk without a freeze/thaw cycle.
- New 'rndc signing' command displays or clears signing status
records in 'auto-dnssec' zones.
- NSEC3 parameters for 'auto-dnssec' zones can now be set prior
to signing, eliminating the need to initially sign with NSEC.
- Startup time improvements on large authoritative servers.
- Slave zones are now saved in raw format by default.
- Several improvements to response policy zones (RPZ).
- Improved hardware scalability by using multiple threads
to listen for queries and using finer-grained client locking
- The 'also-notify' option now takes the same syntax as
'masters', so it can used named masterlists and TSIG keys.
- 'dnssec-signzone -D' writes an output file containing only DNSSEC
data, which can be included by the primary zone file.
- 'dnssec-signzone -R' forces removal of signatures that are
not expired but were created by a key which no longer exists.
- 'dnssec-signzone -X' allows a separate expiration date to
be specified for DNSKEY signatures from other signatures.
- New '-L' option to dnssec-keygen, dnssec-settime, and
dnssec-keyfromlabel sets the default TTL for the key.
- dnssec-dsfromkey now supports reading from standard input,
to make it easier to convert DNSKEY to DS.
- RFC 1918 reverse zones have been added to the empty-zones
table per RFC 6303.
- Dynamic updates can now optionally set the zone's SOA serial
number to the current UNIX time.
- DLZ modules can now retrieve the source IP address of
the querying client.
- 'request-ixfr' option can now be set at the per-zone level.
- 'dig +rrcomments' turns on comments about DNSKEY records,
indicating their key ID, algorithm and function
- Simplified nsupdate syntax and added readline support
#### BIND 9.8.0
BIND 9.8.0 includes a number of changes from BIND 9.7 and earlier
releases. New features include:
- Built-in trust anchor for the root zone, which can be
switched on via "dnssec-validation auto;"
- Support for DNS64.
- Support for response policy zones (RPZ).
- Support for writable DLZ zones.
- Improved ease of configuration of GSS/TSIG for
interoperability with Active Directory
- Support for GOST signing algorithm for DNSSEC.
- Removed RTT Banding from server selection algorithm.
- New "static-stub" zone type.
- Allow configuration of resolver timeouts via
"resolver-query-timeout" option.
- The DLZ "dlopen" driver is now built by default.
- Added a new include file with function typedefs
for the DLZ "dlopen" driver.
- Made "--with-gssapi" default.
- More verbose error reporting from DLZ LDAP.
#### BIND 9.7.0
BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier
releases. Most are intended to simplify DNSSEC configuration.
New features include:
- Fully automatic signing of zones by "named".
- Simplified configuration of DNSSEC Lookaside Validation (DLV).
- Simplified configuration of Dynamic DNS, using the "ddns-confgen"
command line tool or the "local" update-policy option. (As a side
effect, this also makes it easier to configure automatic zone
re-signing.)
- New named option "attach-cache" that allows multiple views to
share a single cache.
- DNS rebinding attack prevention.
- New default values for dnssec-keygen parameters.
- Support for RFC 5011 automated trust anchor maintenance
- Smart signing: simplified tools for zone signing and key
maintenance.
- The "statistics-channels" option is now available on Windows.
- A new DNSSEC-aware libdns API for use by non-BIND9 applications
- On some platforms, named and other binaries can now print out
a stack backtrace on assertion failure, to aid in debugging.
- A "tools only" installation mode on Windows, which only installs
dig, host, nslookup and nsupdate.
- Improved PKCS#11 support, including Keyper support and explicit
OpenSSL engine selection.
#### BIND 9.6.0
- Full NSEC3 support
- Automatic zone re-signing
- New update-policy methods tcp-self and 6to4-self
- The BIND 8 resolver library, libbind, has been removed from the BIND 9
distribution and is now available as a separate download.
- Change the default pid file location from /var/run to
/var/run/{named,lwresd} for improved chroot/setuid support.
#### BIND 9.5.0
- GSS-TSIG support (RFC 3645).
- DHCID support.
- Experimental http server and statistics support for named via xml.
- More detailed statistics counters including those supported in BIND 8.
- Faster ACL processing.
- Use Doxygen to generate internal documentation.
- Efficient LRU cache-cleaning mechanism.
- NSID support.
BIND 9.4.0
- Implemented "additional section caching (or acache)", an internal cache
framework for additional section content to improve response performance.
Several configuration options were provided to control the behavior.
- New notify type 'master-only'. Enable notify for master zones only.
- Accept 'notify-source' style syntax for query-source.
- rndc now allows addresses to be set in the server clauses.
- New option "allow-query-cache". This lets "allow-query" be used to
specify the default zone access level rather than having to have every
zone override the global value. "allow-query-cache" can be set at both
the options and view levels. If "allow-query-cache" is not set then
"allow-recursion" is used if set, otherwise "allow-query" is used if set
unless "recursion no;" is set in which case "none;" is used, otherwise
the default (localhost; localnets;) is used.
- rndc: the source address can now be specified.
- ixfr-from-differences now takes master and slave in addition to yes and
no at the options and view levels.
- Allow the journal's name to be changed via named.conf.
- 'rndc notify zone [class [view]]' resend the NOTIFY messages for the
specified zone.
- 'dig +trace' now randomly selects the next servers to try. Report if
there is a bad delegation.
- Improve check-names error messages.
- Make public the function to read a key file, dst_key_read_public().
- dig now returns the byte count for axfr/ixfr.
- allow-update is now settable at the options / view level.
- named-checkconf now checks the logging configuration.
- host now can turn on memory debugging flags with '-m'.
- Don't send notify messages to self.
- Perform sanity checks on NS records which refer to 'in zone' names.
- New zone option "notify-delay". Specify a minimum delay between sets of
NOTIFY messages.
- Extend adjusting TTL warning messages.
- Named and named-checkzone can now both check for non-terminal wildcard
records.
- "rndc freeze/thaw" now freezes/thaws all zones.
- named-checkconf now check acls to verify that they only refer to existing
acls.
- The server syntax has been extended to support a range of servers.
- Report differences between hints and real NS rrset and associated address
records.
- Preserve the case of domain names in rdata during zone transfers.
- Restructured the data locking framework using architecture dependent
atomic operations (when available), improving response performance on
multi-processor machines significantly. x86, x86_64, alpha, powerpc, and
mips are currently supported.
- UNIX domain controls are now supported.
- Add support for additional zone file formats for improving loading
performance. The masterfile-format option in named.conf can be used to
specify a non-default format. A separate command named-compilezone was
provided to generate zone files in the new format. Additionally, the -I
and -O options for dnssec-signzone specify the input and output formats.
- dnssec-signzone can now randomize signature end times (dnssec-signzone -j
jitter).
- Add support for CH A record.
- Add additional zone data constancy checks. named-checkzone has extended
checking of NS, MX and SRV record and the hosts they reference. named
has extended post zone load checks. New zone options: check-mx and
integrity-check.
- edns-udp-size can now be overridden on a per server basis.
- dig can now specify the EDNS version when making a query.
- Added framework for handling multiple EDNS versions.
- Additional memory debugging support to track size and mctx arguments.
- Detect duplicates of UDP queries we are recursing on and drop them. New
stats category "duplicates".
- "USE INTERNAL MALLOC" is now runtime selectable.
- The lame cache is now done on a <qname,qclass,qtype> basis as some
servers only appear to be lame for certain query types.
- Limit the number of recursive clients that can be waiting for a single
query (<qname,qtype,qclass>) to resolve. New options clients-per-query
and max-clients-per-query.
- dig: report the number of extra bytes still left in the packet after
processing all the records.
- Support for IPSECKEY rdata type.
- Raise the UDP recieve buffer size to 32k if it is less than 32k.
- x86 and x86_64 now have seperate atomic locking implementations.
- named-checkconf now validates update-policy entries.
- Attempt to make the amount of work performed in a iteration self tuning.
The covers nodes clean from the cache per iteration, nodes written to
disk when rewriting a master file and nodes destroyed per iteration when
destroying a zone or a cache.
- ISC string copy API.
- Automatic empty zone creation for D.F.IP6.ARPA and friends. Note: RFC
1918 zones are not yet covered by this but are likely to be in a future
release.
- New options: empty-server, empty-contact, empty-zones-enable and
disable-empty-zone.
- dig now has a '-q queryname' and '+showsearch' options.
- host/nslookup now continue (default)/fail on SERVFAIL.
- dig now warns if 'RA' is not set in the answer when 'RD' was set in the
query. host/nslookup skip servers that fail to set 'RA' when 'RD' is set
unless a server is explicitly set.
- Integrate contibuted DLZ code into named.
- Integrate contibuted IDN code from JPNIC.
- libbind: corresponds to that from BIND 8.4.7.
#### BIND 9.3.0
- DNSSEC is now DS based (RFC 3658).
- DNSSEC lookaside validation.
- check-names is now implemented.
- rrset-order is more complete.
- IPv4/IPv6 transition support, dual-stack-servers.
- IXFR deltas can now be generated when loading master files,
ixfr-from-differences.
- It is now possible to specify the size of a journal, max-journal-size.
- It is now possible to define a named set of master servers to be used in
masters clause, masters.
- The advertised EDNS UDP size can now be set, edns-udp-size.
- allow-v6-synthesis has been obsoleted.
- Zones containing MD and MF will now be rejected.
- dig, nslookup name. now report "Not Implemented" as NOTIMP rather than
NOTIMPL. This will have impact on scripts that are looking for NOTIMPL.
- libbind: corresponds to that from BIND 8.4.5.
#### BIND 9.2.0
- The size of the cache can now be limited using the "max-cache-size"
option.
- The server can now automatically convert RFC1886-style recursive lookup
requests into RFC2874-style lookups, when enabled using the new option
"allow-v6-synthesis". This allows stub resolvers that support AAAA
records but not A6 record chains or binary labels to perform lookups in
domains that make use of these IPv6 DNS features.
- Performance has been improved.
- The man pages now use the more portable "man" macros rather than the
"mandoc" macros, and are installed by "make install".
- The named.conf parser has been completely rewritten. It now supports
"include" directives in more places such as inside "view" statements, and
it no longer has any reserved words.
- The "rndc status" command is now implemented.
- rndc can now be configured automatically.
- A BIND 8 compatible stub resolver library is now included in lib/bind.
- OpenSSL has been removed from the distribution. This means that to use
DNSSEC, OpenSSL must be installed and the --with-openssl option must be
supplied to configure. This does not apply to the use of TSIG, which
does not require OpenSSL.
- The source distribution now builds on Windows. See
win32utils/readme1.txt and win32utils/win32-build.txt for details.
- This distribution also includes a new lightweight stub resolver library
and associated resolver daemon that fully support forward and reverse
lookups of both IPv4 and IPv6 addresses. This library is considered
experimental and is not a complete replacement for the BIND 8 resolver
library. Applications that use the BIND 8 `res_*` functions to perform
DNS lookups or dynamic updates still need to be linked against the BIND 8
libraries. For DNS lookups, they can also use the new "getrrsetbyname()"
API.
- BIND 9.2 is capable of acting as an authoritative server for DNSSEC
secured zones. This functionality is believed to be stable and complete
except for lacking support for verifications involving wildcard records
in secure zones.
- When acting as a caching server, BIND 9.2 can be configured to perform
DNSSEC secure resolution on behalf of its clients. This part of the
DNSSEC implementation is still considered experimental. For detailed
information about the state of the DNSSEC implementation, see the file
doc/misc/dnssec.

4
Kyuafile Normal file
View File

@@ -0,0 +1,4 @@
syntax(2)
test_suite('bind9')
include('lib/Kyuafile')

View File

@@ -346,7 +346,7 @@ Exhibit A - Source Code Form License Notice
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
https://mozilla.org/MPL/2.0/.
http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a

View File

@@ -1,73 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@@ -1,26 +0,0 @@
AUTOCONF CONFIGURE SCRIPT EXCEPTION
Version 3.0, 18 August 2009
Copyright © 2009 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This Exception is an additional permission under section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a given file that bears a notice placed by the copyright holder of the file stating that the file is governed by GPLv3 along with this Exception.
The purpose of this Exception is to allow distribution of Autoconf's typical output under terms of the recipient's choice (including proprietary).
0. Definitions.
"Covered Code" is the source or object code of a version of Autoconf that is a covered work under this License.
"Normally Copied Code" for a version of Autoconf means all parts of its Covered Code which that version can copy from its code (i.e., not from its input file) into its minimally verbose, non-debugging and non-tracing output.
"Ineligible Code" is Covered Code that is not Normally Copied Code.
1. Grant of Additional Permission.
You have permission to propagate output of Autoconf, even if such propagation would otherwise violate the terms of GPLv3. However, if by modifying Autoconf you cause any Ineligible Code of the version you received to become Normally Copied Code of your modified version, then you void this Exception for the resulting covered work. If you convey that resulting covered work, you must remove this Exception in accordance with the second paragraph of Section 7 of GPLv3.
2. No Weakening of Autoconf Copyleft.
The availability of this Exception does not imply any general presumption that third-party software is unaffected by the copyleft requirements of the license of Autoconf.

View File

@@ -1 +0,0 @@
As a special exception to the GNU General Public License, if you distribute this file as part of a program that contains a configuration script generated by Autoconf, you may include it under the same distribution terms that you use for the rest of that program.

View File

@@ -1,9 +0,0 @@
Copyright (c) <year> <owner> All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,11 +0,0 @@
Copyright (c) <year> <owner>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,121 +0,0 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

View File

@@ -1 +0,0 @@
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

View File

@@ -1,117 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

View File

@@ -1,232 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@@ -1,8 +0,0 @@
ISC License:
Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
Copyright (c) 1995-2003 by Internet Software Consortium
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@@ -1,15 +0,0 @@
---- LLVM Exceptions to the Apache 2.0 License ----
As an exception, if, as a result of your compiling your source code, portions
of this Software are embedded into an Object form of such source code, you
may redistribute such embedded portions in such Object form without complying
with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
In addition, if you combine or link compiled forms of this Software with
software that is licensed under the GPLv2 ("Combined Software") and if a
court of competent jurisdiction determines that the patent provision (Section
3), the indemnity provision (Section 9) or other Section of the License
conflicts with the conditions of the GPLv2, you may retroactively and
prospectively choose to deem waived or otherwise exclude such Section(s) of
the License, but only in their entirety and only with respect to the Combined
Software.

View File

@@ -1,9 +0,0 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,144 +0,0 @@
Mozilla Public License Version 2.0
1. Definitions
1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.
1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution" means Covered Software of a particular Contributor.
1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.
1.5. "Incompatible With Secondary Licenses" means
(a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.
1.6. "Executable Form" means any form of the work other than Source Code Form.
1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.
1.8. "License" means this document.
1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.
1.10. "Modifications" means any of the following:
(a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
(b) any new file in Source Code Form that contains any Covered Software.
1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.
1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
1.13. "Source Code Form" means the form of the work preferred for making modifications.
1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
2. License Grants and Conditions
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
(a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:
(a) for any code that a Contributor has removed from Covered Software; or
(b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or
(c) under Patent Claims infringed by Covered Software in the absence of its Contributions.
This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.
3. Responsibilities
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).
3.4. Notices
You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.
4. Inability to Comply Due to Statute or Regulation
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
5. Termination
5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.
6. Disclaimer of Warranty
Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.
7. Limitation of Liability
Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
8. Litigation
Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims.
9. Miscellaneous
This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.
10. Versions of the License
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, you can obtain one at https://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.

View File

@@ -1,30 +0,0 @@
include $(top_srcdir)/Makefile.top
SUBDIRS = . lib doc
# build libtest before fuzz/* and bin/tests
SUBDIRS += tests
# run fuzz tests before system tests
SUBDIRS += fuzz bin
BUILT_SOURCES += bind.keys.h
CLEANFILES += bind.keys.h
bind.keys.h: bind.keys Makefile
${PERL} ${top_srcdir}/util/bindkeys.pl ${top_srcdir}/bind.keys > $@
.PHONY: doc
EXTRA_DIST = \
bind.keys \
util/bindkeys.pl \
util/dtrace.sh \
contrib \
COPYRIGHT \
LICENSE \
*.md
dist-hook:
find $(distdir) -type f -name .gitignore -delete
git rev-parse --short HEAD | cut -b1-7 > $(distdir)/srcid

View File

@@ -1,59 +0,0 @@
SPHINX_V = $(SPHINX_V_@AM_V@)
SPHINX_V_ = $(SPHINX_V_@AM_DEFAULT_V@)
SPHINX_V_0 = -q
SPHINX_V_1 = -n
SPHINX_W = -W
AM_V_SPHINX = $(AM_V_SPHINX_@AM_V@)
AM_V_SPHINX_ = $(AM_V_SPHINX_@AM_DEFAULT_V@)
AM_V_SPHINX_0 = @echo " SPHINX $@";
SPHINXBUILDDIR = $(builddir)/_build
LF = \n
RNDC_CONF = .. |rndc_conf| replace:: ``$(sysconfdir)/rndc.conf``
RNDC_KEY = .. |rndc_key| replace:: ``$(sysconfdir)/rndc.key``
NAMED_CONF = .. |named_conf| replace:: ``$(sysconfdir)/named.conf``
NAMED_PID = .. |named_pid| replace:: ``$(runstatedir)/named.pid``
SESSION_KEY = .. |session_key| replace:: ``$(runstatedir)/session.key``
export RST_EPILOG = $(RNDC_CONF)$(LF)$(RNDC_KEY)$(LF)$(NAMED_CONF)$(LF)$(BIND_KEYS)$(LF)$(NAMED_PID)$(LF)$(SESSION_KEY)
common_SPHINXOPTS = \
$(SPHINX_W) \
-c $(srcdir) \
-a \
$(SPHINX_V)
ALLSPHINXOPTS = \
$(common_SPHINXOPTS) \
-D rst_epilog="$$(printf "$${RST_EPILOG}")" \
$(SPHINXOPTS) \
$(srcdir)
_ = @
man_RNDC_CONF = .. |rndc_conf| replace:: ``$(_)sysconfdir$(_)/rndc.conf``
man_RNDC_KEY = .. |rndc_key| replace:: ``$(_)sysconfdir$(_)/rndc.key``
man_NAMED_CONF = .. |named_conf| replace:: ``$(_)sysconfdir$(_)/named.conf``
man_BIND_KEYS = .. |bind_keys| replace:: ``$(_)sysconfdir$(_)/bind.keys``
man_NAMED_PID = .. |named_pid| replace:: ``$(_)runstatedir$(_)/named.pid``
man_SESSION_KEY = .. |session_key| replace:: ``$(_)runstatedir$(_)/session.key``
export man_RST_EPILOG = $(man_RNDC_CONF)$(LF)$(man_RNDC_KEY)$(LF)$(man_NAMED_CONF)$(LF)$(man_BIND_KEYS)$(LF)$(man_NAMED_PID)$(LF)$(man_SESSION_KEY)
man_SPHINXOPTS = \
$(common_SPHINXOPTS) \
-D version="@""PACKAGE_VERSION@" \
-D today="@""RELEASE_DATE@" \
-D release="@""PACKAGE_VERSION@" \
-D rst_epilog="$$(printf "$${man_RST_EPILOG}")" \
$(SPHINXOPTS) \
$(srcdir)
AM_V_SED = $(AM_V_SED_@AM_V@)
AM_V_SED_ = $(AM_V_SED_@AM_DEFAULT_V@)
AM_V_SED_0 = @echo " SED $@";
AM_V_CFG_TEST = $(AM_V_CFG_TEST_@AM_V@)
AM_V_CFG_TEST_ = $(AM_V_CFG_TEST_@AM_DEFAULT_V@)
AM_V_CFG_TEST_0 = @echo " CFG_GEN $@";

View File

@@ -1,20 +0,0 @@
# Hey Emacs, this is -*- makefile-automake -*- file!
# vim: filetype=automake
AM_V_DTRACE = $(AM_V_DTRACE_@AM_V@)
AM_V_DTRACE_ = $(AM_V_DTRACE_@AM_DEFAULT_V@)
AM_V_DTRACE_0 = @echo " DTRACE $@";
BUILT_SOURCES += probes.h
CLEANFILES += probes.h probes.o
probes.h: Makefile probes.d
$(AM_V_DTRACE)$(DTRACE) -s $(srcdir)/probes.d -h -o $@
probes.lo: Makefile probes.d $(DTRACE_DEPS)
$(AM_V_DTRACE)$(LIBTOOL) --mode=compile --tag=CC $(DTRACE) -s $(srcdir)/probes.d -G -o $@ $(DTRACE_OBJS)
if HAVE_DTRACE
if !HOST_MACOS
DTRACE_LIBADD = probes.lo
endif
endif

120
Makefile.in Normal file
View File

@@ -0,0 +1,120 @@
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VERSION=@BIND9_VERSION@
SUBDIRS = make lib bin doc
TARGETS =
PREREQS = bind.keys.h
MANPAGES = isc-config.sh.1
HTMLPAGES = isc-config.sh.html
MANOBJS = README HISTORY OPTIONS ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
newrr:
cd lib/dns; ${MAKE} newrr
bind.keys.h: ${top_srcdir}/bind.keys ${srcdir}/util/bindkeys.pl
${PERL} ${srcdir}/util/bindkeys.pl < ${top_srcdir}/bind.keys > $@
distclean::
rm -f config.cache config.h config.log config.status TAGS
rm -f libtool isc-config.sh configure.lineno
rm -f util/conf.sh docutil/docbook2man-wrapper.sh
# XXX we should clean libtool stuff too. Only do this after we add rules
# to make it.
maintainer-clean::
rm -f configure
rm -f bind.keys.h
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
doc man:: ${MANOBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
install:: isc-config.sh installdirs
${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}
rm -f ${DESTDIR}${bindir}/bind9-config
@LN@ ${DESTDIR}${bindir}/isc-config.sh ${DESTDIR}${bindir}/bind9-config
${INSTALL_DATA} ${top_srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
rm -f ${DESTDIR}${mandir}/man1/bind9-config.1
@LN@ ${DESTDIR}${mandir}/man1/isc-config.sh.1 ${DESTDIR}${mandir}/man1/bind9-config.1
${INSTALL_DATA} ${top_srcdir}/bind.keys ${DESTDIR}${sysconfdir}
uninstall::
rm -f ${DESTDIR}${sysconfdir}/bind.keys
rm -f ${DESTDIR}${mandir}/man1/bind9-config.1
rm -f ${DESTDIR}${mandir}/man1/isc-config.sh.1
rm -f ${DESTDIR}${bindir}/bind9-config
rm -f ${DESTDIR}${bindir}/isc-config.sh
tags:
rm -f TAGS
find lib bin -name "*.[ch]" -print | @ETAGS@ -
test check:
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>/dev/null || echo fail`"; then \
echo I: NOTE: The tests were not run because they require that; \
echo I: the IP addresses 10.53.0.1 through 10.53.0.8 are configured; \
echo I: as alias addresses on the loopback interface. Please run; \
echo I: \'bin/tests/system/ifconfig.sh up\' as root to configure; \
echo I: them, then rerun the tests. Run make force-test to run the; \
echo I: tests anyway.; \
exit 1; \
fi
${MAKE} test-force
force-test: test-force
test-force:
status=0; \
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
(test -f ${top_builddir}/unit/unittest.sh && \
$(SHELL) ${top_builddir}/unit/unittest.sh) || status=1; \
exit $$status
README: README.md
${PANDOC} --email-obfuscation=none -s --metadata title="README" -f markdown-smart -t html README.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
HISTORY: HISTORY.md
${PANDOC} --email-obfuscation=none -s --metadata title="HISTORY" -f markdown-smart -t html HISTORY.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
OPTIONS: OPTIONS.md
${PANDOC} --email-obfuscation=none -s --metadata title="OPTIONS" -f markdown-smart -t html OPTIONS.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
CONTRIBUTING: CONTRIBUTING.md
${PANDOC} --email-obfuscation=none -s --metadata title="CONTRIBUTING" -f markdown-smart -t html CONTRIBUTING.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
unit::
sh ${top_builddir}/unit/unittest.sh
clean::

View File

@@ -1,28 +0,0 @@
# Hey Emacs, this is -*- makefile-automake -*- file!
# vim: filetype=automake
unit-local: check
if HAVE_CMOCKA
TESTS = $(check_PROGRAMS)
endif HAVE_CMOCKA
LOG_COMPILER = $(top_builddir)/tests/unit-test-driver.sh
AM_CFLAGS += \
-I$(top_srcdir)/tests/include \
$(TEST_CFLAGS)
AM_CPPFLAGS += \
$(CMOCKA_CFLAGS) \
-DNAMED_PLUGINDIR=\"$(pkglibdir)\" \
-DTESTS_DIR=\"$(abs_srcdir)\"
LDADD += \
$(top_builddir)/tests/libtest/libtest.la \
$(CMOCKA_LIBS)
if HAVE_JEMALLOC
AM_CFLAGS += $(JEMALLOC_CFLAGS)
LDADD += $(JEMALLOC_LIBS)
endif

View File

@@ -1,73 +0,0 @@
# Hey Emacs, this is -*- makefile-automake -*- file!
# vim: filetype=automake
ACLOCAL_AMFLAGS = -I $(top_srcdir)/m4
AM_CFLAGS = \
$(STD_CFLAGS)
AM_CPPFLAGS = \
$(STD_CPPFLAGS) \
-include $(top_builddir)/config.h \
-I$(srcdir)/include
AM_LDFLAGS = \
$(STD_LDFLAGS)
LDADD =
BUILT_SOURCES =
CLEANFILES =
if HOST_MACOS
AM_LDFLAGS += \
-Wl,-flat_namespace
endif HOST_MACOS
if HAVE_JEMALLOC
LIBISC_CFLAGS = $(JEMALLOC_CFLAGS)
LIBISC_LIBS = $(JEMALLOC_LIBS)
else
LIBISC_CFLAGS =
LIBISC_LIBS =
endif
LIBISC_CFLAGS += \
-I$(top_srcdir)/include \
-I$(top_srcdir)/lib/isc/include \
-I$(top_builddir)/lib/isc/include
LIBISC_LIBS += $(top_builddir)/lib/isc/libisc.la
if HAVE_DTRACE
LIBISC_DTRACE = $(top_builddir)/lib/isc/probes.lo
endif
LIBDNS_CFLAGS = \
-I$(top_srcdir)/lib/dns/include \
-I$(top_builddir)/lib/dns/include
LIBDNS_LIBS = \
$(top_builddir)/lib/dns/libdns.la
if HAVE_DTRACE
LIBDNS_DTRACE = $(top_builddir)/lib/dns/probes.lo
endif
LIBNS_CFLAGS = \
-I$(top_srcdir)/lib/ns/include
LIBNS_LIBS = \
$(top_builddir)/lib/ns/libns.la
if HAVE_DTRACE
LIBNS_DTRACE = $(top_builddir)/lib/ns/probes.lo
endif
LIBISCCFG_CFLAGS = \
-I$(top_srcdir)/lib/isccfg/include
LIBISCCFG_LIBS = \
$(top_builddir)/lib/isccfg/libisccfg.la
LIBISCCC_CFLAGS = \
-I$(top_srcdir)/lib/isccc/include/
LIBISCCC_LIBS = \
$(top_builddir)/lib/isccc/libisccc.la

1
NEWS
View File

@@ -1 +0,0 @@
doc/arm/changelog.rst

34
OPTIONS Normal file
View File

@@ -0,0 +1,34 @@
OPTIONS
Setting the STD_CDEFINES environment variable before running configure can
be used to enable certain compile-time options that are not explicitly
defined in configure.
Some of these settings are:
Setting Description
Don't ovewrite memory when allocating or freeing
-DISC_MEM_FILL=0 it; this improves performance but makes
debugging more difficult.
Don't track memory allocations by file and line
-DISC_MEM_TRACKLINES=0 number; this improves performance but makes
debugging more difficult.
-DISC_FACILITY=LOG_LOCAL0 Change the default syslog facility for named
-DNS_CLIENT_DROPPORT=0 Disable dropping queries from particular
well-known ports:
-DCHECK_SIBLING=0 Don't check sibling glue in named-checkzone
-DCHECK_LOCAL=0 Don't check out-of-zone addresses in
named-checkzone
-DNS_RUN_PID_DIR=0 Create default PID files in ${localstatedir}/run
rather than ${localstatedir}/run/{named,lwresd}/
Enable DNSSEC signature chasing support in dig.
-DDIG_SIGCHASE=1 (Note: This feature is deprecated. Use delv
instead.)
Increase the maximum number of configurable
-DNS_RPZ_MAX_ZONES=64 response policy zones from 32 to 64; this is the
highest possible setting
-DISC_HEAP_CHECK Test heap consistency after every heap
operation; used when debugging
Disable the use of inline functions to implement
-DISC_BUFFER_USEINLINE=0 the isc_buffer API: this reduces performance but
may be useful when debugging

View File

@@ -1,29 +1,29 @@
<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
SPDX-License-Identifier: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
Setting the `CPPFLAGS` environment variable before running `configure`
can be used to enable certain compile-time options that are not
explicitly defined in `configure`.
Setting the `STD_CDEFINES` environment variable before running `configure`
can be used to enable certain compile-time options that are not explicitly
defined in `configure`.
Some of these settings are:
| Setting | Description |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `-DCHECK_LOCAL=0` | Don't check out-of-zone addresses in `named-checkzone` |
| `-DCHECK_SIBLING=0` | Don't check sibling glue in `named-checkzone` |
| `-DISC_FACILITY=LOG_LOCAL0` | Change the default syslog facility for `named` |
| `-DISC_HEAP_CHECK` | Test heap consistency after every heap operation; used when debugging |
| `-DISC_MEM_DEFAULTFILL=1` | Overwrite memory with tag values when allocating or freeing it; this impairs performance but makes debugging of memory problems easier |
| `-DISC_MEM_TRACKLINES=0` | Don't track memory allocations by file and line number; this improves performance but makes debugging more difficult |
| `-DNAMED_RUN_PID_DIR=0` | Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/named/` |
| `-DNS_CLIENT_DROPPORT=0` | Disable dropping queries from particular well-known ports |
| `-DOPENSSL_API_COMPAT=10100` | Build using the deprecated OpenSSL APIs so that the `engine` API is available when building with OpenSSL 3.0.0 for PKCS#11 support |
|Setting |Description |
|-----------------------------------|----------------------------------------|
|`-DISC_MEM_FILL=0`|Don't ovewrite memory when allocating or freeing it; this improves performance but makes debugging more difficult.|
|`-DISC_MEM_TRACKLINES=0`|Don't track memory allocations by file and line number; this improves performance but makes debugging more difficult.|
|<nobr>`-DISC_FACILITY=LOG_LOCAL0`</nobr>|Change the default syslog facility for `named`|
|`-DNS_CLIENT_DROPPORT=0`|Disable dropping queries from particular well-known ports:|
|`-DCHECK_SIBLING=0`|Don't check sibling glue in `named-checkzone`|
|`-DCHECK_LOCAL=0`|Don't check out-of-zone addresses in `named-checkzone`|
|`-DNS_RUN_PID_DIR=0`|Create default PID files in `${localstatedir}/run` rather than `${localstatedir}/run/{named,lwresd}/`|
|`-DDIG_SIGCHASE=1`|Enable DNSSEC signature chasing support in `dig`. (Note: This feature is deprecated. Use `delv` instead.)|
|`-DNS_RPZ_MAX_ZONES=64`|Increase the maximum number of configurable response policy zones from 32 to 64; this is the highest possible setting|
|`-DISC_HEAP_CHECK`|Test heap consistency after every heap operation; used when debugging|
|`-DISC_BUFFER_USEINLINE=0`|Disable the use of inline functions to implement the `isc_buffer` API: this reduces performance but may be useful when debugging |

563
README Normal file
View File

@@ -0,0 +1,563 @@
README
BIND 9
Contents
1. Introduction
2. Reporting bugs and getting help
3. Contributing to BIND
4. BIND 9.11 features
5. Building BIND
6. macOS
7. Dependencies
8. Compile-time options
9. Automated testing
10. Documentation
11. Change log
12. Acknowledgments
Introduction
BIND (Berkeley Internet Name Domain) is a complete, highly portable
implementation of the DNS (Domain Name System) protocol.
The BIND name server, named, is able to serve as an authoritative name
server, recursive resolver, DNS forwarder, or all three simultaneously. It
implements views for split-horizon DNS, automatic DNSSEC zone signing and
key management, catalog zones to facilitate provisioning of zone data
throughout a name server constellation, response policy zones (RPZ) to
protect clients from malicious data, response rate limiting (RRL) and
recursive query limits to reduce distributed denial of service attacks,
and many other advanced DNS features. BIND also includes a suite of
administrative tools, including the dig and delv DNS lookup tools,
nsupdate for dynamic DNS zone updates, rndc for remote name server
administration, and more.
BIND 9 is a complete re-write of the BIND architecture that was used in
versions 4 and 8. Internet Systems Consortium (https://www.isc.org), a 501
(c)(3) public benefit corporation dedicated to providing software and
services in support of the Internet infrastructure, developed BIND 9 and
is responsible for its ongoing maintenance and improvement. BIND is open
source software licensed under the terms of ISC License for all versions
up to and including BIND 9.10, and the Mozilla Public License version 2.0
for all subsequent versions.
For a summary of features introduced in past major releases of BIND, see
the file HISTORY.
For a detailed list of changes made throughout the history of BIND 9, see
the file CHANGES. See below for details on the CHANGES file format.
For up-to-date release notes and errata, see http://www.isc.org/software/
bind9/releasenotes
Reporting bugs and getting help
To report non-security-sensitive bugs or request new features, you may
open an Issue in the BIND 9 project on the ISC GitLab server at https://
gitlab.isc.org/isc-projects/bind9.
Please note that, unless you explicitly mark the newly created Issue as
"confidential", it will be publicly readable. Please do not include any
information in bug reports that you consider to be confidential unless the
issue has been marked as such. In particular, if submitting the contents
of your configuration file in a non-confidential Issue, it is advisable to
obscure key secrets: this can be done automatically by using
named-checkconf -px.
If the bug you are reporting is a potential security issue, such as an
assertion failure or other crash in named, please do NOT use GitLab to
report it. Instead, please send mail to security-officer@isc.org.
For a general overview of ISC security policies, read the Knowledge Base
article at https://kb.isc.org/docs/aa-00861.
Professional support and training for BIND are available from ISC at
https://www.isc.org/support.
To join the BIND Users mailing list, or view the archives, visit https://
lists.isc.org/mailman/listinfo/bind-users.
If you're planning on making changes to the BIND 9 source code, you may
also want to join the BIND Workers mailing list, at https://lists.isc.org/
mailman/listinfo/bind-workers.
Contributing to BIND
ISC maintains a public git repository for BIND; details can be found at
http://www.isc.org/git/.
Information for BIND contributors can be found in the following files: -
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
style.md - BIND architecture and developer guide: doc/dev/dev.md
Patches for BIND may be submitted as merge requests in the ISC GitLab
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
By default, external contributors don't have ability to fork BIND in the
GitLab server, but if you wish to contribute code to BIND, you may request
permission to do so. Thereafter, you can create git branches and directly
submit requests that they be reviewed and merged.
If you prefer, you may also submit code by opening a GitLab Issue and
including your patch as an attachment, preferably generated by git
format-patch.
BIND 9.11 features
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
releases. New features include:
* Added support for Catalog Zones, a new method for provisioning
servers: a list of zones to be served is stored in a DNS zone, along
with their configuration parameters. Changes to the catalog zone are
propagated to slaves via normal AXFR/IXFR, whereupon the zones that
are listed in it are automatically added, deleted or reconfigured.
* Added support for "dnstap", a fast and flexible method of capturing
and logging DNS traffic.
* Added support for "dyndb", a new API for loading zone data from an
external database, developed by Red Hat for the FreeIPA project.
* "fetchlimit" quotas are now compiled in by default. These are for the
use of recursive resolvers that are are under high query load for
domains whose authoritative servers are nonresponsive or are
experiencing a denial of service attack:
+ fetches-per-server limits the number of simultaneous queries that
can be sent to any single authoritative server. The configured
value is a starting point; it is automatically adjusted downward
if the server is partially or completely non-responsive. The
algorithm used to adjust the quota can be configured via the
"fetch-quota-params" option.
+ fetches-per-zone limits the number of simultaneous queries that
can be sent for names within a single domain. (Note: Unlike
fetches-per-server, this value is not self-tuning.)
+ New stats counters have been added to count queries spilled due to
these quotas.
* Added a new dnssec-keymgr key maintenance utility, which can generate
or update keys as needed to ensure that a zone's keys match a defined
DNSSEC policy.
* The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE"
and is no longer optional. EDNS COOKIE is a mechanism enabling clients
to detect off-path spoofed responses, and servers to detect
spoofed-source queries. Clients that identify themselves using COOKIE
options are not subject to response rate limiting (RRL) and can
receive larger UDP responses.
* SERVFAIL responses can now be cached for a limited time (defaulting to
1 second, with an upper limit of 30). This can reduce the frequency of
retries when a query is persistently failing.
* Added an nsip-wait-recurse switch to RPZ. This causes NSIP rules to be
skipped if a name server IP address isn't in the cache yet; the
address will be looked up and the rule will be applied on future
queries.
* Added a Python RNDC module. This allows multiple commands to sent over
a persistent RNDC channel, which saves time.
* The controls block in named.conf can now grant read-only rndc access
to specified clients or keys. Read-only clients could, for example,
check rndc status but could not reconfigure or shut down the server.
* rndc commands can now return arbitrarily large amounts of text to the
caller.
* The zone serial number of a dynamically updatable zone can now be set
via rndc signing -serial <number> <zonename>. This allows
inline-signing zones to be set to a specific serial number.
* The new rndc nta command can be used to set a Negative Trust Anchor
(NTA), disabling DNSSEC validation for a specific domain; this can be
used when responses from a domain are known to be failing validation
due to administrative error rather than because of a spoofing attack.
Negative trust anchors are strictly temporary; by default they expire
after one hour, but can be configured to last up to one week.
* rndc delzone can now be used on zones that were not originally created
by "rndc addzone".
* rndc modzone reconfigures a single zone, without requiring the entire
server to be reconfigured.
* rndc showzone displays the current configuration of a zone.
* rndc managed-keys can be used to check the status of RFC 5001 managed
trust anchors, or to force trust anchors to be refreshed.
* max-cache-size can now be set to a percentage of available memory. The
default is 90%.
* Update forwarding performance has been improved by allowing a single
TCP connection to be shared by multiple updates.
* The EDNS Client Subnet (ECS) option is now supported for authoritative
servers; if a query contains an ECS option then ACLs containing geoip
or ecs elements can match against the the address encoded in the
option. This can be used to select a view for a query, so that
different answers can be provided depending on the client network.
* The EDNS EXPIRE option has been implemented on the client side,
allowing a slave server to set the expiration timer correctly when
transferring zone data from another slave server.
* The key generation and manipulation tools (dnssec-keygen,
dnssec-settime, dnssec-importkey, dnssec-keyfromlabel) now take -Psync
and -Dsync options to set the publication and deletion times of CDS
and CDNSKEY parent-synchronization records. Both named and
dnssec-signzone can now publish and remove these records at the
scheduled times.
* A new minimal-any option reduces the size of UDP responses for query
type ANY by returning a single arbitrarily selected RRset instead of
all RRsets.
* A new masterfile-style zone option controls the formatting of text
zone files: When set to full, a zone file is dumped in
single-line-per-record format.
* serial-update-method can now be set to date. On update, the serial
number will be set to the current date in YYYYMMDDNN format.
* dnssec-signzone -N date sets the serial number to YYYYMMDDNN.
* named -L <filename> causes named to send log messages to the specified
file by default instead of to the system log.
* dig +ttlunits prints TTL values with time-unit suffixes: w, d, h, m, s
for weeks, days, hours, minutes, and seconds.
* dig +unknownformat prints dig output in RFC 3597 "unknown record"
presentation format.
* dig +ednsopt allows dig to set arbitrary EDNS options on requests.
* dig +ednsflags allows dig to set yet-to-be-defined EDNS flags on
requests.
* mdig is an alternate version of dig which sends multiple pipelined TCP
queries to a server. Instead of waiting for a response after sending a
query, it sends all queries immediately and displays responses in the
order received.
* serial-query-rate no longer controls NOTIFY messages. These are
separately controlled by notify-rate and startup-notify-rate.
* nsupdate now performs check-names processing by default on records to
be added. This can be disabled with check-names no.
* The statistics channel now supports DEFLATE compression, reducing the
size of the data sent over the network when querying statistics.
* New counters have been added to the statistics channel to track the
sizes of incoming queries and outgoing responses in histogram buckets,
as specified in RSSAC002.
* A new NXDOMAIN redirect method (option nxdomain-redirect) has been
added, allowing redirection to a specified DNS namespace instead of a
single redirect zone.
* When starting up, named now ensures that no other named process is
already running.
* Files created by named to store information, including mkeys and nzf
files, are now named after their corresponding views unless the view
name contains characters incompatible with use as a filename. Old
style filenames (based on the hash of the view name) will still work.
BIND 9.11.1
BIND 9.11.1 is a maintenance release, and addresses the security flaws
disclosed in CVE-2016-6170, CVE-2016-8864, CVE-2016-9131, CVE-2016-9147,
CVE-2016-9444, CVE-2016-9778, CVE-2017-3135, CVE-2017-3136, CVE-2017-3137
and CVE-2017-3138.
BIND 9.11.2
BIND 9.11.2 is a maintenance release, and addresses the security flaws
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and
CVE-2017-3143. It also addresses several bugs related to the use of an
LMDB database to store data related to zones added via rndc addzone or
catalog zones.
BIND 9.11.3
BIND 9.11.3 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
BIND 9.11.4
BIND 9.11.4 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738. It also introduces "root key sentinel"
support, enabling validating resolvers to indicate via a special query
which trust anchors are configured for the root zone.
BIND 9.11.5
BIND 9.11.5 is a maintenance release, and also addresses CVE-2018-5741 by
correcting faulty documentation and introducing the following new feature:
* New krb5-selfsub and ms-selfsub rule types for update-policy
statements allow updating of subdomains based on a Kerberos or Active
Directory machine principal.
BIND 9.11.6
BIND 9.11.6 is a maintenance release, and also addresses the security
flaws disclosed in CVE-2018-5743, CVE-2018-5745, CVE-2018-5744, and
CVE-2019-6465.
BIND 9.11.7
BIND 9.11.7 is a maintenance release, and also addresses the security flaw
disclosed in CVE-2018-5743.
BIND 9.11.8
BIND 9.11.8 is a maintenance release, and also addresses the security flaw
disclosed in CVE-2019-6471.
BIND 9.11.9
BIND 9.11.9 is a maintenance release, and also adds support for the new
MaxMind GeoIP2 geolocation API when built with configure --with-geoip2.
BIND 9.11.10
BIND 9.11.10 is a maintenance release.
BIND 9.11.11
BIND 9.11.11 is a maintenance release.
BIND 9.11.12
BIND 9.11.12 is a maintenance release.
BIND 9.11.13
BIND 9.11.13 is a maintenance release, and also addresse the security
vulnerability disclosed in CVE-2019-6477.
Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
basic POSIX support, and a 64-bit integer type. Successful builds have
been observed on many versions of Linux and UNIX, including RHEL/CentOS,
Fedora, Debian, Ubuntu, SLES, openSUSE, Slackware, Alpine, FreeBSD,
NetBSD, OpenBSD, macOS, Solaris, OpenIndiana, OmniOS CE, HP-UX, and
OpenWRT.
BIND is also available for Windows Server 2008 and higher. See win32utils/
build.txt for details on building for Windows systems.
To build on a UNIX or Linux system, use:
$ ./configure
$ make
If you're planning on making changes to the BIND 9 source, you should run
make depend. If you're using Emacs, you might find make tags helpful.
Several environment variables that can be set before running configure
will affect compilation:
Variable Description
CC The C compiler to use. configure tries to figure out the
right one for supported systems.
C compiler flags. Defaults to include -g and/or -O2 as
CFLAGS supported by the compiler. Please include '-g' if you need
to set CFLAGS.
System header file directories. Can be used to specify
STD_CINCLUDES where add-on thread or IPv6 support is, for example.
Defaults to empty string.
Any additional preprocessor symbols you want defined.
STD_CDEFINES Defaults to empty string. For a list of possible settings,
see the file OPTIONS.
LDFLAGS Linker flags. Defaults to empty string.
BUILD_CC Needed when cross-compiling: the native C compiler to use
when building for the target system.
BUILD_CFLAGS CFLAGS for the target system during cross-compiling.
BUILD_CPPFLAGS CPPFLAGS for the target system during cross-compiling.
BUILD_LDFLAGS LDFLAGS for the target system during cross-compiling.
BUILD_LIBS LIBS for the target system during cross-compiling.
macOS
Building on macOS assumes that the "Command Tools for Xcode" is installed.
This can be downloaded from https://developer.apple.com/download/more/ or
if you have Xcode already installed you can run xcode-select --install.
Dependencies
Portions of BIND that are written in Python, including dnssec-keymgr,
dnssec-coverage, dnssec-checkds, and some of the system tests, require the
argparse and ply modules to be available. argparse is a standard module as
of Python 2.7 and Python 3.2. ply is available from https://
pypi.python.org/pypi/ply.
Compile-time options
To see a full list of configuration options, run configure --help.
On most platforms, BIND 9 is built with multithreading support, allowing
it to take advantage of multiple CPUs. You can configure this by
specifying --enable-threads or --disable-threads on the configure command
line. The default is to enable threads, except on some older operating
systems on which threads are known to have had problems in the past.
(Note: Prior to BIND 9.10, the default was to disable threads on Linux
systems; this has now been reversed. On Linux systems, the threaded build
is known to change BIND's behavior with respect to file permissions; it
may be necessary to specify a user with the -u option when running named.)
To build shared libraries, specify --with-libtool on the configure command
line.
For the server to support DNSSEC, you need to build it with crypto
support. To use OpenSSL, you should have OpenSSL 1.0.2e or newer
installed. If the OpenSSL library is installed in a nonstandard location,
specify the prefix using --with-openssl=<PREFIX> on the configure command
line. To use a PKCS#11 hardware service module for cryptographic
operations, specify the path to the PKCS#11 provider library using
--with-pkcs11=<PREFIX>, and configure BIND with "--enable-native-pkcs11".
To support the HTTP statistics channel, the server must be linked with at
least one of the following libraries: libxml2 http://xmlsoft.org or json-c
https://github.com/json-c/json-c. If these are installed at a nonstandard
location, then:
* for libxml2, specify the prefix using --with-libxml2=/prefix,
* for json-c, adjust PKG_CONFIG_PATH.
To support compression on the HTTP statistics channel, the server must be
linked against libzlib. If this is installed in a nonstandard location,
specify the prefix using --with-zlib=/prefix.
To support storing configuration data for runtime-added zones in an LMDB
database, the server must be linked with liblmdb. If this is installed in
a nonstandard location, specify the prefix using with-lmdb=/prefix.
To support GeoIP location-based ACLs, the server must be linked with
libGeoIP. This is not turned on by default; BIND must be configured with
"--with-geoip". If the library is installed in a nonstandard location, use
specify the prefix using "--with-geoip=/prefix".
For DNSTAP packet logging, you must have installed libfstrm https://
github.com/farsightsec/fstrm and libprotobuf-c https://
developers.google.com/protocol-buffers, and BIND must be configured with
--enable-dnstap.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying --with-tuning=
large on the configure command line. This can improve performance on big
servers, but will consume more memory and may degrade performance on
smaller systems.
On some platforms it is necessary to explicitly request large file support
to handle files bigger than 2GB. This can be done by using
--enable-largefile on the configure command line.
Support for the "fixed" rrset-order option can be enabled or disabled by
specifying --enable-fixed-rrset or --disable-fixed-rrset on the configure
command line. By default, fixed rrset-order is disabled to reduce memory
footprint.
If your operating system has integrated support for IPv6, it will be used
automatically. If you have installed KAME IPv6 separately, use --with-kame
[=PATH] to specify its location.
The --enable-querytrace option causes named to log every step of
processing every query. This should only be enabled when debugging,
because it has a significant negative impact on query performance.
make install will install named and the various BIND 9 libraries. By
default, installation is into /usr/local, but this can be changed with the
--prefix option when running configure.
You may specify the option --sysconfdir to set the directory where
configuration files like named.conf go by default, and --localstatedir to
set the default parent directory of run/named.pid. For backwards
compatibility with BIND 8, --sysconfdir defaults to /etc and
--localstatedir defaults to /var if no --prefix option is given. If there
is a --prefix option, sysconfdir defaults to $prefix/etc and localstatedir
defaults to $prefix/var.
Automated testing
A system test suite can be run with make test. The system tests require
you to configure a set of virtual IP addresses on your system (this allows
multiple servers to run locally and communicate with one another). These
IP addresses can be configured by running the command bin/tests/system/
ifconfig.sh up as root.
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
and will be skipped if these are not available. Some tests require Python
and the dnspython module and will be skipped if these are not available.
See bin/tests/system/README for further details.
Unit tests are implemented using the CMocka unit testing framework. To
build them, use configure --with-cmocka. Execution of tests is done by the
Kyua test execution engine; if the kyua command is available, then unit
tests can be run via make test or make unit.
Documentation
The BIND 9 Administrator Reference Manual is included with the source
distribution, in DocBook XML, HTML, and PDF format, in the doc/arm
directory.
Some of the programs in the BIND 9 distribution have man pages in their
directories. In particular, the command line options of named are
documented in bin/named/named.8.
Frequently (and not-so-frequently) asked questions and their answers can
be found in the ISC Knowledge Base at https://kb.isc.org.
Additional information on various subjects can be found in other README
files throughout the source tree.
Change log
A detailed list of all changes that have been made throughout the
development BIND 9 is included in the file CHANGES, with the most recent
changes listed first. Change notes include tags indicating the category of
the change that was made; these categories are:
Category Description
[func] New feature
[bug] General bug fix
[security] Fix for a significant security flaw
[experimental] Used for new features when the syntax or other aspects of
the design are still in flux and may change
[port] Portability enhancement
[maint] Updates to built-in data such as root server addresses and
keys
[tuning] Changes to built-in configuration defaults and constants to
improve performance
[performance] Other changes to improve server performance
[protocol] Updates to the DNS protocol such as new RR types
[test] Changes to the automatic tests, not affecting server
functionality
[cleanup] Minor corrections and refactoring
[doc] Documentation
[contrib] Changes to the contributed tools and libraries in the
'contrib' subdirectory
Used in the master development branch to reserve change
[placeholder] numbers for use in other branches, e.g. when fixing a bug
that only exists in older releases
In general, [func] and [experimental] tags will only appear in new-feature
releases (i.e., those with version numbers ending in zero). Some new
functionality may be backported to older releases on a case-by-case basis.
All other change types may be applied to all currently-supported releases.
Bug report identifiers
Most notes in the CHANGES file include a reference to a bug report or
issue number. Prior to 2018, these were usually of the form [RT #NNN] and
referred to entries in the "bind9-bugs" RT database, which was not open to
the public. More recent entries use the form [GL #NNN] or, less often, [GL
!NNN], which, respectively, refer to issues or merge requests in the
GitLab database. Most of these are publicly readable, unless they include
information which is confidential or security sensitive.
To look up a GitLab issue by its number, use the URL https://
gitlab.isc.org/isc-projects/bind9/issues/NNN. To look up a merge request,
use https://gitlab.isc.org/isc-projects/bind9/merge_requests/NNN.
In rare cases, an issue or merge request number may be followed with the
letter "P". This indicates that the information is in the private ISC
GitLab instance, which is not visible to the public.
Acknowledgments
* The original development of BIND 9 was underwritten by the following
organizations:
Sun Microsystems, Inc.
Hewlett Packard
Compaq Computer Corporation
IBM
Process Software Corporation
Silicon Graphics, Inc.
Network Associates, Inc.
U.S. Defense Information Systems Agency
USENIX Association
Stichting NLnet - NLnet Foundation
Nominum, Inc.
* This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit. http://www.OpenSSL.org/
* This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com)
* This product includes software written by Tim Hudson
(tjh@cryptsoft.com)

518
README.md
View File

@@ -1,14 +1,12 @@
<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
SPDX-License-Identifier: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
# BIND 9
@@ -17,68 +15,78 @@ information regarding copyright ownership.
1. [Introduction](#intro)
1. [Reporting bugs and getting help](#help)
1. [Contributing to BIND](#contrib)
1. [BIND 9.11 features](#features)
1. [Building BIND](#build)
1. [macOS](#macos)
1. [Dependencies](#dependencies)
1. [Compile-time options](#opts)
1. [Automated testing](#testing)
1. [Documentation](#doc)
1. [Change log](#changes)
1. [Acknowledgments](#ack)
### <a name="intro"/> Introduction
BIND (Berkeley Internet Name Domain) is a complete, highly portable
implementation of the Domain Name System (DNS) protocol.
implementation of the DNS (Domain Name System) protocol.
The BIND name server, `named`, can act as an authoritative name
server, recursive resolver, DNS forwarder, or all three simultaneously. It
The BIND name server, `named`, is able to serve as an authoritative name
server, recursive resolver, DNS forwarder, or all three simultaneously. It
implements views for split-horizon DNS, automatic DNSSEC zone signing and
key management, catalog zones to facilitate provisioning of zone data
throughout a name server constellation, response policy zones (RPZ) to
protect clients from malicious data, response rate limiting (RRL) and
recursive query limits to reduce distributed denial of service attacks,
and many other advanced DNS features. BIND also includes a suite of
and many other advanced DNS features. BIND also includes a suite of
administrative tools, including the `dig` and `delv` DNS lookup tools,
`nsupdate` for dynamic DNS zone updates, `rndc` for remote name server
administration, and more.
BIND 9 began as a complete rewrite of the BIND architecture that was
used in versions 4 and 8. Internet Systems Consortium
([https://www.isc.org](https://www.isc.org)), a 501(c)(3) US public benefit
BIND 9 is a complete re-write of the BIND architecture that was used in
versions 4 and 8. Internet Systems Consortium
([https://www.isc.org](https://www.isc.org)), a 501(c)(3) public benefit
corporation dedicated to providing software and services in support of the
Internet infrastructure, developed BIND 9 and is responsible for its
ongoing maintenance and improvement. BIND is open source software
licensed under the terms of the Mozilla Public License, version 2.0.
ongoing maintenance and improvement. BIND is open source software
licensed under the terms of ISC License for all versions up to and
including BIND 9.10, and the Mozilla Public License version 2.0 for all
subsequent versions.
For a summary of features introduced in past major releases of BIND,
see the file [HISTORY](HISTORY.md).
For a detailed list of changes made throughout the history of BIND 9, see
the [changelog](doc/arm/changelog.rst).
the file [CHANGES](CHANGES). See [below](#changes) for details on the
CHANGES file format.
For up-to-date versions and release notes, see
[https://www.isc.org/download/](https://www.isc.org/download/).
For information about supported platforms, see the
["Supported Platforms"](doc/arm/platforms.rst) section in the BIND 9
Administrator Reference Manual.
For up-to-date release notes and errata, see
[http://www.isc.org/software/bind9/releasenotes](http://www.isc.org/software/bind9/releasenotes)
### <a name="help"/> Reporting bugs and getting help
To report non-security-sensitive bugs or request new features, you may
open an issue in the BIND 9 project on the
open an Issue in the BIND 9 project on the
[ISC GitLab server](https://gitlab.isc.org) at
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9).
Please note that, unless you explicitly mark the newly created issue as
"confidential," it will be publicly readable. Please do not include any
Please note that, unless you explicitly mark the newly created Issue as
"confidential", it will be publicly readable. Please do not include any
information in bug reports that you consider to be confidential unless
the issue has been marked as such. In particular, if submitting the
contents of your configuration file in a non-confidential issue, it is
advisable to obscure key secrets; this can be done automatically by
the issue has been marked as such. In particular, if submitting the
contents of your configuration file in a non-confidential Issue, it is
advisable to obscure key secrets: this can be done automatically by
using `named-checkconf -px`.
For information about ISC's Security Vulnerability Disclosure Policy and
information about reporting potential security issues, please see
`SECURITY.md`.
If the bug you are reporting is a potential security issue, such as an
assertion failure or other crash in `named`, please do *NOT* use GitLab to
report it. Instead, please send mail to
[security-officer@isc.org](mailto:security-officer@isc.org).
For a general overview of ISC security policies, read the Knowledge Base
article at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
Professional support and training for BIND are available from
ISC. Contact us at [https://www.isc.org/contact](https://www.isc.org/contact)
for more information.
ISC at [https://www.isc.org/support](https://www.isc.org/support).
To join the __BIND Users__ mailing list, or view the archives, visit
[https://lists.isc.org/mailman/listinfo/bind-users](https://lists.isc.org/mailman/listinfo/bind-users).
@@ -90,86 +98,442 @@ may also want to join the __BIND Workers__ mailing list, at
### <a name="contrib"/> Contributing to BIND
ISC maintains a public git repository for BIND; details can be found
at [https://www.isc.org/sourceaccess/](https://www.isc.org/sourceaccess/).
at [http://www.isc.org/git/](http://www.isc.org/git/).
Information for BIND contributors can be found in the following files:
- General information: [CONTRIBUTING.md](CONTRIBUTING.md)
- Code of Conduct: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
- General information: [doc/dev/contrib.md](doc/dev/contrib.md)
- BIND 9 code style: [doc/dev/style.md](doc/dev/style.md)
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
Patches for BIND may be submitted as
[merge requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
on the [ISC GitLab server](https://gitlab.isc.org).
in the [ISC GitLab server](https://gitlab.isc.org) at
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
By default, external contributors do not have the ability to fork BIND on the
GitLab server; if you wish to contribute code to BIND, you may request
By default, external contributors don't have ability to fork BIND in the
GitLab server, but if you wish to contribute code to BIND, you may request
permission to do so. Thereafter, you can create git branches and directly
submit requests that they be reviewed and merged.
If you prefer, you may also submit code by opening a
[GitLab issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
[GitLab Issue](https://gitlab.isc.org/isc-projects/bind9/issues) and
including your patch as an attachment, preferably generated by
`git format-patch`.
### <a name="build"/> Building BIND 9
### <a name="features"/> BIND 9.11 features
For information about building BIND 9, see the
["Building BIND 9"](doc/arm/build.inc.rst) section in the BIND 9
Administrator Reference Manual.
BIND 9.11.0 includes a number of changes from BIND 9.10 and earlier
releases. New features include:
* Added support for Catalog Zones, a new method for provisioning servers: a
list of zones to be served is stored in a DNS zone, along with their
configuration parameters. Changes to the catalog zone are propagated to
slaves via normal AXFR/IXFR, whereupon the zones that are listed in it
are automatically added, deleted or reconfigured.
* Added support for "dnstap", a fast and flexible method of capturing and
logging DNS traffic.
* Added support for "dyndb", a new API for loading zone data from an
external database, developed by Red Hat for the FreeIPA project.
* "fetchlimit" quotas are now compiled in by default. These are for the
use of recursive resolvers that are are under high query load for domains
whose authoritative servers are nonresponsive or are experiencing a
denial of service attack:
* `fetches-per-server` limits the number of simultaneous queries that
can be sent to any single authoritative server. The configured value
is a starting point; it is automatically adjusted downward if the
server is partially or completely non-responsive. The algorithm used
to adjust the quota can be configured via the "fetch-quota-params"
option.
* `fetches-per-zone` limits the number of simultaneous queries that can
be sent for names within a single domain. (Note: Unlike
`fetches-per-server`, this value is not self-tuning.)
* New stats counters have been added to count queries spilled due to
these quotas.
* Added a new `dnssec-keymgr` key maintenance utility, which can generate or
update keys as needed to ensure that a zone's keys match a defined DNSSEC
policy.
* The experimental "SIT" feature in BIND 9.10 has been renamed "COOKIE" and
is no longer optional. EDNS COOKIE is a mechanism enabling clients to
detect off-path spoofed responses, and servers to detect spoofed-source
queries. Clients that identify themselves using COOKIE options are not
subject to response rate limiting (RRL) and can receive larger UDP
responses.
* SERVFAIL responses can now be cached for a limited time (defaulting to 1
second, with an upper limit of 30). This can reduce the frequency of
retries when a query is persistently failing.
* Added an `nsip-wait-recurse` switch to RPZ. This causes NSIP rules to be
skipped if a name server IP address isn't in the cache yet; the address
will be looked up and the rule will be applied on future queries.
* Added a Python RNDC module. This allows multiple commands to sent over a
persistent RNDC channel, which saves time.
* The `controls` block in named.conf can now grant read-only `rndc` access
to specified clients or keys. Read-only clients could, for example, check
`rndc status` but could not reconfigure or shut down the server.
* `rndc` commands can now return arbitrarily large amounts of text to the
caller.
* The zone serial number of a dynamically updatable zone can now be set via
`rndc signing -serial <number> <zonename>`. This allows inline-signing
zones to be set to a specific serial number.
* The new `rndc nta` command can be used to set a Negative Trust Anchor
(NTA), disabling DNSSEC validation for a specific domain; this can be
used when responses from a domain are known to be failing validation due
to administrative error rather than because of a spoofing attack.
Negative trust anchors are strictly temporary; by default they expire
after one hour, but can be configured to last up to one week.
* `rndc delzone` can now be used on zones that were not originally created
by "rndc addzone".
* `rndc modzone` reconfigures a single zone, without requiring the entire
server to be reconfigured.
* `rndc showzone` displays the current configuration of a zone.
* `rndc managed-keys` can be used to check the status of RFC 5001 managed
trust anchors, or to force trust anchors to be refreshed.
* `max-cache-size` can now be set to a percentage of available memory. The
default is 90%.
* Update forwarding performance has been improved by allowing a single TCP
connection to be shared by multiple updates.
* The EDNS Client Subnet (ECS) option is now supported for authoritative
servers; if a query contains an ECS option then ACLs containing `geoip`
or `ecs` elements can match against the the address encoded in the
option. This can be used to select a view for a query, so that different
answers can be provided depending on the client network.
* The EDNS EXPIRE option has been implemented on the client side, allowing
a slave server to set the expiration timer correctly when transferring
zone data from another slave server.
* The key generation and manipulation tools (`dnssec-keygen`,
`dnssec-settime`, `dnssec-importkey`, `dnssec-keyfromlabel`) now take
`-Psync` and `-Dsync` options to set the publication and deletion times
of CDS and CDNSKEY parent-synchronization records. Both `named` and
`dnssec-signzone` can now publish and remove these records at the
scheduled times.
* A new `minimal-any` option reduces the size of UDP responses for query
type ANY by returning a single arbitrarily selected RRset instead of all
RRsets.
* A new `masterfile-style` zone option controls the formatting of text zone
files: When set to `full`, a zone file is dumped in
single-line-per-record format.
* `serial-update-method` can now be set to `date`. On update, the serial
number will be set to the current date in YYYYMMDDNN format.
* `dnssec-signzone -N date` sets the serial number to YYYYMMDDNN.
* `named -L <filename>` causes named to send log messages to the specified
file by default instead of to the system log.
* `dig +ttlunits` prints TTL values with time-unit suffixes: w, d, h, m, s
for weeks, days, hours, minutes, and seconds.
* `dig +unknownformat` prints dig output in RFC 3597 "unknown record"
presentation format.
* `dig +ednsopt` allows dig to set arbitrary EDNS options on requests.
* `dig +ednsflags` allows dig to set yet-to-be-defined EDNS flags on
requests.
* `mdig` is an alternate version of dig which sends multiple pipelined TCP
queries to a server. Instead of waiting for a response after sending a
query, it sends all queries immediately and displays responses in the
order received.
* `serial-query-rate` no longer controls NOTIFY messages. These are
separately controlled by `notify-rate` and `startup-notify-rate`.
* `nsupdate` now performs `check-names` processing by default on records to
be added. This can be disabled with `check-names no`.
* The statistics channel now supports DEFLATE compression, reducing the
size of the data sent over the network when querying statistics.
* New counters have been added to the statistics channel to track the sizes
of incoming queries and outgoing responses in histogram buckets, as
specified in RSSAC002.
* A new NXDOMAIN redirect method (option `nxdomain-redirect`) has been
added, allowing redirection to a specified DNS namespace instead of a
single redirect zone.
* When starting up, named now ensures that no other named process is
already running.
* Files created by named to store information, including `mkeys` and `nzf`
files, are now named after their corresponding views unless the view name
contains characters incompatible with use as a filename. Old style
filenames (based on the hash of the view name) will still work.
#### BIND 9.11.1
BIND 9.11.1 is a maintenance release, and addresses the security
flaws disclosed in CVE-2016-6170, CVE-2016-8864, CVE-2016-9131,
CVE-2016-9147, CVE-2016-9444, CVE-2016-9778, CVE-2017-3135,
CVE-2017-3136, CVE-2017-3137 and CVE-2017-3138.
#### BIND 9.11.2
BIND 9.11.2 is a maintenance release, and addresses the security flaws
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and CVE-2017-3143.
It also addresses several bugs related to the use of an LMDB database to
store data related to zones added via `rndc addzone` or catalog zones.
#### BIND 9.11.3
BIND 9.11.3 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
#### BIND 9.11.4
BIND 9.11.4 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738. It also introduces "root key sentinel" support,
enabling validating resolvers to indicate via a special query which trust
anchors are configured for the root zone.
#### BIND 9.11.5
BIND 9.11.5 is a maintenance release, and also addresses CVE-2018-5741
by correcting faulty documentation and introducing the following new
feature:
* New `krb5-selfsub` and `ms-selfsub` rule types for `update-policy`
statements allow updating of subdomains based on a Kerberos or
Active Directory machine principal.
#### BIND 9.11.6
BIND 9.11.6 is a maintenance release, and also addresses the security
flaws disclosed in CVE-2018-5743, CVE-2018-5745, CVE-2018-5744,
and CVE-2019-6465.
#### BIND 9.11.7
BIND 9.11.7 is a maintenance release, and also addresses the security
flaw disclosed in CVE-2018-5743.
#### BIND 9.11.8
BIND 9.11.8 is a maintenance release, and also addresses the security
flaw disclosed in CVE-2019-6471.
#### BIND 9.11.9
BIND 9.11.9 is a maintenance release, and also adds support for
the new MaxMind GeoIP2 geolocation API when built with
`configure --with-geoip2`.
#### BIND 9.11.10
BIND 9.11.10 is a maintenance release.
#### BIND 9.11.11
BIND 9.11.11 is a maintenance release.
#### BIND 9.11.12
BIND 9.11.12 is a maintenance release.
#### BIND 9.11.13
BIND 9.11.13 is a maintenance release, and also addresse the security
vulnerability disclosed in CVE-2019-6477.
### <a name="build"/> Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
basic POSIX support, and a 64-bit integer type. Successful builds have been
observed on many versions of Linux and UNIX, including RHEL/CentOS, Fedora,
Debian, Ubuntu, SLES, openSUSE, Slackware, Alpine, FreeBSD, NetBSD,
OpenBSD, macOS, Solaris, OpenIndiana, OmniOS CE, HP-UX, and OpenWRT.
BIND is also available for Windows Server 2008 and higher. See
`win32utils/build.txt` for details on building for Windows
systems.
To build on a UNIX or Linux system, use:
$ ./configure
$ make
If you're planning on making changes to the BIND 9 source, you should run
`make depend`. If you're using Emacs, you might find `make tags` helpful.
Several environment variables that can be set before running `configure` will
affect compilation:
|Variable|Description |
|--------------------|-----------------------------------------------|
|`CC`|The C compiler to use. `configure` tries to figure out the right one for supported systems.|
|`CFLAGS`|C compiler flags. Defaults to include -g and/or -O2 as supported by the compiler. Please include '-g' if you need to set `CFLAGS`. |
|`STD_CINCLUDES`|System header file directories. Can be used to specify where add-on thread or IPv6 support is, for example. Defaults to empty string.|
|`STD_CDEFINES`|Any additional preprocessor symbols you want defined. Defaults to empty string. For a list of possible settings, see the file [OPTIONS](OPTIONS.md).|
|`LDFLAGS`|Linker flags. Defaults to empty string.|
|`BUILD_CC`|Needed when cross-compiling: the native C compiler to use when building for the target system.|
|`BUILD_CFLAGS`|`CFLAGS` for the target system during cross-compiling.|
|`BUILD_CPPFLAGS`|`CPPFLAGS` for the target system during cross-compiling.|
|`BUILD_LDFLAGS`|`LDFLAGS` for the target system during cross-compiling.|
|`BUILD_LIBS`|`LIBS` for the target system during cross-compiling.|
#### <a name="macos"> macOS
Building on macOS assumes that the "Command Tools for Xcode" is installed.
This can be downloaded from [https://developer.apple.com/download/more/](https://developer.apple.com/download/more/)
or if you have Xcode already installed you can run `xcode-select --install`.
### <a name="dependencies"/> Dependencies
Portions of BIND that are written in Python, including
`dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the
system tests, require the `argparse` and `ply` modules to be available.
`argparse` is a standard module as of Python 2.7 and Python 3.2.
`ply` is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply).
#### <a name="opts"/> Compile-time options
To see a full list of configuration options, run `configure --help`.
On most platforms, BIND 9 is built with multithreading support, allowing it
to take advantage of multiple CPUs. You can configure this by specifying
`--enable-threads` or `--disable-threads` on the `configure` command line.
The default is to enable threads, except on some older operating systems on
which threads are known to have had problems in the past. (Note: Prior to
BIND 9.10, the default was to disable threads on Linux systems; this has
now been reversed. On Linux systems, the threaded build is known to change
BIND's behavior with respect to file permissions; it may be necessary to
specify a user with the -u option when running `named`.)
To build shared libraries, specify `--with-libtool` on the `configure`
command line.
For the server to support DNSSEC, you need to build it with crypto support.
To use OpenSSL, you should have OpenSSL 1.0.2e or newer installed. If the
OpenSSL library is installed in a nonstandard location, specify the prefix
using `--with-openssl=<PREFIX>` on the configure command line. To use a
PKCS#11 hardware service module for cryptographic operations, specify the
path to the PKCS#11 provider library using `--with-pkcs11=<PREFIX>`, and
configure BIND with "--enable-native-pkcs11".
To support the HTTP statistics channel, the server must be linked with at
least one of the following libraries: `libxml2`
[http://xmlsoft.org](http://xmlsoft.org) or `json-c`
[https://github.com/json-c/json-c](https://github.com/json-c/json-c).
If these are installed at a nonstandard location, then:
* for `libxml2`, specify the prefix using `--with-libxml2=/prefix`,
* for `json-c`, adjust `PKG_CONFIG_PATH`.
To support compression on the HTTP statistics channel, the server must be
linked against `libzlib`. If this is installed in a nonstandard location,
specify the prefix using `--with-zlib=/prefix`.
To support storing configuration data for runtime-added zones in an LMDB
database, the server must be linked with liblmdb. If this is installed in a
nonstandard location, specify the prefix using `with-lmdb=/prefix`.
To support GeoIP location-based ACLs, the server must be linked with
libGeoIP. This is not turned on by default; BIND must be configured with
"--with-geoip". If the library is installed in a nonstandard location, use
specify the prefix using "--with-geoip=/prefix".
For DNSTAP packet logging, you must have installed `libfstrm`
[https://github.com/farsightsec/fstrm](https://github.com/farsightsec/fstrm)
and `libprotobuf-c`
[https://developers.google.com/protocol-buffers](https://developers.google.com/protocol-buffers),
and BIND must be configured with `--enable-dnstap`.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying
`--with-tuning=large` on the `configure` command line. This can improve
performance on big servers, but will consume more memory and may degrade
performance on smaller systems.
On some platforms it is necessary to explicitly request large file support
to handle files bigger than 2GB. This can be done by using
`--enable-largefile` on the `configure` command line.
Support for the "fixed" rrset-order option can be enabled or disabled by
specifying `--enable-fixed-rrset` or `--disable-fixed-rrset` on the
configure command line. By default, fixed rrset-order is disabled to
reduce memory footprint.
If your operating system has integrated support for IPv6, it will be used
automatically. If you have installed KAME IPv6 separately, use
`--with-kame[=PATH]` to specify its location.
The `--enable-querytrace` option causes `named` to log every step of
processing every query. This should only be enabled when debugging, because
it has a significant negative impact on query performance.
`make install` will install `named` and the various BIND 9 libraries. By
default, installation is into /usr/local, but this can be changed with the
`--prefix` option when running `configure`.
You may specify the option `--sysconfdir` to set the directory where
configuration files like `named.conf` go by default, and `--localstatedir`
to set the default parent directory of `run/named.pid`. For backwards
compatibility with BIND 8, `--sysconfdir` defaults to `/etc` and
`--localstatedir` defaults to `/var` if no `--prefix` option is given. If
there is a `--prefix` option, sysconfdir defaults to `$prefix/etc` and
localstatedir defaults to `$prefix/var`.
### <a name="testing"/> Automated testing
A system test suite can be run with `make check`. The system tests require
A system test suite can be run with `make test`. The system tests require
you to configure a set of virtual IP addresses on your system (this allows
multiple servers to run locally and communicate with each other). These
multiple servers to run locally and communicate with one another). These
IP addresses can be configured by running the command
`bin/tests/system/ifconfig.sh up` as root.
Some tests require Perl and the `Net::DNS` and/or `IO::Socket::IP` modules,
and are skipped if these are not available. Some tests require Python
and the `dnspython` module and are skipped if these are not available.
Some tests require Perl and the `Net::DNS` and/or `IO::Socket::INET6` modules,
and will be skipped if these are not available. Some tests require Python
and the `dnspython` module and will be skipped if these are not available.
See bin/tests/system/README for further details.
Unit tests are implemented using the CMocka unit testing framework. To build
them, use `configure --with-cmocka`. Execution of tests is done by the automake
parallel test driver; unit tests are also run by `make check`.
Unit tests are implemented using the [CMocka unit testing framework](https://cmocka.org/).
To build them, use `configure --with-cmocka`. Execution of tests is done
by the [Kyua test execution engine](https://github.com/jmmv/kyua); if the
`kyua` command is available, then unit tests can be run via `make test`
or `make unit`.
### <a name="doc"/> Documentation
The *BIND 9 Administrator Reference Manual* (ARM) is included with the source
distribution, and in .rst format, in the `doc/arm`
directory. The HTML version is automatically generated and can
be viewed at [https://bind9.readthedocs.io/en/latest/index.html](https://bind9.readthedocs.io/en/latest/index.html).
The *BIND 9 Administrator Reference Manual* is included with the source
distribution, in DocBook XML, HTML, and PDF format, in the `doc/arm`
directory.
The PDF version can be built by running:
cd doc/arm/
sphinx-build -b latex . pdf/
make -C pdf/ all-pdf
The above requires TeX Live in order to work. The PDF will be written to
`doc/arm/pdf/Bv9ARM.pdf`.
Man pages for some of the programs in the BIND 9 distribution
are also included in the BIND ARM.
Some of the programs in the BIND 9 distribution have man pages in their
directories. In particular, the command line options of `named` are
documented in `bin/named/named.8`.
Frequently (and not-so-frequently) asked questions and their answers
can be found in the ISC Knowledgebase at
can be found in the ISC Knowledge Base at
[https://kb.isc.org](https://kb.isc.org).
Additional information on various subjects can be found in other
`README` files throughout the source tree.
### <a name="changes"/> Change log
A detailed list of all changes that have been made throughout the
development BIND 9 is included in the file CHANGES, with the most recent
changes listed first. Change notes include tags indicating the category of
the change that was made; these categories are:
|Category |Description |
|-------------- |-----------------------------------------------|
| [func] | New feature |
| [bug] | General bug fix |
| [security] | Fix for a significant security flaw |
| [experimental] | Used for new features when the syntax or other aspects of the design are still in flux and may change |
| [port] | Portability enhancement |
| [maint] | Updates to built-in data such as root server addresses and keys |
| [tuning] | Changes to built-in configuration defaults and constants to improve performance |
| [performance] | Other changes to improve server performance |
| [protocol] | Updates to the DNS protocol such as new RR types |
| [test] | Changes to the automatic tests, not affecting server functionality |
| [cleanup] | Minor corrections and refactoring |
| [doc] | Documentation |
| [contrib] | Changes to the contributed tools and libraries in the 'contrib' subdirectory |
| [placeholder] | Used in the master development branch to reserve change numbers for use in other branches, e.g. when fixing a bug that only exists in older releases |
In general, [func] and [experimental] tags will only appear in new-feature
releases (i.e., those with version numbers ending in zero). Some new
functionality may be backported to older releases on a case-by-case basis.
All other change types may be applied to all currently-supported releases.
#### Bug report identifiers
Most notes in the ARM Changelog appendix include a reference to a bug report or
Most notes in the CHANGES file include a reference to a bug report or
issue number. Prior to 2018, these were usually of the form `[RT #NNN]`
and referred to entries in the "bind9-bugs" RT database, which was not open
to the public. More recent entries use the form `[GL #NNN]` or, less often,
`[GL !NNN]`, which, respectively, refer to issues or merge requests in the
GitLab database. Most of these are publicly readable, unless they include
information which is confidential or security-sensitive.
information which is confidential or security sensitive.
To look up a GitLab issue by its number, use the URL
[https://gitlab.isc.org/isc-projects/bind9/issues/NNN](https://gitlab.isc.org/isc-projects/bind9/issues).
@@ -199,7 +563,7 @@ GitLab instance, which is not visible to the public.
* This product includes software developed by the OpenSSL Project for use
in the OpenSSL Toolkit.
[https://www.OpenSSL.org/](https://www.OpenSSL.org/)
[http://www.OpenSSL.org/](http://www.OpenSSL.org/)
* This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com).
* This product includes software written by Tim Hudson (tjh@cryptsoft.com).
(eay@cryptsoft.com)
* This product includes software written by Tim Hudson (tjh@cryptsoft.com)

View File

@@ -1,35 +0,0 @@
<!--
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
SPDX-License-Identifier: MPL-2.0
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, you can obtain one at https://mozilla.org/MPL/2.0/.
See the COPYRIGHT file distributed with this work for additional
information regarding copyright ownership.
-->
# Security Policy
ISC's Security Vulnerability Disclosure Policy is documented in the
relevant [ISC Knowledgebase article][1].
## Reporting possible security issues
If you think you may be seeing a potential security vulnerability in
BIND (for example, a crash with a REQUIRE, INSIST, or ASSERT failure),
please report it immediately by [opening a confidential GitLab issue][2]
(preferred) or emailing bind-security@isc.org.
Please do not discuss undisclosed security vulnerabilities on any public
mailing list. ISC has a long history of handling reported
vulnerabilities promptly and effectively and we respect and acknowledge
responsible reporters.
If you have a crash, you may want to consult the Knowledgebase article
entitled ["What to do if your BIND or DHCP server has crashed"][3].
[1]: https://kb.isc.org/docs/aa-00861
[2]: https://gitlab.isc.org/isc-projects/bind9/-/issues/new?issue[confidential]=true&issuable_template=Bug
[3]: https://kb.isc.org/docs/aa-00340

137
acconfig.h Normal file
View File

@@ -0,0 +1,137 @@
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
/***
*** This file is not to be included by any public header files, because
*** it does not get installed.
***/
@TOP@
/** define on DEC OSF to enable 4.4BSD style sa_len support */
#undef _SOCKADDR_LEN
/** define if your system needs pthread_init() before using pthreads */
#undef NEED_PTHREAD_INIT
/** define if your system has sigwait() */
#undef HAVE_SIGWAIT
/** define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/** define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS
/** define if LinuxThreads is in use */
#undef HAVE_LINUXTHREADS
/** define if sysconf() is available */
#undef HAVE_SYSCONF
/** define if sysctlbyname() is available */
#undef HAVE_SYSCTLBYNAME
/** define if catgets() is available */
#undef HAVE_CATGETS
/** define if getifaddrs() exists */
#undef HAVE_GETIFADDRS
/** define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
#undef HAVE_IFLIST_SYSCTL
/** define if tzset() is available */
#undef HAVE_TZSET
/** define if struct addrinfo exists */
#undef HAVE_ADDRINFO
/** define if getaddrinfo() exists */
#undef HAVE_GETADDRINFO
/** define if gai_strerror() exists */
#undef HAVE_GAISTRERROR
/**
* define if pthread_setconcurrency() should be called to tell the
* OS how many threads we might want to run.
*/
#undef CALL_PTHREAD_SETCONCURRENCY
/** define if IPv6 is not disabled */
#undef WANT_IPV6
/** define if flockfile() is available */
#undef HAVE_FLOCKFILE
/** define if getc_unlocked() is available */
#undef HAVE_GETCUNLOCKED
/** Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
#undef SHUTUP_SPUTAUX
#ifdef SHUTUP_SPUTAUX
struct __sFILE;
extern __inline int __sputaux(int _c, struct __sFILE *_p);
#endif
/** Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
#undef SHUTUP_SIGWAIT
#ifdef SHUTUP_SIGWAIT
int sigwait(const unsigned int *set, int *sig);
#endif
/** Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
#undef SHUTUP_STDARG_CAST
#if defined(SHUTUP_STDARG_CAST) && defined(__GNUC__)
#include <stdarg.h> /** Grr. Must be included *every time*. */
/**
* The silly continuation line is to keep configure from
* commenting out the #undef.
*/
#undef \
va_start
#define va_start(ap, last) \
do { \
union { const void *konst; long *var; } _u; \
_u.konst = &(last); \
ap = (va_list)(_u.var + __va_words(__typeof(last))); \
} while (0)
#endif /** SHUTUP_STDARG_CAST && __GNUC__ */
/** define if the system has a random number generating device */
#undef PATH_RANDOMDEV
/** define if pthread_attr_getstacksize() is available */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/** define if pthread_attr_setstacksize() is available */
#undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
/** define if you have strerror in the C library. */
#undef HAVE_STRERROR
/* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA
/* Define if you have getpassphrase in the C library. */
#undef HAVE_GETPASSPHRASE
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T
/* Define if threads need PTHREAD_SCOPE_SYSTEM */
#undef NEED_PTHREAD_SCOPE_SYSTEM
/* Define to 1 if you have the uname library function. */
#undef HAVE_UNAME

297
aclocal.m4 vendored Normal file
View File

@@ -0,0 +1,297 @@
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 12 (pkg-config-0.29.2)
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.2])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])dnl PKG_PROG_PKG_CONFIG
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])dnl _PKG_CONFIG
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
fi[]dnl
])dnl PKG_CHECK_MODULES
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_INSTALLDIR
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
m4_include([libtool.m4/ax_restore_flags.m4])
m4_include([libtool.m4/ax_save_flags.m4])
m4_include([libtool.m4/libtool.m4])
m4_include([libtool.m4/ltoptions.m4])
m4_include([libtool.m4/ltsugar.m4])
m4_include([libtool.m4/ltversion.m4])
m4_include([libtool.m4/lt~obsolete.m4])

13
autogen.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
#
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# Run this script after modifying configure.in to generate configure
autoreconf -f -i

View File

@@ -1 +0,0 @@
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen tests plugins

18
bin/Makefile.in Normal file
View File

@@ -0,0 +1,18 @@
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen \
@NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
TARGETS =
@BIND9_MAKE_RULES@

View File

@@ -1,32 +0,0 @@
include $(top_srcdir)/Makefile.top
AM_CPPFLAGS += \
$(LIBISC_CFLAGS) \
$(LIBDNS_CFLAGS) \
$(LIBNS_CFLAGS) \
$(LIBISCCFG_CFLAGS)
AM_CPPFLAGS += \
-DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
noinst_LTLIBRARIES = libcheck-tool.la
libcheck_tool_la_SOURCES = \
check-tool.h \
check-tool.c
LDADD += \
libcheck-tool.la \
$(LIBISC_LIBS) \
$(LIBDNS_LIBS) \
$(LIBNS_LIBS) \
$(LIBISCCFG_LIBS)
bin_PROGRAMS = named-checkconf named-checkzone
install-exec-hook:
ln -f $(DESTDIR)$(bindir)/named-checkzone \
$(DESTDIR)$(bindir)/named-compilezone
uninstall-hook:
-rm -f $(DESTDIR)$(bindir)/named-compilezone

99
bin/check/Makefile.in Normal file
View File

@@ -0,0 +1,99 @@
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
VERSION=@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
CINCLUDES = ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
${ISC_INCLUDES} @DST_OPENSSL_INC@
CDEFINES = @CRYPTO@ -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCLIBS = ../../lib/isc/libisc.@A@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
LIBS = ${ISCLIBS} @LIBS@
NOSYMLIBS = ${ISCNOSYMLIBS} @LIBS@
SUBDIRS =
# Alphabetically
TARGETS = named-checkconf@EXEEXT@ named-checkzone@EXEEXT@
# Alphabetically
SRCS = named-checkconf.c named-checkzone.c check-tool.c
MANPAGES = named-checkconf.8 named-checkzone.8
HTMLPAGES = named-checkconf.html named-checkzone.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
named-checkconf.@O@: named-checkconf.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-c ${srcdir}/named-checkconf.c
named-checkzone.@O@: named-checkzone.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-c ${srcdir}/named-checkzone.c
named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
${DNSDEPLIBS} ${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
export BASEOBJS="named-checkconf.@O@ check-tool.@O@"; \
export LIBS0="${BIND9LIBS} ${ISCCFGLIBS} ${DNSLIBS}"; \
${FINALBUILDCMD}
named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
export BASEOBJS="named-checkzone.@O@ check-tool.@O@"; \
export LIBS0="${ISCCFGLIBS} ${DNSLIBS}"; \
${FINALBUILDCMD}
doc man:: ${MANOBJS}
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: named-checkconf@EXEEXT@ named-checkzone@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf@EXEEXT@ ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone@EXEEXT@ ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f named-compilezone@EXEEXT@; ${LINK_PROGRAM} named-checkzone@EXEEXT@ named-compilezone@EXEEXT@)
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8 || exit 1; done
(cd ${DESTDIR}${mandir}/man8; rm -f named-compilezone.8; ${LINK_PROGRAM} named-checkzone.8 named-compilezone.8)
uninstall::
rm -f ${DESTDIR}${mandir}/man8/named-compilezone.8
for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m || exit 1; done
rm -f ${DESTDIR}${sbindir}/named-compilezone@EXEEXT@
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/named-checkconf@EXEEXT@
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/named-checkzone@EXEEXT@
clean distclean::
rm -f ${TARGETS} r1.htm

View File

@@ -1,29 +1,35 @@
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* SPDX-License-Identifier: MPL-2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <inttypes.h>
#include <netdb.h>
#include <config.h>
#include <stdbool.h>
#include <stdio.h>
#include <inttypes.h>
#ifdef _WIN32
#include <Winsock2.h>
#endif
#include "check-tool.h"
#include <isc/buffer.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/netdb.h>
#include <isc/net.h>
#include <isc/print.h>
#include <isc/region.h>
#include <isc/result.h>
#include <isc/stdio.h>
#include <isc/string.h>
#include <isc/symtab.h>
@@ -40,40 +46,45 @@
#include <dns/rdataset.h>
#include <dns/rdatasetiter.h>
#include <dns/rdatatype.h>
#include <dns/result.h>
#include <dns/types.h>
#include <dns/zone.h>
#include <isccfg/log.h>
#include <ns/log.h>
#include "check-tool.h"
#ifndef CHECK_SIBLING
#define CHECK_SIBLING 1
#endif /* ifndef CHECK_SIBLING */
#endif
#ifndef CHECK_LOCAL
#define CHECK_LOCAL 1
#endif /* ifndef CHECK_LOCAL */
#endif
#define CHECK(r) \
do { \
result = (r); \
#ifdef HAVE_ADDRINFO
#ifdef HAVE_GETADDRINFO
#ifdef HAVE_GAISTRERROR
#define USE_GETADDRINFO
#endif
#endif
#endif
#define CHECK(r) \
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
goto cleanup; \
} while (0)
#define ERR_IS_CNAME 1
#define ERR_NO_ADDRESSES 2
#define ERR_IS_CNAME 1
#define ERR_NO_ADDRESSES 2
#define ERR_LOOKUP_FAILURE 3
#define ERR_EXTRA_A 4
#define ERR_EXTRA_AAAA 5
#define ERR_MISSING_GLUE 5
#define ERR_IS_MXCNAME 6
#define ERR_IS_SRVCNAME 7
#define ERR_EXTRA_A 4
#define ERR_EXTRA_AAAA 5
#define ERR_MISSING_GLUE 5
#define ERR_IS_MXCNAME 6
#define ERR_IS_SRVCNAME 7
static const char *dbtype[] = { ZONEDB_DEFAULT };
static const char *dbtype[] = { "rbt" };
int debug = 0;
const char *journal = NULL;
@@ -82,27 +93,39 @@ bool nomerge = true;
bool docheckmx = true;
bool dochecksrv = true;
bool docheckns = true;
#else /* if CHECK_LOCAL */
#else
bool docheckmx = false;
bool dochecksrv = false;
bool docheckns = false;
#endif /* if CHECK_LOCAL */
dns_zoneopt_t zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_CHECKDUPRR | DNS_ZONEOPT_CHECKSPF |
DNS_ZONEOPT_MANYERRORS | DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKINTEGRITY |
#endif
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_MANYERRORS |
DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKINTEGRITY |
#if CHECK_SIBLING
DNS_ZONEOPT_CHECKSIBLING |
#endif /* if CHECK_SIBLING */
DNS_ZONEOPT_CHECKSVCB | DNS_ZONEOPT_CHECKWILDCARD |
DNS_ZONEOPT_WARNMXCNAME | DNS_ZONEOPT_WARNSRVCNAME;
DNS_ZONEOPT_CHECKSIBLING |
#endif
DNS_ZONEOPT_CHECKWILDCARD |
DNS_ZONEOPT_WARNMXCNAME |
DNS_ZONEOPT_WARNSRVCNAME;
unsigned int zone_options2 = 0;
/*
* This needs to match the list in bin/named/log.c.
*/
static isc_logcategory_t categories[] = { { "", 0 },
{ "unmatched", 0 },
{ NULL, 0 } };
static isc_logcategory_t categories[] = {
{ "", 0 },
{ "client", 0 },
{ "network", 0 },
{ "update", 0 },
{ "queries", 0 },
{ "unmatched", 0 },
{ "update-security", 0 },
{ "query-errors", 0 },
{ "trust-anchor-telemetry", 0 },
{ NULL, 0 }
};
static isc_symtab_t *symtab = NULL;
static isc_mem_t *sym_mctx;
@@ -120,45 +143,47 @@ add(char *key, int value) {
isc_symvalue_t symvalue;
if (sym_mctx == NULL) {
isc_mem_create(&sym_mctx);
result = isc_mem_create(0, 0, &sym_mctx);
if (result != ISC_R_SUCCESS)
return;
}
if (symtab == NULL) {
result = isc_symtab_create(sym_mctx, 100, freekey, sym_mctx,
false, &symtab);
if (result != ISC_R_SUCCESS) {
if (result != ISC_R_SUCCESS)
return;
}
}
key = isc_mem_strdup(sym_mctx, key);
if (key == NULL)
return;
symvalue.as_pointer = NULL;
result = isc_symtab_define(symtab, key, value, symvalue,
isc_symexists_reject);
if (result != ISC_R_SUCCESS) {
if (result != ISC_R_SUCCESS)
isc_mem_free(sym_mctx, key);
}
}
static bool
logged(char *key, int value) {
isc_result_t result;
if (symtab == NULL) {
return false;
}
if (symtab == NULL)
return (false);
result = isc_symtab_lookup(symtab, key, value, NULL);
if (result == ISC_R_SUCCESS) {
return true;
}
return false;
if (result == ISC_R_SUCCESS)
return (true);
return (false);
}
static bool
checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
dns_rdataset_t *a, dns_rdataset_t *aaaa) {
checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
dns_rdataset_t *a, dns_rdataset_t *aaaa)
{
#ifdef USE_GETADDRINFO
dns_rdataset_t *rdataset;
dns_rdata_t rdata = DNS_RDATA_INIT;
struct addrinfo hints, *ai, *cur;
@@ -176,9 +201,8 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
REQUIRE(aaaa == NULL || !dns_rdataset_isassociated(aaaa) ||
aaaa->type == dns_rdatatype_aaaa);
if (a == NULL || aaaa == NULL) {
return answer;
}
if (a == NULL || aaaa == NULL)
return (answer);
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
@@ -206,17 +230,15 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
cur = ai;
while (cur != NULL && cur->ai_canonname == NULL &&
cur->ai_next != NULL)
{
cur = cur->ai_next;
}
if (cur != NULL && cur->ai_canonname != NULL &&
strcasecmp(cur->ai_canonname, namebuf) != 0 &&
!logged(namebuf, ERR_IS_CNAME))
{
!logged(namebuf, ERR_IS_CNAME)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' (out of zone) "
"is a CNAME '%s' (illegal)",
ownerbuf, namebuf, cur->ai_canonname);
ownerbuf, namebuf,
cur->ai_canonname);
/* XXX950 make fatal for 9.5.0 */
/* answer = false; */
add(namebuf, ERR_IS_CNAME);
@@ -225,7 +247,7 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif /* if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME) */
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' (out of zone) "
@@ -234,32 +256,30 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0 */
return true;
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s", namebuf,
gai_strerror(result));
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return true;
return (true);
}
/*
* Check that all glue records really exist.
*/
if (!dns_rdataset_isassociated(a)) {
if (!dns_rdataset_isassociated(a))
goto checkaaaa;
}
result = dns_rdataset_first(a);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(a, &rdata);
match = false;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET) {
if (cur->ai_family != AF_INET)
continue;
}
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = true;
@@ -267,12 +287,11 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
}
}
if (!match && !logged(namebuf, ERR_EXTRA_A)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' "
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"extra GLUE A record (%s)",
ownerbuf, namebuf,
inet_ntop(AF_INET, rdata.data, addrbuf,
sizeof(addrbuf)));
inet_ntop(AF_INET, rdata.data,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_A);
/* XXX950 make fatal for 9.5.0 */
/* answer = false; */
@@ -281,32 +300,28 @@ checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner,
result = dns_rdataset_next(a);
}
checkaaaa:
if (!dns_rdataset_isassociated(aaaa)) {
checkaaaa:
if (!dns_rdataset_isassociated(aaaa))
goto checkmissing;
}
result = dns_rdataset_first(aaaa);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(aaaa, &rdata);
match = false;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET6) {
if (cur->ai_family != AF_INET6)
continue;
}
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))
->sin6_addr;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = true;
break;
}
}
if (!match && !logged(namebuf, ERR_EXTRA_AAAA)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' "
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"extra GLUE AAAA record (%s)",
ownerbuf, namebuf,
inet_ntop(AF_INET6, rdata.data, addrbuf,
sizeof(addrbuf)));
inet_ntop(AF_INET6, rdata.data,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_AAAA);
/* XXX950 make fatal for 9.5.0. */
/* answer = false; */
@@ -315,7 +330,7 @@ checkaaaa:
result = dns_rdataset_next(aaaa);
}
checkmissing:
checkmissing:
/*
* Check that all addresses appear in the glue.
*/
@@ -325,57 +340,53 @@ checkmissing:
switch (cur->ai_family) {
case AF_INET:
rdataset = a;
ptr = &((struct sockaddr_in *)(cur->ai_addr))
->sin_addr;
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
type = "A";
break;
case AF_INET6:
rdataset = aaaa;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))
->sin6_addr;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
type = "AAAA";
break;
default:
continue;
continue;
}
match = false;
if (dns_rdataset_isassociated(rdataset)) {
if (dns_rdataset_isassociated(rdataset))
result = dns_rdataset_first(rdataset);
} else {
else
result = ISC_R_FAILURE;
}
while (result == ISC_R_SUCCESS && !match) {
dns_rdataset_current(rdataset, &rdata);
if (memcmp(ptr, rdata.data, rdata.length) == 0)
{
match = true;
}
dns_rdata_reset(&rdata);
result = dns_rdataset_next(rdataset);
}
if (!match) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' "
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"missing GLUE %s record (%s)",
ownerbuf, namebuf, type,
inet_ntop(cur->ai_family, ptr,
addrbuf,
sizeof(addrbuf)));
addrbuf, sizeof(addrbuf)));
/* XXX950 make fatal for 9.5.0. */
/* answer = false; */
missing_glue = true;
}
}
if (missing_glue) {
if (missing_glue)
add(namebuf, ERR_MISSING_GLUE);
}
}
freeaddrinfo(ai);
return answer;
return (answer);
#else
return (true);
#endif
}
static bool
checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai, *cur;
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
@@ -409,15 +420,11 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
cur = ai;
while (cur != NULL && cur->ai_canonname == NULL &&
cur->ai_next != NULL)
{
cur = cur->ai_next;
}
if (cur != NULL && cur->ai_canonname != NULL &&
strcasecmp(cur->ai_canonname, namebuf) != 0)
{
if ((zone_options & DNS_ZONEOPT_WARNMXCNAME) != 0) {
strcasecmp(cur->ai_canonname, namebuf) != 0) {
if ((zone_options & DNS_ZONEOPT_WARNMXCNAME) != 0)
level = ISC_LOG_WARNING;
}
if ((zone_options & DNS_ZONEOPT_IGNOREMXCNAME) == 0) {
if (!logged(namebuf, ERR_IS_MXCNAME)) {
dns_zone_log(zone, level,
@@ -428,18 +435,17 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
cur->ai_canonname);
add(namebuf, ERR_IS_MXCNAME);
}
if (level == ISC_LOG_ERROR) {
if (level == ISC_LOG_ERROR)
answer = false;
}
}
}
freeaddrinfo(ai);
return answer;
return (answer);
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif /* if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME) */
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/MX '%s' (out of zone) "
@@ -448,21 +454,25 @@ checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return true;
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s", namebuf,
gai_strerror(result));
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return true;
return (true);
}
#else
return (true);
#endif
}
static bool
checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai, *cur;
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
@@ -496,37 +506,31 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
cur = ai;
while (cur != NULL && cur->ai_canonname == NULL &&
cur->ai_next != NULL)
{
cur = cur->ai_next;
}
if (cur != NULL && cur->ai_canonname != NULL &&
strcasecmp(cur->ai_canonname, namebuf) != 0)
{
if ((zone_options & DNS_ZONEOPT_WARNSRVCNAME) != 0) {
strcasecmp(cur->ai_canonname, namebuf) != 0) {
if ((zone_options & DNS_ZONEOPT_WARNSRVCNAME) != 0)
level = ISC_LOG_WARNING;
}
if ((zone_options & DNS_ZONEOPT_IGNORESRVCNAME) == 0) {
if (!logged(namebuf, ERR_IS_SRVCNAME)) {
dns_zone_log(zone, level,
"%s/SRV '%s'"
dns_zone_log(zone, level, "%s/SRV '%s'"
" (out of zone) is a "
"CNAME '%s' (illegal)",
ownerbuf, namebuf,
cur->ai_canonname);
add(namebuf, ERR_IS_SRVCNAME);
}
if (level == ISC_LOG_ERROR) {
if (level == ISC_LOG_ERROR)
answer = false;
}
}
}
freeaddrinfo(ai);
return answer;
return (answer);
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif /* if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME) */
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/SRV '%s' (out of zone) "
@@ -535,17 +539,20 @@ checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t *owner) {
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return true;
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s", namebuf,
gai_strerror(result));
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return true;
return (true);
}
#else
return (true);
#endif
}
isc_result_t
@@ -554,33 +561,115 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) {
isc_logconfig_t *logconfig = NULL;
isc_log_t *log = NULL;
isc_log_create(mctx, &log, &logconfig);
RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS);
isc_log_registercategories(log, categories);
isc_log_setcontext(log);
dns_log_init(log);
dns_log_setcontext(log);
cfg_log_init(log);
ns_log_init(log);
destination.file.stream = errout;
destination.file.name = NULL;
destination.file.versions = ISC_LOG_ROLLNEVER;
destination.file.maximum_size = 0;
isc_log_createchannel(logconfig, "stderr", ISC_LOG_TOFILEDESC,
ISC_LOG_DYNAMIC, &destination, 0);
RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr", NULL, NULL) ==
ISC_R_SUCCESS);
RUNTIME_CHECK(isc_log_createchannel(logconfig, "stderr",
ISC_LOG_TOFILEDESC,
ISC_LOG_DYNAMIC,
&destination, 0) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr",
NULL, NULL) == ISC_R_SUCCESS);
*logp = log;
return ISC_R_SUCCESS;
return (ISC_R_SUCCESS);
}
/*% scan the zone for oversize TTLs */
static isc_result_t
check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
isc_result_t result;
dns_db_t *db = NULL;
dns_dbversion_t *version = NULL;
dns_dbnode_t *node = NULL;
dns_dbiterator_t *dbiter = NULL;
dns_rdatasetiter_t *rdsiter = NULL;
dns_rdataset_t rdataset;
dns_fixedname_t fname;
dns_name_t *name;
name = dns_fixedname_initname(&fname);
dns_rdataset_init(&rdataset);
CHECK(dns_zone_getdb(zone, &db));
INSIST(db != NULL);
CHECK(dns_db_newversion(db, &version));
CHECK(dns_db_createiterator(db, 0, &dbiter));
for (result = dns_dbiterator_first(dbiter);
result == ISC_R_SUCCESS;
result = dns_dbiterator_next(dbiter)) {
result = dns_dbiterator_current(dbiter, &node, name);
if (result == DNS_R_NEWORIGIN)
result = ISC_R_SUCCESS;
CHECK(result);
CHECK(dns_db_allrdatasets(db, node, version, 0, &rdsiter));
for (result = dns_rdatasetiter_first(rdsiter);
result == ISC_R_SUCCESS;
result = dns_rdatasetiter_next(rdsiter)) {
dns_rdatasetiter_current(rdsiter, &rdataset);
if (rdataset.ttl > maxttl) {
char nbuf[DNS_NAME_FORMATSIZE];
char tbuf[255];
isc_buffer_t b;
isc_region_t r;
dns_name_format(name, nbuf, sizeof(nbuf));
isc_buffer_init(&b, tbuf, sizeof(tbuf) - 1);
CHECK(dns_rdatatype_totext(rdataset.type, &b));
isc_buffer_usedregion(&b, &r);
r.base[r.length] = 0;
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/%s TTL %d exceeds "
"maximum TTL %d",
nbuf, tbuf, rdataset.ttl, maxttl);
dns_rdataset_disassociate(&rdataset);
CHECK(ISC_R_RANGE);
}
dns_rdataset_disassociate(&rdataset);
}
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
CHECK(result);
dns_rdatasetiter_destroy(&rdsiter);
dns_db_detachnode(db, &node);
}
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
cleanup:
if (node != NULL)
dns_db_detachnode(db, &node);
if (rdsiter != NULL)
dns_rdatasetiter_destroy(&rdsiter);
if (dbiter != NULL)
dns_dbiterator_destroy(&dbiter);
if (version != NULL)
dns_db_closeversion(db, &version, false);
if (db != NULL)
dns_db_detach(&db);
return (result);
}
/*% load the zone */
isc_result_t
load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
dns_masterformat_t fileformat, const char *classname,
dns_ttl_t maxttl, dns_zone_t **zonep) {
dns_ttl_t maxttl, dns_zone_t **zonep)
{
isc_result_t result;
dns_rdataclass_t rdclass;
isc_textregion_t region;
@@ -591,71 +680,69 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
REQUIRE(zonep == NULL || *zonep == NULL);
if (debug) {
if (debug)
fprintf(stderr, "loading \"%s\" from \"%s\" class \"%s\"\n",
zonename, filename, classname);
}
dns_zone_create(&zone, mctx, 0);
CHECK(dns_zone_create(&zone, mctx));
dns_zone_settype(zone, dns_zone_primary);
dns_zone_settype(zone, dns_zone_master);
isc_buffer_constinit(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
origin = dns_fixedname_initname(&fixorigin);
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
CHECK(dns_zone_setorigin(zone, origin));
dns_zone_setdbtype(zone, 1, (const char *const *)dbtype);
if (strcmp(filename, "-") == 0) {
CHECK(dns_zone_setstream(zone, stdin, fileformat,
&dns_master_style_default));
} else {
CHECK(dns_zone_setfile(zone, filename, fileformat,
&dns_master_style_default));
}
if (journal != NULL) {
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
CHECK(dns_zone_setfile2(zone, filename, fileformat));
if (journal != NULL)
CHECK(dns_zone_setjournal(zone, journal));
}
region.base = UNCONST(classname);
DE_CONST(classname, region.base);
region.length = strlen(classname);
CHECK(dns_rdataclass_fromtext(&rdclass, &region));
dns_zone_setclass(zone, rdclass);
dns_zone_setoption(zone, zone_options, true);
dns_zone_setoption2(zone, zone_options2, true);
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
dns_zone_setmaxttl(zone, maxttl);
if (docheckmx) {
if (docheckmx)
dns_zone_setcheckmx(zone, checkmx);
}
if (docheckns) {
if (docheckns)
dns_zone_setcheckns(zone, checkns);
}
if (dochecksrv) {
if (dochecksrv)
dns_zone_setchecksrv(zone, checksrv);
}
CHECK(dns_zone_load(zone, false));
CHECK(dns_zone_load(zone));
/*
* When loading map files we can't catch oversize TTLs during
* load, so we check for them here.
*/
if (fileformat == dns_masterformat_map && maxttl != 0) {
CHECK(check_ttls(zone, maxttl));
}
if (zonep != NULL) {
*zonep = zone;
zone = NULL;
}
cleanup:
if (zone != NULL) {
cleanup:
if (zone != NULL)
dns_zone_detach(&zone);
}
return result;
return (result);
}
/*% dump the zone */
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style,
const uint32_t rawversion) {
const uint32_t rawversion)
{
isc_result_t result;
FILE *output = stdout;
const char *flags;
@@ -663,31 +750,49 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
flags = (fileformat == dns_masterformat_text) ? "w" : "wb";
if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0) {
fprintf(stderr, "dumping \"%s\" to \"%s\"\n", zonename,
filename);
} else {
if (filename != NULL && strcmp(filename, "-") != 0)
fprintf(stderr, "dumping \"%s\" to \"%s\"\n",
zonename, filename);
else
fprintf(stderr, "dumping \"%s\"\n", zonename);
}
}
if (filename != NULL && strcmp(filename, "-") != 0) {
result = isc_stdio_open(filename, flags, &output);
if (result != ISC_R_SUCCESS) {
fprintf(stderr,
"could not open output "
"file \"%s\" for writing\n",
filename);
return ISC_R_FAILURE;
fprintf(stderr, "could not open output "
"file \"%s\" for writing\n", filename);
return (ISC_R_FAILURE);
}
}
result = dns_zone_dumptostream(zone, output, fileformat, style,
rawversion);
if (output != stdout) {
result = dns_zone_dumptostream3(zone, output, fileformat, style,
rawversion);
if (output != stdout)
(void)isc_stdio_close(output);
}
return result;
return (result);
}
#ifdef _WIN32
void
InitSockets(void) {
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 0);
err = WSAStartup( wVersionRequested, &wsaData );
if (err != 0) {
fprintf(stderr, "WSAStartup() failed: %d\n", err);
exit(1);
}
}
void
DestroySockets(void) {
WSACleanup();
}
#endif

View File

@@ -1,17 +1,17 @@
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* SPDX-License-Identifier: MPL-2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#pragma once
#ifndef CHECK_TOOL_H
#define CHECK_TOOL_H
/*! \file */
@@ -24,7 +24,6 @@
#include <dns/masterdump.h>
#include <dns/types.h>
#include <dns/zone.h>
ISC_LANG_BEGINDECLS
@@ -41,12 +40,20 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style,
const uint32_t rawversion);
#ifdef _WIN32
void InitSockets(void);
void DestroySockets(void);
#endif
extern int debug;
extern const char *journal;
extern bool nomerge;
extern bool docheckmx;
extern bool docheckns;
extern bool dochecksrv;
extern dns_zoneopt_t zone_options;
extern unsigned int zone_options;
extern unsigned int zone_options2;
ISC_LANG_ENDDECLS
#endif

135
bin/check/named-checkconf.8 Normal file
View File

@@ -0,0 +1,135 @@
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
.\" file, You can obtain one at http://mozilla.org/MPL/2.0/.
.\"
.hy 0
.ad l
'\" t
.\" Title: named-checkconf
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 2014-01-10
.\" Manual: BIND9
.\" Source: ISC
.\" Language: English
.\"
.TH "NAMED\-CHECKCONF" "8" "2014\-01\-10" "ISC" "BIND9"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
named-checkconf \- named configuration file syntax checking tool
.SH "SYNOPSIS"
.HP \w'\fBnamed\-checkconf\fR\ 'u
\fBnamed\-checkconf\fR [\fB\-hjvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkconf\fR
checks the syntax, but not the semantics, of a
\fBnamed\fR
configuration file\&. The file is parsed and checked for syntax errors, along with all files included by it\&. If no file is specified,
/etc/named\&.conf
is read by default\&.
.PP
Note: files that
\fBnamed\fR
reads in separate parser contexts, such as
rndc\&.key
and
bind\&.keys, are not automatically read by
\fBnamed\-checkconf\fR\&. Configuration errors in these files may cause
\fBnamed\fR
to fail to run, even if
\fBnamed\-checkconf\fR
was successful\&.
\fBnamed\-checkconf\fR
can be run on these files explicitly, however\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Print the usage summary and exit\&.
.RE
.PP
\-j
.RS 4
When loading a zonefile read the journal if it exists\&.
.RE
.PP
\-p
.RS 4
Print out the
named\&.conf
and included files in canonical form if no errors were detected\&. See also the
\fB\-x\fR
option\&.
.RE
.PP
\-t \fIdirectory\fR
.RS 4
Chroot to
directory
so that include directives in the configuration file are processed as if run by a similarly chrooted
\fBnamed\fR\&.
.RE
.PP
\-v
.RS 4
Print the version of the
\fBnamed\-checkconf\fR
program and exit\&.
.RE
.PP
\-x
.RS 4
When printing the configuration files in canonical form, obscure shared secrets by replacing them with strings of question marks (\*(Aq?\*(Aq)\&. This allows the contents of
named\&.conf
and related files to be shared \(em for example, when submitting bug reports \(em without compromising private data\&. This option cannot be used without
\fB\-p\fR\&.
.RE
.PP
\-z
.RS 4
Perform a test load of all master zones found in
named\&.conf\&.
.RE
.PP
filename
.RS 4
The name of the configuration file to be checked\&. If not specified, it defaults to
/etc/named\&.conf\&.
.RE
.SH "RETURN VALUES"
.PP
\fBnamed\-checkconf\fR
returns an exit status of 1 if errors were detected and 0 otherwise\&.
.SH "SEE ALSO"
.PP
\fBnamed\fR(8),
\fBnamed-checkzone\fR(8),
BIND 9 Administrator Reference Manual\&.
.SH "AUTHOR"
.PP
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,69 +1,70 @@
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* SPDX-License-Identifier: MPL-2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <isc/attributes.h>
#include <isc/commandline.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/util.h>
#include <isccfg/namedconf.h>
#include <bind9/check.h>
#include <dns/db.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/result.h>
#include <dns/rootns.h>
#include <dns/zone.h>
#include <isccfg/check.h>
#include <isccfg/grammar.h>
#include <isccfg/namedconf.h>
#include "check-tool.h"
static const char *program = "named-checkconf";
isc_log_t *logc = NULL;
#define CHECK(r) \
do { \
result = (r); \
#define CHECK(r)\
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
goto cleanup; \
} while (0)
/*% usage */
noreturn static void
usage(void);
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
static void
usage(void) {
fprintf(stderr,
"usage: %s [-achijlvz] [-p [-x]] [-t directory] "
"[named.conf]\n",
program);
exit(EXIT_SUCCESS);
fprintf(stderr, "usage: %s [-hjvz] [-p [-x]] [-t directory] "
"[named.conf]\n", program);
exit(1);
}
/*% directory callback */
@@ -84,24 +85,22 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
result = isc_dir_chdir(directory);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(obj, logc, ISC_LOG_ERROR,
"change directory to '%s' failed: %s\n", directory,
isc_result_totext(result));
return result;
"change directory to '%s' failed: %s\n",
directory, isc_result_totext(result));
return (result);
}
return ISC_R_SUCCESS;
return (ISC_R_SUCCESS);
}
static bool
get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
int i;
for (i = 0;; i++) {
if (maps[i] == NULL) {
return false;
}
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS) {
return true;
}
if (maps[i] == NULL)
return (false);
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
return (true);
}
}
@@ -115,31 +114,25 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
int i;
for (i = 0;; i++) {
if (maps[i] == NULL) {
return false;
}
if (maps[i] == NULL)
return (false);
checknames = NULL;
result = cfg_map_get(maps[i], "check-names", &checknames);
if (result != ISC_R_SUCCESS) {
if (result != ISC_R_SUCCESS)
continue;
}
if (checknames != NULL && !cfg_obj_islist(checknames)) {
*obj = checknames;
return true;
return (true);
}
for (element = cfg_list_first(checknames); element != NULL;
element = cfg_list_next(element))
{
for (element = cfg_list_first(checknames);
element != NULL;
element = cfg_list_next(element)) {
value = cfg_listelt_value(element);
type = cfg_tuple_get(value, "type");
if ((strcasecmp(cfg_obj_asstring(type), "primary") !=
0) &&
(strcasecmp(cfg_obj_asstring(type), "master") != 0))
{
if (strcasecmp(cfg_obj_asstring(type), "master") != 0)
continue;
}
*obj = cfg_tuple_get(value, "mode");
return true;
return (true);
}
}
}
@@ -151,38 +144,36 @@ configure_hint(const char *zfile, const char *zclass, isc_mem_t *mctx) {
dns_rdataclass_t rdclass;
isc_textregion_t r;
if (zfile == NULL) {
return ISC_R_FAILURE;
}
if (zfile == NULL)
return (ISC_R_FAILURE);
r.base = UNCONST(zclass);
DE_CONST(zclass, r.base);
r.length = strlen(zclass);
result = dns_rdataclass_fromtext(&rdclass, &r);
if (result != ISC_R_SUCCESS) {
return result;
}
if (result != ISC_R_SUCCESS)
return (result);
result = dns_rootns_create(mctx, rdclass, zfile, &db);
if (result != ISC_R_SUCCESS) {
return result;
}
if (result != ISC_R_SUCCESS)
return (result);
dns_db_detach(&db);
return ISC_R_SUCCESS;
return (ISC_R_SUCCESS);
}
/*% configure the zone */
static isc_result_t
configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
const cfg_obj_t *vconfig, const cfg_obj_t *config,
isc_mem_t *mctx, bool list) {
configure_zone(const char *vclass, const char *view,
const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
const cfg_obj_t *config, isc_mem_t *mctx)
{
int i = 0;
isc_result_t result;
const char *zclass;
const char *zname;
const char *zfile = NULL;
const cfg_obj_t *maps[4];
const cfg_obj_t *primariesobj = NULL;
const cfg_obj_t *mastersobj = NULL;
const cfg_obj_t *inviewobj = NULL;
const cfg_obj_t *zoptions = NULL;
const cfg_obj_t *classobj = NULL;
@@ -199,96 +190,69 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
classobj = cfg_tuple_get(zconfig, "class");
if (!cfg_obj_isstring(classobj)) {
if (!cfg_obj_isstring(classobj))
zclass = vclass;
} else {
else
zclass = cfg_obj_asstring(classobj);
}
zoptions = cfg_tuple_get(zconfig, "options");
maps[i++] = zoptions;
if (vconfig != NULL) {
if (vconfig != NULL)
maps[i++] = cfg_tuple_get(vconfig, "options");
}
if (config != NULL) {
cfg_map_get(config, "options", &obj);
if (obj != NULL) {
if (obj != NULL)
maps[i++] = obj;
}
}
maps[i] = NULL;
cfg_map_get(zoptions, "in-view", &inviewobj);
if (inviewobj != NULL && list) {
const char *inview = cfg_obj_asstring(inviewobj);
printf("%s %s %s in-view %s\n", zname, zclass, view, inview);
}
if (inviewobj != NULL) {
return ISC_R_SUCCESS;
}
if (inviewobj != NULL)
return (ISC_R_SUCCESS);
cfg_map_get(zoptions, "type", &typeobj);
if (typeobj == NULL) {
return ISC_R_FAILURE;
}
if (list) {
const char *ztype = cfg_obj_asstring(typeobj);
printf("%s %s %s %s\n", zname, zclass, view, ztype);
return ISC_R_SUCCESS;
}
if (typeobj == NULL)
return (ISC_R_FAILURE);
/*
* Skip checks when using an alternate data source.
*/
cfg_map_get(zoptions, "database", &dbobj);
if (dbobj != NULL &&
strcmp(ZONEDB_DEFAULT, cfg_obj_asstring(dbobj)) != 0)
{
return ISC_R_SUCCESS;
}
strcmp("rbt", cfg_obj_asstring(dbobj)) != 0 &&
strcmp("rbt64", cfg_obj_asstring(dbobj)) != 0)
return (ISC_R_SUCCESS);
cfg_map_get(zoptions, "dlz", &dlzobj);
if (dlzobj != NULL) {
return ISC_R_SUCCESS;
}
if (dlzobj != NULL)
return (ISC_R_SUCCESS);
cfg_map_get(zoptions, "file", &fileobj);
if (fileobj != NULL) {
if (fileobj != NULL)
zfile = cfg_obj_asstring(fileobj);
}
/*
* Check hints files for hint zones.
* Skip loading checks for any type other than
* master and redirect
*/
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0) {
return configure_hint(zfile, zclass, mctx);
} else if ((strcasecmp(cfg_obj_asstring(typeobj), "primary") != 0) &&
(strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
{
return ISC_R_SUCCESS;
}
if (strcasecmp(cfg_obj_asstring(typeobj), "hint") == 0)
return (configure_hint(zfile, zclass, mctx));
else if ((strcasecmp(cfg_obj_asstring(typeobj), "master") != 0) &&
(strcasecmp(cfg_obj_asstring(typeobj), "redirect") != 0))
return (ISC_R_SUCCESS);
/*
* Is the redirect zone configured as a secondary?
* Is the redirect zone configured as a slave?
*/
if (strcasecmp(cfg_obj_asstring(typeobj), "redirect") == 0) {
cfg_map_get(zoptions, "primaries", &primariesobj);
if (primariesobj == NULL) {
cfg_map_get(zoptions, "masters", &primariesobj);
}
if (primariesobj != NULL) {
return ISC_R_SUCCESS;
}
cfg_map_get(zoptions, "masters", &mastersobj);
if (mastersobj != NULL)
return (ISC_R_SUCCESS);
}
if (zfile == NULL) {
return ISC_R_FAILURE;
}
if (zfile == NULL)
return (ISC_R_FAILURE);
obj = NULL;
if (get_maps(maps, "check-dup-records", &obj)) {
@@ -302,7 +266,8 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zone_options &= ~DNS_ZONEOPT_CHECKDUPRR;
zone_options &= ~DNS_ZONEOPT_CHECKDUPRRFAIL;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_CHECKDUPRR;
@@ -321,7 +286,8 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zone_options &= ~DNS_ZONEOPT_CHECKMX;
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_CHECKMX;
@@ -330,14 +296,12 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
obj = NULL;
if (get_maps(maps, "check-integrity", &obj)) {
if (cfg_obj_asboolean(obj)) {
if (cfg_obj_asboolean(obj))
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
} else {
else
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
}
} else {
} else
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
}
obj = NULL;
if (get_maps(maps, "check-mx-cname", &obj)) {
@@ -351,7 +315,8 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
@@ -370,7 +335,8 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
@@ -379,11 +345,10 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
obj = NULL;
if (get_maps(maps, "check-sibling", &obj)) {
if (cfg_obj_asboolean(obj)) {
if (cfg_obj_asboolean(obj))
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
} else {
else
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
}
}
obj = NULL;
@@ -393,34 +358,13 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
zone_options &= ~DNS_ZONEOPT_CHECKSPF;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_CHECKSPF;
}
obj = NULL;
if (get_maps(maps, "check-svcb", &obj)) {
if (cfg_obj_asboolean(obj)) {
zone_options |= DNS_ZONEOPT_CHECKSVCB;
} else {
zone_options &= ~DNS_ZONEOPT_CHECKSVCB;
}
} else {
zone_options |= DNS_ZONEOPT_CHECKSVCB;
}
obj = NULL;
if (get_maps(maps, "check-wildcard", &obj)) {
if (cfg_obj_asboolean(obj)) {
zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
} else {
zone_options &= ~DNS_ZONEOPT_CHECKWILDCARD;
}
} else {
zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
}
obj = NULL;
if (get_checknames(maps, &obj)) {
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
@@ -433,11 +377,12 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
zone_options &= ~DNS_ZONEOPT_CHECKNAMES;
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
} else {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
}
masterformat = dns_masterformat_text;
@@ -448,30 +393,33 @@ configure_zone(const char *vclass, const char *view, const cfg_obj_t *zconfig,
masterformat = dns_masterformat_text;
} else if (strcasecmp(masterformatstr, "raw") == 0) {
masterformat = dns_masterformat_raw;
} else if (strcasecmp(masterformatstr, "map") == 0) {
masterformat = dns_masterformat_map;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
}
obj = NULL;
if (get_maps(maps, "max-zone-ttl", &obj)) {
maxttl = cfg_obj_asduration(obj);
zone_options |= DNS_ZONEOPT_CHECKTTL;
maxttl = cfg_obj_asuint32(obj);
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
}
result = load_zone(mctx, zname, zfile, masterformat, zclass, maxttl,
NULL);
if (result != ISC_R_SUCCESS) {
result = load_zone(mctx, zname, zfile, masterformat,
zclass, maxttl, NULL);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "%s/%s/%s: %s\n", view, zname, zclass,
isc_result_totext(result));
}
return result;
dns_result_totext(result));
return (result);
}
/*% configure a view */
static isc_result_t
configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
const cfg_obj_t *vconfig, isc_mem_t *mctx, bool list) {
const cfg_obj_t *vconfig, isc_mem_t *mctx)
{
const cfg_listelt_t *element;
const cfg_obj_t *voptions;
const cfg_obj_t *zonelist;
@@ -479,48 +427,46 @@ configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
isc_result_t tresult;
voptions = NULL;
if (vconfig != NULL) {
if (vconfig != NULL)
voptions = cfg_tuple_get(vconfig, "options");
}
zonelist = NULL;
if (voptions != NULL) {
if (voptions != NULL)
(void)cfg_map_get(voptions, "zone", &zonelist);
} else {
else
(void)cfg_map_get(config, "zone", &zonelist);
}
for (element = cfg_list_first(zonelist); element != NULL;
for (element = cfg_list_first(zonelist);
element != NULL;
element = cfg_list_next(element))
{
const cfg_obj_t *zconfig = cfg_listelt_value(element);
tresult = configure_zone(vclass, view, zconfig, vconfig, config,
mctx, list);
if (tresult != ISC_R_SUCCESS) {
tresult = configure_zone(vclass, view, zconfig, vconfig,
config, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
}
return result;
return (result);
}
static isc_result_t
config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp) {
dns_rdataclass_t *classp)
{
isc_textregion_t r;
if (!cfg_obj_isstring(classobj)) {
*classp = defclass;
return ISC_R_SUCCESS;
return (ISC_R_SUCCESS);
}
r.base = UNCONST(cfg_obj_asstring(classobj));
DE_CONST(cfg_obj_asstring(classobj), r.base);
r.length = strlen(r.base);
return dns_rdataclass_fromtext(classp, &r);
return (dns_rdataclass_fromtext(classp, &r));
}
/*% load zones from the configuration */
static isc_result_t
load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx,
bool list_zones) {
load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx) {
const cfg_listelt_t *element;
const cfg_obj_t *views;
const cfg_obj_t *vconfig;
@@ -530,7 +476,8 @@ load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx,
views = NULL;
(void)cfg_map_get(config, "view", &views);
for (element = cfg_list_first(views); element != NULL;
for (element = cfg_list_first(views);
element != NULL;
element = cfg_list_next(element))
{
const cfg_obj_t *classobj;
@@ -539,48 +486,38 @@ load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx,
char buf[sizeof("CLASS65535")];
vconfig = cfg_listelt_value(element);
if (vconfig == NULL) {
if (vconfig == NULL)
continue;
}
classobj = cfg_tuple_get(vconfig, "class");
tresult = config_getclass(classobj, dns_rdataclass_in,
&viewclass);
if (tresult != ISC_R_SUCCESS) {
CHECK(tresult);
}
if (dns_rdataclass_ismeta(viewclass)) {
CHECK(config_getclass(classobj, dns_rdataclass_in,
&viewclass));
if (dns_rdataclass_ismeta(viewclass))
CHECK(ISC_R_FAILURE);
}
dns_rdataclass_format(viewclass, buf, sizeof(buf));
vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name"));
tresult = configure_view(buf, vname, config, vconfig, mctx,
list_zones);
if (tresult != ISC_R_SUCCESS) {
tresult = configure_view(buf, vname, config, vconfig, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
}
if (views == NULL) {
tresult = configure_view("IN", "_default", config, NULL, mctx,
list_zones);
if (tresult != ISC_R_SUCCESS) {
tresult = configure_view("IN", "_default", config, NULL, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
}
cleanup:
return result;
return (result);
}
static void
output(void *closure, const char *text, int textlen) {
UNUSED(closure);
if (fwrite(text, 1, textlen, stdout) != (size_t)textlen) {
isc_result_t *result = closure;
perror("fwrite");
*result = ISC_R_FAILURE;
exit(1);
}
}
@@ -592,36 +529,32 @@ main(int argc, char **argv) {
cfg_obj_t *config = NULL;
const char *conffile = NULL;
isc_mem_t *mctx = NULL;
isc_result_t result = ISC_R_SUCCESS;
bool cleanup_dst = false;
isc_result_t result;
int exit_status = 0;
isc_entropy_t *ectx = NULL;
bool load_zones = false;
bool list_zones = false;
bool print = false;
bool nodeprecate = false;
unsigned int flags = 0;
unsigned int checkflags = BIND_CHECK_PLUGINS | BIND_CHECK_ALGORITHMS;
isc_commandline_errprint = false;
/*
* Process memory debugging argument first.
*/
#define CMDLINE_FLAGS "acdhijlm:t:pvxz"
#define CMDLINE_FLAGS "dhjm:t:pvxz"
while ((c = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (c) {
case 'm':
if (strcasecmp(isc_commandline_argument, "record") == 0)
{
isc_mem_debugging |= ISC_MEM_DEBUGRECORD;
}
if (strcasecmp(isc_commandline_argument, "trace") == 0)
{
isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
}
if (strcasecmp(isc_commandline_argument, "usage") == 0)
{
isc_mem_debugging |= ISC_MEM_DEBUGUSAGE;
}
if (strcasecmp(isc_commandline_argument, "size") == 0)
isc_mem_debugging |= ISC_MEM_DEBUGSIZE;
if (strcasecmp(isc_commandline_argument, "mctx") == 0)
isc_mem_debugging |= ISC_MEM_DEBUGCTX;
break;
default:
break;
@@ -629,34 +562,18 @@ main(int argc, char **argv) {
}
isc_commandline_reset = true;
isc_mem_create(&mctx);
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
while ((c = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != EOF) {
switch (c) {
case 'a':
checkflags &= ~BIND_CHECK_ALGORITHMS;
break;
case 'c':
checkflags &= ~BIND_CHECK_PLUGINS;
break;
case 'd':
debug++;
break;
case 'i':
nodeprecate = true;
break;
case 'j':
nomerge = false;
break;
case 'l':
list_zones = true;
break;
case 'm':
break;
@@ -665,7 +582,7 @@ main(int argc, char **argv) {
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "isc_dir_chroot: %s\n",
isc_result_totext(result));
CHECK(result);
exit(1);
}
break;
@@ -674,9 +591,8 @@ main(int argc, char **argv) {
break;
case 'v':
printf("%s\n", PACKAGE_VERSION);
result = ISC_R_SUCCESS;
goto cleanup;
printf(VERSION "\n");
exit(0);
case 'x':
flags |= CFG_PRINTER_XKEY;
@@ -690,84 +606,80 @@ main(int argc, char **argv) {
break;
case '?':
if (isc_commandline_option != '?') {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
}
FALLTHROUGH;
/* FALLTHROUGH */
case 'h':
isc_mem_detach(&mctx);
usage();
default:
fprintf(stderr, "%s: unhandled option -%c\n", program,
isc_commandline_option);
CHECK(ISC_R_FAILURE);
fprintf(stderr, "%s: unhandled option -%c\n",
program, isc_commandline_option);
exit(1);
}
}
if (((flags & CFG_PRINTER_XKEY) != 0) && !print) {
fprintf(stderr, "%s: -x cannot be used without -p\n", program);
CHECK(ISC_R_FAILURE);
}
if (print && list_zones) {
fprintf(stderr, "%s: -l cannot be used with -p\n", program);
CHECK(ISC_R_FAILURE);
exit(1);
}
if (isc_commandline_index + 1 < argc) {
isc_mem_detach(&mctx);
if (isc_commandline_index + 1 < argc)
usage();
}
if (argv[isc_commandline_index] != NULL) {
if (argv[isc_commandline_index] != NULL)
conffile = argv[isc_commandline_index];
}
if (conffile == NULL || conffile[0] == '\0') {
if (conffile == NULL || conffile[0] == '\0')
conffile = NAMED_CONFFILE;
}
CHECK(setup_logging(mctx, stdout, &logc));
#ifdef _WIN32
InitSockets();
#endif
CHECK(dst_lib_init(mctx, NULL));
cleanup_dst = true;
RUNTIME_CHECK(setup_logging(mctx, stdout, &logc) == ISC_R_SUCCESS);
CHECK(cfg_parser_create(mctx, logc, &parser));
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
== ISC_R_SUCCESS);
dns_result_register();
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
if (nodeprecate) {
cfg_parser_setflags(parser, CFG_PCTX_NODEPRECATED, true);
}
cfg_parser_setcallback(parser, directory_callback, NULL);
CHECK(cfg_parse_file(parser, conffile, &cfg_type_namedconf, &config));
CHECK(isccfg_check_namedconf(config, checkflags, logc, mctx));
if (load_zones || list_zones) {
CHECK(load_zones_fromconfig(config, mctx, list_zones));
if (cfg_parse_file(parser, conffile, &cfg_type_namedconf, &config) !=
ISC_R_SUCCESS)
exit(1);
result = bind9_check_namedconf(config, logc, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
if (result == ISC_R_SUCCESS && load_zones) {
result = load_zones_fromconfig(config, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
}
if (print) {
cfg_printx(config, flags, output, &result);
}
if (print && exit_status == 0)
cfg_printx(config, flags, output, NULL);
cfg_obj_destroy(parser, &config);
cleanup:
if (config != NULL) {
cfg_obj_destroy(parser, &config);
}
cfg_parser_destroy(&parser);
if (parser != NULL) {
cfg_parser_destroy(&parser);
}
dns_name_destroy();
if (cleanup_dst) {
dst_lib_destroy();
}
isc_log_destroy(&logc);
if (logc != NULL) {
isc_log_destroy(&logc);
}
isc_hash_destroy();
isc_entropy_detach(&ectx);
if (mctx != NULL) {
isc_mem_destroy(&mctx);
}
isc_mem_destroy(&mctx);
return result == ISC_R_SUCCESS ? 0 : 1;
#ifdef _WIN32
DestroySockets();
#endif
return (exit_status);
}

View File

@@ -0,0 +1,197 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named-checkconf">
<info>
<date>2014-01-10</date>
</info>
<refentryinfo>
<corpname>ISC</corpname>
<corpauthor>Internet Systems Consortium, Inc.</corpauthor>
</refentryinfo>
<refmeta>
<refentrytitle><application>named-checkconf</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2004</year>
<year>2005</year>
<year>2007</year>
<year>2009</year>
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>named-checkconf</application></refname>
<refpurpose>named configuration file syntax checking tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis sepchar=" ">
<command>named-checkconf</command>
<arg choice="opt" rep="norepeat"><option>-hjvz</option></arg>
<arg choice="opt" rep="norepeat"><option>-p</option>
<arg choice="opt" rep="norepeat"><option>-x</option>
</arg></arg>
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="req" rep="norepeat">filename</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection><info><title>DESCRIPTION</title></info>
<para><command>named-checkconf</command>
checks the syntax, but not the semantics, of a
<command>named</command> configuration file. The file is parsed
and checked for syntax errors, along with all files included by it.
If no file is specified, <filename>/etc/named.conf</filename> is read
by default.
</para>
<para>
Note: files that <command>named</command> reads in separate
parser contexts, such as <filename>rndc.key</filename> and
<filename>bind.keys</filename>, are not automatically read
by <command>named-checkconf</command>. Configuration
errors in these files may cause <command>named</command> to
fail to run, even if <command>named-checkconf</command> was
successful. <command>named-checkconf</command> can be run
on these files explicitly, however.
</para>
</refsection>
<refsection><info><title>OPTIONS</title></info>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Print the usage summary and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j</term>
<listitem>
<para>
When loading a zonefile read the journal if it exists.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p</term>
<listitem>
<para>
Print out the <filename>named.conf</filename> and included files
in canonical form if no errors were detected.
See also the <option>-x</option> option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Chroot to <filename>directory</filename> so that include
directives in the configuration file are processed as if
run by a similarly chrooted <command>named</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>
Print the version of the <command>named-checkconf</command>
program and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-x</term>
<listitem>
<para>
When printing the configuration files in canonical
form, obscure shared secrets by replacing them with
strings of question marks ('?'). This allows the
contents of <filename>named.conf</filename> and related
files to be shared &mdash; for example, when submitting
bug reports &mdash; without compromising private data.
This option cannot be used without <option>-p</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Perform a test load of all master zones found in
<filename>named.conf</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>filename</term>
<listitem>
<para>
The name of the configuration file to be checked. If not
specified, it defaults to <filename>/etc/named.conf</filename>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection><info><title>RETURN VALUES</title></info>
<para><command>named-checkconf</command>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</para>
</refsection>
<refsection><info><title>SEE ALSO</title></info>
<para><citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named-checkzone</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
</para>
</refsection>
</refentry>

View File

@@ -0,0 +1,158 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkconf</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="man.named-checkconf"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>
<span class="application">named-checkconf</span>
&#8212; named configuration file syntax checking tool
</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p>
<code class="command">named-checkconf</code>
[<code class="option">-hjvz</code>]
[<code class="option">-p</code>
[<code class="option">-x</code>
]]
[<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
{filename}
</p></div>
</div>
<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
<p><span class="command"><strong>named-checkconf</strong></span>
checks the syntax, but not the semantics, of a
<span class="command"><strong>named</strong></span> configuration file. The file is parsed
and checked for syntax errors, along with all files included by it.
If no file is specified, <code class="filename">/etc/named.conf</code> is read
by default.
</p>
<p>
Note: files that <span class="command"><strong>named</strong></span> reads in separate
parser contexts, such as <code class="filename">rndc.key</code> and
<code class="filename">bind.keys</code>, are not automatically read
by <span class="command"><strong>named-checkconf</strong></span>. Configuration
errors in these files may cause <span class="command"><strong>named</strong></span> to
fail to run, even if <span class="command"><strong>named-checkconf</strong></span> was
successful. <span class="command"><strong>named-checkconf</strong></span> can be run
on these files explicitly, however.
</p>
</div>
<div class="refsection">
<a name="id-1.8"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term">-h</span></dt>
<dd>
<p>
Print the usage summary and exit.
</p>
</dd>
<dt><span class="term">-j</span></dt>
<dd>
<p>
When loading a zonefile read the journal if it exists.
</p>
</dd>
<dt><span class="term">-p</span></dt>
<dd>
<p>
Print out the <code class="filename">named.conf</code> and included files
in canonical form if no errors were detected.
See also the <code class="option">-x</code> option.
</p>
</dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>
Chroot to <code class="filename">directory</code> so that include
directives in the configuration file are processed as if
run by a similarly chrooted <span class="command"><strong>named</strong></span>.
</p>
</dd>
<dt><span class="term">-v</span></dt>
<dd>
<p>
Print the version of the <span class="command"><strong>named-checkconf</strong></span>
program and exit.
</p>
</dd>
<dt><span class="term">-x</span></dt>
<dd>
<p>
When printing the configuration files in canonical
form, obscure shared secrets by replacing them with
strings of question marks ('?'). This allows the
contents of <code class="filename">named.conf</code> and related
files to be shared &#8212; for example, when submitting
bug reports &#8212; without compromising private data.
This option cannot be used without <code class="option">-p</code>.
</p>
</dd>
<dt><span class="term">-z</span></dt>
<dd>
<p>
Perform a test load of all master zones found in
<code class="filename">named.conf</code>.
</p>
</dd>
<dt><span class="term">filename</span></dt>
<dd>
<p>
The name of the configuration file to be checked. If not
specified, it defaults to <code class="filename">/etc/named.conf</code>.
</p>
</dd>
</dl></div>
</div>
<div class="refsection">
<a name="id-1.9"></a><h2>RETURN VALUES</h2>
<p><span class="command"><strong>named-checkconf</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsection">
<a name="id-1.10"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry">
<span class="refentrytitle">named</span>(8)
</span>,
<span class="citerefentry">
<span class="refentrytitle">named-checkzone</span>(8)
</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
</div></body>
</html>

View File

@@ -1,116 +0,0 @@
.. Copyright (C) Internet Systems Consortium, Inc. ("ISC")
..
.. SPDX-License-Identifier: MPL-2.0
..
.. This Source Code Form is subject to the terms of the Mozilla Public
.. License, v. 2.0. If a copy of the MPL was not distributed with this
.. file, you can obtain one at https://mozilla.org/MPL/2.0/.
..
.. See the COPYRIGHT file distributed with this work for additional
.. information regarding copyright ownership.
.. highlight: console
.. iscman:: named-checkconf
.. program:: named-checkconf
.. _man_named-checkconf:
named-checkconf - named configuration file syntax checking tool
---------------------------------------------------------------
Synopsis
~~~~~~~~
:program:`named-checkconf` [**-achjlvz**] [**-p** [**-x** ]] [**-t** directory] {filename}
Description
~~~~~~~~~~~
:program:`named-checkconf` checks the syntax, but not the semantics, of a
:iscman:`named` configuration file. The file, along with all files included by it, is parsed and checked for syntax
errors. If no file is specified,
|named_conf| is read by default.
Note: files that :iscman:`named` reads in separate parser contexts, such as
``rndc.conf`` or ``rndc.key``, are not automatically read by
:program:`named-checkconf`. Configuration errors in these files may cause
:iscman:`named` to fail to run, even if :program:`named-checkconf` was
successful. However, :program:`named-checkconf` can be run on these files
explicitly.
Options
~~~~~~~
.. option:: -a
Don't check the `dnssec-policy`'s DNSSEC key algorithms against
those supported by the crypto provider. This is useful when checking
a `named.conf` intended to be run on another machine with possibly a
different set of supported DNSSEC key algorithms.
.. option:: -h
This option prints the usage summary and exits.
.. option:: -j
When loading a zonefile, this option instructs :iscman:`named` to read the journal if it exists.
.. option:: -l
This option lists all the configured zones. Each line of output contains the zone
name, class (e.g. IN), view, and type (e.g. primary or secondary).
.. option:: -c
This option specifies that only the "core" configuration should be checked. This suppresses the loading of
plugin modules, and causes all parameters to ``plugin`` statements to
be ignored.
.. option:: -i
This option ignores warnings on deprecated options.
.. option:: -p
This option prints out the :iscman:`named.conf` and included files in canonical form if
no errors were detected. See also the :option:`-x` option.
.. option:: -t directory
This option instructs :iscman:`named` to chroot to ``directory``, so that ``include`` directives in the
configuration file are processed as if run by a similarly chrooted
:iscman:`named`.
.. option:: -v
This option prints the version of the :program:`named-checkconf` program and exits.
.. option:: -x
When printing the configuration files in canonical form, this option obscures
shared secrets by replacing them with strings of question marks
(``?``). This allows the contents of :iscman:`named.conf` and related files
to be shared - for example, when submitting bug reports -
without compromising private data. This option cannot be used without
:option:`-p`.
.. option:: -z
This option performs a test load of all zones of type ``primary`` found in :iscman:`named.conf`.
.. option:: filename
This indicates the name of the configuration file to be checked. If not specified,
it defaults to |named_conf|.
Return Values
~~~~~~~~~~~~~
:program:`named-checkconf` returns an exit status of 1 if errors were detected
and 0 otherwise.
See Also
~~~~~~~~
:iscman:`named(8) <named>`, :iscman:`named-checkzone(8) <named-checkzone>`, BIND 9 Administrator Reference Manual.

329
bin/check/named-checkzone.8 Normal file
View File

@@ -0,0 +1,329 @@
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
.\" file, You can obtain one at http://mozilla.org/MPL/2.0/.
.\"
.hy 0
.ad l
'\" t
.\" Title: named-checkzone
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 2014-02-19
.\" Manual: BIND9
.\" Source: ISC
.\" Language: English
.\"
.TH "NAMED\-CHECKZONE" "8" "2014\-02\-19" "ISC" "BIND9"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
named-checkzone, named-compilezone \- zone file validity checking or converting tool
.SH "SYNOPSIS"
.HP \w'\fBnamed\-checkzone\fR\ 'u
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
.HP \w'\fBnamed\-compilezone\fR\ 'u
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkzone\fR
checks the syntax and integrity of a zone file\&. It performs the same checks as
\fBnamed\fR
does when loading a zone\&. This makes
\fBnamed\-checkzone\fR
useful for checking zone files before configuring them into a name server\&.
.PP
\fBnamed\-compilezone\fR
is similar to
\fBnamed\-checkzone\fR, but it always dumps the zone contents to a specified file in a specified format\&. Additionally, it applies stricter check levels by default, since the dump output will be used as an actual zone file loaded by
\fBnamed\fR\&. When manually specified otherwise, the check levels must at least be as strict as those specified in the
\fBnamed\fR
configuration file\&.
.SH "OPTIONS"
.PP
\-d
.RS 4
Enable debugging\&.
.RE
.PP
\-h
.RS 4
Print the usage summary and exit\&.
.RE
.PP
\-q
.RS 4
Quiet mode \- exit code only\&.
.RE
.PP
\-v
.RS 4
Print the version of the
\fBnamed\-checkzone\fR
program and exit\&.
.RE
.PP
\-j
.RS 4
When loading a zone file, read the journal if it exists\&. The journal file name is assumed to be the zone file name appended with the string
\&.jnl\&.
.RE
.PP
\-J \fIfilename\fR
.RS 4
When loading the zone file read the journal from the given file, if it exists\&. (Implies \-j\&.)
.RE
.PP
\-c \fIclass\fR
.RS 4
Specify the class of the zone\&. If not specified, "IN" is assumed\&.
.RE
.PP
\-i \fImode\fR
.RS 4
Perform post\-load zone integrity checks\&. Possible modes are
\fB"full"\fR
(default),
\fB"full\-sibling"\fR,
\fB"local"\fR,
\fB"local\-sibling"\fR
and
\fB"none"\fR\&.
.sp
Mode
\fB"full"\fR
checks that MX records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode
\fB"local"\fR
only checks MX records which refer to in\-zone hostnames\&.
.sp
Mode
\fB"full"\fR
checks that SRV records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode
\fB"local"\fR
only checks SRV records which refer to in\-zone hostnames\&.
.sp
Mode
\fB"full"\fR
checks that delegation NS records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. It also checks that glue address records in the zone match those advertised by the child\&. Mode
\fB"local"\fR
only checks NS records which refer to in\-zone hostnames or that some required glue exists, that is when the nameserver is in a child zone\&.
.sp
Mode
\fB"full\-sibling"\fR
and
\fB"local\-sibling"\fR
disable sibling glue checks but are otherwise the same as
\fB"full"\fR
and
\fB"local"\fR
respectively\&.
.sp
Mode
\fB"none"\fR
disables the checks\&.
.RE
.PP
\-f \fIformat\fR
.RS 4
Specify the format of the zone file\&. Possible formats are
\fB"text"\fR
(default),
\fB"raw"\fR, and
\fB"map"\fR\&.
.RE
.PP
\-F \fIformat\fR
.RS 4
Specify the format of the output file specified\&. For
\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents\&.
.sp
Possible formats are
\fB"text"\fR
(default), which is the standard textual representation of the zone, and
\fB"map"\fR,
\fB"raw"\fR, and
\fB"raw=N"\fR, which store the zone in a binary format for rapid loading by
\fBnamed\fR\&.
\fB"raw=N"\fR
specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of
\fBnamed\fR; if N is 1, the file can be read by release 9\&.9\&.0 or higher; the default is 1\&.
.RE
.PP
\-k \fImode\fR
.RS 4
Perform
\fB"check\-names"\fR
checks with the specified failure mode\&. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-compilezone\fR),
\fB"warn"\fR
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR\&.
.RE
.PP
\-l \fIttl\fR
.RS 4
Sets a maximum permissible TTL for the input file\&. Any record with a TTL higher than this value will cause the zone to be rejected\&. This is similar to using the
\fBmax\-zone\-ttl\fR
option in
named\&.conf\&.
.RE
.PP
\-L \fIserial\fR
.RS 4
When compiling a zone to "raw" or "map" format, set the "source serial" value in the header to the specified serial number\&. (This is expected to be used primarily for testing purposes\&.)
.RE
.PP
\-m \fImode\fR
.RS 4
Specify whether MX records should be checked to see if they are addresses\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
.RE
.PP
\-M \fImode\fR
.RS 4
Check if a MX record refers to a CNAME\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
.RE
.PP
\-n \fImode\fR
.RS 4
Specify whether NS records should be checked to see if they are addresses\&. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-compilezone\fR),
\fB"warn"\fR
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR\&.
.RE
.PP
\-o \fIfilename\fR
.RS 4
Write zone output to
filename\&. If
filename
is
\-
then write to standard out\&. This is mandatory for
\fBnamed\-compilezone\fR\&.
.RE
.PP
\-r \fImode\fR
.RS 4
Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
.RE
.PP
\-s \fIstyle\fR
.RS 4
Specify the style of the dumped zone file\&. Possible styles are
\fB"full"\fR
(default) and
\fB"relative"\fR\&. The full format is most suitable for processing automatically by a separate script\&. On the other hand, the relative format is more human\-readable and is thus suitable for editing by hand\&. For
\fBnamed\-checkzone\fR
this does not cause any effects unless it dumps the zone contents\&. It also does not have any meaning if the output format is not text\&.
.RE
.PP
\-S \fImode\fR
.RS 4
Check if a SRV record refers to a CNAME\&. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
.RE
.PP
\-t \fIdirectory\fR
.RS 4
Chroot to
directory
so that include directives in the configuration file are processed as if run by a similarly chrooted
\fBnamed\fR\&.
.RE
.PP
\-T \fImode\fR
.RS 4
Check if Sender Policy Framework (SPF) records exist and issues a warning if an SPF\-formatted TXT record is not also present\&. Possible modes are
\fB"warn"\fR
(default),
\fB"ignore"\fR\&.
.RE
.PP
\-w \fIdirectory\fR
.RS 4
chdir to
directory
so that relative filenames in master file $INCLUDE directives work\&. This is similar to the directory clause in
named\&.conf\&.
.RE
.PP
\-D
.RS 4
Dump zone file in canonical format\&. This is always enabled for
\fBnamed\-compilezone\fR\&.
.RE
.PP
\-W \fImode\fR
.RS 4
Specify whether to check for non\-terminal wildcards\&. Non\-terminal wildcards are almost always the result of a failure to understand the wildcard matching algorithm (RFC 1034)\&. Possible modes are
\fB"warn"\fR
(default) and
\fB"ignore"\fR\&.
.RE
.PP
zonename
.RS 4
The domain name of the zone being checked\&.
.RE
.PP
filename
.RS 4
The name of the zone file\&.
.RE
.SH "RETURN VALUES"
.PP
\fBnamed\-checkzone\fR
returns an exit status of 1 if errors were detected and 0 otherwise\&.
.SH "SEE ALSO"
.PP
\fBnamed\fR(8),
\fBnamed-checkconf\fR(8),
RFC 1035,
BIND 9 Administrator Reference Manual\&.
.SH "AUTHOR"
.PP
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,31 +1,34 @@
/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* SPDX-License-Identifier: MPL-2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <inttypes.h>
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <inttypes.h>
#include <isc/attributes.h>
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/dir.h>
#include <isc/file.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/result.h>
#include <isc/print.h>
#include <isc/socket.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/timer.h>
#include <isc/util.h>
@@ -37,6 +40,7 @@
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/rdataset.h>
#include <dns/result.h>
#include <dns/types.h>
#include <dns/zone.h>
@@ -44,49 +48,50 @@
static int quiet = 0;
static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL;
dns_zone_t *zone = NULL;
dns_zonetype_t zonetype = dns_zone_primary;
dns_zonetype_t zonetype = dns_zone_master;
static int dumpzone = 0;
static const char *output_filename;
static const char *prog_name = NULL;
static const dns_master_style_t *outputstyle = NULL;
static enum { progmode_check, progmode_compile } progmode;
#define ERRRET(result, function) \
do { \
if (result != ISC_R_SUCCESS) { \
if (!quiet) \
fprintf(stderr, "%s() returned %s\n", \
function, isc_result_totext(result)); \
return (result); \
} \
#define ERRRET(result, function) \
do { \
if (result != ISC_R_SUCCESS) { \
if (!quiet) \
fprintf(stderr, "%s() returned %s\n", \
function, dns_result_totext(result)); \
return (result); \
} \
} while (0)
noreturn static void
usage(void);
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
static void
usage(void) {
fprintf(stderr,
"usage: %s [-djqvD] [-c class] "
"[-f inputformat] [-F outputformat] [-J filename] "
"[-s (full|relative)] [-t directory] [-w directory] "
"[-k (ignore|warn|fail)] [-m (ignore|warn|fail)] "
"[-n (ignore|warn|fail)] [-r (ignore|warn|fail)] "
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
"[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
"[-r (ignore|warn|fail)] "
"[-i (full|full-sibling|local|local-sibling|none)] "
"[-M (ignore|warn|fail)] [-S (ignore|warn|fail)] "
"[-W (ignore|warn)] "
"%s zonename [ (filename|-) ]\n",
"%s zonename filename\n",
prog_name,
progmode == progmode_check ? "[-o filename]" : "-o filename");
exit(EXIT_FAILURE);
exit(1);
}
static void
destroy(void) {
if (zone != NULL) {
if (zone != NULL)
dns_zone_detach(&zone);
}
dns_name_destroy();
}
/*% main processing routine */
@@ -94,7 +99,7 @@ int
main(int argc, char **argv) {
int c;
char *origin = NULL;
const char *filename = NULL;
char *filename = NULL;
isc_log_t *lctx = NULL;
isc_result_t result;
char classname_in[] = "IN";
@@ -120,21 +125,18 @@ main(int argc, char **argv) {
outputstyle = &dns_master_style_full;
prog_name = strrchr(argv[0], '/');
if (prog_name == NULL) {
if (prog_name == NULL)
prog_name = strrchr(argv[0], '\\');
}
if (prog_name != NULL) {
if (prog_name != NULL)
prog_name++;
} else {
else
prog_name = argv[0];
}
/*
* Libtool doesn't preserve the program name prior to final
* installation. Remove the libtool prefix ("lt-").
*/
if (strncmp(prog_name, "lt-", 3) == 0) {
if (strncmp(prog_name, "lt-", 3) == 0)
prog_name += 3;
}
#define PROGCMP(X) \
(strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0)
@@ -144,25 +146,30 @@ main(int argc, char **argv) {
} else if (PROGCMP("named-compilezone")) {
progmode = progmode_compile;
} else {
UNREACHABLE();
INSIST(0);
ISC_UNREACHABLE();
}
/* When compiling, disable checks by default */
/* Compilation specific defaults */
if (progmode == progmode_compile) {
zone_options = 0;
docheckmx = false;
docheckns = false;
dochecksrv = false;
}
zone_options |= (DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_FATALNS |
DNS_ZONEOPT_CHECKSPF |
DNS_ZONEOPT_CHECKDUPRR |
DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL |
DNS_ZONEOPT_CHECKWILDCARD);
} else
zone_options |= (DNS_ZONEOPT_CHECKDUPRR |
DNS_ZONEOPT_CHECKSPF);
#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
isc_commandline_errprint = false;
while ((c = isc_commandline_parse(argc, argv,
"c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:C:"
"DF:M:S:T:W:")) != EOF)
{
"c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:DF:M:S:T:W:"))
!= EOF) {
switch (c) {
case 'c':
classname = isc_commandline_argument;
@@ -206,7 +213,7 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -i: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -240,7 +247,7 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -k: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -251,35 +258,36 @@ main(int argc, char **argv) {
if (*endp != '\0') {
fprintf(stderr, "source serial number "
"must be numeric");
exit(EXIT_FAILURE);
exit(1);
}
break;
case 'l':
zone_options |= DNS_ZONEOPT_CHECKTTL;
zone_options2 |= DNS_ZONEOPT2_CHECKTTL;
endp = NULL;
maxttl = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0') {
fprintf(stderr, "maximum TTL "
"must be numeric");
exit(EXIT_FAILURE);
exit(1);
}
break;
case 'n':
if (ARGCMP("ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKNS |
zone_options &= ~(DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS);
} else if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_CHECKNS;
zone_options &= ~DNS_ZONEOPT_FATALNS;
} else if (ARGCMP("fail")) {
zone_options |= DNS_ZONEOPT_CHECKNS |
zone_options |= DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS;
} else {
fprintf(stderr, "invalid argument to -n: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -296,7 +304,7 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -m: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -321,20 +329,20 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -r: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
case 's':
if (ARGCMP("full")) {
if (ARGCMP("full"))
outputstyle = &dns_master_style_full;
} else if (ARGCMP("relative")) {
else if (ARGCMP("relative")) {
outputstyle = &dns_master_style_default;
} else {
fprintf(stderr,
"unknown or unsupported style: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -344,30 +352,18 @@ main(int argc, char **argv) {
fprintf(stderr, "isc_dir_chroot: %s: %s\n",
isc_commandline_argument,
isc_result_totext(result));
exit(EXIT_FAILURE);
exit(1);
}
break;
case 'v':
printf("%s\n", PACKAGE_VERSION);
exit(EXIT_SUCCESS);
printf(VERSION "\n");
exit(0);
case 'w':
workdir = isc_commandline_argument;
break;
case 'C':
if (ARGCMP("check-svcb:fail")) {
zone_options |= DNS_ZONEOPT_CHECKSVCB;
} else if (ARGCMP("check-svcb:ignore")) {
zone_options &= ~DNS_ZONEOPT_CHECKSVCB;
} else {
fprintf(stderr, "invalid argument to -C: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
}
break;
case 'D':
dumpzone++;
break;
@@ -385,7 +381,7 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -M: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -402,7 +398,7 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -S: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
@@ -414,56 +410,56 @@ main(int argc, char **argv) {
} else {
fprintf(stderr, "invalid argument to -T: %s\n",
isc_commandline_argument);
exit(EXIT_FAILURE);
exit(1);
}
break;
case 'W':
if (ARGCMP("warn")) {
if (ARGCMP("warn"))
zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
} else if (ARGCMP("ignore")) {
else if (ARGCMP("ignore"))
zone_options &= ~DNS_ZONEOPT_CHECKWILDCARD;
}
break;
case '?':
if (isc_commandline_option != '?') {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
prog_name, isc_commandline_option);
}
FALLTHROUGH;
/* FALLTHROUGH */
case 'h':
usage();
default:
fprintf(stderr, "%s: unhandled option -%c\n", prog_name,
isc_commandline_option);
exit(EXIT_FAILURE);
fprintf(stderr, "%s: unhandled option -%c\n",
prog_name, isc_commandline_option);
exit(1);
}
}
if (workdir != NULL) {
result = isc_dir_chdir(workdir);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "isc_dir_chdir: %s: %s\n", workdir,
isc_result_totext(result));
exit(EXIT_FAILURE);
fprintf(stderr, "isc_dir_chdir: %s: %s\n",
workdir, isc_result_totext(result));
exit(1);
}
}
if (inputformatstr != NULL) {
if (strcasecmp(inputformatstr, "text") == 0) {
if (strcasecmp(inputformatstr, "text") == 0)
inputformat = dns_masterformat_text;
} else if (strcasecmp(inputformatstr, "raw") == 0) {
else if (strcasecmp(inputformatstr, "raw") == 0)
inputformat = dns_masterformat_raw;
} else if (strncasecmp(inputformatstr, "raw=", 4) == 0) {
else if (strncasecmp(inputformatstr, "raw=", 4) == 0) {
inputformat = dns_masterformat_raw;
fprintf(stderr, "WARNING: input format raw, version "
"ignored\n");
fprintf(stderr,
"WARNING: input format raw, version ignored\n");
} else if (strcasecmp(inputformatstr, "map") == 0) {
inputformat = dns_masterformat_map;
} else {
fprintf(stderr, "unknown file format: %s\n",
inputformatstr);
exit(EXIT_FAILURE);
inputformatstr);
exit(1);
}
}
@@ -478,68 +474,65 @@ main(int argc, char **argv) {
outputformat = dns_masterformat_raw;
rawversion = strtol(outputformatstr + 4, &end, 10);
if (end == outputformatstr + 4 || *end != '\0' ||
rawversion > 1U)
{
fprintf(stderr, "unknown raw format version\n");
exit(EXIT_FAILURE);
rawversion > 1U) {
fprintf(stderr,
"unknown raw format version\n");
exit(1);
}
} else if (strcasecmp(outputformatstr, "map") == 0) {
outputformat = dns_masterformat_map;
} else {
fprintf(stderr, "unknown file format: %s\n",
outputformatstr);
exit(EXIT_FAILURE);
exit(1);
}
}
if (progmode == progmode_compile) {
dumpzone = 1; /* always dump */
dumpzone = 1; /* always dump */
logdump = !quiet;
if (output_filename == NULL) {
fprintf(stderr, "output file required, but not "
"specified\n");
fprintf(stderr,
"output file required, but not specified\n");
usage();
}
}
if (output_filename != NULL) {
if (output_filename != NULL)
dumpzone = 1;
}
/*
* If we are printing to stdout then send the informational
* If we are outputing to stdout then send the informational
* output to stderr.
*/
if (dumpzone &&
(output_filename == NULL || strcmp(output_filename, "-") == 0 ||
(output_filename == NULL ||
strcmp(output_filename, "-") == 0 ||
strcmp(output_filename, "/dev/fd/1") == 0 ||
strcmp(output_filename, "/dev/stdout") == 0))
{
strcmp(output_filename, "/dev/stdout") == 0)) {
errout = stderr;
logdump = false;
}
if (argc - isc_commandline_index < 1 ||
argc - isc_commandline_index > 2)
{
if (isc_commandline_index + 2 != argc)
usage();
}
isc_mem_create(&mctx);
if (!quiet) {
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx) ==
ISC_R_SUCCESS);
}
#ifdef _WIN32
InitSockets();
#endif
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
if (!quiet)
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx)
== ISC_R_SUCCESS);
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
== ISC_R_SUCCESS);
dns_result_register();
origin = argv[isc_commandline_index++];
if (isc_commandline_index == argc) {
/* "-" will be interpreted as stdin */
filename = "-";
} else {
filename = argv[isc_commandline_index];
}
isc_commandline_index++;
filename = argv[isc_commandline_index++];
result = load_zone(mctx, origin, filename, inputformat, classname,
maxttl, &zone);
@@ -555,21 +548,22 @@ main(int argc, char **argv) {
fprintf(errout, "dump zone to %s...", output_filename);
fflush(errout);
}
result = dump_zone(origin, zone, output_filename, outputformat,
outputstyle, rawversion);
if (logdump) {
result = dump_zone(origin, zone, output_filename,
outputformat, outputstyle, rawversion);
if (logdump)
fprintf(errout, "done\n");
}
}
if (!quiet && result == ISC_R_SUCCESS) {
if (!quiet && result == ISC_R_SUCCESS)
fprintf(errout, "OK\n");
}
destroy();
if (lctx != NULL) {
if (lctx != NULL)
isc_log_destroy(&lctx);
}
isc_hash_destroy();
isc_entropy_detach(&ectx);
isc_mem_destroy(&mctx);
return (result == ISC_R_SUCCESS) ? 0 : 1;
#ifdef _WIN32
DestroySockets();
#endif
return ((result == ISC_R_SUCCESS) ? 0 : 1);
}

View File

@@ -0,0 +1,528 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named-checkzone">
<info>
<date>2014-02-19</date>
</info>
<refentryinfo>
<corpname>ISC</corpname>
<corpauthor>Internet Systems Consortium, Inc.</corpauthor>
</refentryinfo>
<refmeta>
<refentrytitle><application>named-checkzone</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<year>2012</year>
<year>2013</year>
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>named-checkzone</application></refname>
<refname><application>named-compilezone</application></refname>
<refpurpose>zone file validity checking or converting tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis sepchar=" ">
<command>named-checkzone</command>
<arg choice="opt" rep="norepeat"><option>-d</option></arg>
<arg choice="opt" rep="norepeat"><option>-h</option></arg>
<arg choice="opt" rep="norepeat"><option>-j</option></arg>
<arg choice="opt" rep="norepeat"><option>-q</option></arg>
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">format</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-F <replaceable class="parameter">format</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-J <replaceable class="parameter">filename</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">ttl</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-L <replaceable class="parameter">serial</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-s <replaceable class="parameter">style</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-S <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-D</option></arg>
<arg choice="opt" rep="norepeat"><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="req" rep="norepeat">zonename</arg>
<arg choice="req" rep="norepeat">filename</arg>
</cmdsynopsis>
<cmdsynopsis sepchar=" ">
<command>named-compilezone</command>
<arg choice="opt" rep="norepeat"><option>-d</option></arg>
<arg choice="opt" rep="norepeat"><option>-j</option></arg>
<arg choice="opt" rep="norepeat"><option>-q</option></arg>
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-C <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">format</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-F <replaceable class="parameter">format</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-J <replaceable class="parameter">filename</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">ttl</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-L <replaceable class="parameter">serial</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-s <replaceable class="parameter">style</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-D</option></arg>
<arg choice="opt" rep="norepeat"><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="req" rep="norepeat"><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg choice="req" rep="norepeat">zonename</arg>
<arg choice="req" rep="norepeat">filename</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection><info><title>DESCRIPTION</title></info>
<para><command>named-checkzone</command>
checks the syntax and integrity of a zone file. It performs the
same checks as <command>named</command> does when loading a
zone. This makes <command>named-checkzone</command> useful for
checking zone files before configuring them into a name server.
</para>
<para>
<command>named-compilezone</command> is similar to
<command>named-checkzone</command>, but it always dumps the
zone contents to a specified file in a specified format.
Additionally, it applies stricter check levels by default,
since the dump output will be used as an actual zone file
loaded by <command>named</command>.
When manually specified otherwise, the check levels must at
least be as strict as those specified in the
<command>named</command> configuration file.
</para>
</refsection>
<refsection><info><title>OPTIONS</title></info>
<variablelist>
<varlistentry>
<term>-d</term>
<listitem>
<para>
Enable debugging.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Print the usage summary and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-q</term>
<listitem>
<para>
Quiet mode - exit code only.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>
Print the version of the <command>named-checkzone</command>
program and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j</term>
<listitem>
<para>
When loading a zone file, read the journal if it exists.
The journal file name is assumed to be the zone file name
appended with the string <filename>.jnl</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-J <replaceable class="parameter">filename</replaceable></term>
<listitem>
<para>
When loading the zone file read the journal from the given
file, if it exists. (Implies -j.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Specify the class of the zone. If not specified, "IN" is assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Perform post-load zone integrity checks. Possible modes are
<command>"full"</command> (default),
<command>"full-sibling"</command>,
<command>"local"</command>,
<command>"local-sibling"</command> and
<command>"none"</command>.
</para>
<para>
Mode <command>"full"</command> checks that MX records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <command>"local"</command> only
checks MX records which refer to in-zone hostnames.
</para>
<para>
Mode <command>"full"</command> checks that SRV records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <command>"local"</command> only
checks SRV records which refer to in-zone hostnames.
</para>
<para>
Mode <command>"full"</command> checks that delegation NS
records refer to A or AAAA record (both in-zone and out-of-zone
hostnames). It also checks that glue address records
in the zone match those advertised by the child.
Mode <command>"local"</command> only checks NS records which
refer to in-zone hostnames or that some required glue exists,
that is when the nameserver is in a child zone.
</para>
<para>
Mode <command>"full-sibling"</command> and
<command>"local-sibling"</command> disable sibling glue
checks but are otherwise the same as <command>"full"</command>
and <command>"local"</command> respectively.
</para>
<para>
Mode <command>"none"</command> disables the checks.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable class="parameter">format</replaceable></term>
<listitem>
<para>
Specify the format of the zone file.
Possible formats are <command>"text"</command> (default),
<command>"raw"</command>, and <command>"map"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-F <replaceable class="parameter">format</replaceable></term>
<listitem>
<para>
Specify the format of the output file specified.
For <command>named-checkzone</command>,
this does not cause any effects unless it dumps the zone
contents.
</para>
<para>
Possible formats are <command>"text"</command> (default),
which is the standard textual representation of the zone,
and <command>"map"</command>, <command>"raw"</command>,
and <command>"raw=N"</command>, which store the zone in a
binary format for rapid loading by <command>named</command>.
<command>"raw=N"</command> specifies the format version of
the raw zone file: if N is 0, the raw file can be read by
any version of <command>named</command>; if N is 1, the file
can be read by release 9.9.0 or higher; the default is 1.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Perform <command>"check-names"</command> checks with the
specified failure mode.
Possible modes are <command>"fail"</command>
(default for <command>named-compilezone</command>),
<command>"warn"</command>
(default for <command>named-checkzone</command>) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-l <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Sets a maximum permissible TTL for the input file.
Any record with a TTL higher than this value will cause
the zone to be rejected. This is similar to using the
<command>max-zone-ttl</command> option in
<filename>named.conf</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">serial</replaceable></term>
<listitem>
<para>
When compiling a zone to "raw" or "map" format, set the
"source serial" value in the header to the specified serial
number. (This is expected to be used primarily for testing
purposes.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-m <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether MX records should be checked to see if they
are addresses. Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-M <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check if a MX record refers to a CNAME.
Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether NS records should be checked to see if they
are addresses.
Possible modes are <command>"fail"</command>
(default for <command>named-compilezone</command>),
<command>"warn"</command>
(default for <command>named-checkzone</command>) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-o <replaceable class="parameter">filename</replaceable></term>
<listitem>
<para>
Write zone output to <filename>filename</filename>.
If <filename>filename</filename> is <filename>-</filename> then
write to standard out.
This is mandatory for <command>named-compilezone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check for records that are treated as different by DNSSEC but
are semantically equal in plain DNS.
Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">style</replaceable></term>
<listitem>
<para>
Specify the style of the dumped zone file.
Possible styles are <command>"full"</command> (default)
and <command>"relative"</command>.
The full format is most suitable for processing
automatically by a separate script.
On the other hand, the relative format is more
human-readable and is thus suitable for editing by hand.
For <command>named-checkzone</command>
this does not cause any effects unless it dumps the zone
contents.
It also does not have any meaning if the output format
is not text.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-S <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check if a SRV record refers to a CNAME.
Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Chroot to <filename>directory</filename> so that
include
directives in the configuration file are processed as if
run by a similarly chrooted <command>named</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-T <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check if Sender Policy Framework (SPF) records exist
and issues a warning if an SPF-formatted TXT record is
not also present. Possible modes are <command>"warn"</command>
(default), <command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-w <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
chdir to <filename>directory</filename> so that
relative
filenames in master file $INCLUDE directives work. This
is similar to the directory clause in
<filename>named.conf</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-D</term>
<listitem>
<para>
Dump zone file in canonical format.
This is always enabled for <command>named-compilezone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-W <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether to check for non-terminal wildcards.
Non-terminal wildcards are almost always the result of a
failure to understand the wildcard matching algorithm (RFC 1034).
Possible modes are <command>"warn"</command> (default)
and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonename</term>
<listitem>
<para>
The domain name of the zone being checked.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>filename</term>
<listitem>
<para>
The name of the zone file.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection><info><title>RETURN VALUES</title></info>
<para><command>named-checkzone</command>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</para>
</refsection>
<refsection><info><title>SEE ALSO</title></info>
<para><citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named-checkconf</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>RFC 1035</citetitle>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
</para>
</refsection>
</refentry>

View File

@@ -0,0 +1,429 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkzone</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
<a name="man.named-checkzone"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>
<span class="application">named-checkzone</span>,
<span class="application">named-compilezone</span>
&#8212; zone file validity checking or converting tool
</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p>
<code class="command">named-checkzone</code>
[<code class="option">-d</code>]
[<code class="option">-h</code>]
[<code class="option">-j</code>]
[<code class="option">-q</code>]
[<code class="option">-v</code>]
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
[<code class="option">-f <em class="replaceable"><code>format</code></em></code>]
[<code class="option">-F <em class="replaceable"><code>format</code></em></code>]
[<code class="option">-J <em class="replaceable"><code>filename</code></em></code>]
[<code class="option">-i <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-k <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-m <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-M <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-n <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>]
[<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
[<code class="option">-o <em class="replaceable"><code>filename</code></em></code>]
[<code class="option">-r <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-s <em class="replaceable"><code>style</code></em></code>]
[<code class="option">-S <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
[<code class="option">-T <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-w <em class="replaceable"><code>directory</code></em></code>]
[<code class="option">-D</code>]
[<code class="option">-W <em class="replaceable"><code>mode</code></em></code>]
{zonename}
{filename}
</p></div>
<div class="cmdsynopsis"><p>
<code class="command">named-compilezone</code>
[<code class="option">-d</code>]
[<code class="option">-j</code>]
[<code class="option">-q</code>]
[<code class="option">-v</code>]
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
[<code class="option">-C <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-f <em class="replaceable"><code>format</code></em></code>]
[<code class="option">-F <em class="replaceable"><code>format</code></em></code>]
[<code class="option">-J <em class="replaceable"><code>filename</code></em></code>]
[<code class="option">-i <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-k <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-m <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-n <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-l <em class="replaceable"><code>ttl</code></em></code>]
[<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
[<code class="option">-r <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-s <em class="replaceable"><code>style</code></em></code>]
[<code class="option">-t <em class="replaceable"><code>directory</code></em></code>]
[<code class="option">-T <em class="replaceable"><code>mode</code></em></code>]
[<code class="option">-w <em class="replaceable"><code>directory</code></em></code>]
[<code class="option">-D</code>]
[<code class="option">-W <em class="replaceable"><code>mode</code></em></code>]
{<code class="option">-o <em class="replaceable"><code>filename</code></em></code>}
{zonename}
{filename}
</p></div>
</div>
<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
<p><span class="command"><strong>named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the
same checks as <span class="command"><strong>named</strong></span> does when loading a
zone. This makes <span class="command"><strong>named-checkzone</strong></span> useful for
checking zone files before configuring them into a name server.
</p>
<p>
<span class="command"><strong>named-compilezone</strong></span> is similar to
<span class="command"><strong>named-checkzone</strong></span>, but it always dumps the
zone contents to a specified file in a specified format.
Additionally, it applies stricter check levels by default,
since the dump output will be used as an actual zone file
loaded by <span class="command"><strong>named</strong></span>.
When manually specified otherwise, the check levels must at
least be as strict as those specified in the
<span class="command"><strong>named</strong></span> configuration file.
</p>
</div>
<div class="refsection">
<a name="id-1.8"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term">-d</span></dt>
<dd>
<p>
Enable debugging.
</p>
</dd>
<dt><span class="term">-h</span></dt>
<dd>
<p>
Print the usage summary and exit.
</p>
</dd>
<dt><span class="term">-q</span></dt>
<dd>
<p>
Quiet mode - exit code only.
</p>
</dd>
<dt><span class="term">-v</span></dt>
<dd>
<p>
Print the version of the <span class="command"><strong>named-checkzone</strong></span>
program and exit.
</p>
</dd>
<dt><span class="term">-j</span></dt>
<dd>
<p>
When loading a zone file, read the journal if it exists.
The journal file name is assumed to be the zone file name
appended with the string <code class="filename">.jnl</code>.
</p>
</dd>
<dt><span class="term">-J <em class="replaceable"><code>filename</code></em></span></dt>
<dd>
<p>
When loading the zone file read the journal from the given
file, if it exists. (Implies -j.)
</p>
</dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd>
<p>
Specify the class of the zone. If not specified, "IN" is assumed.
</p>
</dd>
<dt><span class="term">-i <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Perform post-load zone integrity checks. Possible modes are
<span class="command"><strong>"full"</strong></span> (default),
<span class="command"><strong>"full-sibling"</strong></span>,
<span class="command"><strong>"local"</strong></span>,
<span class="command"><strong>"local-sibling"</strong></span> and
<span class="command"><strong>"none"</strong></span>.
</p>
<p>
Mode <span class="command"><strong>"full"</strong></span> checks that MX records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span class="command"><strong>"local"</strong></span> only
checks MX records which refer to in-zone hostnames.
</p>
<p>
Mode <span class="command"><strong>"full"</strong></span> checks that SRV records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span class="command"><strong>"local"</strong></span> only
checks SRV records which refer to in-zone hostnames.
</p>
<p>
Mode <span class="command"><strong>"full"</strong></span> checks that delegation NS
records refer to A or AAAA record (both in-zone and out-of-zone
hostnames). It also checks that glue address records
in the zone match those advertised by the child.
Mode <span class="command"><strong>"local"</strong></span> only checks NS records which
refer to in-zone hostnames or that some required glue exists,
that is when the nameserver is in a child zone.
</p>
<p>
Mode <span class="command"><strong>"full-sibling"</strong></span> and
<span class="command"><strong>"local-sibling"</strong></span> disable sibling glue
checks but are otherwise the same as <span class="command"><strong>"full"</strong></span>
and <span class="command"><strong>"local"</strong></span> respectively.
</p>
<p>
Mode <span class="command"><strong>"none"</strong></span> disables the checks.
</p>
</dd>
<dt><span class="term">-f <em class="replaceable"><code>format</code></em></span></dt>
<dd>
<p>
Specify the format of the zone file.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
<span class="command"><strong>"raw"</strong></span>, and <span class="command"><strong>"map"</strong></span>.
</p>
</dd>
<dt><span class="term">-F <em class="replaceable"><code>format</code></em></span></dt>
<dd>
<p>
Specify the format of the output file specified.
For <span class="command"><strong>named-checkzone</strong></span>,
this does not cause any effects unless it dumps the zone
contents.
</p>
<p>
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
which is the standard textual representation of the zone,
and <span class="command"><strong>"map"</strong></span>, <span class="command"><strong>"raw"</strong></span>,
and <span class="command"><strong>"raw=N"</strong></span>, which store the zone in a
binary format for rapid loading by <span class="command"><strong>named</strong></span>.
<span class="command"><strong>"raw=N"</strong></span> specifies the format version of
the raw zone file: if N is 0, the raw file can be read by
any version of <span class="command"><strong>named</strong></span>; if N is 1, the file
can be read by release 9.9.0 or higher; the default is 1.
</p>
</dd>
<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Perform <span class="command"><strong>"check-names"</strong></span> checks with the
specified failure mode.
Possible modes are <span class="command"><strong>"fail"</strong></span>
(default for <span class="command"><strong>named-compilezone</strong></span>),
<span class="command"><strong>"warn"</strong></span>
(default for <span class="command"><strong>named-checkzone</strong></span>) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-l <em class="replaceable"><code>ttl</code></em></span></dt>
<dd>
<p>
Sets a maximum permissible TTL for the input file.
Any record with a TTL higher than this value will cause
the zone to be rejected. This is similar to using the
<span class="command"><strong>max-zone-ttl</strong></span> option in
<code class="filename">named.conf</code>.
</p>
</dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
<dd>
<p>
When compiling a zone to "raw" or "map" format, set the
"source serial" value in the header to the specified serial
number. (This is expected to be used primarily for testing
purposes.)
</p>
</dd>
<dt><span class="term">-m <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Specify whether MX records should be checked to see if they
are addresses. Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-M <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Check if a MX record refers to a CNAME.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-n <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Specify whether NS records should be checked to see if they
are addresses.
Possible modes are <span class="command"><strong>"fail"</strong></span>
(default for <span class="command"><strong>named-compilezone</strong></span>),
<span class="command"><strong>"warn"</strong></span>
(default for <span class="command"><strong>named-checkzone</strong></span>) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-o <em class="replaceable"><code>filename</code></em></span></dt>
<dd>
<p>
Write zone output to <code class="filename">filename</code>.
If <code class="filename">filename</code> is <code class="filename">-</code> then
write to standard out.
This is mandatory for <span class="command"><strong>named-compilezone</strong></span>.
</p>
</dd>
<dt><span class="term">-r <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Check for records that are treated as different by DNSSEC but
are semantically equal in plain DNS.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-s <em class="replaceable"><code>style</code></em></span></dt>
<dd>
<p>
Specify the style of the dumped zone file.
Possible styles are <span class="command"><strong>"full"</strong></span> (default)
and <span class="command"><strong>"relative"</strong></span>.
The full format is most suitable for processing
automatically by a separate script.
On the other hand, the relative format is more
human-readable and is thus suitable for editing by hand.
For <span class="command"><strong>named-checkzone</strong></span>
this does not cause any effects unless it dumps the zone
contents.
It also does not have any meaning if the output format
is not text.
</p>
</dd>
<dt><span class="term">-S <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Check if a SRV record refers to a CNAME.
Possible modes are <span class="command"><strong>"fail"</strong></span>,
<span class="command"><strong>"warn"</strong></span> (default) and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>
Chroot to <code class="filename">directory</code> so that
include
directives in the configuration file are processed as if
run by a similarly chrooted <span class="command"><strong>named</strong></span>.
</p>
</dd>
<dt><span class="term">-T <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Check if Sender Policy Framework (SPF) records exist
and issues a warning if an SPF-formatted TXT record is
not also present. Possible modes are <span class="command"><strong>"warn"</strong></span>
(default), <span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">-w <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>
chdir to <code class="filename">directory</code> so that
relative
filenames in master file $INCLUDE directives work. This
is similar to the directory clause in
<code class="filename">named.conf</code>.
</p>
</dd>
<dt><span class="term">-D</span></dt>
<dd>
<p>
Dump zone file in canonical format.
This is always enabled for <span class="command"><strong>named-compilezone</strong></span>.
</p>
</dd>
<dt><span class="term">-W <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Specify whether to check for non-terminal wildcards.
Non-terminal wildcards are almost always the result of a
failure to understand the wildcard matching algorithm (RFC 1034).
Possible modes are <span class="command"><strong>"warn"</strong></span> (default)
and
<span class="command"><strong>"ignore"</strong></span>.
</p>
</dd>
<dt><span class="term">zonename</span></dt>
<dd>
<p>
The domain name of the zone being checked.
</p>
</dd>
<dt><span class="term">filename</span></dt>
<dd>
<p>
The name of the zone file.
</p>
</dd>
</dl></div>
</div>
<div class="refsection">
<a name="id-1.9"></a><h2>RETURN VALUES</h2>
<p><span class="command"><strong>named-checkzone</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsection">
<a name="id-1.10"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry">
<span class="refentrytitle">named</span>(8)
</span>,
<span class="citerefentry">
<span class="refentrytitle">named-checkconf</span>(8)
</span>,
<em class="citetitle">RFC 1035</em>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
</div></body>
</html>

View File

@@ -1,231 +0,0 @@
.. Copyright (C) Internet Systems Consortium, Inc. ("ISC")
..
.. SPDX-License-Identifier: MPL-2.0
..
.. This Source Code Form is subject to the terms of the Mozilla Public
.. License, v. 2.0. If a copy of the MPL was not distributed with this
.. file, you can obtain one at https://mozilla.org/MPL/2.0/.
..
.. See the COPYRIGHT file distributed with this work for additional
.. information regarding copyright ownership.
.. highlight: console
.. BEWARE: Do not forget to edit also named-compilezone.rst!
.. iscman:: named-checkzone
.. program:: named-checkzone
.. _man_named-checkzone:
named-checkzone - zone file validation tool
-------------------------------------------
Synopsis
~~~~~~~~
:program:`named-checkzone` [**-d**] [**-h**] [**-j**] [**-q**] [**-v**] [**-c** class] [**-C** mode] [**-f** format] [**-F** format] [**-J** filename] [**-i** mode] [**-k** mode] [**-m** mode] [**-M** mode] [**-n** mode] [**-l** ttl] [**-L** serial] [**-o** filename] [**-r** mode] [**-s** style] [**-S** mode] [**-t** directory] [**-T** mode] [**-w** directory] [**-D**] [**-W** mode] {zonename} {filename}
Description
~~~~~~~~~~~
:program:`named-checkzone` checks the syntax and integrity of a zone file. It
performs the same checks as :iscman:`named` does when loading a zone. This
makes :program:`named-checkzone` useful for checking zone files before
configuring them into a name server.
Options
~~~~~~~
.. option:: -d
This option enables debugging.
.. option:: -h
This option prints the usage summary and exits.
.. option:: -q
This option sets quiet mode, which only sets an exit code to indicate
successful or failed completion.
.. option:: -v
This option prints the version of the :program:`named-checkzone` program and exits.
.. option:: -j
When loading a zone file, this option tells :iscman:`named` to read the journal if it exists. The journal
file name is assumed to be the zone file name with the
string ``.jnl`` appended.
.. option:: -J filename
When loading the zone file, this option tells :iscman:`named` to read the journal from the given file, if
it exists. This implies :option:`-j`.
.. option:: -c class
This option specifies the class of the zone. If not specified, ``IN`` is assumed.
.. option:: -C mode
This option controls check mode on zone files when loading.
Possible modes are ``check-svcb:fail`` and ``check-svcb:ignore``.
``check-svcb:fail`` turns on additional checks on ``_dns`` SVCB
records and ``check-svcb:ignore`` disables these checks. The
default is ``check-svcb:fail``.
.. option:: -i mode
This option performs post-load zone integrity checks. Possible modes are
``full`` (the default), ``full-sibling``, ``local``,
``local-sibling``, and ``none``.
Mode ``full`` checks that MX records refer to A or AAAA records
(both in-zone and out-of-zone hostnames). Mode ``local`` only
checks MX records which refer to in-zone hostnames.
Mode ``full`` checks that SRV records refer to A or AAAA records
(both in-zone and out-of-zone hostnames). Mode ``local`` only
checks SRV records which refer to in-zone hostnames.
Mode ``full`` checks that delegation NS records refer to A or AAAA
records (both in-zone and out-of-zone hostnames). It also checks that
glue address records in the zone match those advertised by the child.
Mode ``local`` only checks NS records which refer to in-zone
hostnames or verifies that some required glue exists, i.e., when the
name server is in a child zone.
Modes ``full-sibling`` and ``local-sibling`` disable sibling glue
checks, but are otherwise the same as ``full`` and ``local``,
respectively.
Mode ``none`` disables the checks.
.. option:: -f format
This option specifies the format of the zone file. Possible formats are
``text`` (the default), and ``raw``.
.. option:: -F format
This option specifies the format of the output file specified. For
:program:`named-checkzone`, this does not have any effect unless it dumps
the zone contents.
Possible formats are ``text`` (the default), which is the standard
textual representation of the zone, and ``raw`` and ``raw=N``, which
store the zone in a binary format for rapid loading by :iscman:`named`.
``raw=N`` specifies the format version of the raw zone file: if ``N`` is
0, the raw file can be read by any version of :iscman:`named`; if N is 1, the
file can only be read by release 9.9.0 or higher. The default is 1.
.. option:: -k mode
This option performs ``check-names`` checks with the specified failure mode.
Possible modes are ``fail``, ``warn`` (the default), and ``ignore``.
.. option:: -l ttl
This option sets a maximum permissible TTL for the input file. Any record with a
TTL higher than this value causes the zone to be rejected. This
is similar to using the ``max-zone-ttl`` option in :iscman:`named.conf`.
.. option:: -L serial
When compiling a zone to ``raw`` format, this option sets the "source
serial" value in the header to the specified serial number. This is
expected to be used primarily for testing purposes.
.. option:: -m mode
This option specifies whether MX records should be checked to see if they are
addresses. Possible modes are ``fail``, ``warn`` (the default), and
``ignore``.
.. option:: -M mode
This option checks whether a MX record refers to a CNAME. Possible modes are
``fail``, ``warn`` (the default), and ``ignore``.
.. option:: -n mode
This option specifies whether NS records should be checked to see if they are
addresses. Possible modes are ``fail``, ``warn`` (the default), and ``ignore``.
.. option:: -o filename
This option writes the zone output to ``filename``. If ``filename`` is ``-``, then
the zone output is written to standard output.
.. option:: -r mode
This option checks for records that are treated as different by DNSSEC but are
semantically equal in plain DNS. Possible modes are ``fail``,
``warn`` (the default), and ``ignore``.
.. option:: -s style
This option specifies the style of the dumped zone file. Possible styles are
``full`` (the default) and ``relative``. The ``full`` format is most
suitable for processing automatically by a separate script.
The relative format is more human-readable and is thus
suitable for editing by hand. This does not have any effect unless it dumps
the zone contents. It also does not have any meaning if the output format
is not text.
.. option:: -S mode
This option checks whether an SRV record refers to a CNAME. Possible modes are
``fail``, ``warn`` (the default), and ``ignore``.
.. option:: -t directory
This option tells :iscman:`named` to chroot to ``directory``, so that ``include`` directives in the
configuration file are processed as if run by a similarly chrooted
:iscman:`named`.
.. option:: -T mode
This option checks whether Sender Policy Framework (SPF) records exist and issues a
warning if an SPF-formatted TXT record is not also present. Possible
modes are ``warn`` (the default) and ``ignore``.
.. option:: -w directory
This option instructs :iscman:`named` to chdir to ``directory``, so that relative filenames in master file
``$INCLUDE`` directives work. This is similar to the directory clause in
:iscman:`named.conf`.
.. option:: -D
This option dumps the zone file in canonical format.
.. option:: -W mode
This option specifies whether to check for non-terminal wildcards. Non-terminal
wildcards are almost always the result of a failure to understand the
wildcard matching algorithm (:rfc:`4592`). Possible modes are ``warn``
(the default) and ``ignore``.
.. option:: zonename
This indicates the domain name of the zone being checked.
.. option:: filename
This is the name of the zone file.
Return Values
~~~~~~~~~~~~~
:program:`named-checkzone` returns an exit status of 1 if errors were detected
and 0 otherwise.
See Also
~~~~~~~~
:iscman:`named(8) <named>`, :iscman:`named-checkconf(8) <named-checkconf>`, :iscman:`named-compilezone(8) <named-compilezone>`, :rfc:`1035`, BIND 9 Administrator Reference
Manual.

View File

@@ -1,239 +0,0 @@
.. Copyright (C) Internet Systems Consortium, Inc. ("ISC")
..
.. SPDX-License-Identifier: MPL-2.0
..
.. This Source Code Form is subject to the terms of the Mozilla Public
.. License, v. 2.0. If a copy of the MPL was not distributed with this
.. file, you can obtain one at https://mozilla.org/MPL/2.0/.
..
.. See the COPYRIGHT file distributed with this work for additional
.. information regarding copyright ownership.
.. highlight: console
.. BEWARE: Do not forget to edit also named-checkzone.rst!
.. iscman:: named-compilezone
.. program:: named-compilezone
.. _man_named-compilezone:
named-compilezone - zone file converting tool
---------------------------------------------
Synopsis
~~~~~~~~
:program:`named-compilezone` [**-d**] [**-h**] [**-j**] [**-q**] [**-v**] [**-c** class] [**-C** mode] [**-f** format] [**-F** format] [**-J** filename] [**-i** mode] [**-k** mode] [**-m** mode] [**-M** mode] [**-n** mode] [**-l** ttl] [**-L** serial] [**-r** mode] [**-s** style] [**-S** mode] [**-t** directory] [**-T** mode] [**-w** directory] [**-D**] [**-W** mode] {**-o** filename} {zonename} {filename}
Description
~~~~~~~~~~~
:program:`named-compilezone` checks the syntax and integrity of a zone file,
and dumps the zone contents to a specified file in a specified format.
Unlike :program:`named-checkzone`, zone contents are not strictly checked
by default. If the output is to be used as an actual zone file to be loaded
by :iscman:`named`, then the check levels should be manually configured to
be at least as strict as those specified in the :iscman:`named` configuration
file.
Running :program:`named-checkzone` on the input prior to compiling will
ensure that the zone compiles with the default requirements of
:iscman:`named`.
Options
~~~~~~~
.. option:: -d
This option enables debugging.
.. option:: -h
This option prints the usage summary and exits.
.. option:: -q
This option sets quiet mode, which only sets an exit code to indicate
successful or failed completion.
.. option:: -v
This option prints the version of the :iscman:`named-checkzone` program and exits.
.. option:: -j
When loading a zone file, this option tells :iscman:`named` to read the journal if it exists. The journal
file name is assumed to be the zone file name with the
string ``.jnl`` appended.
.. option:: -J filename
When loading the zone file, this option tells :iscman:`named` to read the journal from the given file, if
it exists. This implies :option:`-j`.
.. option:: -c class
This option specifies the class of the zone. If not specified, ``IN`` is assumed.
.. option:: -C mode
This option controls check mode on zone files when loading.
Possible modes are ``check-svcb:fail`` and ``check-svcb:ignore``.
``check-svcb:fail`` turns on additional checks on ``_dns`` SVCB
records and ``check-svcb:ignore`` disables these checks. The
default is ``check-svcb:ignore``.
.. option:: -i mode
This option performs post-load zone integrity checks. Possible modes are
``full``, ``full-sibling``, ``local``,
``local-sibling``, and ``none`` (the default).
Mode ``full`` checks that MX records refer to A or AAAA records
(both in-zone and out-of-zone hostnames). Mode ``local`` only
checks MX records which refer to in-zone hostnames.
Mode ``full`` checks that SRV records refer to A or AAAA records
(both in-zone and out-of-zone hostnames). Mode ``local`` only
checks SRV records which refer to in-zone hostnames.
Mode ``full`` checks that delegation NS records refer to A or AAAA
records (both in-zone and out-of-zone hostnames). It also checks that
glue address records in the zone match those advertised by the child.
Mode ``local`` only checks NS records which refer to in-zone
hostnames or verifies that some required glue exists, i.e., when the
name server is in a child zone.
Modes ``full-sibling`` and ``local-sibling`` disable sibling glue
checks, but are otherwise the same as ``full`` and ``local``,
respectively.
Mode ``none`` disables the checks.
.. option:: -f format
This option specifies the format of the zone file. Possible formats are
``text`` (the default), and ``raw``.
.. option:: -F format
This option specifies the format of the output file specified. For
:iscman:`named-checkzone`, this does not have any effect unless it dumps
the zone contents.
Possible formats are ``text`` (the default), which is the standard
textual representation of the zone, and ``raw`` and ``raw=N``, which
store the zone in a binary format for rapid loading by :iscman:`named`.
``raw=N`` specifies the format version of the raw zone file: if ``N`` is
0, the raw file can be read by any version of :iscman:`named`; if N is 1, the
file can only be read by release 9.9.0 or higher. The default is 1.
.. option:: -k mode
This option performs ``check-names`` checks with the specified failure mode.
Possible modes are ``fail``, ``warn``, and ``ignore`` (the default).
.. option:: -l ttl
This option sets a maximum permissible TTL for the input file. Any record with a
TTL higher than this value causes the zone to be rejected. This
is similar to using the ``max-zone-ttl`` option in :iscman:`named.conf`.
.. option:: -L serial
When compiling a zone to ``raw`` format, this option sets the "source
serial" value in the header to the specified serial number. This is
expected to be used primarily for testing purposes.
.. option:: -m mode
This option specifies whether MX records should be checked to see if they are
addresses. Possible modes are ``fail``, ``warn``, and
``ignore`` (the default).
.. option:: -M mode
This option checks whether a MX record refers to a CNAME. Possible modes are
``fail``, ``warn``, and ``ignore`` (the default).
.. option:: -n mode
This option specifies whether NS records should be checked to see if they are
addresses. Possible modes are ``fail``, ``warn``, and
``ignore`` (the default).
.. option:: -o filename
This option writes the zone output to ``filename``. If ``filename`` is ``-``, then
the zone output is written to standard output. This is mandatory for :program:`named-compilezone`.
.. option:: -r mode
This option checks for records that are treated as different by DNSSEC but are
semantically equal in plain DNS. Possible modes are ``fail``,
``warn``, and ``ignore`` (the default).
.. option:: -s style
This option specifies the style of the dumped zone file. Possible styles are
``full`` (the default) and ``relative``. The ``full`` format is most
suitable for processing automatically by a separate script.
The relative format is more human-readable and is thus
suitable for editing by hand.
.. option:: -S mode
This option checks whether an SRV record refers to a CNAME. Possible modes are
``fail``, ``warn``, and ``ignore`` (the default).
.. option:: -t directory
This option tells :iscman:`named` to chroot to ``directory``, so that ``include`` directives in the
configuration file are processed as if run by a similarly chrooted
:iscman:`named`.
.. option:: -T mode
This option checks whether Sender Policy Framework (SPF) records exist and issues a
warning if an SPF-formatted TXT record is not also present. Possible
modes are ``warn`` and ``ignore`` (the default).
.. option:: -w directory
This option instructs :iscman:`named` to chdir to ``directory``, so that relative filenames in master file
``$INCLUDE`` directives work. This is similar to the directory clause in
:iscman:`named.conf`.
.. option:: -D
This option dumps the zone file in canonical format. This is always enabled for
:program:`named-compilezone`.
.. option:: -W mode
This option specifies whether to check for non-terminal wildcards. Non-terminal
wildcards are almost always the result of a failure to understand the
wildcard matching algorithm (:rfc:`4592`). Possible modes are ``warn``
and ``ignore`` (the default).
.. option:: zonename
This indicates the domain name of the zone being checked.
.. option:: filename
This is the name of the zone file.
Return Values
~~~~~~~~~~~~~
:program:`named-compilezone` returns an exit status of 1 if errors were detected
and 0 otherwise.
See Also
~~~~~~~~
:iscman:`named(8) <named>`, :iscman:`named-checkconf(8) <named-checkconf>`, :iscman:`named-checkzone(8) <named-checkzone>`, :rfc:`1035`,
BIND 9 Administrator Reference Manual.

View File

@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="checkconf" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
CFG=checkconf - @PLATFORM@ Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "checkconf.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checkconf.mak" CFG="checkconf - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checkconf - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "checkconf - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR @COPTY@ /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console @MACHINE@
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/named-checkconf.exe"
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X @COPTY@
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug @MACHINE@ /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "checkconf - @PLATFORM@ Release"
# Name "checkconf - @PLATFORM@ Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\named-checkconf.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE="..\check-tool.h"
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "checkconf"=".\checkconf.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -0,0 +1,404 @@
# Microsoft Developer Studio Generated NMAKE File, Based on checkconf.dsp
!IF "$(CFG)" == ""
CFG=checkconf - @PLATFORM@ Debug
!MESSAGE No configuration specified. Defaulting to checkconf - @PLATFORM@ Debug.
!ENDIF
!IF "$(CFG)" != "checkconf - @PLATFORM@ Release" && "$(CFG)" != "checkconf - @PLATFORM@ Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checkconf.mak" CFG="checkconf - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checkconf - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "checkconf - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
!ELSE
ALL : "libdns - @PLATFORM@ Release" "libisccfg - @PLATFORM@ Release" "libisc - @PLATFORM@ Release" "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libisc - @PLATFORM@ ReleaseCLEAN" "libisccfg - @PLATFORM@ ReleaseCLEAN" "libdns - @PLATFORM@ ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkconf.obj"
-@erase "$(INTDIR)\named-checkconf.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\checkconf.bsc"
-@erase "..\..\..\Build\Release\named-checkconf.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\checkconf.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkconf.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkconf.sbr"
"$(OUTDIR)\checkconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkconf.pdb" @MACHINE@ /out:"../../../Build/Release/named-checkconf.exe"
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
"..\..\..\lib\dns\win32\Release\libdns.lib"
"..\..\..\Build\Release\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
!ELSE
ALL : "libdns - @PLATFORM@ Debug" "libisccfg - @PLATFORM@ Debug" "libisc - @PLATFORM@ Debug" "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\checkconf.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libisc - @PLATFORM@ DebugCLEAN" "libisccfg - @PLATFORM@ DebugCLEAN" "libdns - @PLATFORM@ DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkconf.obj"
-@erase "$(INTDIR)\named-checkconf.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkconf.pdb"
-@erase "$(OUTDIR)\checkconf.bsc"
-@erase "..\..\..\Build\Debug\named-checkconf.exe"
-@erase "..\..\..\Build\Debug\named-checkconf.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkconf.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkconf.sbr"
"$(OUTDIR)\checkconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkconf.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
"..\..\..\lib\dns\win32\Debug\libdns.lib"
"..\..\..\Build\Debug\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("checkconf.dep")
!INCLUDE "checkconf.dep"
!ELSE
!MESSAGE Warning: cannot find "checkconf.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release" || "$(CFG)" == "checkconf - @PLATFORM@ Debug"
SOURCE="..\check-tool.c"
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
SOURCE="..\named-checkconf.c"
"$(INTDIR)\named-checkconf.obj" "$(INTDIR)\named-checkconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
"libisc - @PLATFORM@ Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release"
cd "..\..\..\bin\check\win32"
"libisc - @PLATFORM@ ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
"libisc - @PLATFORM@ Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug"
cd "..\..\..\bin\check\win32"
"libisc - @PLATFORM@ DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
"libisccfg - @PLATFORM@ Release" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release"
cd "..\..\..\bin\check\win32"
"libisccfg - @PLATFORM@ ReleaseCLEAN" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
"libisccfg - @PLATFORM@ Debug" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug"
cd "..\..\..\bin\check\win32"
"libisccfg - @PLATFORM@ DebugCLEAN" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - @PLATFORM@ Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!IF "$(CFG)" == "checkconf - @PLATFORM@ Release"
"libdns - @PLATFORM@ Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release"
cd "..\..\..\bin\check\win32"
"libdns - @PLATFORM@ ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "checkconf - @PLATFORM@ Debug"
"libdns - @PLATFORM@ Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug"
cd "..\..\..\bin\check\win32"
"libdns - @PLATFORM@ DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\check-tool.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\named-checkconf.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|@PLATFORM@">
<Configuration>Release</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{03A96113-CB14-43AA-AEB2-48950E3915C5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>checkconf</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>named-$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>named-$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
<StringPooling>true</StringPooling>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\isccc\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libisccc.lib;libbind9.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\check-tool.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\named-checkconf.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,113 @@
# Microsoft Developer Studio Project File - Name="checktool" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "@PLATFORM@ (x86) Static-Link Library" 0x0104
CFG=checktool - @PLATFORM@ Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "checktool.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checktool.mak" CFG="checktool - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checktool - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Static-Link Library")
!MESSAGE "checktool - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Static-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "checktool - @PLATFORM@ Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" @COPTY@ /FD /c
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" @COPTY@ /FD /c /Fdchecktool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /out:"Release/checktool.lib"
!ELSEIF "$(CFG)" == "checktool - @PLATFORM@ Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" @COPTY@ /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" @CRYPTO@ /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR @COPTY@ /FD /GZ /c /Fdchecktool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /debug out:"Debug/checktool.lib"
!ENDIF
# Begin Target
# Name "checktool - @PLATFORM@ Release"
# Name "checktool - @PLATFORM@ Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Group "Main Dns Lib"
# PROP Default_Filter "c"
# Begin Source File
SOURCE=..\check-tool.c
# End Source File
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "checktool"=".\checktool.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\check-tool.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|@PLATFORM@">
<Configuration>Release</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\check-tool.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2C1F7096-C5B5-48D4-846F-A7ACA454335D}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>checktool</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<OutDir>.\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<IntDir>.\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<OutDir>.\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<IntDir>.\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Lib>
<OutputFile>.\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
<StringPooling>true</StringPooling>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(TargetName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Lib>
<OutputFile>.\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,108 @@
# Microsoft Developer Studio Project File - Name="checkzone" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "@PLATFORM@ (x86) Console Application" 0x0103
CFG=checkzone - @PLATFORM@ Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "checkzone.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checkzone.mak" CFG="checkzone - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checkzone - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "checkzone - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 @COPTX@ @COPTI@ /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /c
# ADD CPP /nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" @COPTY@ /FD /c
# SUBTRACT CPP /Fr
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console @MACHINE@
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console @MACHINE@ /out:"../../../Build/Release/named-checkzone.exe"
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" @COPTY@ /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X @COPTY@
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug @MACHINE@ /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug @MACHINE@ /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "checkzone - @PLATFORM@ Release"
# Name "checkzone - @PLATFORM@ Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\named-checkzone.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE="..\check-tool.h"
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "checkzone"=".\checkzone.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -0,0 +1,404 @@
# Microsoft Developer Studio Generated NMAKE File, Based on checkzone.dsp
!IF "$(CFG)" == ""
CFG=checkzone - @PLATFORM@ Debug
!MESSAGE No configuration specified. Defaulting to checkzone - @PLATFORM@ Debug.
!ENDIF
!IF "$(CFG)" != "checkzone - @PLATFORM@ Release" && "$(CFG)" != "checkzone - @PLATFORM@ Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checkzone.mak" CFG="checkzone - @PLATFORM@ Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checkzone - @PLATFORM@ Release" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE "checkzone - @PLATFORM@ Debug" (based on "@PLATFORM@ (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\named-checkzone.exe"
!ELSE
ALL : "libisc - @PLATFORM@ Release" "libdns - @PLATFORM@ Release" "..\..\..\Build\Release\named-checkzone.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - @PLATFORM@ ReleaseCLEAN" "libisc - @PLATFORM@ ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\named-checkzone.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\named-checkzone.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 @COPTX@ @COPTI@ /O2 /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /Fp"$(INTDIR)\checkzone.pch" @COPTY@ /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkzone.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkzone.pdb" @MACHINE@ /out:"../../../Build/Release/named-checkzone.exe"
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkzone.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib"
"..\..\..\Build\Release\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\checkzone.bsc"
!ELSE
ALL : "libisc - @PLATFORM@ Debug" "libdns - @PLATFORM@ Debug" "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\checkzone.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - @PLATFORM@ DebugCLEAN" "libisc - @PLATFORM@ DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkzone.obj"
-@erase "$(INTDIR)\named-checkzone.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkzone.pdb"
-@erase "$(OUTDIR)\checkzone.bsc"
-@erase "..\..\..\Build\Debug\named-checkzone.exe"
-@erase "..\..\..\Build\Debug\named-checkzone.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm @COPTX@ @COPTI@ /ZI /Od /I "./" /I "../../../" @LIBXML2_INC@ @OPENSSL_INC@ /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" @CRYPTO@ /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\checkzone.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkzone.sbr"
"$(OUTDIR)\checkzone.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkzone.pdb" /debug @MACHINE@ /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkzone.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib"
"..\..\..\Build\Debug\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("checkzone.dep")
!INCLUDE "checkzone.dep"
!ELSE
!MESSAGE Warning: cannot find "checkzone.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release" || "$(CFG)" == "checkzone - @PLATFORM@ Debug"
SOURCE="..\check-tool.c"
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
"$(INTDIR)\check-tool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE="..\named-checkzone.c"
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
"$(INTDIR)\named-checkzone.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
"$(INTDIR)\named-checkzone.obj" "$(INTDIR)\named-checkzone.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
"libdns - @PLATFORM@ Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release"
cd "..\..\..\bin\check\win32"
"libdns - @PLATFORM@ ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
"libdns - @PLATFORM@ Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug"
cd "..\..\..\bin\check\win32"
"libdns - @PLATFORM@ DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - @PLATFORM@ Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!IF "$(CFG)" == "checkzone - @PLATFORM@ Release"
"libisc - @PLATFORM@ Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release"
cd "..\..\..\bin\check\win32"
"libisc - @PLATFORM@ ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "checkzone - @PLATFORM@ Debug"
"libisc - @PLATFORM@ Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug"
cd "..\..\..\bin\check\win32"
"libisc - @PLATFORM@ DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - @PLATFORM@ Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\check-tool.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\named-checkzone.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|@PLATFORM@">
<Configuration>Release</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{66028555-7DD5-4016-B601-9EF9A1EE8BFA}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>checkzone</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>named-$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>named-$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;@CRYPTO@_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration)
copy /Y named-checkzone.exe named-compilezone.exe
copy /Y named-checkzone.ilk named-compilezone.ilk
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;@CRYPTO@NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
<StringPooling>true</StringPooling>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link>
<PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration)
copy /Y named-checkzone.exe named-compilezone.exe
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\check-tool.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\named-checkzone.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -1,30 +0,0 @@
include $(top_srcdir)/Makefile.top
AM_CPPFLAGS += \
$(LIBISC_CFLAGS) \
$(LIBDNS_CFLAGS) \
-DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\"
LDADD += \
libconfgen.la \
$(LIBISC_LIBS) \
$(LIBDNS_LIBS)
noinst_LTLIBRARIES = libconfgen.la
libconfgen_la_SOURCES = \
include/confgen/os.h \
keygen.c \
keygen.h \
os.c \
util.c \
util.h
sbin_PROGRAMS = tsig-keygen rndc-confgen
install-exec-hook:
ln -f $(DESTDIR)$(sbindir)/tsig-keygen \
$(DESTDIR)$(sbindir)/ddns-confgen
uninstall-hook:
-rm -f $(DESTDIR)$(sbindir)/ddns-confgen

Some files were not shown because too many files have changed in this diff Show More