Compare commits

...

1057 Commits

Author SHA1 Message Date
Evan Hunt
d75765e897 Merge branch 'fix-atffile' into 'v9_9'
fix Atffile/Kyuafile

See merge request isc-projects/bind9!457
2018-06-29 14:05:20 -04:00
Evan Hunt
27156cfaca 'lib' was accidentally removed from the top level Atf/Kyua files 2018-06-29 10:57:20 -07:00
Evan Hunt
ad42413576 Merge branch 'prep-release-v9_9_13rc2' into 'v9_9'
prep 9.9.13rc2

See merge request isc-projects/bind9!453
2018-06-28 02:00:28 -04:00
Tinderbox User
f65a6195b0 prep 9.9.13rc2 2018-06-28 05:55:19 +00:00
Evan Hunt
9a06973e09 Merge branch '339-issues-with-large-journal-entries-v9_11-v9_9' into 'v9_9'
Fix handling of large journal entries.

See merge request isc-projects/bind9!448
2018-06-27 22:45:50 -04:00
Evan Hunt
c36dc130f5 CHANGES, release note
(cherry picked from commit 2aee33f412)
(cherry picked from commit 470b8612b2)
2018-06-27 19:40:33 -07:00
Evan Hunt
dd685955ee use ISC_INT32_MAX as maximum
(cherry picked from commit 65bf99c85a)
2018-06-27 19:36:47 -07:00
Witold Kręcicki
200a3fef3c Fallback to normal procedure if creating of ixfr-from-differences fails
(cherry picked from commit b1254430df)
(cherry picked from commit e92d5421c3)
2018-06-27 19:36:47 -07:00
Witold Kręcicki
e7506b6a70 Fix some issues with large journal entries
(cherry picked from commit 0db7130f2b)
(cherry picked from commit 1919f5c937)
2018-06-27 19:36:46 -07:00
Mark Andrews
52013cbe27 Merge branch '366-missing-dereference-in-require-statement-v9_9' into 'v9_9'
Resolve "Missing dereference in REQUIRE statement?"

See merge request isc-projects/bind9!443
2018-06-27 08:02:19 -04:00
Mark Andrews
058f5a5da1 cfg_parse_boolean's REQUIRE test for ret was incomplete.
(cherry picked from commit f1ee5e4a16)
2018-06-27 17:37:56 +10:00
Michał Kępień
1ce7700203 Merge branch '321-only-request-permitted-capabilities-in-non-libcap-builds-v9_9' into 'v9_9'
[v9_9] Only request permitted capabilities in non-libcap builds

See merge request isc-projects/bind9!420
2018-06-26 08:03:31 -04:00
Michał Kępień
54ae323484 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:21:02 +02:00
Michał Kępień
bdf93ee789 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:20:55 +02:00
Evan Hunt
c6ff9f1d19 Merge branch '247-log-the-remaining-v-info-at-startup' into 'v9_9'
Resolve "Log the remaining -V info at startup"

Closes #247

See merge request isc-projects/bind9!249
2018-06-25 15:23:23 -07:00
Mark Andrews
22dbfe7ae2 log the remaining -V info at startup 2018-06-25 15:23:19 -07:00
Mark Andrews
d15e819ad8 Merge branch '343-casecompare-of-ninfo-tkey-txt-have-wrong-return-type-v9_9' into 'v9_9'
Resolve "casecompare of NINFO, TKEY, TXT have wrong return type"

See merge request isc-projects/bind9!407
2018-06-24 23:20:39 -04:00
Mark Andrews
6f9e27de26 fix casecompare return type for ninfo, tkey, txt
(cherry picked from commit 3ba1d1e43b)
2018-06-25 13:10:39 +10:00
Ondřej Surý
2b4ff6d414 Merge branch 'release-v9_9_13rc1' into 'v9_9'
Merge v9.9.13rc1 release into v9_9 branch

See merge request isc-projects/bind9!398
2018-06-21 13:13:18 -04:00
Ondřej Surý
f1d0cc94cb Revert changes to the test suite in v9.9.13rc1 that would make the unit tests to fail 2018-06-21 18:59:53 +02:00
Evan Hunt
6e9b23663d prepare 9.9.13rc1 2018-06-21 18:59:53 +02:00
Michał Kępień
7700fa6c65 Merge branch '341-constify-dns_rdata_tostruct-v9_9' into 'v9_9'
[v9_9] constify dns_rdata_tostruct

See merge request isc-projects/bind9!383
2018-06-15 03:34:54 -04:00
Mark Andrews
66c6414b97 Declare the 'rdata' argument for dns_rdata_tostruct() to be const
(cherry picked from commit abb2fd1027)
2018-06-15 08:52:54 +02:00
Ondřej Surý
310fdc4a0f Merge branch '309-fix-default-recursion-v9_9' into 'v9_9'
Resolve "Recursion improperly allowed by default"

See merge request isc-projects/bind9!376
2018-06-14 08:54:34 -04:00
Evan Hunt
010db17e15 add a regression test for default allow-recursion settings 2018-06-14 14:48:46 +02:00
Evan Hunt
fae03da5cb allow-recursion could incorrectly inherit from the default allow-query 2018-06-14 14:48:46 +02:00
Michał Kępień
c3a08d84b7 Merge branch '298-fix-dname-handling-in-dnssec-tools-v9_9' into 'v9_9'
[v9_9] Fix DNAME handling in DNSSEC tools

See merge request isc-projects/bind9!366
2018-06-13 07:29:28 -04:00
Michał Kępień
a34e955b83 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 de5916a7bf)
2018-06-13 13:11:18 +02:00
Mark Andrews
7e4e19c2ad Pull out the saving of the zone cut into a separate function
(cherry picked from commit ec75a07023)
2018-06-13 13:11:16 +02:00
Michał Kępień
b3bee6cd37 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 9a4145168c)
2018-06-13 13:11:13 +02:00
Ondřej Surý
0aca13a796 Merge branch '332-v9_9-move-lib-irs-to-lib-export-irs' into 'v9_9'
Resolve "v9_9 move lib/irs to lib/export/irs"

See merge request isc-projects/bind9!359
2018-06-13 04:59:38 -04:00
Mark Andrews
64b57ee788 add Atffile{.in} and Kyuafile{.in} 2018-06-13 14:35:58 +10:00
Mark Andrews
5260f416fd make lib/Atffile and lib/Kyuafile dependent on exportlib being enabled or not 2018-06-13 14:32:13 +10:00
Mark Andrews
5a21b2b764 update 2018-06-12 15:08:12 +10:00
Mark Andrews
6b8ac24be3 move lib/irs to lib/export/irs 2018-06-12 15:03:40 +10:00
Evan Hunt
a62a9f2a2a Merge branch 'fix-strtok' into 'v9_9' 2018-06-09 23:04:49 -07:00
Evan Hunt
535aa0e034 complete strtok fix
(cherry picked from commit 74c3b9d3b2)
2018-06-09 23:04:47 -07:00
Evan Hunt
d72107d9d2 Merge branch 'fix-strtok' into 'v9_9' 2018-06-09 22:37:26 -07:00
Evan Hunt
212ed88323 use strtok() instead of strtok_r() in command line processing
(cherry picked from commit 1734f1b3b9)
2018-06-09 22:37:18 -07:00
Evan Hunt
6927f92249 Merge branch 'validate-glue' into v9_9 2018-06-08 11:52:16 -07:00
Evan Hunt
c31d32434d ensure we try to validate glue records so RRSIG TTLs will be capped 2018-06-08 11:43:20 -07:00
Mukund Sivaraman
d238f08c66 Add CHANGES entry
(cherry picked from commit dfd73d7e16)
2018-06-08 11:05:20 -07:00
Mukund Sivaraman
ad7141d2ec Add system test
(cherry picked from commit 303391ea41)
2018-06-08 11:05:20 -07:00
Mukund Sivaraman
6cd4cb3d2a Don't validate non-pending glue when adding to the additional section
(cherry picked from commit 31bd3147d1)
2018-06-08 11:05:19 -07:00
Mark Andrews
a6b573f324 Merge branch '325-add-cfg_parse_buffer4-v9_10-v9_9' into 'v9_9'
Resolve "add cfg_parse_buffer4"

Closes #325

See merge request isc-projects/bind9!353
2018-06-08 17:44:04 +10:00
Mark Andrews
4812471d45 add cfg_parse_buffer4
(cherry picked from commit b313084af2)
(cherry picked from commit 51c78898fb)
2018-06-08 17:43:51 +10:00
Mark Andrews
9101eeb423 Merge branch '322-add-support-for-marking-options-as-deprecated-v9_10-v9_9' into 'v9_9'
Resolve "add support for marking options as deprecated."

Closes #322

See merge request isc-projects/bind9!351
2018-06-08 16:08:52 +10:00
Mark Andrews
18700f66be Add support for marking a option as deprecated.
(cherry picked from commit befff9452c)
(cherry picked from commit 99ac87cac4)
2018-06-08 16:08:39 +10:00
Mark Andrews
1ffcbd8681 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-v9_10-v9_9' into 'v9_9'
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:56:09 +10:00
Mark Andrews
a73702c9ec add CHANGES note
(cherry picked from commit ba7a343156)
(cherry picked from commit 00f1956c9e)
(cherry picked from commit 1c8aa28455)
(cherry picked from commit b331bb8038)
2018-06-06 17:55:52 +10:00
Mark Andrews
0c1fd3b8e1 add duplicate signature test
(cherry picked from commit 0db5b087ed)
(cherry picked from commit 1783fa5aba)
(cherry picked from commit 1710e5cfca)
(cherry picked from commit abbfbeffa6)
2018-06-06 17:55:50 +10:00
Mark Andrews
eb69786ff6 add support -T sigvalinsecs
(cherry picked from commit 87a3dc8ab9)
(cherry picked from commit 69340b5ac5)
(cherry picked from commit dd05287a31)
(cherry picked from commit ba76a92338)
2018-06-06 17:51:35 +10:00
Mark Andrews
3408ab391a 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)
(cherry picked from commit 298372d8d2)
(cherry picked from commit 5686e3bb6a)
2018-06-06 17:47:51 +10:00
Mark Andrews
680d07afda Merge branch '316-move-named-t-processing-to-its-own-function-v9_9' into 'v9_9'
Resolve "move named -T processing to its own function"

Closes #316

See merge request isc-projects/bind9!343
2018-06-06 15:21:46 +10:00
Mark Andrews
3768d8dbe4 add CHANGES
(cherry picked from commit ef7401e4a7)
2018-06-06 15:21:37 +10:00
Mark Andrews
af6deb25ab move -T parsing to its own function
(cherry picked from commit b491ceeb50)
2018-06-06 15:21:09 +10:00
Evan Hunt
fbffaba669 Merge branch '302-use-ip-for-ifconfig' into 'v9_9'
Resolve "ifconfig.sh doesn't work on centos7"

Closes #302

See merge request isc-projects/bind9!330
2018-06-05 21:51:08 -07:00
Evan Hunt
ef68af811c CHANGES
(cherry picked from commit 71f2335f5a)
(cherry picked from commit 7f16672ab8)
2018-06-05 21:51:05 -07:00
Evan Hunt
1e56d78c6e 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:51:05 -07:00
Evan Hunt
b5dc325065 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:51:03 -07:00
Evan Hunt
7236e6e931 Merge branch 'backport-sentinel' into 'v9_9' 2018-06-04 21:38:14 -07:00
Evan Hunt
a37706ebb7 add prerequisite check
(cherry picked from commit e229ae6999)
(cherry picked from commit a5ac84370c)
2018-06-04 21:38:07 -07:00
Mark Andrews
69d3b87855 CHANGES entry for root-key-sentinel
(cherry picked from commit 2845d7160e)
(cherry picked from commit af267c4da9)
(cherry picked from commit 106fc761de)
(cherry picked from commit bfbf3baff7)
2018-06-04 21:38:06 -07:00
Mark Andrews
4b4d9b37fb add release note for root-key-sentinel
(cherry picked from commit e20790c956)
(cherry picked from commit edb761b08c)
(cherry picked from commit b3e93d1b0f)
(cherry picked from commit 56628dffc7)
2018-06-04 21:38:06 -07:00
Mark Andrews
9aba5ca84b add system test for root-key-sentinel
(cherry picked from commit a23b305e6b)
(cherry picked from commit b9e6b124aa)
(cherry picked from commit 9448c4fd21)
(cherry picked from commit 8f139956ba)
2018-06-04 21:38:04 -07:00
Mark Andrews
3890b5d7ba add named.conf option root-key-sentinel
(cherry picked from commit 68e9315c7d)
(cherry picked from commit ee763ef281)
(cherry picked from commit 9a5f308287)
(cherry picked from commit 468a3bcdac)
2018-06-04 21:30:33 -07:00
Mark Andrews
2f20e10942 detect and process root-key-sentinel labels.
(cherry picked from commit 8fc9f64df9)
(cherry picked from commit 7111eff80c)
(cherry picked from commit afa97c6552)
(cherry picked from commit a624e884d4)
2018-06-04 20:06:20 -07:00
Evan Hunt
490e81bfbd clean up CHANGES numbers 2018-06-04 19:44:00 -07:00
Evan Hunt
6323a1cce8 Merge branch '310-check-changes-needs-to-be-called-for-v9_9' into 'v9_9'
Resolve "check-changes needs to be called for v9_9"

See merge request isc-projects/bind9!337
2018-06-04 19:26:37 -07:00
Mark Andrews
9561c95669 call util/check-changes in setup
(cherry picked from commit c0e69cc406)
(cherry picked from commit 022b2b481f)
2018-06-04 19:26:30 -07:00
Mark Andrews
353f7d1bf5 Merge branch '281-dont-insert-extra-space-between-nsec3-nexthash-and-typemap-v9_9' into 'v9_9'
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:35:13 +10:00
Mark Andrews
a958e0cf7e Add CHANGES note
(cherry picked from commit f98d8115e3)
2018-06-04 13:35:07 +10:00
Mukund Sivaraman
d1af2db397 Add NSEC3 fromtext/totext unittests
(cherry picked from commit b0d9198e03)
2018-06-04 13:34:46 +10:00
Mukund Sivaraman
2420b8f5fc Don't insert 2nd space between NSEC3 nexthash and typemap fields
(cherry picked from commit d4ea1edd2c)
2018-06-04 13:34:46 +10:00
Mark Andrews
24dd75db91 fix merge error 2018-05-29 10:02:29 +10:00
Mark Andrews
fc0b3d5397 Merge branch '286-new-cppcheck-detected-errors-v9_9' into 'v9_9'
Resolve "New cppcheck-detected errors"

See merge request isc-projects/bind9!324
2018-05-29 09:56:11 +10:00
Mark Andrews
f89f550259 add CHANGES note
(cherry picked from commit e9134b15eb)
2018-05-29 09:55:50 +10:00
Mark Andrews
20d279571f work around cppcheck false positive
(cherry picked from commit cb5802e854)
2018-05-29 09:55:25 +10:00
Evan Hunt
1c0977255c Merge branch '245-fix-test-color' into 'v9_9'
Resolve "rpz test fails to launch ns2 on openbsd"

Closes #245

See merge request isc-projects/bind9!321
2018-05-25 13:02:08 -07:00
Evan Hunt
ac7b05c231 fix openbsd color-display problem in system test output
(cherry picked from commit 1e31fdb76d)
2018-05-25 13:02:01 -07:00
Mark Andrews
1adf66455e Merge branch '290-documentation-error-missing-v9_9' into 'v9_9'
Resolve "Documentation error - missing "};""

Closes #290

See merge request isc-projects/bind9!318
2018-05-25 13:12:44 +10:00
Mark Andrews
99d4760f0e add closing '};'
(cherry picked from commit ab22160a1c)
2018-05-25 13:12:43 +10:00
Evan Hunt
cbd40d7454 Merge branch '283-ensure-there-is-a-blank-line-before-a-changes-entry-and-a-release-marker' into 'v9_9'
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:59:08 -07:00
Mark Andrews
af973bfe8b 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:59:05 -07:00
Evan Hunt
fe663aa18f Merge branch 'generate-notes-txt' into 'v9_9'
use w3m to generate notes.txt as part of the doc build

See merge request isc-projects/bind9!310
2018-05-23 10:03:49 -07:00
Evan Hunt
f2dc9a516f copyrights
(cherry picked from commit 58fd94cbce)
2018-05-23 09:58:57 -07:00
Evan Hunt
69568409c4 use w3m to generate notes.txt as part of the doc build
(cherry picked from commit 7c955e0eb8)
(cherry picked from commit 5b2390e016)
(cherry picked from commit 4729357675)
(cherry picked from commit 0bb2c62fd5)
2018-05-23 09:58:57 -07:00
Mark Andrews
6bf149bd16 Merge branch '273-add-home-arpa-to-list-of-empty-zones-rfc-8375-v9_9' into 'v9_9'
Resolve "Add "HOME.ARPA" to list of empty zones (RFC 8375)"

Closes #273

See merge request isc-projects/bind9!297
2018-05-23 11:31:05 +10:00
Mark Andrews
26e0694aee add HOME.ARPA to the list of empty zones
(cherry picked from commit 10dd0b3efe)
2018-05-23 11:30:55 +10:00
Evan Hunt
0e8c36d1d8 Merge branch 'fix-kit-v9_9' into 'v9_9'
use the correct repository, and get archive by tag not hash

See merge request isc-projects/bind9!304
2018-05-21 13:57:23 -07:00
Evan Hunt
dfa6c9a564 use the correct repository, and get archive by tag not hash
(cherry picked from commit 999e3233f3)
2018-05-21 13:57:23 -07:00
Mark Andrews
091fb83fbc Merge branch '238-isc_net_recvoverflow-support-is-broken-v9_9' into 'v9_9'
Resolve "ISC_NET_RECVOVERFLOW support is broken."

Closes #238

See merge request isc-projects/bind9!226
2018-05-18 16:20:02 +10:00
Mark Andrews
8c9d54c99c ISC_SOCKEVENTATTR_TRUNC was not be set
(cherry picked from commit 6bff1768cf)
2018-05-18 16:19:19 +10:00
Mark Andrews
6a67e87735 Merge branch '274-print-c-9-12-and-earlier-v9_9' into 'v9_9'
Resolve "print.c 9.12 and earlier"

See merge request isc-projects/bind9!298
2018-05-18 12:51:55 +10:00
Mark Andrews
53c85ca373 add CHANGES note
(cherry picked from commit 3f3d424a70)
2018-05-18 12:51:49 +10:00
Mark Andrews
9789729a43 look for '\0'
(cherry picked from commit d03a81c265)
2018-05-18 12:51:20 +10:00
Mark Andrews
593933bd5f add some %f format tests
(cherry picked from commit f5233ba5de)
2018-05-18 12:51:20 +10:00
Mark Andrews
d4ae45a2b7 don't produce a false negative for %z with CFLAGS=-Werror
(cherry picked from commit 800012de23)
2018-05-18 12:51:20 +10:00
Evan Hunt
bcb212bf13 Merge branch '233-clarify-documentation-of-update-policy-tcp-self-and-6to4-self' into 'v9_9'
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:53 -07:00
Evan Hunt
88a597de6e 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:51 -07:00
Michał Kępień
92a360ab67 Merge branch '252-9-9-sigs_test-updatesigs-is-failing-v9_9' into 'v9_9'
[v9_9] Skip lib/dns/tests/sigs_test for builds without DNSSEC support

See merge request isc-projects/bind9!276
2018-05-14 03:41:02 -04:00
Michał Kępień
7f38fd70c1 Extend the list of headers included by lib/dns/tests/sigs_test.c
(cherry picked from commit 1e1ed6627b)
2018-05-14 09:34:56 +02:00
Mark Andrews
77cd6fe0f5 return untested if not built with OPENSSL or PKCS11CRYPTO
(cherry picked from commit 9d8bab64ad)
2018-05-14 09:34:42 +02:00
Evan Hunt
08f84c8fab Merge branch '135-add-basic-unit-tests-for-update_sigs' into 'v9_9'
Add basic unit tests for update_sigs()

Closes #135

See merge request isc-projects/bind9!112
2018-05-10 09:50:33 -07:00
Michał Kępień
dfe3c55ec8 Add CHANGES entry
4939.	[test]		Add basic unit tests for update_sigs(). [GL #135]

(cherry picked from commit 4885809eb9)
(cherry picked from commit 1f9b0cbc63)
(cherry picked from commit d6b8bca379)
(cherry picked from commit 6338ca0849)
2018-05-10 09:45:51 -07:00
Michał Kępień
e41d2a195e 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)
(cherry picked from commit 505267f320)
(cherry picked from commit 5a957ec9e1)
2018-05-10 09:45:50 -07:00
Michał Kępień
02da03b17f 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)
(cherry picked from commit e787e54ea1)
(cherry picked from commit 7394dd8732)
2018-05-10 09:45:48 -07:00
Michał Kępień
781105c046 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)
(cherry picked from commit a6be59ce08)
(cherry picked from commit b8720b8f50)
2018-05-10 09:42:39 -07:00
Michał Kępień
b767528e13 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)
(cherry picked from commit 5c71a025c6)
(cherry picked from commit ae03a5c1fa)
2018-05-10 09:42:13 -07:00
Michał Kępień
645c43d09c 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)
(cherry picked from commit 5712d9528f)
(cherry picked from commit 5f0b4eaf70)
2018-05-10 09:42:13 -07:00
Michał Kępień
0d126920e6 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)
(cherry picked from commit 536d6dc0c5)
(cherry picked from commit 27f777c61a)
2018-05-10 09:42:13 -07:00
Michał Kępień
f7a84380dd 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)
(cherry picked from commit 1f454b8d91)
(cherry picked from commit 7193496b6e)
2018-05-10 09:42:13 -07:00
Michał Kępień
1eec107a94 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)
(cherry picked from commit 5097723d1b)
(cherry picked from commit 94caf8ebdb)
2018-05-10 09:42:13 -07:00
Michał Kępień
c7d9100dcb 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)
(cherry picked from commit d45ee39bae)
(cherry picked from commit d76fdb8718)
2018-05-10 09:42:13 -07:00
Ondřej Surý
a1e279669b Merge branch 'gitlab-ci-amd64-v9_9' into 'v9_9'
Tag docker images with appropriate architectures

See merge request isc-projects/bind9!258
2018-05-10 03:35:38 -04:00
Ondřej Surý
b6fd49c749 Tag docker images with appropriate architectures
(cherry picked from commit ab112d2c4f)
2018-05-10 09:28:10 +02:00
Ondřej Surý
98fb050c25 Merge branch '236-silence-cppcheck-issues-in-lib-dns-dst_parse-c-v9_9' into 'v9_9'
[v9_9] Resolve "silence cppcheck issues in lib/dns/dst_parse.c"

See merge request isc-projects/bind9!243
2018-05-03 11:23:39 -04:00
Mark Andrews
d1d04fdffd simplify mask construction
(cherry picked from commit 22fab3199f)
2018-05-03 17:17:38 +02:00
Evan Hunt
beb08ef52d Merge branch '208-dig-doc' into 'v9_9'
Resolve "Added -t TYPEnn description to dig"

Closes #208

See merge request isc-projects/bind9!221
2018-04-27 00:01:44 -07:00
Paul Hoffman
33be1f76cb add -t type### description to the dig man page
(cherry picked from commit 2d957c6b9f)
(cherry picked from commit d742db122e)
(cherry picked from commit efcad103e7)
2018-04-27 00:01:41 -07:00
Evan Hunt
acabf5a689 Merge branch '159-improve-handling-of-inline-signed-zones-with-missing-signing-keys' into 'v9_9'
Improve handling of inline signed zones with missing signing keys

Closes #159

See merge request isc-projects/bind9!133
2018-04-25 12:24:51 -07:00
Michał Kępień
cac0073e5b 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)
(cherry picked from commit 821c27bb7c)
2018-04-25 12:24:39 -07:00
Michał Kępień
8b0f7f1b8d 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)
(cherry picked from commit fcbdeed802)
2018-04-25 12:24:36 -07:00
Michał Kępień
0d4750a8e9 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)
(cherry picked from commit c042ec70d2)
2018-04-25 12:19:30 -07:00
Evan Hunt
eaf4b8b4fc Merge branch '171-lgtm-issues-v9_9' into 'v9_9'
Resolve "problems detected by LGTM static analyzer"

Closes #171

See merge request isc-projects/bind9!213
2018-04-22 13:01:18 -07:00
Evan Hunt
0795311bce remove unnecessary comparison
(cherry picked from commit 8b1baa10ee)
(cherry picked from commit f9da5a735e)
2018-04-22 13:01:08 -07:00
Evan Hunt
d0410a0783 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)
(cherry picked from commit 0dcff8f93c)
2018-04-22 13:01:08 -07:00
Evan Hunt
d5456e7318 add header guards in files that were missing them
(cherry picked from commit 4247477b61)
(cherry picked from commit 7f61e9d50e)
2018-04-22 13:01:07 -07:00
Evan Hunt
2515c9d6ef add header guard when generating bind.keys.h
(cherry picked from commit bfbe6925df)
(cherry picked from commit f7755696a5)
2018-04-22 13:00:47 -07:00
Evan Hunt
ade69509e6 change "key" to "tsigkey" to silence "short global name" warning
(cherry picked from commit 0cc7aa250e)
(cherry picked from commit 9d99bf0f4b)
2018-04-22 12:59:06 -07:00
Evan Hunt
54f07c3b1a fix shadowed global variables
(cherry picked from commit 9ca3ab1168)
(cherry picked from commit 694a1486ca)
2018-04-22 12:59:06 -07:00
Evan Hunt
a3c1b18794 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)
(cherry picked from commit b9db91aa64)
2018-04-22 12:59:06 -07:00
Evan Hunt
54c3af7598 Merge branch '193-fix-variable-definitions-in-bin-tests-Makefile.in-v9_9' into 'v9_9'
Fix variable definitions in bin/tests/Makefile.in

Closes #193

See merge request isc-projects/bind9!183
2018-04-10 20:06:04 -07:00
Evan Hunt
0e2b568b69 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:05:59 -07:00
Michał Kępień
5b2b47336d 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:56 -07:00
Mark Andrews
6166107a80 Merge branch 'ssl-double-free-v9_9' into 'v9_9'
Fix double free after keygen error in dnssec-keygen

Closes #109

See merge request isc-projects/bind9!70
2018-04-06 14:28:02 +10:00
Ondřej Surý
b703087d5a Add CHANGES entry
(cherry picked from commit ef2b2a6c92)
2018-04-06 14:27:48 +10:00
Ondřej Surý
3c2f6922f5 A couple of more cleanups after free in opensslrsa_generate()
(cherry picked from commit d2b3188c61)
2018-04-06 14:27:23 +10:00
Petr Mensik
fcb5795560 Do not assign NULL conditionally in OpenSSL < 1.1, make it always explicit.
(cherry picked from commit edaafacf36)
2018-04-06 14:27:23 +10:00
Petr Mensik
3bce97740f Fix double free on RSA_generate_key_ex failure
(cherry picked from commit 01cc622e7b)
2018-04-06 14:27:22 +10:00
Mark Andrews
1890455159 system should only be in SUBDIRS
(cherry picked from commit 342e146fe3)
2018-04-06 13:27:45 +10:00
Mark Andrews
3683026ffd Merge branch '167-coverity-dereferencing-a-null-pointer-in-lib-dns-tests-rbt_test-c-v9_9' into 'v9_9'
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:56:09 +11:00
Mukund Sivaraman
eb98f2759e Check return value of isc_mem_get()
(cherry picked from commit de3a4af1bf)
2018-03-20 09:56:09 +11:00
Ondřej Surý
f8af167008 Update libtool files to 2.4.6
(cherry picked from commit fe06778be7)
2018-03-19 13:02:26 +11:00
Ondřej Surý
d774c9ee04 Merge branch '164-remove-openssl-warning-v9_9' into 'v9_9'
[v9_9] Remove useless OpenSSL warning from configure script

See merge request isc-projects/bind9!143
2018-03-17 10:50:13 -04:00
Ondřej Surý
c599299cc9 Remove obsolete OpenSSL version check
(cherry picked from commit e9571d29af)
2018-03-17 14:44:14 +00:00
Evan Hunt
da01100893 Merge branch 'copyrights' into v9_9 2018-03-15 18:56:26 -07:00
Evan Hunt
ce137d2380 update file headers 2018-03-15 18:56:10 -07:00
Evan Hunt
6c02f55d59 ensure COPYRIGHT file retains years; edit file headers for consistency 2018-03-15 18:54:50 -07:00
Evan Hunt
a19e6b9b21 Merge branch '157-cleanup-win-libtests-v9_9' into 'v9_9'
Resolve "Windows build fails"

Closes #157

See merge request isc-projects/bind9!131
2018-03-15 13:48:52 -07:00
Evan Hunt
1c2ecdfc44 remove references to lib/tests in the windows build
(cherry picked from commit e2bb9824f8)
2018-03-15 13:48:49 -07:00
Evan Hunt
0af7848dad Merge branch '154-fix-atomic-test-v9_9' into 'v9_9'
Resolve "Build failure on OSX with --disable-atomic --enable-developer"

Closes #154

See merge request isc-projects/bind9!130
2018-03-15 12:09:45 -07:00
Evan Hunt
edb2282379 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:45 -07:00
Evan Hunt
01e20887b3 Merge branch 'fix-copyright' into v9_9 2018-03-15 11:32:15 -07:00
Evan Hunt
5a21193fdd update file headers 2018-03-15 11:30:37 -07:00
Evan Hunt
7dc45efb62 some script updates were missing 2018-03-15 11:26:25 -07:00
Ondřej Surý
f1736dd4bc Use /* FALLTHROUGH */ comment instead of __attribute__ ((fallthrough)) for consistency 2018-03-15 11:38:32 +01:00
Ondřej Surý
ffb4e01b3b Merge branch 'fix-implicit-fallthrough-v9_9' into 'v9_9'
Add __attribute__ ((fallthrough)); in place of implicit fallthrough to satisfy gcc 7 -Wextra

See merge request isc-projects/bind9!129
2018-03-15 04:35:12 -04:00
Ondřej Surý
a5ea870265 Add __attribute__ ((fallthrough)); in place of implicit fallthrough to satisfy gcc 7 -Wextra 2018-03-15 09:30:18 +01:00
Ondřej Surý
7d930fdb35 Merge branch 'fix-copyrights-v9_9' into v9_9 2018-03-15 09:29:27 +01:00
Ondřej Surý
9f830be501 update file headers to remove copyright years 2018-03-15 09:09:15 +01:00
Ondřej Surý
785194b46f Update scripts in util/ to drop the year information from the individual source files. 2018-03-15 09:07:00 +01:00
Evan Hunt
5bb02f5fbf Merge branch 'fix-relnotes-v99' into v9_9 2018-03-14 14:59:52 -07:00
Evan Hunt
6f81cec0d3 update Eol information 2018-03-14 14:59:27 -07:00
Evan Hunt
8d9202eff7 Merge branch 'branchsync' into 'v9_9'
update branchsync to deal with merge commits

See merge request isc-projects/bind9!127
2018-03-14 14:43:16 -07:00
Evan Hunt
8e19bc87ea updated branchsync to deal with merge commits
(cherry picked from commit fccf8ca2f6)
2018-03-14 14:42:28 -07:00
Ondřej Surý
b6fa2721d5 Fix whitespace 2018-03-14 12:46:56 +01:00
Ondřej Surý
fbb2cf47b3 Update copyrights 2018-03-14 12:46:25 +01:00
Ondřej Surý
6a95179879 [v9_10] Enable GitLab CI
(cherry picked from commit 5b7393ab588aee8dc64adb194f38eab6818aaa10)
(cherry picked from commit a14d0362df)
(cherry picked from commit a13586af5d)
2018-03-14 12:46:02 +01:00
Evan Hunt
76abb20018 Merge branch 'nothreads-fix' into 'v9_9'
Fix compiler warnings and test failures when building without threads

See merge request isc-projects/bind9!119
2018-03-10 10:37:55 -08:00
Evan Hunt
1beabb5bcb Fix compiler warnings and test failures when building without threads
(cherry picked from commit 56353aaf42)
2018-03-10 10:37:26 -08:00
Evan Hunt
a6e5d9a2ca Merge branch 'clean-bin-tests-v9_9' into 'v9_9'
clean up bin/tests, convert unit tests to ATF

Closes #115

See merge request isc-projects/bind9!93
2018-03-09 23:52:26 -08:00
Evan Hunt
e6c446bfba final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
(cherry picked from commit 442c1530a3)
(cherry picked from commit 6fe8188cc3)
2018-03-09 23:35:02 -08:00
Evan Hunt
40d0aab21a reduce race risk in parallel builds
(cherry picked from commit 74347f4a55)
(cherry picked from commit 7f4e62d902)
(cherry picked from commit ade4face27)
(cherry picked from commit 544bb12a01)
2018-03-09 23:24:17 -08:00
Evan Hunt
a00618aee5 remove lib/tests as nothing uses it anymore
(cherry picked from commit d132f73497)
(cherry picked from commit d35f62434a)
(cherry picked from commit 941946cf14)
(cherry picked from commit ec55b0136a)
2018-03-09 23:23:18 -08:00
Evan Hunt
2591c077f0 migrate t_dst signature test to lib/dns/tests/dst_test
(cherry picked from commit a4ebe83cdb)
(cherry picked from commit 4439c471d1)
(cherry picked from commit 57a5820dcc)
(cherry picked from commit dbc21e4393)
2018-03-09 23:22:04 -08:00
Evan Hunt
a11252dbbc migrate t_db to lib/dns/tests/db_test
(cherry picked from commit f58ac8ada3)
(cherry picked from commit 56da937399)
(cherry picked from commit d3518e57b1)
(cherry picked from commit c5dbc0b727)
2018-03-09 23:20:11 -08:00
Evan Hunt
28d62b0a31 migrate t_names to lib/dns/tests/name_test
(cherry picked from commit 8ecf69ef7b)
(cherry picked from commit aefad99e1e)
(cherry picked from commit b2fef3b438)
(cherry picked from commit 2893e982ed)
2018-03-09 23:19:11 -08:00
Evan Hunt
20da3cd7e7 migrate t_rbt to lib/dns/tests/rbt_test
(cherry picked from commit 109546cbda)
(cherry picked from commit c505afd183)
(cherry picked from commit 42fa3932ab)
(cherry picked from commit 4c6818ff8e)
2018-03-09 23:17:36 -08:00
Evan Hunt
a73b843515 migrate t_tasks to lib/isc/tests/task_test
(cherry picked from commit c6c1e99252)
(cherry picked from commit 88bfe56876)
(cherry picked from commit 38f9cddcad)
(cherry picked from commit 430d35e332)
2018-03-09 23:15:10 -08:00
Evan Hunt
48c8aca49b migrate t_resolver to lib/dns/tests/resolver_test
(cherry picked from commit d80825c40b)
(cherry picked from commit 30e157f6e4)
(cherry picked from commit 5dd25f2285)
(cherry picked from commit 29474940ea)
2018-03-09 23:13:44 -08:00
Evan Hunt
6bd3de3615 migrate t_timers to lib/isc/tests/timer_test
(cherry picked from commit e2b8699df9)
(cherry picked from commit efccdad0ea)
(cherry picked from commit 274ee0b425)
(cherry picked from commit 5b477b2aa4)
2018-03-09 23:11:47 -08:00
Evan Hunt
a6dcb138b5 migrate t_atomic to lib/isc/tests/atomic_test
(cherry picked from commit 874e2fc70c)
(cherry picked from commit c7fa56e8db)
(cherry picked from commit 492e19d6ec)
(cherry picked from commit 1200d6f072)
2018-03-09 23:09:54 -08:00
Evan Hunt
d446bbb815 migrate t_mem to lib/isc/tests/mem_test
(cherry picked from commit 979f054702)
(cherry picked from commit af48544b75)
(cherry picked from commit 814cd21e22)
(cherry picked from commit 7014d0994b)
2018-03-09 23:07:40 -08:00
Evan Hunt
00bc2c2355 migrate t_net to lib/isc/tests
(cherry picked from commit 05b7251d51)
(cherry picked from commit af0c9b2cee)
(cherry picked from commit faedafd2b4)
(cherry picked from commit 67b63a3e10)
2018-03-09 23:03:56 -08:00
Evan Hunt
6b970316c8 migrate t_sockaddr to lib/isc/tests
(cherry picked from commit 62f650078a)
(cherry picked from commit fadb93cf43)
(cherry picked from commit 323e2f7152)
(cherry picked from commit b392c18f6e)
2018-03-09 23:03:11 -08:00
Evan Hunt
e54d53e8fb remove hashes test (duplicates lib/isc/tests/hash_test)
(cherry picked from commit 6ad1a042bc)
(cherry picked from commit e686b9c297)
(cherry picked from commit c644427b77)
(cherry picked from commit a0a3a8e794)
2018-03-09 23:01:44 -08:00
Evan Hunt
d50b40b135 remove master test (duplicates lib/isc/tests/master_test)
(cherry picked from commit 6717f31e10)
(cherry picked from commit 36d08442bc)
(cherry picked from commit ae39f25a10)
(cherry picked from commit 83a5d8e17e)
2018-03-09 23:00:47 -08:00
Evan Hunt
bf769f68a4 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)
(cherry picked from commit dbb225d83e)
(cherry picked from commit 161f525942)
2018-03-09 22:59:52 -08:00
Evan Hunt
bb2b5193b5 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)
(cherry picked from commit e062109659)
(cherry picked from commit 6428478341)
2018-03-09 22:59:24 -08:00
Evan Hunt
fca5c351c2 remove some old and obsolete test files
(cherry picked from commit a633f6c5dd)
(cherry picked from commit 10efb4ff07)
(cherry picked from commit 22d9a69b3f)
(cherry picked from commit b7c98c81d9)
2018-03-09 22:56:04 -08:00
Evan Hunt
a2e28d17cc Merge branch 'parallel-unit-tests' into 'v9_9'
capture more info from unit tests, run in parallel

See merge request isc-projects/bind9!117
2018-03-09 14:39:35 -08:00
Evan Hunt
0753f4f842 allow ATF tests to run in parallel
(cherry picked from commit ef0b4c91bc)
(cherry picked from commit 787c5d1394)
2018-03-09 14:39:26 -08:00
Evan Hunt
292ddceca3 capture more information from unit tests
- preserve kyua results database when using kyua

(cherry picked from commit 81c23fecda)
2018-03-09 14:38:35 -08:00
Evan Hunt
93db8ad693 Merge branch 'v9_9_12_patch' into v9_9 2018-03-08 14:30:46 -08:00
Evan Hunt
d416384e17 Merge branch 'rm-contrib-md' into v9_9 2018-03-08 13:04:08 -08:00
Evan Hunt
bfe9893111 remove doc/dev/contrib.md now that CONTRIBUTING.md exists 2018-03-08 13:03:39 -08:00
Evan Hunt
4eb49c4882 Merge branch 'remove-bind9-bugs-references' into 'v9_9_12_patch'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 12:56:13 -08:00
Ondřej Surý
4c3009ff38 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 292d6c8a5b)
(cherry picked from commit 5e88bf24f7)
2018-03-08 12:54:01 -08:00
Evan Hunt
83eaab40fb Merge branch 'remove-bind9-bugs-references' into 'v9_9'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 10:42:52 -08:00
Ondřej Surý
5e88bf24f7 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 292d6c8a5b)
2018-03-08 10:42:40 -08:00
Mark Andrews
b4fa7575cf Merge branch '133-update-util-check-changes-to-work-on-release-branches-v9_9' into 'v9_9'
Resolve "Update util/check-changes to work on release branches."

Closes #133

See merge request isc-projects/bind9!110
2018-03-08 16:20:53 +11:00
Mark Andrews
ecd0de1441 update util/check-changes to handle non master branched (util/check-changes master=0 CHANGES)
(cherry picked from commit 88a2202093)
2018-03-08 16:20:39 +11:00
Tinderbox User
319525610a Merge branch 'prep-release' into v9_9_12_patch 2018-03-08 01:34:47 +00:00
Tinderbox User
ce8edda72b prep 9.9.12 2018-03-08 01:33:44 +00:00
Evan Hunt
25eddfcfa7 Merge branch 'longopts-v9_9' into 'v9_9'
restore long options for run.sh

See merge request isc-projects/bind9!104
2018-03-07 14:35:45 -08:00
Evan Hunt
e44ce6a1ab restore long options for run.sh
(cherry picked from commit 4a714bffbc)
2018-03-07 14:35:45 -08:00
Evan Hunt
e3b4a843a8 Merge branch 'allow-query' into 'v9_9'
speed up allow_query test

Closes #81

See merge request isc-projects/bind9!76
2018-03-07 14:20:34 -08:00
Evan Hunt
ac91515aa8 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)
(cherry picked from commit 37a6bb004c)
(cherry picked from commit 2e48caa476)
2018-03-07 14:19:55 -08:00
Evan Hunt
0ed2df43b0 rename allow_query to allow-query
(cherry picked from commit ffc3e73c36)
(cherry picked from commit 5d9e3f9b02)
(cherry picked from commit de6fe7dd83)
2018-03-07 14:19:52 -08:00
Evan Hunt
4092a70a34 Merge branch 'fix-notify' into 'v9_9'
fix notify test

See merge request isc-projects/bind9!77
2018-03-06 11:48:24 -08:00
Evan Hunt
fc1b254b5e 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)
(cherry picked from commit dff94add3e)
(cherry picked from commit 5a5e476d00)
2018-03-06 11:48:16 -08:00
Michał Kępień
39595d697e Merge branch '110-libirs-do-not-ignore-resolv.conf-syntax-errors-v9_9' into 'v9_9'
libirs: Do not ignore resolv.conf syntax errors

Closes #110

See merge request isc-projects/bind9!78
2018-03-06 09:25:35 +01:00
Michał Kępień
e61c197a0f 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:25:34 +01:00
Michał Kępień
1ad85ff974 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:25:24 +01:00
Michał Kępień
ca7cd80dd5 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:25:23 +01:00
Tinderbox User
cfc78d797e Merge branch 'prep-release' into v9_9_12_patch 2018-03-02 21:54:14 +00:00
Tinderbox User
7af73b918e prep 9.9.12rc2 2018-03-02 21:53:47 +00:00
Evan Hunt
2206ea1ea6 Merge branch '124-revert-deadlock' into 'v9_9_12_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:32 -08:00
Evan Hunt
ce1114a95a temporarily revert change #4859
(cherry picked from commit 06b52cc939)
2018-03-02 12:18:03 -08:00
Evan Hunt
6bb0246ea3 Merge branch '124-revert-deadlock-check-v9_12-v9_9' into 'v9_9'
revert cname loop test due to effects on apex CNAMEs under insecure delegations

See merge request isc-projects/bind9!95
2018-03-02 12:04:35 -08:00
Evan Hunt
7e2d361355 temporarily revert change #4859
(cherry picked from commit 84ec07999f)
2018-03-02 12:04:33 -08:00
Michał Kępień
d716c008b3 Merge branch 'fix-fetchlimit-v9_9' into 'v9_9'
Improve failure logging in fetchlimit system test

See merge request isc-projects/bind9!81
2018-03-01 15:41:02 +01:00
Evan Hunt
8c0d2127f9 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:41:01 +01:00
Michał Kępień
093ef21af6 Merge branch '122-bind-9-10-nsupdate-system-test-fails-v9_9' into 'v9_9'
Fix nsupdate system test for BIND < 9.12

See merge request isc-projects/bind9!89
2018-03-01 13:56:16 +01:00
Mark Andrews
a845283012 remove unsupported command line argument (-4) from nsupdate call
(cherry picked from commit ac3d2a0ed9)
2018-03-01 13:56:16 +01:00
Michał Kępień
2ba13aefd9 Merge branch '121-views-system-test-has-wrong-test-strings-for-reload-completion-v9_9' into 'v9_9'
Resolve "views system test has wrong test strings for reload completion."

Closes #121

See merge request isc-projects/bind9!88
2018-02-28 14:57:19 +01:00
Mark Andrews
83990e9bdc 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:57:19 +01:00
Evan Hunt
0e91065b57 Merge branch '113-minor-testsummary.sh-improvements-v9_9' into 'v9_9'
Minor testsummary.sh improvements (handling colored output, failure summary)

Closes #113

See merge request isc-projects/bind9!80
2018-02-27 10:04:37 -08:00
Evan Hunt
be98afaecf Do not destroy systests.output if there are no test.output files
(cherry picked from commit 38940619c6)
2018-02-27 10:04:37 -08:00
Michał Kępień
d241bf9d4c 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:37 -08:00
Michał Kępień
b18292a208 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:36 -08:00
Michał Kępień
1709486103 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:36 -08:00
Evan Hunt
91725c199f Merge branch 'test-output-v9_11-v9_10-v9_9' into 'v9_9'
Clean up test output

See merge request isc-projects/bind9!66
2018-02-27 10:03:23 -08:00
Evan Hunt
92c9e7c045 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)
(cherry picked from commit d57e8f6df3)
(cherry picked from commit 053c06d5e1)
2018-02-27 10:03:21 -08:00
Michał Kępień
56cb381518 Merge branch '98-add-util-git-replay-merge.sh-v9_9' into 'v9_9'
Put git-replay-merge in source tree

Closes #98

See merge request isc-projects/bind9!83
2018-02-27 10:45:08 +01:00
Michał Kępień
9063b31f49 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:45:08 +01:00
Evan Hunt
4cb037a6e2 Merge branch '112-fix-mx-checks-for-dynamic-updates-v9_9' into 'v9_9'
Fix MX checks for dynamic updates

Closes #112

See merge request isc-projects/bind9!79
2018-02-26 15:20:49 -08:00
Michał Kępień
309e2aebae 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)
2018-02-26 15:20:26 -08:00
Michał Kępień
d86a7dbe69 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)
2018-02-26 15:20:06 -08:00
Evan Hunt
cdf3f823bb Merge branch 'check-for-test-interfaces-before-running-system-tests-v9_9' into 'v9_9'
Check for test interfaces before running system tests

See merge request isc-projects/bind9!19
2018-02-26 15:10:40 -08:00
Evan Hunt
699fffc34f test interfaces directly in runall.sh and parallel.mk
(cherry picked from commit a8b583e78b)
2018-02-26 15:10:40 -08:00
Michał Kępień
98b3b5bba7 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:40 -08:00
Evan Hunt
5353168bb7 Merge branch '66-ixfr-system-test-fails-intermittently-v9_9' into 'v9_9'
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:03:05 -08:00
Evan Hunt
8c6e4b205c wait for synchronization; re-notify slave if the transfer doesn't happen
(cherry picked from commit 67a8b5ec17)
2018-02-26 15:03:03 -08:00
Evan Hunt
8668c2eeab Merge branch 'fix-merge' into v9_9 2018-02-25 23:08:18 -08:00
Evan Hunt
7124e34835 Fix merge error 2018-02-25 23:07:38 -08:00
Mark Andrews
56202244de Merge branch '51-fix-cppcheck-detected-source-code-errors-v9_10-v9_9' into 'v9_9'
Resolve "Fix cppcheck-detected source code errors"

Closes #51

See merge request isc-projects/bind9!46
2018-02-26 10:58:19 +11:00
Mark Andrews
7d459e36be update printf format to match type
(cherry picked from commit 48ca11df5f)
(cherry picked from commit 9a0373b896)
2018-02-26 10:58:11 +11:00
Mark Andrews
6d2ddd3c49 improve the conditional declaration and use of variable to silence cppcheck
(cherry picked from commit a04bb76973)
(cherry picked from commit 8e046acb50)
2018-02-26 10:58:09 +11:00
Mark Andrews
5ef8b93129 remove deadcode
(cherry picked from commit b71a1386ed)
(cherry picked from commit 0beff002bd)
2018-02-26 10:54:19 +11:00
Mark Andrews
e76df9d04f silence unread assignment warning by using POST macro
(cherry picked from commit e8249dcd49)
(cherry picked from commit cdb6c5c106)
2018-02-26 10:54:19 +11:00
Mark Andrews
750467e284 update the sscanf format strings so they match the pointer types
(cherry picked from commit 70d192eb97)
(cherry picked from commit 06b7a4397a)
2018-02-26 10:54:19 +11:00
Mark Andrews
d65c60d894 redefine CHECK so cppcheck see the definition
(cherry picked from commit a4186b1867)
(cherry picked from commit d17558a874)
2018-02-26 10:54:18 +11:00
Mark Andrews
9d0effb471 remove unused struct dst_context declaration
(cherry picked from commit f2c22662cc)
(cherry picked from commit 00799ab805)
2018-02-26 10:54:18 +11:00
Mark Andrews
7c3734f920 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)
(cherry picked from commit 981d548a66)
2018-02-26 10:54:18 +11:00
Evan Hunt
8f4610f773 Merge branch 'tidy-runall.sh-environment-variables-v9_11-v9_10-v9_9' into 'v9_9'
Tidy runall.sh environment variables

See merge request isc-projects/bind9!18
2018-02-25 13:34:35 -08:00
Michał Kępień
1f42e865d2 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)
(cherry picked from commit 2cd174dda9)
(cherry picked from commit fdcac29f63)
2018-02-25 13:34:35 -08:00
Michał Kępień
a7ae215925 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)
(cherry picked from commit cbebf7ef59)
(cherry picked from commit 2f3b3b7aff)
2018-02-25 13:34:35 -08:00
Michał Kępień
fcefc77d35 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)
(cherry picked from commit e9c4dbe361)
(cherry picked from commit 0e3840e4b4)
2018-02-25 13:34:35 -08:00
Evan Hunt
812c83f876 Merge branch '71-xfer-system-test-fails-intermittently-v9_12-v9_11-v9_10-v9_9' into 'v9_9'
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-25 13:34:23 -08:00
Evan Hunt
8315e76561 improve reliability of xfer test
(cherry picked from commit 5d7d6881a1)
(cherry picked from commit 09a1a261dc)
(cherry picked from commit 948bd83ce5)
(cherry picked from commit 4160936c92)
2018-02-25 13:34:23 -08:00
Evan Hunt
99db49b439 Merge branch 'parallel-v9_9' into v9_9
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-25 13:29:36 -08:00
Evan Hunt
7677cb277a final cleanup
- add CHANGES note
- update copyrights and license headers
2018-02-25 13:13:26 -08:00
Evan Hunt
ae6c141f7b tidying up after backport
(cherry picked from commit 854f7846d8)
(cherry picked from commit 6653dcab3d)
2018-02-25 13:10:00 -08:00
Evan Hunt
b65aa505e6 improve reliability of the xfer test on slow systems
- lengthened the wait loop for the transfers to complete

(cherry picked from commit b9246ce773)
(cherry picked from commit a5015d7791)
(cherry picked from commit c369fc06ca)
(cherry picked from commit 6a5092f537)
2018-02-25 11:19:26 -08:00
Evan Hunt
37d6f7b624 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)
(cherry picked from commit 626566c72d)
(cherry picked from commit 62f239f5cf)
2018-02-25 11:19:07 -08:00
Evan Hunt
87c7455b4c removed some unnecessary greps
(cherry picked from commit 731ad28be2)
(cherry picked from commit 17245b86d5)
(cherry picked from commit 350f18b0d1)
(cherry picked from commit 539be337d9)
2018-02-25 11:19:05 -08:00
Evan Hunt
a236a1e2b4 reorder tests to get better use of parallelism
(cherry picked from commit 56e440f65f)
(cherry picked from commit 4429f8b291)
(cherry picked from commit fa8740feda)
(cherry picked from commit 438dcd9f9c)
2018-02-25 11:18:48 -08:00
Evan Hunt
f8fe59f279 parallelize most system tests
(cherry picked from commit c032c54dda)
(cherry picked from commit 2b81f322cb)
(cherry picked from commit 167fa161d1)
(cherry picked from commit 1f297d33a0)
2018-02-25 11:17:55 -08:00
Evan Hunt
29e7466e04 Merge branch 'rt46602-v9_11-v9_10-v9_9' into v9_9
Allow parallel run of system tests

See merge request isc-projects/bind9!7
2018-02-25 09:41:59 -08:00
Stephen Morris
f5a3bd48d4 [rt46602] Update CHANGES for parallel tests
(cherry picked from commit dbf753b52d)
(cherry picked from commit 8aaa92693c)
(cherry picked from commit ee3d232d8e)
2018-02-25 09:33:29 -08:00
Stephen Morris
58c2522b85 [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)
(cherry picked from commit 78f2976087)
(cherry picked from commit 4a29e3ba65)
2018-02-25 09:28:46 -08:00
Michał Kępień
1240f51426 [rt46602] Export environment variables in a portable manner
(cherry picked from commit 2c519531a7)
(cherry picked from commit 747df7d66a)
(cherry picked from commit ddb84ca0af)
2018-02-25 09:28:46 -08:00
Michał Kępień
8945f29fb1 [rt46602] Sanitize test names to fix "make check" on Solaris
(cherry picked from commit e005fb948d)
(cherry picked from commit cfaeb55e8e)
(cherry picked from commit fac15bf973)
2018-02-25 09:28:46 -08:00
Stephen Morris
2ee63a76c0 [rt46602] Pass noclean option to Makefile via exported variable
(cherry picked from commit 59d88ee192)
(cherry picked from commit 0ae7e64829)
(cherry picked from commit 4fbaafa480)
2018-02-25 09:28:46 -08:00
Stephen Morris
2a24aac12e [rt46602] Mention conf.sh.win32 in instructions for adding a test.
(cherry picked from commit 23dfa27a84)
(cherry picked from commit 06a9a37d3b)
(cherry picked from commit d9740c20da)
2018-02-25 09:28:45 -08:00
Michał Kępień
d634594e56 [rt46602] Fix various typos, formatting issues and stylistic nits
(cherry picked from commit f0721de624)
(cherry picked from commit b40e75a75c)
(cherry picked from commit 85f03bb30f)
2018-02-25 09:28:45 -08:00
Michał Kępień
2a31548089 [rt46602] Remove redundant variable assignment
(cherry picked from commit 42cf18d239)
(cherry picked from commit 4436930712)
(cherry picked from commit 90654248f6)
2018-02-25 09:28:45 -08:00
Michał Kępień
df5de60665 [rt46602] named.port is no longer created by setup.sh for allow_query
(cherry picked from commit 1ac4c3e4e5)
(cherry picked from commit 77e6ff0fae)
(cherry picked from commit 2e3d58ad30)
2018-02-25 09:28:45 -08:00
Michał Kępień
653dcebec8 [rt46602] Consistently print usage for runall.sh to stderr
(cherry picked from commit fe1ccafc34)
(cherry picked from commit 47e278b7c9)
(cherry picked from commit 66985fad62)
2018-02-25 09:28:45 -08:00
Michał Kępień
4ef8f1c774 [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)
(cherry picked from commit 0c8e56568f)
(cherry picked from commit 6d9fb2b429)
2018-02-25 09:28:45 -08:00
Michał Kępień
17fce84a63 [rt46602] Assign default values to variables set by command line options and consistently treat them as integers
(cherry picked from commit fe51c34df3)
(cherry picked from commit 3752edb28e)
(cherry picked from commit 1adbfeb3ed)
2018-02-25 09:28:45 -08:00
Michał Kępień
6d8fde8a92 [rt46602] named.port cannot be ignored by git because it is required to be present by notify/ns4
(cherry picked from commit 1960de5530)
(cherry picked from commit f47ed5ceb0)
(cherry picked from commit 01e21e3ee2)
2018-02-25 09:28:45 -08:00
Stephen Morris
98ddc2c422 [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)
(cherry picked from commit 8376949ea8)
(cherry picked from commit 52f784315e)
2018-02-25 09:28:45 -08:00
Stephen Morris
90dccece92 [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)
(cherry picked from commit 53ebdf225f)
(cherry picked from commit 82ffebc73a)
2018-02-25 09:28:42 -08:00
Stephen Morris
6f8c363547 [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)
(cherry picked from commit 8513c4256b)
(cherry picked from commit c8880ce14a)
2018-02-25 09:27:13 -08:00
Stephen Morris
0c59973a13 [rt46602] Minor documentation changes
(cherry picked from commit cdf18a5009)
(cherry picked from commit 4731a82eef)
(cherry picked from commit 04120c4223)
2018-02-25 09:27:13 -08:00
Stephen Morris
2dae3e430a [rt46602] Correct way allow_query test produces RNDC output
(cherry picked from commit 7f2d41d4c4)
(cherry picked from commit 36136dec55)
(cherry picked from commit 7125bddda8)
2018-02-25 09:27:13 -08:00
Stephen Morris
9490bd8355 [rt46602] Simplify the cleanup code
(cherry picked from commit 0855a8a6cc)
(cherry picked from commit fb5974f902)
(cherry picked from commit 5d69915cd8)
2018-02-25 09:27:12 -08:00
Stephen Morris
62f2f90bd3 [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)
(cherry picked from commit 56ba2e822b)
(cherry picked from commit 5be3ea811e)
2018-02-25 09:27:12 -08:00
Stephen Morris
89772c3dda [rt46602] Miscellenous small changes
(cherry picked from commit b88b508b22)
(cherry picked from commit 3329876ffd)
(cherry picked from commit d2e214bff3)
2018-02-25 09:27:12 -08:00
Stephen Morris
c447d0e26d [rt46602] Handle echoing of multi-line output from tests
(cherry picked from commit 1f07c69f25)
(cherry picked from commit 6602a31229)
(cherry picked from commit c136a2fdb2)
2018-02-25 09:27:12 -08:00
Stephen Morris
4ee549091e [rt46602] Rename "test" variable to "systest"
... to avoid confusion between the variable and the command of the
same name.

(cherry picked from commit c12e06755f)
(cherry picked from commit 7a5476173a)
(cherry picked from commit b2319386f4)
2018-02-25 09:27:12 -08:00
Stephen Morris
275ece8341 [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)
(cherry picked from commit 6917ea971a)
(cherry picked from commit 9040d3d367)
2018-02-25 09:27:12 -08:00
Stephen Morris
5a5f853966 [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)
(cherry picked from commit ff5349b3b3)
(cherry picked from commit 5a1b50c023)
2018-02-25 09:27:12 -08:00
Stephen Morris
9e9356e65e [rt46602] Ensure that output sent to stderr is routed to the output file
(cherry picked from commit a5cf6bd12a)
(cherry picked from commit 6bd944c9d0)
(cherry picked from commit 67ff8ef970)
2018-02-25 09:27:12 -08:00
Stephen Morris
b38ccb911f [rt46602] Minor tidying up of documentation
(cherry picked from commit ce66752adc)
(cherry picked from commit 6b5e5a2da2)
(cherry picked from commit 2a5707943a)
2018-02-25 09:27:12 -08:00
Stephen Morris
9b9a387f15 [rt46602] Check prerequsities before network interfaces when running test.
(cherry picked from commit 549a6c6bc8)
(cherry picked from commit 0afcdf658d)
(cherry picked from commit 6dd8c2ab08)
2018-02-25 09:27:12 -08:00
Stephen Morris
73d62eca87 [rt46602] Minor formatting changes to Perl files
(cherry picked from commit f0f5b5f045)
(cherry picked from commit 5fc5b514e4)
(cherry picked from commit 09e1b5e143)
2018-02-25 09:27:09 -08:00
Stephen Morris
3234ad4c63 [rt46603] Provide echostart() and echoend() to output test start/end messages.
(cherry picked from commit c344e1d768)
(cherry picked from commit 88081b765e)
(cherry picked from commit dc0078e03b)
2018-02-25 09:26:35 -08:00
Stephen Morris
fad413366a [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)
(cherry picked from commit 50769a4a9e)
(cherry picked from commit 818ac05cfc)
2018-02-25 09:26:32 -08:00
Stephen Morris
2e36ec8950 [rt46602] Miscellaneous minor fixes
... for misspellings, typos, trailing spaces, duplicated lines etc.

(cherry picked from commit 3c25e5fa02)
(cherry picked from commit 0e2e251a0d)
(cherry picked from commit f55e2791fc)
2018-02-25 09:26:23 -08:00
Stephen Morris
e553b00a8b [rt46602] Allocate 100 ports to each test
(cherry picked from commit edc7a18d84)
(cherry picked from commit 61514873e9)
(cherry picked from commit 21e33308d1)
2018-02-25 09:26:23 -08:00
Stephen Morris
ee59ba17b2 [rt46602] Pass port numbers to tests via environment variables
(cherry picked from commit f5d8f07900)
(cherry picked from commit f10b6cfeb6)
(cherry picked from commit 73d3527931)
2018-02-25 09:26:20 -08:00
Stephen Morris
d702992d06 [rt46602] Ensure parallel tests are in alphabetical order
(cherry picked from commit b2d90da0c2)
(cherry picked from commit bf2992dbe6)
(cherry picked from commit 3ddf401b1b)
2018-02-25 09:25:42 -08:00
Stephen Morris
ce03881a4a [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)
(cherry picked from commit 3952d4631e)
(cherry picked from commit 67f135c1d0)
2018-02-25 09:25:40 -08:00
Stephen Morris
becd4cd050 [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)
(cherry picked from commit 78494c3a4d)
(cherry picked from commit 28c2b0be93)
2018-02-25 09:25:09 -08:00
Stephen Morris
00ef25535b [rt46602] Modify some test files to cope with the "-p" flag
(cherry picked from commit 517d990bd4)
(cherry picked from commit b01b553d72)
(cherry picked from commit ca76477b36)
2018-02-25 09:22:30 -08:00
Stephen Morris
320d22fa45 [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)
(cherry picked from commit a49afdaeb8)
(cherry picked from commit dec6d02f28)
2018-02-25 09:22:30 -08:00
Stephen Morris
679bc83b07 [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)
(cherry picked from commit df1348ad2b)
(cherry picked from commit c64af8abe5)
2018-02-25 09:22:30 -08:00
Stephen Morris
cbe47e1752 [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)
(cherry picked from commit 01eb4d7c97)
(cherry picked from commit f5b71b3658)
2018-02-25 09:22:13 -08:00
Stephen Morris
0342f7e559 [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)
(cherry picked from commit 4f68e67e5c)
(cherry picked from commit 704e2324e3)
2018-02-25 09:21:52 -08:00
Stephen Morris
8fa27c7358 [rt46602] Miscellaneous tidying up of code cherry-picked from experimental branch
(cherry picked from commit e1a69e5d1f)
(cherry picked from commit ba694ca38c)
(cherry picked from commit c7bf09069d)
2018-02-25 09:21:01 -08:00
Ondřej Surý
6f801ceceb [rt46602] Allow parallel run of new dynamic port tests and the old ones
(cherry picked from commit 3b14d54fd7)
(cherry picked from commit a14bd48268)
(cherry picked from commit fbd24ff359)
2018-02-25 09:21:00 -08:00
Ondřej Surý
d080192323 [rt46602] Put back original .gitignore files in the system tests
(cherry picked from commit caaec1ef6d)
(cherry picked from commit cf7a86661a)
(cherry picked from commit ff2356395b)
2018-02-25 09:21:00 -08:00
Ondřej Surý
043bd61301 [rt46602] Adjust rpzrecurse for dynamic port usage
Resolve conflict in run.sh during cherry-pick from an experimental branch.

(cherry picked from commit 2a435708e4)
(cherry picked from commit c5aa6ed87b)
(cherry picked from commit 9bdb4d67f1)
2018-02-25 09:20:58 -08:00
Ondřej Surý
0173209dda [rt46602] Add $SEDPORTS variable to help with @PORT@ and @CONTROLPORT@ replacement
(cherry picked from commit e6802badc0)
(cherry picked from commit d37a52cc56)
(cherry picked from commit 76848ca9d4)
2018-02-25 09:17:30 -08:00
Ondřej Surý
ffa6566643 [rt46602] Move most of ignored files to top of system tests directory
(cherry picked from commit d2c8286163)
(cherry picked from commit a5c3077a9c)
(cherry picked from commit f11975087c)
2018-02-25 09:17:27 -08:00
Ondřej Surý
0f99295e12 [rt46602] Fix output from rndc reload
(cherry picked from commit 53bade5ece)
(cherry picked from commit 112355adb8)
(cherry picked from commit 77e5c32baf)
2018-02-25 09:14:51 -08:00
Ondřej Surý
dce8925c61 [rt46602] Add .gitignore to allow_query
(cherry picked from commit bc276f6c05)
(cherry picked from commit 76dfb5c339)
(cherry picked from commit 51ccb16653)
2018-02-25 09:14:50 -08:00
Ondřej Surý
2d8cf8c8cc [rt46602] Utilize echo_i to allow mixed test output
(cherry picked from commit 7e3c96c867)
(cherry picked from commit 93034acb4d)
(cherry picked from commit 9bcf40cbed)
2018-02-25 09:14:50 -08:00
Ondřej Surý
585d362afe [rt46602] Prefix R:<result> as R:<test>:<result>
Resolve conflict in run.sh during cherry-pick from experimental branch.

(cherry picked from commit 278c72fef6)
(cherry picked from commit b8e866d60f)
(cherry picked from commit ff56ecafc4)
2018-02-25 09:14:50 -08:00
Ondřej Surý
9cff66b3b9 [rt46602] Add echo_i function to print I:<testname>:string
(cherry picked from commit f7ac41757a)
(cherry picked from commit bd5b36f7a4)
(cherry picked from commit cdc72937d6)
2018-02-25 09:14:47 -08:00
Ondřej Surý
5b45f67f61 [rt46602] Add serve-stale working files to .gitignore
(cherry picked from commit cba162e70e)
(cherry picked from commit 57adb949a4)
(cherry picked from commit 2327f41b35)
2018-02-25 09:14:30 -08:00
Ondřej Surý
10da6c8a87 [rt46602] Convert allow_query to dynamic port
(cherry picked from commit 992a2bafec)
(cherry picked from commit 1d10178e83)
(cherry picked from commit 1a568d5a76)
2018-02-25 09:14:30 -08:00
Ondřej Surý
a74f729d21 [rt46602] Change the system tests script to support running individual tests on different ports
Resolved conflict in run.sh.

(cherry picked from commit fb00f18005)
(cherry picked from commit 0ee883d443)
(cherry picked from commit 75428f4951)
2018-02-25 09:14:30 -08:00
Evan Hunt
89e4fff657 Merge branch 'kyua-oot-v9_11-v9_10-v9_9' into 'v9_9'
chg: dev: Unit tests were broken in out-of-tree builds.

See merge request isc-projects/bind9!57
2018-02-23 15:51:50 -08:00
Petr Menšík
3727e6a944 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)
(cherry picked from commit 6d9b38e9fe)
(cherry picked from commit 6f2fd5ccca)
2018-02-23 15:51:50 -08:00
Evan Hunt
8fe8948bb0 Merge branch 'master-v9_12-v9_11-v9_10-v9_9' into 'v9_9'
Code cleanups

See merge request isc-projects/bind9!36
2018-02-23 13:57:56 -08:00
Petr Menšík
f3f8d67ad2 Reduce repeated detection of mysql lib directory.
Use common part once a bit later.

(cherry picked from commit 2a70eae04f)
(cherry picked from commit d04af52222)
(cherry picked from commit 1b0cf4fea6)
(cherry picked from commit 9982419c4c)
2018-02-23 13:57:56 -08:00
Petr Menšík
07b6ddd178 Reuse new function from rt46864 for similar block elsewhere.
(cherry picked from commit e7a93321f0)
(cherry picked from commit cb98ce8e67)
(cherry picked from commit 6876501605)
(cherry picked from commit 16ea60d8cc)
2018-02-23 13:57:56 -08:00
Michał Kępień
f55f714bce Merge branch '90-remove-i-check-flushtree-clears-adb-correctly-from-cacheclean-in-bind-9-9' into 'v9_9'
Resolve "remove "I:check flushtree clears adb correctly" from cacheclean in BIND 9.9"

See merge request isc-projects/bind9!53
2018-02-22 07:15:56 -05:00
Mark Andrews
29652923f8 remove 'check flushtree clears adb correctly' test 2018-02-22 14:35:40 +11:00
Mark Andrews
0b5b2c9b72 Merge branch '67-stabilize-cacheclean-system-test-v9_10-v9_9' into 'v9_9'
Stabilize cacheclean system test

Closes #67

See merge request isc-projects/bind9!43
2018-02-21 11:28:57 +11:00
Michał Kępień
598d5538fe Improve the way cache contents are searched for "ns.flushtest.example"
During the "check flushtree clears adb correctly" check, expecting
"ns.flushtest.example" to always be the first name in the ADB dump is
fragile, because in a certain corner case "a.root-servers.nil" will be
the first name instead.

As the purpose of the relevant check is to ensure "ns.flushtest.example"
is removed from ADB by "rndc flushtree flushtest.example", search the
entire list of names present in ADB instead of just the first entry when
looking for "ns.flushtest.example".

(cherry picked from commit ca1049b2f3)
(cherry picked from commit 3513a585e3)
2018-02-21 11:28:21 +11:00
Michał Kępień
580fb63a68 Wait until a cache dump completes instead of waiting for a fixed amount of time
Dumping the cache is an asynchronous operation, so sleeping for a fixed
amount of time after running "rndc dumpdb" is imperfect as dumping cache
contents may take longer than expected on slower machines.  Instead of
always sleeping for 1 second, wait until the "; Dump complete" line
appears in the dump or 10 seconds pass, whichever comes first.

(cherry picked from commit 2bbff06d36)
(cherry picked from commit e617b91527)
2018-02-21 11:28:16 +11:00
Michał Kępień
44e946e9e9 Do not overwrite cache dumps
Unless configured otherwise in named.conf, "rndc dumpdb" causes a cache
dump to be written to a file called "named_dump.db" in the working
directory of the given named instance.  Repeatedly using this command
throughout different checks in the cacheclean system test causes cache
dumps for older checks to be overwritten, which hinders failure
diagnosis.  Prevent this by moving each cache dump to a check-specific
location after running "rndc dumpdb".

Furthermore, during the "check flushtree clears adb correctly" check,
dump_cache() is called twice without renaming the resulting files.
Prevent the first cache dump from being overwritten by moving it to a
different file before calling "rndc dumpdb" for the second time.

(cherry picked from commit aeea1faf01)
(cherry picked from commit dcd91ab322)
2018-02-21 11:26:58 +11:00
Michał Kępień
5c0afa76f7 Assign an index to each check in the cacheclean system test
This will enable storing per-check forensic data, which facilitates
troubleshooting test failures.

(cherry picked from commit 01de79b332)
(cherry picked from commit 7679819e15)
2018-02-21 10:52:43 +11:00
Evan Hunt
f8d31691b5 [v9_9] add missing release note, update README 2018-02-17 20:04:13 -08:00
Michał Kępień
45cbf528f7 Merge branch 'fix-loadpending-handling-v9_9' into v9_9 2018-02-16 09:03:53 +01:00
Michał Kępień
d55d1c9f92 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 09:03:48 +01:00
Michał Kępień
13cc08ea67 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 09:03:27 +01:00
Michał Kępień
b38c5d2840 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 09:03:27 +01:00
Michał Kępień
ec51b6d3d4 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 09:03:27 +01:00
Michał Kępień
9c103120ad 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 09:03:27 +01:00
Mark Andrews
0402b2121f Merge branch 'fix-cpp-check-errors' into 'v9_9'
Fix cpp check errors v9_9

See merge request isc-projects/bind9!32
2018-02-16 02:49:07 -05:00
Mark Andrews
292245ebbf s/cppchecker/cppcheck 2018-02-16 18:45:24 +11:00
Mark Andrews
f80160d467 add GL issue number 2018-02-16 18:45:24 +11:00
Mark Andrews
469bc9fd15 add CHANGES note 2018-02-16 18:45:23 +11:00
Mark Andrews
1832348d27 add POST(len); 2018-02-16 18:44:47 +11:00
Mark Andrews
2670173c43 conditionally declare stacksize 2018-02-16 18:44:47 +11:00
Mark Andrews
ca738505ec add POST(len); 2018-02-16 18:43:59 +11:00
Mark Andrews
622bf9256b add POST(tl) 2018-02-16 18:43:46 +11:00
Mark Andrews
4404fcb384 return failure count 2018-02-16 18:42:11 +11:00
Mark Andrews
7245f12d3e conditionally declare strbuf 2018-02-16 18:41:31 +11:00
Mark Andrews
192a119b5a test for == 0 rather than <= as value is unsigned 2018-02-16 18:41:31 +11:00
Mark Andrews
872543eca7 add brackets 2018-02-16 18:37:05 +11:00
Mark Andrews
5de799a1c8 reorder test to silence cppcheck 2018-02-16 18:37:05 +11:00
Mark Andrews
32166fae3b remove event which is only used for sizeof 2018-02-16 18:37:05 +11:00
Mark Andrews
a4d8e7526a reorder test to silence cppcheck 2018-02-16 18:36:17 +11:00
Mark Andrews
324039934d use %u instead of %d 2018-02-16 18:36:17 +11:00
Mark Andrews
a6a6928e7e use %u instead of %d 2018-02-16 18:35:49 +11:00
Mark Andrews
fb188d4795 use %u instead of %d 2018-02-16 18:32:54 +11:00
Mark Andrews
f7c7a87cb4 use %u instead of %d 2018-02-16 18:30:18 +11:00
Mark Andrews
810fdbe4e7 use %u instead of %d 2018-02-16 18:30:18 +11:00
Mark Andrews
f6e83e4108 use %u instead of %d 2018-02-16 18:30:18 +11:00
Mark Andrews
9d061a7864 use %u instead of %d 2018-02-16 18:29:17 +11:00
Mark Andrews
a6f0a302ea case to unsigned; reorder expression 2018-02-16 18:25:33 +11:00
Mark Andrews
fd0877d294 simplify expression 2018-02-16 18:23:12 +11:00
Mark Andrews
ef0fb20613 use %u and preserve unsigned property 2018-02-16 18:23:11 +11:00
Mark Andrews
6cc168d6d4 cast to unsigned 2018-02-16 18:17:59 +11:00
Mark Andrews
bc7adce774 preserve unsigned property 2018-02-16 18:17:59 +11:00
Mark Andrews
b7a4a93b0d use %u instead of %d 2018-02-16 18:17:59 +11:00
Mark Andrews
5ae3eb3cfb make both arguments of & unsigned 2018-02-16 18:17:59 +11:00
Mark Andrews
cc21083141 use %u instead of %d 2018-02-16 18:16:48 +11:00
Mark Andrews
13421f89a2 shift unsigned (~0U) rather than signed (~0) contant 2018-02-16 18:16:48 +11:00
Mark Andrews
1bc27d6b26 use %u instead of %d 2018-02-16 18:16:48 +11:00
Mark Andrews
f693b488e1 unsigned constants 2018-02-16 18:15:21 +11:00
Mark Andrews
fe9ab35df1 unsigned constants 2018-02-16 18:13:08 +11:00
Mark Andrews
b6e6160df8 use %u instead of %d 2018-02-16 18:10:41 +11:00
Mark Andrews
606aa56e4f use %u instead of %d 2018-02-16 18:10:41 +11:00
Mark Andrews
131d4c873e use %u instead of %d 2018-02-16 18:08:58 +11:00
Mark Andrews
b3d10f1a43 use %u instead of %d 2018-02-16 18:06:58 +11:00
Mark Andrews
922ada36b5 formally cast to int; use %u instead of %d 2018-02-16 18:05:01 +11:00
Mark Andrews
726eaefd3e formally cast to int 2018-02-16 18:05:01 +11:00
Mark Andrews
62d579f152 use %u instead of %d 2018-02-16 18:05:01 +11:00
Mark Andrews
41ac666f4a use %u instead of %d 2018-02-16 18:04:27 +11:00
Mark Andrews
5c91a79de9 use %u instead of %d 2018-02-16 18:02:21 +11:00
Mark Andrews
3ddd77519d use %u instead of %d 2018-02-16 17:58:39 +11:00
Mark Andrews
e3bc8bc293 use %u instead of %d 2018-02-16 17:53:13 +11:00
Mark Andrews
75691e0d90 use %u instead of %d 2018-02-16 17:53:13 +11:00
Mark Andrews
01fd4fcca2 use %u instead of %d 2018-02-16 17:51:07 +11:00
Mark Andrews
a365729e6a make declarations consistent 2018-02-16 17:49:02 +11:00
Mark Andrews
5962de0c3e report argument error in human form 2018-02-16 17:49:02 +11:00
Mark Andrews
8498787e55 use %u instead of %d 2018-02-16 17:49:02 +11:00
Mark Andrews
2194d8674b use %u instead of %d 2018-02-16 17:49:02 +11:00
Mark Andrews
faabe3071c use %u instead of %d 2018-02-16 17:49:02 +11:00
Mark Andrews
028a719b2f use %u instead of %d 2018-02-16 17:49:02 +11:00
Mark Andrews
5c28ae51c5 use %u instead of %d 2018-02-16 17:49:02 +11:00
Mark Andrews
92a93137fc use %u instead of %i 2018-02-16 17:46:46 +11:00
Mark Andrews
abc877a61a use %u rather than %d; pass a unsigned int pointer 2018-02-16 17:44:39 +11:00
Mark Andrews
92eeb710c3 clear *logp 2018-02-16 17:44:39 +11:00
Mark Andrews
8251280d02 use %u instead of %d 2018-02-16 17:44:39 +11:00
Mark Andrews
2b64fa5994 signed vs unsigned fixes 2018-02-16 17:42:57 +11:00
Tinderbox User
1a63a9b4b2 regen v9_9 2018-02-15 19:47:47 +00:00
Evan Hunt
ff9f94f78a [v9_9] prep 9.9.12rc1 2018-02-15 11:20:01 -08:00
Evan Hunt
950777feb8 [v9_9] copyrights 2018-02-10 16:32:35 -08:00
Mark Andrews
c6cd108838 check warning text 2018-02-09 14:04:35 +11:00
Mark Andrews
8e700f440d get the correct test file
(cherry picked from commit ae09500989)
2018-02-09 13:57:52 +11:00
Evan Hunt
e2170a7769 [v9_9] fix test error 2018-02-08 18:46:11 -08:00
Evan Hunt
8ac589acc5 [rt43670] more emphatic warning 2018-02-09 12:29:29 +11:00
Mark Andrews
f6b7ff7280 fix meger error 2018-02-09 12:20:34 +11:00
Mark Andrews
11221a5504 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:16:30 +11:00
Evan Hunt
43dfbaef94 [v9_9] fix typo 2018-02-08 16:16:30 -08:00
Tinderbox User
af6854e060 update copyright notice / whitespace 2018-02-08 23:53:55 +00:00
Tinderbox User
c64c974891 newcopyrights 2018-02-08 23:30:54 +00:00
Mark Andrews
e004a9a491 [v9_9] 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:36:44 -08:00
Mark Andrews
676dafa28c add IgnoreImportLibrary 2018-02-08 18:30:37 +11:00
Tinderbox User
6d013aed03 regen v9_9 2018-02-08 01:43:29 +00:00
Tinderbox User
0cba4c94d4 update copyright notice / whitespace 2018-02-07 23:52:52 +00:00
Tinderbox User
6ce1da9ef9 newcopyrights 2018-02-07 23:34:57 +00:00
Mark Andrews
e8cf0beea2 add note for update-policy rules changes
(cherry picked from commit ff8f2a584d)
2018-02-07 14:04:06 +11:00
Mark Andrews
274b1ae55a 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:51:05 +11:00
Mark Andrews
61fea4f83b look for #! to determine if the file is PYTHON or PYTHON-BIN
(cherry picked from commit 4fcc550877)
2018-02-05 11:41:05 +11:00
Tinderbox User
1cbeda829d update copyright notice / whitespace 2018-01-30 23:50:48 +00:00
Tinderbox User
c3f7cbf61d newcopyrights 2018-01-30 23:31:14 +00:00
Evan Hunt
f98e326f8e [v9_9] use 'command' instead of 'type' to find atf-run and kyua paths 2018-01-30 10:33:46 -08:00
Evan Hunt
fd135e541e [v9_9] remove 'ply' requirement, not needed before 9.11
(cherry picked from commit c6a2350fb7)
2018-01-30 09:19:22 -08:00
Evan Hunt
4e3c68e863 [v9_9] typo 2018-01-30 09:15:18 -08:00
Mark Andrews
e1994f4fd9 4882. [bug] Address potential memory leak in
dns_update_signaturesinc. [RT #47084]

(cherry picked from commit 7817caa3c7)
2018-01-30 15:29:41 +11:00
Mark Andrews
7e6d7232c7 4879. [bug] dns_rdata_caa:value_len is was small. [RT #47086]
(cherry picked from commit 3ae586b857)
2018-01-30 11:01:02 +11:00
Tinderbox User
8aad9a803f update copyright notice / whitespace 2018-01-29 23:50:23 +00:00
Tinderbox User
8835d39e4b newcopyrights 2018-01-29 23:30:40 +00:00
Mark Andrews
996b041ed4 4878. [bug] List 'ply' as a requirement for the 'isc' python
package. [RT #47065]

(cherry picked from commit 6e08af82ed)
2018-01-29 13:30:59 +11:00
Tinderbox User
763a9ad41f update copyright notice / whitespace 2018-01-24 23:49:40 +00:00
Tinderbox User
5b43fe60c5 newcopyrights 2018-01-24 23:30:30 +00:00
Tinderbox User
470cee7071 regen v9_9 2018-01-24 21:11:07 +00:00
Evan Hunt
7fe379bf51 [v9_9] change uint to isc_uint 2018-01-24 11:02:45 -08:00
Evan Hunt
0712192947 [v9_9] update 9.11 api range 2018-01-24 10:24:48 -08:00
Evan Hunt
00947bf45d [v9_9] prep 9.9.12b1 2018-01-24 10:15:30 -08:00
Evan Hunt
12edba1c1b [v9_9] copyrights 2018-01-24 09:53:05 -08:00
Mark Andrews
cc30c2c06a 4876. [bug] Address deadlock with accessing a keytable. [RT #47000] 2018-01-24 21:43:52 +11:00
Tinderbox User
135d4c632c update copyright notice / whitespace 2018-01-23 23:49:46 +00:00
Tinderbox User
8f93b51d9b newcopyrights 2018-01-23 23:30:27 +00:00
Mark Andrews
54945751e2 4874. [bug] Wrong time display when reporting new keywarntime.
[RT #47042]

(cherry picked from commit 83d005de61)
2018-01-24 08:01:17 +11:00
Tinderbox User
6650f52fec regen v9_9 2018-01-23 01:24:40 +00:00
Tinderbox User
0478b1d205 update copyright notice / whitespace 2018-01-22 23:49:47 +00:00
Tinderbox User
89968f2dab newcopyrights 2018-01-22 23:40:24 +00:00
Mark Andrews
d244983672 doc/misc/*.zoneopt are X
(cherry picked from commit 7f4dfa539c)
2018-01-23 10:39:36 +11:00
Tinderbox User
d530e50f1f newcopyrights 2018-01-22 23:33:48 +00:00
Mukund Sivaraman
ef838436ef Don't permit loading meta RR types such as TKEY from master files (#47009)
(cherry picked from commit 8a4ce20172)
(cherry picked from commit c8eb726046)
(cherry picked from commit 6fb3db01ac)
(cherry picked from commit 96456c0834)
2018-01-22 15:03:31 +05:30
Mukund Sivaraman
18fca91e74 Fix configure issue detecting stdatomic.h support (#46959)
(cherry picked from commit 63d0c6a3fc)
(cherry picked from commit 7e1ed15762)
(cherry picked from commit fd82c70695)
(cherry picked from commit 7c36869fdf)
2018-01-22 13:53:32 +05:30
Mark Andrews
061199c4d9 remove old entries
(cherry picked from commit 54c4adef80)
2018-01-22 11:28:59 +11:00
Tinderbox User
ecfc27bf6d update copyright notice / whitespace 2018-01-21 23:49:55 +00:00
Tinderbox User
21718fd6a7 newcopyrights 2018-01-21 23:35:11 +00:00
Mark Andrews
e54847154f 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:01:01 +11:00
Mark Andrews
2f346f4275 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:42:25 +11:00
Tinderbox User
97f23a2202 newcopyrights 2018-01-19 23:31:00 +00:00
Tinderbox User
f305f65ea5 regen v9_9 2018-01-19 01:37:38 +00:00
Tinderbox User
44e1182a87 update copyright notice / whitespace 2018-01-18 23:50:43 +00:00
Tinderbox User
5beb70f9c8 newcopyrights 2018-01-18 23:30:43 +00:00
Evan Hunt
de38f4a19a [v9_9] fix merge error
(cherry picked from commit cdda779d07)
2018-01-18 13:30:03 -08:00
Evan Hunt
1b2b139592 [v9_9] 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)
(cherry picked from commit 4221d9cd1d)
(cherry picked from commit d75441a500)
2018-01-18 10:54:54 -08:00
Tinderbox User
8d5a01a868 update copyright notice / whitespace 2018-01-13 23:50:30 +00:00
Tinderbox User
5ead9ed920 newcopyrights 2018-01-13 23:30:50 +00:00
Mukund Sivaraman
4f47e5fd63 Fix various bugs reported by valgrind --tool=memcheck (#46978)
(cherry picked from commit f96133826e)
(cherry picked from commit 0374e1c3fd)
(cherry picked from commit 929329d2d6)
(cherry picked from commit d072be0691)
2018-01-13 12:02:18 +05:30
Mark Andrews
a8b6d87ebe ret was not being set to 1 on dig error. [RT #46990]
(cherry picked from commit 69c4c987f6)
2018-01-13 13:18:15 +11:00
Tinderbox User
a0a1ae4cc1 update copyright notice / whitespace 2018-01-11 23:49:10 +00:00
Tinderbox User
867adec491 newcopyrights 2018-01-11 23:30:35 +00:00
Evan Hunt
72b980db23 [v9_9] go three section levels deep in the ARM table of contents
(cherry picked from commit 0c061ce614)
2018-01-11 13:41:40 -08:00
Tinderbox User
4c71ca4ae7 update copyright notice / whitespace 2018-01-10 23:57:36 +00:00
Tinderbox User
515f3bd86b newcopyrights 2018-01-10 23:31:15 +00:00
Mark Andrews
be5f692681 grammar
(cherry picked from commit a35b95acb1)
2018-01-11 09:55:33 +11:00
Mark Andrews
efb95afc6f 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:55:07 +11:00
Tinderbox User
536fe358af update copyright notice / whitespace 2018-01-09 23:49:31 +00:00
Tinderbox User
8ea32cfdf3 newcopyrights 2018-01-09 23:30:27 +00:00
Mark Andrews
55c81d796c 4860. [bug] isc_int8_t should be signed char. [RT #46973]
(cherry picked from commit 21f708c88c)
2018-01-10 08:42:38 +11:00
Tinderbox User
007ab1019f newcopyrights 2018-01-05 23:30:23 +00:00
Mark Andrews
79dc8a0013 test devent->sigrdataset rather than devent->rdataset before calling query_putrdataset
(cherry picked from commit e08a31e317)
2018-01-05 12:41:51 +11:00
Tinderbox User
e75efb5b43 regen v9_9 2018-01-05 01:40:06 +00:00
Mark Andrews
455296d36a Revert "unconditionally typedef summarystat_t for coverity"
This reverts commit 59c2cad2f3.
2018-01-05 11:10:28 +11:00
Tinderbox User
f3e5a44f00 update copyright notice / whitespace 2018-01-04 23:47:43 +00:00
Tinderbox User
5bce14d090 newcopyrights 2018-01-04 23:30:34 +00:00
Mark Andrews
59c2cad2f3 unconditionally typedef summarystat_t for coverity
(cherry picked from commit a0e66ef6dd)
2018-01-05 10:12:16 +11:00
Evan Hunt
2921125a40 [v9_9] typo 2018-01-03 19:30:35 -08:00
Evan Hunt
f6ec7f6b99 [v9_9] 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:59 -08:00
Mark Andrews
385d0b66e0 4857. [bug] Maintain attach/detach semantics for event->db,
event->node, event->rdataset and event->sigrdataset
                        in query.c. [RT #46891]

(cherry picked from commit cad79077bd)
2018-01-04 13:20:34 +11:00
Tinderbox User
01dd316a95 update copyright notice / whitespace 2018-01-03 23:47:32 +00:00
Tinderbox User
fecf11b50f newcopyrights 2018-01-03 23:30:22 +00:00
Mark Andrews
26be82ee90 missing newline in comment
(cherry picked from commit 7258b852cf)
2018-01-03 17:12:04 +11:00
Tinderbox User
3d87b339d1 update copyright notice / whitespace 2018-01-02 23:47:41 +00:00
Tinderbox User
2668b95937 newcopyrights 2018-01-02 23:30:24 +00:00
Tinderbox User
2bf55621ac regen v9_9 2018-01-02 01:40:42 +00:00
Mark Andrews
4d16a4653d 4852. [bug] Add REQUIRE's and INSIST's to isc_time_formattimestamp,
isc_time_formathttptimestamp, isc_time_formatISO8601.
                        [RT #46892]
2018-01-02 10:49:43 +11:00
Tinderbox User
2c0cfa6398 update copyright notice / whitespace 2018-01-01 23:47:39 +00:00
Tinderbox User
7904434f8f newcopyrights 2018-01-01 23:30:38 +00:00
Mark Andrews
87710f11d8 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:22:29 +11:00
Tinderbox User
a0bce5b943 newcopyrights 2017-12-29 23:32:25 +00:00
Tinderbox User
bb69fd0a5e regen v9_9 2017-12-29 07:38:35 +00:00
Mark Andrews
6cda436b33 X Kyuafile's
(cherry picked from commit fa0caa1f85)
2017-12-29 13:42:35 +11:00
Tinderbox User
7aeee801e6 regen v9_9 2017-12-29 02:41:20 +00:00
Mark Andrews
b4e91bdae5 silence clang static analysis
(cherry picked from commit f933be6d45)
2017-12-22 13:09:44 +11:00
Mark Andrews
9711fe2244 initalize sigsize to zero; ATF_CHECK_EQ(sigsize, tsig.siglen);
(cherry picked from commit 9f61f6b46b)
2017-12-22 08:59:15 +11:00
Tinderbox User
dce370c959 regen v9_9 2017-12-21 01:41:40 +00:00
Mark Andrews
7a4bb46dd1 lowercase m in macOS
(cherry picked from commit 2cc7c4d62c)
2017-12-21 10:58:06 +11:00
Francis Dupont
ef75e19ff6 Fixed embedded atf code warning (RT 46833) 2017-12-18 16:20:00 +01:00
Tinderbox User
0cfdad53dc regen v9_9 2017-12-16 01:47:39 +00:00
Mark Andrews
aeb6df2983 fix case
(cherry picked from commit 68a2932f75)
2017-12-15 14:54:30 +11:00
Mark Andrews
fa39c8ad72 add MacOS to contents
(cherry picked from commit 13508261e0)
2017-12-15 14:47:03 +11:00
Mark Andrews
2406a700f9 add MacOS note
(cherry picked from commit 91e4700bcc)
2017-12-15 14:39:33 +11:00
Mark Andrews
7210904eb9 backport support for Windows differences 2017-12-13 17:51:29 +11:00
Mark Andrews
26facb12cb test for key != NULL on error path
(cherry picked from commit 9bad78cbc2)
2017-12-13 15:13:30 +11:00
Mark Andrews
93b42ff4cc 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)
(cherry picked from commit 0f14b04132)
(cherry picked from commit 265ba7d08b)
2017-12-13 10:38:48 +11:00
Mark Andrews
2884abf6a1 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:25:12 +11:00
Tinderbox User
8f8e4b6505 regen v9_9 2017-12-09 01:38:38 +00:00
Tinderbox User
fd254260b6 newcopyrights 2017-12-08 23:30:31 +00:00
Mark Andrews
60a1305469 increment test number
(cherry picked from commit e5c2cfdbf9)
2017-12-08 14:51:37 +11:00
Evan Hunt
591c63758d [v9_9] document "fixedpoint" 2017-12-07 19:01:32 -08:00
Mark Andrews
e68c3d1c7e 4844. [test] Address memory leaks in libatf-c. [RT #46798]
(cherry picked from commit 1c794002f5)
2017-12-08 12:35:03 +11:00
Mark Andrews
fdb6a8e3c9 4843. [bug] dnssec-signzone free hashlist on exit. [RT #46791]
(cherry picked from commit 8444b4856a)
2017-12-07 19:30:24 +11:00
Mark Andrews
4e7801ebfd 4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
warnings about unused function. [RT #46790]

(cherry picked from commit 63459cdc05)
(cherry picked from commit 2d82ed9456)
2017-12-07 13:41:50 +11:00
Tinderbox User
92c1063230 update copyright notice / whitespace 2017-12-06 23:48:04 +00:00
Tinderbox User
67b2782b43 newcopyrights 2017-12-06 23:30:49 +00:00
Mark Andrews
7b34ba54c9 4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
(cherry picked from commit 9d5a0abe81)
(cherry picked from commit 58c86991ee)
2017-12-06 21:05:34 +11:00
Mark Andrews
4a51a6fd40 4840. [test] Add tests to cover fallback to using ZSK on inactive
KSK. [RT #46787]

(cherry picked from commit 32d09cd7e0)
(cherry picked from commit 0d6328ce5f)
(cherry picked from commit 51f13bcd2f)
2017-12-06 20:50:56 +11:00
Tinderbox User
2fb2f85572 regen v9_9 2017-12-06 01:39:53 +00:00
Tinderbox User
d114b94481 update copyright notice / whitespace 2017-12-05 23:48:43 +00:00
Tinderbox User
99069f6859 newcopyrights 2017-12-05 23:30:50 +00:00
Curtis Blackburn
60b4b5ead3 clarify "stage 1" and "stage 2" in autosign test 2017-12-05 10:05:21 -08:00
Mark Andrews
02324ce60a set the DNSKEY deletion time to now+5 once we got all the zones into their initial state
(cherry picked from commit ecafa2ae50)
(cherry picked from commit 15057131d5)
2017-12-05 21:43:13 +11:00
Mark Andrews
124a44db43 use 9.11 and earlier syntax for dnssec-keygen
(cherry picked from commit 7f31784c52)
2017-12-05 20:44:20 +11:00
Mark Andrews
6f1e9471fa add [RT #46774]
(cherry picked from commit 77f9623439)
2017-12-05 16:14:51 +11:00
Mark Andrews
3666b9bfb6 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:12:05 +11:00
Tinderbox User
087be21e1b regen v9_9 2017-12-05 01:31:52 +00:00
Tinderbox User
55da37ecc7 update copyright notice / whitespace 2017-12-04 23:51:02 +00:00
Evan Hunt
36794f5653 [v9_9] fix test descriptions 2017-12-04 15:48:09 -08:00
Evan Hunt
facc6fc966 [v9_9] revised release note 2017-12-04 15:37:47 -08:00
Tinderbox User
afb7408d08 newcopyrights 2017-12-04 23:31:38 +00:00
Mark Andrews
8d9bbc5128 add note for [RT #46743] and [RT #46754]
(cherry picked from commit 9ff34db455)
(cherry picked from commit 15bc7f54ff)
2017-12-05 09:54:24 +11:00
Mark Andrews
2c0a365200 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)
(cherry picked from commit 677f507de7)
2017-12-05 09:44:49 +11:00
Tinderbox User
bd9577293b update copyright notice / whitespace 2017-12-03 23:47:49 +00:00
Tinderbox User
f9161a79bf newcopyrights 2017-12-03 23:30:34 +00:00
Mark Andrews
5ed673c0d2 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)
(cherry picked from commit bf459d24a1)
(cherry picked from commit 5623f65cc4)
2017-12-04 10:09:45 +11:00
Tinderbox User
53495041f9 regen v9_9 2017-12-01 01:32:01 +00:00
Tinderbox User
03674299c7 update copyright notice / whitespace 2017-11-30 23:50:30 +00:00
Tinderbox User
9343980c29 newcopyrights 2017-11-30 23:31:22 +00:00
Evan Hunt
17122341fe [v9_9] 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)
(cherry picked from commit f53e0bda46)
(cherry picked from commit 9dfff4e378)
2017-11-30 13:34:53 -08:00
Tinderbox User
a0c8227d06 update copyright notice / whitespace 2017-11-29 23:47:59 +00:00
Mark Andrews
5e94477563 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:39:29 +11:00
Tinderbox User
be0cf6ba6a newcopyrights 2017-11-29 23:30:30 +00:00
Mark Andrews
a267c17a85 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:31:53 +11:00
Tinderbox User
0b464aa2fe regen v9_9 2017-11-29 01:32:11 +00:00
Tinderbox User
c49b27bc75 update copyright notice / whitespace 2017-11-28 23:48:09 +00:00
Tinderbox User
10a446524d newcopyrights 2017-11-28 23:30:58 +00:00
Michał Kępień
fa9d613af9 [v9_9] 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:28 +01:00
Mark Andrews
76cff0f786 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 19:04:56 +11:00
Mark Andrews
900560e800 map more entry points to <name>64 2017-11-28 14:16:57 +11:00
Mark Andrews
ade2ece256 #define update_recordsandbytes update_recordsandbytes64 2017-11-28 14:16:01 +11:00
Tinderbox User
88dcddea15 regen v9_9 2017-11-28 01:31:46 +00:00
Tinderbox User
230916c184 update copyright notice / whitespace 2017-11-27 23:50:30 +00:00
Tinderbox User
8d20dc227b newcopyrights 2017-11-27 23:31:12 +00:00
Mark Andrews
d5b0589e4c restore setting header->heap_index to zero in setsigningtime
(cherry picked from commit c22b540e4c)
2017-11-28 06:47:49 +11:00
Michał Kępień
a59eb10b23 [v9_9] Stabilize nsupdate system test [RT #46673]
(cherry picked from commit 00ff44c7c2)
2017-11-27 10:16:09 +01:00
Michał Kępień
e85163f84c [v9_9] Fix OPTIONS formatting
(cherry picked from commit ea9b7c7ed7)
2017-11-27 09:40:25 +01:00
Mark Andrews
d42c4a628d 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:23:16 +11:00
Mark Andrews
d049bb62b8 add missing symbols 2017-11-27 15:04:33 +11:00
Mark Andrews
08bd76a17c 4827. [misc] Add a precommit check script util/checklibs.sh
[RT #46215]
2017-11-27 15:01:35 +11:00
Mark Andrews
abbc4b2c4f 4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
[RT #45433]
2017-11-27 13:30:58 +11:00
Tinderbox User
d9d5eb26d9 update copyright notice / whitespace 2017-11-23 23:48:18 +00:00
Tinderbox User
e5585c8039 newcopyrights 2017-11-23 23:30:30 +00:00
Mark Andrews
c4f2e47fea silence %lu vs size_t warning by casting to (unsigned long)
(cherry picked from commit 1dc8208a89)
2017-11-24 10:26:48 +11:00
Mark Andrews
889cc681eb 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:14 +11:00
Michał Kępień
2a44ffeed8 [v9_9] 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 600e425eb2)
2017-11-23 11:47:15 +01:00
Mark Andrews
8572cac546 silence compiler warning [RT #46471] 2017-11-23 17:04:01 +11:00
Mark Andrews
f020870e4a remove bin/tests/system/reclimit/ans4/ans.pl 2017-11-23 12:11:04 +11:00
Tinderbox User
f2f3b68ac7 update copyright notice / whitespace 2017-11-21 23:47:58 +00:00
Tinderbox User
ffdd1ec718 newcopyrights 2017-11-21 23:30:32 +00:00
Michał Kępień
bbfa83da40 [v9_9] Refactor reclimit system test
4823.	[test]		Refactor reclimit system test to improve its
			reliability and speed. [RT #46632]

(cherry picked from commit 1fd4803e84)
2017-11-21 10:34:03 +01:00
Tinderbox User
a42d1f9000 update copyright notice / whitespace 2017-11-17 23:47:28 +00:00
Mark Andrews
ae7cb54fe0 remove out of date comment
(cherry picked from commit a197094d76)
2017-11-18 08:52:10 +11:00
Mark Andrews
8187dfac8c 4822. [bug] Use resign_sooner in dns_db_setsigningtime. [RT #46473]
(cherry picked from commit f975d0acaa)
2017-11-18 07:51:30 +11:00
Mark Andrews
cae44b160b 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:32:10 +11:00
Tinderbox User
7fed20ed8f update copyright notice / whitespace 2017-11-16 23:48:10 +00:00
Tinderbox User
8048bc0993 newcopyrights 2017-11-16 23:30:36 +00:00
Michał Kępień
a3b4977931 [v9_9] Stabilize logfileconfig system test
4818.	[test]		The logfileconfig system test could intermittently
			report false negatives on some platforms. [RT #46615]

(cherry picked from commit 169ce30bf7)
2017-11-16 08:17:18 +01:00
Tinderbox User
d5aa066651 newcopyrights 2017-11-13 23:30:40 +00:00
Mark Andrews
49299282a5 fix merge error 2017-11-13 12:48:50 +11:00
Mark Andrews
19f7fffacd more AS_HELP_STRING 2017-11-13 12:44:44 +11:00
Mark Andrews
693f6638a5 more AS_HELP_STRING 2017-11-13 12:43:46 +11:00
Mark Andrews
e3286b980e 4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521]
(cherry picked from commit 6bbbf12936)
2017-11-13 12:39:48 +11:00
Michał Kępień
c799c10ffe [v9_9] 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 54c1627c6f)
2017-11-09 15:21:04 +01:00
Tinderbox User
ec547a9877 update copyright notice / whitespace 2017-11-08 23:48:10 +00:00
Tinderbox User
b682348ac5 newcopyrights 2017-11-08 23:30:30 +00:00
Michał Kępień
dbda79e4ec [v9_9] Prevent junk from being logged when using "also-notify { <ip> key <keyname>; };"
(cherry picked from commit 4034b098d8)
2017-11-08 09:22:34 +01:00
Michał Kępień
14e1eac55c [v9_9] 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:22:31 +01:00
Tinderbox User
003e886bda regen v9_9 2017-11-08 01:36:55 +00:00
Mark Andrews
38400d2bec 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:47 +11:00
Evan Hunt
0e99de2897 [v9_9] 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:29:07 -08:00
Tinderbox User
08aafe4640 regen v9_9 2017-11-03 01:32:51 +00:00
Tinderbox User
f8a2d1a7c9 update copyright notice / whitespace 2017-11-02 23:48:31 +00:00
Tinderbox User
6fff7f2e15 newcopyrights 2017-11-02 23:30:28 +00:00
Evan Hunt
e754ae67a7 [v9_9] clarify doc on zone refresh and expiry 2017-11-01 23:08:25 -07:00
Evan Hunt
2534b26732 [v9_9] removed references to obsolete versions in documentation 2017-11-01 22:21:00 -07:00
Mark Andrews
90f743306c 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:40 +11:00
Mark Andrews
6909f46b2d fix merge error
(cherry picked from commit 48865bf022)
2017-11-01 11:58:28 +11:00
Tinderbox User
709025bb14 update copyright notice / whitespace 2017-10-31 23:48:39 +00:00
Mark Andrews
3b9332a20d 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:47:52 +11:00
Michał Kępień
7e6fe17488 [v9_9] Backport fix for RT #46055
4803.   [bug]		Backport fix for RT #46055 from RT #46267. [RT #46430]

(cherry picked from commit 406caf7b9c)
2017-10-31 06:13:16 +01:00
Mark Andrews
b746de8891 tmp should be a (struct in_addr) not (struct in_addr *)
(cherry picked from commit 6e02359034)
2017-10-31 10:36:14 +11:00
Tinderbox User
dcbbdce8e1 regen v9_9 2017-10-30 01:31:07 +00:00
Evan Hunt
5f0cc4be38 [v9_9] copyrights 2017-10-29 16:44:31 -07:00
Mark Andrews
e1dd822fc3 number tests 2017-10-30 08:32:18 +11:00
Mark Andrews
24592f9f78 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:20:51 +11:00
Mark Andrews
6ae0880ad0 allow for numbered namedX.args
(cherry picked from commit 4cbaa08602)
2017-10-28 10:54:30 +11:00
Tinderbox User
c5cc8a3498 update copyright notice / whitespace 2017-10-26 23:49:18 +00:00
Mark Andrews
5edaaffd29 .md for MKD
(cherry picked from commit f808b5e0d2)
2017-10-27 10:41:54 +11:00
Tinderbox User
51457bf78a newcopyrights 2017-10-26 23:30:31 +00:00
Evan Hunt
328f8a440b [v9_9] 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)
(cherry picked from commit ef844e095f)
2017-10-25 23:31:32 -07:00
Evan Hunt
b783e3dfc7 [v9_9] clean up DNS_MESSAGETEXTFLAG comments
(cherry picked from commit 89d1777560)
2017-10-25 21:34:58 -07:00
Tinderbox User
1b3e20fc34 regen v9_9 2017-10-26 01:38:49 +00:00
Tinderbox User
f46bfe0899 update copyright notice / whitespace 2017-10-25 23:55:13 +00:00
Tinderbox User
43dba14484 newcopyrights 2017-10-25 23:31:06 +00:00
Evan Hunt
f5a9a4d52c [v9_9] fix some documentation errors [RT #45527]
(cherry picked from commit 81570e84a2)
2017-10-25 11:06:39 -07:00
Mark Andrews
d6802cfd42 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:31:36 +11:00
Evan Hunt
dcaf355f00 [v9_9] 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 01:09:41 -07:00
Michał Kępień
c6753bad79 [v9_9] 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 54a43e9bf1)
2017-10-25 09:51:06 +02:00
Mark Andrews
42f1b7e3e8 read dig.out.ns3.test$n rather than dig.out.ns2.test$n
(cherry picked from commit 80739779fc)
2017-10-25 15:03:28 +11:00
Tinderbox User
79080a4014 regen v9_9 2017-10-25 01:38:04 +00:00
Tinderbox User
c53d3336d6 update copyright notice / whitespace 2017-10-24 23:53:22 +00:00
Tinderbox User
c763c1c0c1 newcopyrights 2017-10-24 23:31:49 +00:00
Mark Andrews
8221d208a7 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:22:28 +11:00
Michał Kępień
eba17e0581 [v9_9] 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:11:56 +02:00
Evan Hunt
3dbc4979c6 [v9_9] fix merge error; missing hunk from change 4780
(cherry picked from commit 4d39bffd95)
2017-10-24 10:10:04 -07:00
Evan Hunt
9c1540b207 [v9_9] update B.ROOT-SERVERS.NET 2017-10-24 09:17:36 -07:00
Mark Andrews
6455eec8e2 remove redundent reconfig; number tests 2017-10-24 14:46:27 +11:00
Evan Hunt
d67a5c4867 [v9_9] zone "file" option was undocumented
(cherry picked from commit b1042e011c)
2017-10-23 19:41:14 -07:00
Evan Hunt
0a5b0a447e [v9_9] 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]

(cherry picked from commit b7b76d6b85)
(cherry picked from commit 13435af49a)
2017-10-23 19:38:29 -07:00
Mark Andrews
ab342443aa report if named.run or named.memstats not removed after successful test
(cherry picked from commit 5bead588b7)
2017-10-24 12:48:51 +11:00
Evan Hunt
18c1e4dc98 [v9_9] clean up a redundancy
4777.	[cleanup]	Removed a redundant call to configure_view_acl().
			[RT #46369]

(cherry picked from commit 89636d8f30)
(cherry picked from commit a06198688f)
(cherry picked from commit 33ab321a97)
2017-10-23 11:13:18 -07:00
Tinderbox User
f67ede6a22 regen v9_9 2017-10-22 01:37:40 +00:00
Evan Hunt
30e9e136e2 [v9_9] doc nit: Base64 is capitalized and not hyphenated
(cherry picked from commit 321b8429f5)
2017-10-21 13:30:22 -07:00
Evan Hunt
0e661d4079 [v9_9] add DNS_RPZ_MAX_ZONES to OPTIONS
(cherry picked from commit 172aa40e8f)
(cherry picked from commit fd1a7af399)
2017-10-21 13:29:39 -07:00
Evan Hunt
9c84f65183 [v9_9] test for Net::DNS::Nameserver in prereq.sh
(cherry picked from commit 475c51cce0)
2017-10-21 00:29:27 -07:00
Tinderbox User
4d2eba7dd4 regen v9_9 2017-10-21 01:44:47 +00:00
Mark Andrews
750efb9474 use correct tag
(cherry picked from commit 317330c25a)
2017-10-20 19:06:46 +11:00
Tinderbox User
c03546313c regen v9_9 2017-10-20 01:36:58 +00:00
Mark Andrews
1a26741d87 include "../mkd"; as we have already changed working directory
(cherry picked from commit b71747f765)
2017-10-20 11:50:06 +11:00
Tinderbox User
2f5154f3b1 update copyright notice / whitespace 2017-10-19 23:49:30 +00:00
Tinderbox User
145a5a173e newcopyrights 2017-10-19 23:31:13 +00:00
Mark Andrews
ee8b405480 s/made/may/ 2017-10-20 10:28:39 +11:00
Mark Andrews
33ad482f6c note removal of <isc/util.h> from other header files
(cherry picked from commit 9e5439a6d8)
2017-10-20 10:27:24 +11:00
Mark Andrews
c95fcb3dca deprecated.h is not part of BIND 9.9 (yet) 2017-10-20 10:07:16 +11:00
Evan Hunt
618b354e3a [v9_9] add missing headers [RT #46337] 2017-10-19 11:23:43 -07:00
Mark Andrews
54eb949c35 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 17:00:13 +11:00
Evan Hunt
9ad9f7694d [v9_9] skip managed-keys reconfig tests in runtime if no crypto [RT #46327]
(cherry picked from commit b093b684a6)
(cherry picked from commit b5c1d2bc01)
2017-10-18 22:29:21 -07:00
Evan Hunt
dd6b511f26 [v9_9] remove reference to ht.h 2017-10-18 19:54:22 -07:00
Mark Andrews
40e08f66a8 4774. [bug] <isc/util.h> was incorrectly included in several
header files. [RT #46311]
2017-10-19 12:54:44 +11:00
Tinderbox User
e5d34a308a regen v9_9 2017-10-19 01:36:10 +00:00
Evan Hunt
eb66afdde0 [v9_9] copyrights 2017-10-18 17:34:15 -07:00
Evan Hunt
8b35d08f70 [v9_9] 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]

(cherry picked from commit 56e30ebae6)
(cherry picked from commit b6b2b0b9b5)
2017-10-17 21:39:05 -07:00
Tinderbox User
873a270553 regen v9_9 2017-10-18 01:39:37 +00:00
Tinderbox User
b17ca7e7f1 update copyright notice / whitespace 2017-10-17 23:53:44 +00:00
Tinderbox User
dc78e3ca61 newcopyrights 2017-10-17 23:31:37 +00:00
Evan Hunt
0d0b16c1f5 [v9_9] README and relnote fixes
(cherry picked from commit 30419509dd)
(cherry picked from commit e609b6b32b)
(cherry picked from commit 04f334e4b0)
2017-10-17 13:53:21 -07:00
Michał Kępień
eb2c3bdfae [v9_9] 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 5e6d28e1b7)
2017-10-17 08:13:40 +02:00
Michał Kępień
3a38ada70d [v9_9] 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:48:05 +02:00
Tinderbox User
148bd18c76 update copyright notice / whitespace 2017-10-13 23:48:17 +00:00
Tinderbox User
457e451b14 newcopyrights 2017-10-13 23:30:38 +00:00
Evan Hunt
a510be00ad [v9_9] fix filter-aaaa test [RT #46268]
(cherry picked from commit 666af25a92)
2017-10-13 11:12:29 -07:00
Tinderbox User
0f155d79a0 update copyright notice / whitespace 2017-10-11 23:48:25 +00:00
Tinderbox User
d7830df238 newcopyrights 2017-10-11 23:30:57 +00:00
Mark Andrews
6568dded83 reserve subscription flags
(cherry picked from commit a9a983781e)
2017-10-12 09:20:31 +11:00
Evan Hunt
c7a13bf188 [v9_9] 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)
(cherry picked from commit b8d1e3cd5d)
2017-10-11 14:37:30 -07:00
Evan Hunt
ccad706f63 [v9_9] 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)
(cherry picked from commit 6216df5ccd)
(cherry picked from commit 07e25984b8)
2017-10-11 09:21:21 -07:00
Evan Hunt
58b81a5e63 [v9_9] Move KRB5_CONFIG=/dev/null to conf.sh.* so the named run in the tests gets the setting
(cherry picked from commit 74f46c45b0)
(cherry picked from commit d1aa5125a9)
2017-10-11 08:52:27 -07:00
Michał Kępień
89e10f4b41 [v9_9] Sync draft-durand-doa-over-dns snippet in lib/dns/tests/rdata_test.c with draft version -03 2017-10-09 10:53:15 +02:00
Mark Andrews
a3d6b515a0 4766. [cleanup] Addresss Coverity warnings. [RT #46150]
(cherry picked from commit 5df3f839b2)
2017-10-09 18:39:07 +11:00
Tinderbox User
a85db07426 regen v9_9 2017-10-09 01:32:04 +00:00
Mark Andrews
d4ad7867bb cleanup 2017-10-09 11:20:16 +11:00
Evan Hunt
edc519742e [v9_9] add DOA to ARM 2017-10-07 19:34:57 -07:00
Tinderbox User
9fe47a6104 newcopyrights 2017-10-07 23:31:14 +00:00
Mark Andrews
2920d65a7d don't force souce port
(cherry picked from commit 02a669a9a6)
2017-10-08 06:46:57 +11:00
Tinderbox User
c6462eeb3e regen v9_9 2017-10-07 01:36:36 +00:00
Evan Hunt
474caa0473 [v9_9] add missing names 2017-10-06 17:39:15 -07:00
Mark Andrews
3bee64f722 Normalize all the line endings 2017-10-07 11:25:48 +11:00
Tinderbox User
ab0f4f3a40 update copyright notice / whitespace 2017-10-06 23:48:57 +00:00
Tinderbox User
1e38cd0470 newcopyrights 2017-10-06 23:31:31 +00:00
Evan Hunt
5cdb31e8df [v9_9] 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:42:54 -07:00
Michał Kępień
c32a80e1d6 [v9_9] Add support for DOA
4761.	[protocol]	Add support for DOA. [RT #45612]

(cherry picked from commit 4ee1fbe056)
2017-10-06 13:00:00 +02:00
Evan Hunt
db719cde0e [v9_9] fix topology doc
4758.	[doc]		Remove documentation of unimplemented "topology".
			[RT #46161]
2017-10-05 18:52:24 -07:00
Tinderbox User
ad549211bf regen v9_9 2017-10-06 01:34:09 +00:00
Tinderbox User
e862384f39 update copyright notice / whitespace 2017-10-05 23:48:31 +00:00
Tinderbox User
faa0676625 newcopyrights 2017-10-05 23:31:23 +00:00
Evan Hunt
dd01fa285b [v9_9] revise style guide information on bracing 2017-10-05 11:28:31 -07:00
Michał Kępień
5b39c51232 [v9_9] 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 1ddb1cd440)
2017-10-05 09:49:50 +02:00
Mark Andrews
6085a44615 4754. [bug] dns_zone_setview needs a two stage commit to properly
handle errors. [RT #45841]

(cherry picked from commit 2732d4922c)
2017-10-05 16:55:11 +11:00
Mark Andrews
ab94222d2f cast to unsigned int
(cherry picked from commit 34efd9ad93)
2017-10-05 13:35:45 +11:00
Evan Hunt
65eae37154 [v9_9] fix tag 2017-10-04 18:44:54 -07:00
Tinderbox User
512ef3fc26 update copyright notice / whitespace 2017-10-04 23:48:22 +00:00
Evan Hunt
11e723be2a [v9_9] 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]
2017-10-04 16:41:47 -07:00
Tinderbox User
f93e7b4783 newcopyrights 2017-10-04 23:30:54 +00:00
Mark Andrews
444447d610 add L for wide
(cherry picked from commit 055d310e54)
2017-10-04 20:45:26 +11:00
Mark Andrews
5248a8cc32 stderr to /dev/null also
(cherry picked from commit 4615bc5408)
2017-10-04 19:27:11 +11:00
Mark Andrews
3afd1e5a58 test for 'printf'
(cherry picked from commit d1e823af15)
2017-10-04 19:20:15 +11:00
Mark Andrews
eeb53d081a silence compiler warning 2017-10-04 18:08:23 +11:00
Mark Andrews
d84dbc76e6 #undef inet_ntop
(cherry picked from commit 396125eefe)
2017-10-04 17:50:32 +11:00
Mark Andrews
35c77c3f28 sort 2017-10-04 17:22:54 +11:00
Mark Andrews
68630cce3a 4752. [test] Add unit test for isc_net_pton. [RT #46171]
(cherry picked from commit 5fcdb09126)
2017-10-04 14:43:51 +11:00
Evan Hunt
630eb6e8c6 [v9_9] missing declaration of INSIST 2017-10-03 20:03:38 -07:00
Evan Hunt
aba55e24d5 [v9_9] remove spurious control character 2017-10-03 19:42:13 -07:00
Tinderbox User
16a6c249b5 update copyright notice / whitespace 2017-10-03 23:48:38 +00:00
Tinderbox User
1ffe5fd595 newcopyrights 2017-10-03 23:30:40 +00:00
Evan Hunt
28158e5698 [v9_9] 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
			[RT #46155]
2017-10-03 00:57:54 -07:00
Mark Andrews
068bd10a3a 4748. [cleanup] Sprintf to snprintf coversions. [RT #46132]
(cherry picked from commit a009d03a1a)
2017-10-03 15:00:57 +11:00
Tinderbox User
b22d220605 regen v9_9 2017-10-01 01:35:02 +00:00
Tinderbox User
cd56d1eef3 update copyright notice / whitespace 2017-09-30 23:53:55 +00:00
Tinderbox User
244cce2f6e newcopyrights 2017-09-30 23:31:22 +00:00
Evan Hunt
4e07f11772 [v9_9] add configured prefixes to summary
4746.	[cleanup]	Add configured prefixes to configure summary
			output. [RT #46153]

(cherry picked from commit c0f8a8f30a)
(cherry picked from commit 6d86c99e22)
2017-09-30 10:08:05 -07:00
Evan Hunt
788beb3a45 [v9_9] 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:03:26 -07:00
Tinderbox User
cc7dac87cf update copyright notice / whitespace 2017-09-27 23:49:17 +00:00
Tinderbox User
abb996a1fe newcopyrights 2017-09-27 23:30:28 +00:00
Mark Andrews
2b9e2952ed switch to using snprintf from sprintf
(cherry picked from commit d386eb54c6)
2017-09-28 07:16:33 +10:00
Mukund Sivaraman
5b1cc88385 Make isc_refcount_current() atomically read the counter value (#46074)
(cherry picked from commit abb8813a33)
(cherry picked from commit a8fa3e2d44)
(cherry picked from commit 6da7b3227c)
2017-09-27 15:11:39 +05:30
Mukund Sivaraman
d182652781 Use stdatomic.h in acache code (#46085)
Part of change 4728.

(cherry picked from commit d0d2ba9546)
(cherry picked from commit b85bb66388)
2017-09-27 15:01:32 +05:30
Mark Andrews
4828d6c34f tcp test got reversed
(cherry picked from commit b4c31c8795)
2017-09-27 15:20:33 +10:00
Mark Andrews
80dd4971d9 4739. [cleanup] Address clang static analysis warnings. [RT #45952]
(cherry picked from commit f9f3f20d2d)
2017-09-27 13:19:37 +10:00
Mark Andrews
c86cff0104 4738. [port] win32: strftime mishandles %Z. [RT #46039]
(cherry picked from commit 744061a03b)
2017-09-26 23:33:45 +10:00
Mark Andrews
4ada70d71a 4737. [cleanup] Address Coverity warnings. [RT #46012]
(cherry picked from commit 08151d7fce)
2017-09-26 23:25:08 +10:00
Michał Kępień
696c2a7571 [v9_9] 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:29:24 +02:00
Mark Andrews
d4faf256b2 fix HMAC_Update arguement 2017-09-25 10:46:28 +10:00
Mukund Sivaraman
1c8b9ab360 Use stdint.h only when stdatomic.h is in use (stdint.h isn't available everywhere)
(cherry picked from commit fb9712f639)
(cherry picked from commit dc0d95a23d)
(cherry picked from commit 7cf6516670)
2017-09-22 15:16:22 +05:30
Mark Andrews
4468644033 #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:10:04 +10:00
Tinderbox User
e958fc1c3d newcopyrights 2017-09-21 23:31:53 +00:00
Mark Andrews
f2fe80afca we don't build irs in 9.9 2017-09-21 19:38:56 +10:00
Tinderbox User
a7741835cc regen v9_9 2017-09-21 07:51:57 +00:00
Mark Andrews
07c3a58bd4 #include <stdint.h> 2017-09-21 14:21:04 +10:00
Tinderbox User
01bad075b6 regen v9_9 2017-09-21 04:07:03 +00:00
Mark Andrews
d6c258064b atomic_compare_exchange_strong_explicit's second argument should not be atomic_* 2017-09-21 13:42:05 +10:00
Mark Andrews
799bb89429 explicitly list test programs 2017-09-21 13:07:12 +10:00
Tinderbox User
288dd11e7a update copyright notice / whitespace 2017-09-19 23:51:07 +00:00
Tinderbox User
4d067e1501 newcopyrights 2017-09-19 23:31:04 +00:00
Evan Hunt
67a70cde7e [v9_9] correct the license info 2017-09-19 13:00:31 -07:00
Mukund Sivaraman
a9600f7404 Fix changeset numbers
(cherry picked from commit 36c67a310a)
2017-09-19 19:53:29 +05:30
Mukund Sivaraman
d90adc2def Fix out of bounds access in DHCID totext() method (#46001)
(cherry picked from commit 98998f3ddd)
(cherry picked from commit 027a4a5b5d)
(cherry picked from commit 71a86a75d9)
2017-09-19 19:34:46 +05:30
Mukund Sivaraman
d347cf40c8 Don't use memset() to wipe memory (#45947)
(cherry picked from commit d5707676e4)
(cherry picked from commit b5252fcde5)
(cherry picked from commit aaf04460a0)

# Conflicts:
#	lib/dns/pkcs11dh_link.c
#	lib/dns/pkcs11dsa_link.c
#	lib/dns/pkcs11gost_link.c
#	lib/dns/pkcs11rsa_link.c
#	lib/isc/hmacmd5.c
#	lib/isc/hmacsha.c
#	lib/isc/md5.c
#	lib/isc/sha1.c
#	lib/isc/sha2.c
2017-09-19 18:59:48 +05:30
Mukund Sivaraman
33d39430d0 Use C11's stdatomic.h instead of isc_atomic where available
(cherry picked from commit 404c9b1c53)
(cherry picked from commit 9905606390)
(cherry picked from commit 5bae58a2e7)
2017-09-19 15:57:44 +05:30
Tinderbox User
de1ba63361 update copyright notice / whitespace 2017-09-18 23:58:51 +00:00
Tinderbox User
24bc091953 newcopyrights 2017-09-18 23:33:29 +00:00
Michał Kępień
c0ef11fb2e [v9_9] 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 4ceebc8874)
2017-09-18 09:30:56 +02:00
Mark Andrews
ecab2b21f1 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:30:43 +10:00
Mark Andrews
b66c89c0e0 don't use strlcat with non NUL terminated strings rt45981_stage3
(cherry picked from commit dc71aa898a)
2017-09-15 13:15:01 +10:00
Tinderbox User
928c3c53c6 update copyright notice / whitespace 2017-09-14 23:59:05 +00:00
Tinderbox User
14676888e9 newcopyrights 2017-09-14 23:31:45 +00:00
Evan Hunt
57807b8e0d [v9_9] revert dlzexternal changes for portability 2017-09-14 11:34:40 -07:00
Mark Andrews
80420ec94f silence warning
(cherry picked from commit c59bf663e8)
2017-09-14 19:02:55 +10:00
Mark Andrews
7eb73f6288 #include <isc/string.h> 2017-09-14 18:57:53 +10:00
Mark Andrews
b3faa2b293 (cherry picked from commit 5fb0c09a5e) 2017-09-14 18:55:51 +10:00
Mark Andrews
af9aed27c1 more str{n}{cat,cpy} corrections rt45981_stage2
(cherry picked from commit cb629cdeda)
2017-09-14 18:43:48 +10:00
Mukund Sivaraman
d139a4936d Link dlzexternal system test's driver against libisc
(cherry picked from commit bbe9f1dd95)
(cherry picked from commit e05b7dc69a)
(cherry picked from commit 69cbd89f0d)
2017-09-14 13:38:12 +05:30
Evan Hunt
c9487f5d2e [v9_9] cast char * 2017-09-13 22:04:18 -07:00
Evan Hunt
acaa5bec31 [v9_9] clean up bufsize errors
(cherry picked from commit 9b729a06b0)
2017-09-13 21:19:38 -07:00
Tinderbox User
077f3c4e27 update copyright notice / whitespace 2017-09-14 00:03:54 +00:00
Tinderbox User
610b0a47da newcopyrights 2017-09-13 23:34:44 +00:00
Mark Andrews
55e9dba255 fix filenamelen so it has the buffer length rather than buffer length - 1
(cherry picked from commit 21c12d0107)
2017-09-14 09:30:16 +10:00
Evan Hunt
e59da386dc [v9_9] fix incorrect comment 2017-09-13 13:54:38 -07:00
Mukund Sivaraman
20a3b9a914 add #include <isc/string.h>
(cherry picked from commit 4c9ba9ded8)
(cherry picked from commit 28a55095f7)
(cherry picked from commit bf5e318303)
2017-09-13 20:00:18 +05:30
Mukund Sivaraman
4c9e65a0dd Add missing <isc/print.h>
(cherry picked from commit 188fa6ea68)
(cherry picked from commit a13e9f894c)
(cherry picked from commit 83dfa75ac3)
2017-09-13 19:59:05 +05:30
Mukund Sivaraman
de42212c63 Tweak hash_test.c further, passing sizeof(str)
(cherry picked from commit 8997fc0a3f)
(cherry picked from commit fc7ed600ae)
(cherry picked from commit f3e90ace9d)
2017-09-13 19:35:45 +05:30
Mukund Sivaraman
247224ab2d Tweak
(cherry picked from commit a2873eabf6)
(cherry picked from commit 4baac8b9f3)
(cherry picked from commit 1be28340db)
2017-09-13 19:35:06 +05:30
Mukund Sivaraman
da42d8e733 Fix size of output string in hash tests
(cherry picked from commit bc5e0a6868)
(cherry picked from commit 3dc00443bb)
(cherry picked from commit 6e338884b5)
2017-09-13 19:35:04 +05:30
Francis Dupont
8e0ecaf328 Added isc/string.h to shutdown_test which got strlcpy
(cherry picked from commit 804ca1d926)
2017-09-13 23:02:00 +10:00
Evan Hunt
cef35fcefc [v9_9] add print.h 2017-09-13 00:25:24 -07:00
Evan Hunt
f07825440f [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)
(cherry picked from commit 7cd594b842)
(cherry picked from commit e0ddfb109e)
2017-09-13 00:20:09 -07:00
Mark Andrews
646280bc74 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:56 +10:00
Mark Andrews
02bab3ed25 fix first if test in setoption
(cherry picked from commit abda73147d)
2017-09-13 11:58:59 +10:00
Mark Andrews
7ebef930d7 4719. [bug] Address PVS static analyzer warnings. [RT #45946]
(cherry picked from commit 34130ee25a)
2017-09-13 09:55:13 +10:00
Tinderbox User
907bd36c10 update copyright notice / whitespace 2017-09-12 23:50:35 +00:00
Tinderbox User
78cf416569 newcopyrights 2017-09-12 23:33:28 +00:00
Evan Hunt
3d7439205c [v9_9] 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)
(cherry picked from commit a2a0100e0f)
2017-09-12 15:27:55 -07:00
Mark Andrews
171f1f06ab 4714. [port] openbsd/libressl: add support for building with
--enable-openssl-hash. [RT #45982]

(cherry picked from commit c75e9c7630)
2017-09-12 14:24:14 +10:00
Mark Andrews
e7095cb242 update 2017-09-12 12:52:18 +10:00
Evan Hunt
51b00c6c78 [v9_9] 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)
(cherry picked from commit 88e2cefcc2)
2017-09-11 10:34:10 -07:00
Evan Hunt
3e50ab8402 [v9_9] add missing rrtypes to genzones
4711.	[test]		Some RR types were missing from genzones.sh.
			[RT #45782]

(cherry picked from commit 3e66721b35)
(cherry picked from commit 29f0ced781)
2017-09-11 09:35:20 -07:00
Evan Hunt
7b34ffeeda [v9_9] removed outdated library reference 2017-09-09 11:50:55 -07:00
Tinderbox User
bc81291842 update copyright notice / whitespace 2017-09-08 23:50:57 +00:00
Tinderbox User
2b899df2df newcopyrights 2017-09-08 23:32:36 +00:00
Evan Hunt
e3c32fc3c1 [v9_9] change hash function for RRL
4709.	[cleanup]	Use dns_name_fullhash() to hash names for RRL.
			[RT #45435]

(cherry picked from commit f13385770e)
(cherry picked from commit b9fd54f8d4)
2017-09-08 15:47:26 -07:00
Tinderbox User
fae699ca45 update copyright notice / whitespace 2017-09-07 23:53:21 +00:00
Tinderbox User
c6df63d255 newcopyrights 2017-09-07 23:31:46 +00:00
Mark Andrews
79ec139d10 4705. [bug] Remove some name server statistics counters that
were accidentally back ported to the BIND 9.9 branch
                        in change 3938. [RT #45919]
2017-09-07 13:16:27 +10:00
Mark Andrews
c66f27d3ac 4703. [bug] BINDInstall.exe was missing some buffer length checks.
[RT #45898]

(cherry picked from commit 7e40d6274e)
2017-09-07 13:00:13 +10:00
Mark Andrews
a7364b097b sort order wrong 2017-09-06 18:21:54 +10:00
Mark Andrews
be531d9469 sync option order with master 2017-09-06 18:06:04 +10:00
Mark Andrews
65d92b5cfb add PYTHON_INSTALL_DIR 2017-09-06 13:24:24 +10:00
Tinderbox User
ecbf33009b regen v9_9 2017-09-05 01:41:33 +00:00
Tinderbox User
943ef26dac update copyright notice / whitespace 2017-09-04 23:50:06 +00:00
Tinderbox User
888d670bce newcopyrights 2017-09-04 23:31:48 +00:00
Michał Kępień
e3c7adc5e6 [v9_9] 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 25aeff76ad)
2017-09-04 08:45:46 +02:00
Mark Andrews
1fa2ebe609 4696. [port] Enable filter-aaaa support by default on Windows
builds. [RT #45883]

(cherry picked from commit b4eb8b9656)
2017-08-31 13:39:42 +10:00
Mark Andrews
e63daae5f9 sort view_clauses 2017-08-31 08:33:50 +10:00
Mark Andrews
fa4683b934 4692. [bug] Fix build failures with libressl introduced in 4676.
[RT #45879]

(cherry picked from commit c26370fc69)
2017-08-30 18:23:28 +10:00
Tinderbox User
a60b1b470b regen v9_9 2017-08-30 01:42:07 +00:00
Tinderbox User
0bee87c000 update copyright notice / whitespace 2017-08-29 23:52:07 +00:00
Tinderbox User
208935a547 newcopyrights 2017-08-29 23:31:14 +00:00
Michał Kępień
2e39f122dd [v9_9] Mark -4/-6 command line options as mutually exclusive
4690.	[doc]		Command line options -4/-6 for various tools are
			mutually exclusive. [RT #45632]

(cherry picked from commit 16650c6fa2)
2017-08-29 10:39:12 +02:00
Mark Andrews
8a5210cafe fix changes number
(cherry picked from commit 503223b800)
2017-08-26 13:27:11 +10:00
Evan Hunt
d2516c6507 [v9_9] 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:39 -07:00
Mark Andrews
fed404fe51 9.9 doesn't suppport +ednsopt 2017-08-25 12:51:04 +10:00
Tinderbox User
534627ef07 regen v9_9 2017-08-25 01:40:19 +00:00
Tinderbox User
444cddf00b update copyright notice / whitespace 2017-08-24 23:54:52 +00:00
Tinderbox User
f118c1a49b newcopyrights 2017-08-24 23:31:07 +00:00
Mark Andrews
6f799a2e5a 4688. [protocol] Check and display EDNS KEY TAG options (RFC 8145) in
messages. [RT #44804]

(cherry picked from commit 07741d43c8)
2017-08-25 08:53:05 +10:00
Tinderbox User
959c633493 regen v9_9 2017-08-22 01:41:01 +00:00
Tinderbox User
4996870514 update copyright notice / whitespace 2017-08-21 23:58:24 +00:00
Tinderbox User
598aa4e93f newcopyrights 2017-08-21 23:31:54 +00:00
Michał Kępień
4cca0a8ebb [v9_9] 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:22:18 +02:00
Michał Kępień
1b66e67705 [v9_9] 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 457dc09806)
2017-08-21 10:02:01 +02:00
Tinderbox User
9f8aa9f785 regen v9_9 2017-08-18 01:38:57 +00:00
Tinderbox User
f9f03d98b0 update copyright notice / whitespace 2017-08-17 23:52:36 +00:00
Tinderbox User
32b4dc927d newcopyrights 2017-08-17 23:32:39 +00:00
Michał Kępień
818da88182 [v9_9] 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 e02fa56849)
2017-08-17 08:37:46 +02:00
Mark Andrews
eb7bdae9a0 4682. [bug] Don't report errors on records below a DNAME.
[RT #44880]

(cherry picked from commit 615b961e02)
2017-08-17 15:52:07 +10:00
Tinderbox User
d7b57c0506 update copyright notice / whitespace 2017-08-15 23:54:42 +00:00
Tinderbox User
8326f180f3 newcopyrights 2017-08-15 23:30:58 +00:00
Mark Andrews
78639b2ddf '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:09:07 +10:00
Tinderbox User
4d89263d60 update copyright notice / whitespace 2017-08-14 23:53:17 +00:00
Tinderbox User
c5754548f3 newcopyrights 2017-08-14 23:31:18 +00:00
Michał Kępień
595779183a [v9_9] 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:01:07 +02:00
Michał Kępień
3e5191731e [v9_9] 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:03:30 +02:00
Mark Andrews
1f56b5c795 sort options
(cherry picked from commit 00f067539a)
2017-08-14 21:42:38 +10:00
Mark Andrews
1b2c8e7583 alphabetize options_clauses 2017-08-14 07:36:46 +00:00
Mark Andrews
581d481613 use isc_thread_self instead of pthread_self
(cherry picked from commit 5e9d9aa9d0)
2017-08-14 13:54:47 +10:00
Tinderbox User
f21e2d6c78 update copyright notice / whitespace 2017-08-11 23:52:00 +00:00
Tinderbox User
a78684345d newcopyrights 2017-08-11 23:31:50 +00:00
Evan Hunt
e785ee2e18 [v9_9] fix CHANGES note 2017-08-10 22:53:42 -07:00
Evan Hunt
18ad62b920 [v9_9] 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]

(cherry picked from commit 6640e00924)
2017-08-10 22:50:19 -07:00
Tinderbox User
01703a53fc regen v9_9 2017-08-10 01:43:02 +00:00
Mark Andrews
8d49cc93db 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:13 +10:00
Tinderbox User
ec9becf633 update copyright notice / whitespace 2017-08-09 23:54:45 +00:00
Tinderbox User
5aa00b2dc6 newcopyrights 2017-08-09 23:30:55 +00:00
Mark Andrews
f3ed36d3a1 4675. [cleanup] Don't use C++ keyword class. [RT #45726] 2017-08-10 08:51:22 +10:00
Evan Hunt
3e2fd1b2e7 [v9_9] grammar error 2017-08-09 15:06:58 -07:00
Evan Hunt
c06d35bb34 [v9_9] silence gcc 7 warnings
4673.	[port]		Silence GCC 7 warnings. [RT #45592]

(cherry picked from commit cdacec1dcb)
(cherry picked from commit 7dbeb5e7f0)
(cherry picked from commit 733404ab8c)
2017-08-09 00:38:10 -07:00
Mark Andrews
cf25cdac38 add comment
(cherry picked from commit 93049edb81)
(cherry picked from commit ef899b41f4)
2017-08-09 10:49:11 +05:30
Evan Hunt
8d9c7ef2e2 style
(cherry picked from commit 72f91848ef)
(cherry picked from commit 164d30e3a1)
2017-08-09 10:49:10 +05:30
Tinderbox User
16fd34ab85 update copyright notice / whitespace 2017-08-09 01:37:36 +00:00
Tinderbox User
074628c21a newcopyrights 2017-08-09 01:01:14 +00:00
Mukund Sivaraman
b7df525e93 Fix tsig_test.c unittest (OK'd by Mark on Jabber)
(cherry picked from commit f2b6eef899)
(cherry picked from commit 8ecd1dc557)
(cherry picked from commit dc94345bbd)
2017-08-08 21:56:57 +05:30
Mukund Sivaraman
6b230c0dd8 Fix bug where named as resolver would not try other fctx addresses upon fetch timeout (#45321)
(cherry picked from commit 88178e13e6)
2017-08-08 21:19:00 +05:30
Mukund Sivaraman
03acb6368a Fix a race in resume_dslookup() (#45168)
(cherry picked from commit c88efb83b3)
(cherry picked from commit 6e10f87913)
(cherry picked from commit 6859f1d265)
2017-08-08 13:17:22 +05:30
Evan Hunt
b435e88337 [v9_9] 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)
(cherry picked from commit 37f6466aa3)
2017-08-07 18:58:50 -07:00
Evan Hunt
bce15d72e2 [v9_9] add missing eddsa files, fix dst_parse.c to handle eddsa correctly 2017-08-07 16:45:46 -07:00
Tinderbox User
d247177114 regen v9_9 2017-08-04 01:35:21 +00:00
Curtis Blackburn
d7b7531c02 fix pthread_np.h detection
[rt45680]
2017-08-03 18:10:52 -07:00
Tinderbox User
b0fc3288ec update copyright notice / whitespace 2017-08-03 00:01:44 +00:00
Tinderbox User
7ab2a0c94f newcopyrights 2017-08-02 23:53:42 +00:00
Mark Andrews
22e68fe50f fix merge error 2017-08-03 09:41:17 +10:00
Mark Andrews
b5b0fbc44c 4668. [bug] Use localtime_r and gmtime_r for thread safety.
[RT #45664]

(cherry picked from commit 2019cf29e2)
2017-08-03 08:47:15 +10:00
Mark Andrews
1a42ac0001 remove bin/tests/rdata_test.c 2017-08-02 12:43:14 +10:00
Tinderbox User
43e89f0de4 regen v9_9 2017-08-02 01:37:23 +00:00
Tinderbox User
f9d3d16a27 update copyright notice / whitespace 2017-08-01 23:55:29 +00:00
Tinderbox User
e9a29d2c0a newcopyrights 2017-08-01 23:32:41 +00:00
Michał Kępień
60b55fe41c [v9_9] Refactor RDATA unit tests
4667.	[cleanup]	Refactor RDATA unit tests. [RT #45610]

(cherry picked from commit 41620b94c4)
2017-08-01 13:08:33 +02:00
Evan Hunt
5e64f32ce7 [v9_9] revise CHANGES note and add release note 2017-07-31 23:50:11 -07:00
Mark Andrews
c0fa0fe477 handle .key and .private files
(cherry picked from commit 3c4dffefe8)
2017-08-01 12:11:44 +10:00
Tinderbox User
4fcca5caf4 regen v9_9 2017-08-01 01:36:19 +00:00
Tinderbox User
3204ebaed1 sync 2017-08-01 01:31:09 +00:00
Tinderbox User
f96e57a2c4 update copyright notice / whitespace 2017-07-31 23:49:05 +00:00
Tinderbox User
31bdb1dea7 newcopyrights 2017-07-31 23:32:20 +00:00
Francis Dupont
dea37aee81 Added Ed25519 support (#44696) 2017-07-31 17:02:24 +02:00
Tinderbox User
f15c57b877 regen v9_9 2017-07-29 01:38:45 +00:00
Tinderbox User
fd14aa6b8a update copyright notice / whitespace 2017-07-28 23:49:49 +00:00
Tinderbox User
304458b7f0 newcopyrights 2017-07-28 23:32:00 +00:00
Evan Hunt
f5f320dd91 [v9_9] remove unnecessary acronym expansions 2017-07-28 12:26:42 -07:00
Michał Kępień
d3d5a9780d [v9_9] 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:30:25 +02:00
Evan Hunt
681e286ada [v9_9] 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:14:08 -07:00
Evan Hunt
0991321029 [v9_9] 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:03:08 -07:00
Mark Andrews
9d51d7a967 4660. [bug] Remove spurious "peer" from Windows socket log
messages. [RT #45617]

(cherry picked from commit 5140501a0b)
2017-07-28 16:07:51 +10:00
Mark Andrews
6864306668 add semicolon 2017-07-28 15:58:52 +10:00
Mark Andrews
506ca12867 4658. [bug] Clean up build directory created by "setup.py install"
immediately.  [RT #45628]

(cherry picked from commit e54f256bb4)
2017-07-28 15:57:47 +10:00
Tinderbox User
f4c4c3aa15 update copyright notice / whitespace 2017-07-28 00:07:55 +00:00
Tinderbox User
4956a0cfaa newcopyrights 2017-07-27 23:41:24 +00:00
Evan Hunt
6b6cd5b4d6 [v9_9] fix typo in BADCDS
(cherry picked from commit 166d1bf5f5)
2017-07-27 15:43:10 -07:00
Mark Andrews
cffc5dc5d1 fix RT number
(cherry picked from commit cdc5e0cea0)
2017-07-26 16:40:49 +10:00
Mark Andrews
e5341d238f 9.9.11 2017-07-24 17:27:55 +10:00
Tinderbox User
b5f2eaec62 update copyright notice / whitespace 2017-07-21 23:48:17 +00:00
Tinderbox User
da330f1fa1 newcopyrights 2017-07-21 23:31:09 +00:00
Mark Andrews
169bf685a1 4654. [cleanup] Don't use C++ keywords delete, new and namespace.
[RT #45538]

(cherry picked from commit 4bf32aa587)
2017-07-21 12:50:13 +10:00
Tinderbox User
c722839d70 update copyright notice / whitespace 2017-07-20 23:47:02 +00:00
Tinderbox User
2a2eb95b2c newcopyrights 2017-07-20 23:30:33 +00:00
Mark Andrews
0c6141d41a 9.9.11rc2 2017-07-20 13:10:48 +10:00
Mark Andrews
f22330dc5c 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 12:09:43 +10:00
Tinderbox User
adfb3f05a8 update copyright notice / whitespace 2017-07-19 23:46:53 +00:00
Mark Andrews
8f0b7771d3 4653. [bug] Reorder includes in bin/nsupdate/Makefile.in.
[RT #45581]

(cherry picked from commit a5a4cf96c6)
2017-07-20 09:41:55 +10:00
Tinderbox User
8d2d7a8336 newcopyrights 2017-07-19 23:30:51 +00:00
Mark Andrews
a41f6ec208 correct for missing placeholder 2017-07-19 16:14:47 +10:00
Mark Andrews
927f84f485 use 'test "constant" <condition> "$variable"' [RT #45486]
(cherry picked from commit aed501fb88)
2017-07-19 16:10:38 +10:00
Mark Andrews
4442503b86 4651. [bug] Nsupdate could attempt to use a zeroed address on
server timeout. [RT #45417]

(cherry picked from commit dac36869f3)
2017-07-19 15:42:04 +10:00
Mark Andrews
afcc29ac05 4651. [bug] Nsupdate could attempt to use a zeroed address on
server timeout. [RT #45417]

(cherry picked from commit 38edf586f9)
2017-07-19 15:37:03 +10:00
Mark Andrews
49a977c6aa 4650. [test] Silence coverity warnings in tsig_test.c. [RT #45528]
(cherry picked from commit c0ac259940)
2017-07-19 14:37:10 +10:00
Tinderbox User
03e4fecdc9 regenerate 2017-07-16 22:28:07 +00:00
Tinderbox User
025e4343f5 regen v9_9 2017-07-16 21:39:21 +00:00
Evan Hunt
44bbb60075 [v9_9] update api ranges 2017-07-16 13:57:35 -07:00
Evan Hunt
9d9f75290f [v9_9] prep 9.9.11 2017-07-16 13:45:36 -07:00
Tinderbox User
e7a1f126d7 regen v9_9 2017-07-16 01:30:21 +00:00
Evan Hunt
344dd358d1 [v9_9] update relnotes to mention termination of windows XP support 2017-07-15 13:58:08 -07:00
Tinderbox User
369df8483a regen v9_9 2017-07-15 01:36:59 +00:00
Evan Hunt
6aea0a0133 [v9_9] add a release note for TSIG regression 2017-07-14 14:53:29 -07:00
Tinderbox User
4d1466b46b regen v9_9 2017-07-11 03:35:52 +00:00
Mark Andrews
a51a9c663a note change in AD setting on some truncated answers
(cherry picked from commit 56d8312a48)
2017-07-11 13:29:43 +10:00
Mark Andrews
b9e22a4a2b add note about .local
(cherry picked from commit 9987992232)
(cherry picked from commit 66afb7c86a)
2017-07-11 12:45:49 +10:00
Tinderbox User
0b3fb0379d update copyright notice / whitespace 2017-07-11 01:47:26 +00:00
Tinderbox User
7130e283a6 newcopyrights 2017-07-11 01:45:55 +00:00
Mark Andrews
6cbddd0137 update for 9.9.11rc1 2017-07-11 11:43:47 +10:00
Mark Andrews
7015ac4491 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)
2017-07-11 11:42:43 +10:00
Tinderbox User
fa602b4194 regen v9_9 2017-07-10 07:23:16 +00:00
Tinderbox User
a0d79dadb1 regen v9_9 2017-07-10 06:39:25 +00:00
Mark Andrews
aac9afb0ed update for 9.9.11rc1 2017-07-10 15:24:48 +10:00
Tinderbox User
2c94690059 regen v9_9 2017-07-08 01:51:51 +00:00
Tinderbox User
59de594242 update copyright notice / whitespace 2017-07-07 23:47:50 +00:00
Tinderbox User
a0bfd95cbe newcopyrights 2017-07-07 23:30:48 +00:00
Evan Hunt
0a272fbf65 [v9_9] remove spurious "None" from relnotes 2017-07-07 13:19:38 -07:00
Mark Andrews
142d902f08 add #include <isc/print.h>
(cherry picked from commit 00a235c8e6)
2017-07-08 00:48:37 +10:00
Mark Andrews
2fc1b8102d 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]

(cherry picked from commit 58f0fb325b)
2017-07-07 23:32:01 +10:00
Mukund Sivaraman
869050dd36 Fix typo in configure output
(cherry picked from commit 5f88472fd1)
(cherry picked from commit 5eceaccb00)
(cherry picked from commit a876a730a1)
2017-07-07 17:34:26 +05:30
Tinderbox User
bbcbea7e72 update copyright notice / whitespace 2017-07-05 23:47:03 +00:00
Tinderbox User
6d7a895c35 newcopyrights 2017-07-05 23:30:19 +00:00
Mark Andrews
7ddd8b18e5 4646. [bug] Install lib/export libraries with ${INSTALL_LIBRARY}.
[RT #45497]
2017-07-05 12:13:32 +10:00
Tinderbox User
f09df6e593 update copyright notice / whitespace 2017-07-04 23:47:05 +00:00
Tinderbox User
20f2e0f8d3 newcopyrights 2017-07-04 23:30:22 +00:00
Ray Bellis
af1526af16 fixed new warning with previous iOS patch
(cherry picked from commit 70676a01eb)
2017-07-04 12:14:00 +01:00
Ray Bellis
2c8417447d fix warnings from iOS build of dig
(cherry picked from commit 03a4e4381e)
2017-07-04 11:58:29 +01:00
Evan Hunt
013994d939 [v9_9] remove unneeded ifdefs 2017-06-29 15:56:42 -07:00
Tinderbox User
3765187b5f regen v9_9 2017-06-29 00:18:14 +00:00
Evan Hunt
ad3d2229e4 [v9_9] complete change #4643 2017-06-28 09:12:18 -07:00
Tinderbox User
70780d51ce regen v9_9 2017-06-28 01:38:10 +00:00
Tinderbox User
d009ac5ae2 update copyright notice / whitespace 2017-06-27 23:47:52 +00:00
Tinderbox User
8330e2ecbb newcopyrights 2017-06-27 23:30:35 +00:00
Evan Hunt
adf886ca5b [v9_9] fix API ranges (170-179 was used for two branches) 2017-06-27 12:20:41 -07:00
Evan Hunt
a3f30d1aac [v9_9] 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)
(cherry picked from commit a03f4b1ea4)
2017-06-27 11:41:31 -07:00
Evan Hunt
ee44eb6448 [v9_9] 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)
(cherry picked from commit a71114e8bd)
2017-06-27 10:51:20 -07:00
Tinderbox User
2771704850 regen v9_9 2017-06-26 03:04:09 +00:00
Mark Andrews
5870093bf8 copyrights 2017-06-26 12:36:40 +10:00
Mark Andrews
d96a0f1e9b update api for 9.9.11b1 2017-06-26 12:33:52 +10:00
Mark Andrews
a2ffb897d1 'name' should be on isc_thread_setname argument not isc_thread_create
(cherry picked from commit 15471a63a2)
2017-06-26 12:30:29 +10:00
Mark Andrews
e2f4b81af2 add 9.9.11b1 release marker 2017-06-26 12:25:59 +10:00
Mark Andrews
eff7c4c76d copyrights 2017-06-26 12:23:26 +10:00
Mark Andrews
9d3acdac8b 4641. [cleanup] Parallel builds (make -j) could fail with --with-atf /
--enable-developer. [RT #45373]

(cherry picked from commit 1be7580be7)
2017-06-26 10:03:03 +10:00
Mark Andrews
282980e448 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)
(cherry picked from commit 18bb24bc37)
2017-06-23 17:19:15 +10:00
Tinderbox User
3bd0f5fc20 update copyright notice / whitespace 2017-06-13 23:47:54 +00:00
Tinderbox User
e62784bf74 newcopyrights 2017-06-13 23:30:51 +00:00
Mark Andrews
0b9020897d 4636. [bug] Normalize rpz policy zone names when checking for
existence. [RT #45358]

(cherry picked from commit e85e95c19e)
2017-06-13 13:15:06 +10:00
Tinderbox User
ce972b1a0c newcopyrights 2017-06-11 23:30:30 +00:00
Mark Andrews
15a79a8d4e 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:29 +10:00
Tinderbox User
74ae478d95 update copyright notice / whitespace 2017-06-02 23:46:45 +00:00
Tinderbox User
40843c1f56 newcopyrights 2017-06-02 23:30:25 +00:00
Mark Andrews
8920aee710 4633. [maint] Updated AAAA (2001:500:200::b) for B.ROOT-SERVERS.NET.
(cherry picked from commit 9c179a5607)
2017-06-02 11:49:12 +10:00
Mark Andrews
800a88738d fix changes numbers
(cherry picked from commit 5e1cedb130)
(cherry picked from commit 5e9a9a823e)
2017-05-31 11:51:31 +10:00
Tinderbox User
524ca73aa1 regen v9_9 2017-05-31 01:33:20 +00:00
Tinderbox User
77dd47b406 update copyright notice / whitespace 2017-05-30 23:47:42 +00:00
Tinderbox User
74c0fab200 newcopyrights 2017-05-30 23:30:24 +00:00
Evan Hunt
ef0f8427a2 [v9_9] 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)
(cherry picked from commit c28e44f3f8)
2017-05-30 13:39:28 -07:00
Evan Hunt
10f80ef83a [v9_9] 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]

(cherry picked from commit 3440cf9c60)
(cherry picked from commit a57b289ed0)
2017-05-30 12:43:57 -07:00
Mark Andrews
fbfaa3e731 4629. [bug] dns_client_startupdate could not be called with a
running client. [RT #45277]

(cherry picked from commit e51d62ecae)
2017-05-30 10:07:15 +10:00
Tinderbox User
c426f41a3a update copyright notice / whitespace 2017-05-28 23:48:04 +00:00
Tinderbox User
8aefc9c582 newcopyrights 2017-05-28 23:30:36 +00:00
Evan Hunt
7334fbc55c [v9_9] 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:34:14 -07:00
Evan Hunt
c212136796 [v9_9] Use 127.0.0.1 as interface for rndc in logfileconfig test 2017-05-28 14:23:45 -07:00
Mark Andrews
d3fcd71286 test crypto support
(cherry picked from commit 0a78894304)
2017-05-26 16:04:35 +10:00
Tinderbox User
2dbcf1439f update copyright notice / whitespace 2017-05-24 23:47:19 +00:00
Tinderbox User
2618f03bed newcopyrights 2017-05-24 23:30:32 +00:00
Mark Andrews
aedef6d0db make chain system test work with python 3
(cherry picked from commit b9c5b37e0c)
2017-05-24 21:45:36 +10:00
Mark Andrews
27c4fa86c6 use 'python -u' to run python scripts
(cherry picked from commit a5dc0d5066)
2017-05-24 15:16:54 +10:00
Evan Hunt
0b3a455cfd [v9_9] copyrights 2017-05-23 16:53:28 -07:00
Evan Hunt
3f25111cd4 [v9_9] 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:19:57 -07:00
Tinderbox User
41dd796aff update copyright notice / whitespace 2017-05-21 23:47:32 +00:00
Tinderbox User
5b72ce8d50 newcopyrights 2017-05-21 23:30:29 +00:00
Evan Hunt
7cc666abf1 [v9_9] corrected a possible crash in isc_test_end()
(cherry picked from commit 9e44639ae0)
2017-05-21 15:44:39 -07:00
Tinderbox User
5b695651e8 regen v9_9 2017-05-19 01:38:05 +00:00
Tinderbox User
8b6ad36c54 update copyright notice / whitespace 2017-05-18 23:47:36 +00:00
Tinderbox User
8f5bec1a73 newcopyrights 2017-05-18 23:30:21 +00:00
Evan Hunt
6ef33666bf [v9_9] remove outdated reference to libbind
(cherry picked from commit ef9ab10ce0)
2017-05-18 15:35:40 -07:00
Tinderbox User
97c4ecec1b update copyright notice / whitespace 2017-05-11 23:47:22 +00:00
Tinderbox User
cb8751c323 newcopyrights 2017-05-11 23:30:31 +00:00
Mark Andrews
bd84d0a47a 4624. [bug] Check isc_mem_strdup results in dns_view_setnewzones.
[RT #45210]

(cherry picked from commit 5049d09bca)
2017-05-11 20:38:22 +10:00
Tinderbox User
6894f45100 regen v9_9 2017-05-11 01:37:50 +00:00
Mark Andrews
c3a2924e00 add warning about semicolon no longer being escaped
(cherry picked from commit d4d73bca79)
2017-05-11 11:03:18 +10:00
Mark Andrews
b737849335 4622. [bug] Remove unnecessary escaping of semicolon in CAA and
URI records. [RT #45216]

(cherry picked from commit 1611ceb8b2)
2017-05-11 10:58:29 +10:00
Tinderbox User
dbd030a74a update copyright notice / whitespace 2017-05-10 23:47:30 +00:00
Tinderbox User
5149eb1e0b newcopyrights 2017-05-10 23:30:28 +00:00
Mark Andrews
bc5403f4b0 4621. [port] Force alignment of oid arrays to silence loader
warnings. [RT #45131]

(cherry picked from commit 2fb1a0bdef)
2017-05-11 09:25:13 +10:00
Mark Andrews
c888ce0fa1 4620. [port] Handle EPFNOSUPPORT being returned when probing
to see if a socket type is supported. [RT #45214]

(cherry picked from commit d352a9db95)
(cherry picked from commit e1be9253cb)
2017-05-11 07:59:29 +10:00
Mark Andrews
e5f9d2b0f6 be consistent with master 2017-05-09 11:31:59 +10:00
Mark Andrews
e96268f453 cleanup 2017-05-09 11:15:31 +10:00
Tinderbox User
9654d3a4ab update copyright notice / whitespace 2017-05-08 23:47:19 +00:00
Tinderbox User
45f94f9095 newcopyrights 2017-05-08 23:30:25 +00:00
Mark Andrews
332193940d 4617. [test] Update rndc system test to be more delay tolerant.
[RT #45177]

(cherry picked from commit 31f4fb98e2)
2017-05-09 04:47:18 +10:00
Tinderbox User
8ebfb6cc9a update copyright notice / whitespace 2017-05-02 23:48:00 +00:00
Tinderbox User
bd73011191 newcopyrights 2017-05-02 23:30:31 +00:00
Mark Andrews
d7d9376e61 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 08:09:05 +10:00
Mark Andrews
673dd20a78 remove unused assignments [RT #45147]
(cherry picked from commit 78551a3f2c)
2017-05-03 07:46:34 +10:00
Evan Hunt
7e48ed2240 [v9_9] error in sockaddr unit test
4614.	[test]		Fixed an error in the sockaddr unit test. [RT #45146]

(cherry picked from commit d73c32c17f)
(cherry picked from commit 512765ba1e)
2017-05-02 13:41:31 -07:00
Tinderbox User
116c184440 update copyright notice / whitespace 2017-05-01 23:47:23 +00:00
Tinderbox User
345be9e938 newcopyrights 2017-05-01 23:30:54 +00:00
Mark Andrews
b2970c4a93 4612. [bug] Silence 'may be use uninitalised' warning and simplify
the code in lwres/getaddinfo:process_answer.
                        [RT #45158]

(cherry picked from commit b09eb48f8a)
(cherry picked from commit 358aa43c8c)
2017-05-02 09:25:08 +10:00
Evan Hunt
ab642c3bf0 [v9_9] add util.h
(cherry picked from commit 532a001001)
2017-05-01 13:29:05 -07:00
Mark Andrews
a41a44bfb7 complete comment marker change
(cherry picked from commit c8abbc4312)
2017-04-30 20:55:49 +10:00
Tinderbox User
7cb8f844a9 update copyright notice / whitespace 2017-04-28 23:47:10 +00:00
Tinderbox User
d251ba561e newcopyrights 2017-04-28 23:30:27 +00:00
Evan Hunt
02cb20760b [v9_9] change markdown comment style for pandoc 2017-04-27 23:44:39 -07:00
Mark Andrews
4034a1176e silence 'may be used uninitialized' warning. [RT #45139]
(cherry picked from commit d1554926d0)
2017-04-28 11:02:25 +10:00
Tinderbox User
db6190e6ca regen v9_9 2017-04-26 23:46:04 +00:00
Evan Hunt
397271035d [v9_9] fix building of markdown output on docs 2017-04-26 16:20:34 -07:00
Tinderbox User
27ce6c57d3 regen v9_9 2017-04-25 01:22:11 +00:00
Tinderbox User
a658d80dc7 update copyright notice / whitespace 2017-04-24 23:47:23 +00:00
Tinderbox User
30450b8f5d newcopyrights 2017-04-24 23:30:31 +00:00
Evan Hunt
96762fdd4c [v9_9] allow parallel make
4609.	[cleanup]	Rearrange makefiles to enable parallel execution
			(i.e. "make -j"). [RT #45078]
2017-04-23 23:04:56 -07:00
Mark Andrews
36a2cde01f 4608. [func] DiG now warns about .local queries which are reserved
for Multicast DNS. [RT #44783]

(cherry picked from commit 7ef453bf43)
2017-04-24 12:07:52 +10:00
Tinderbox User
15731cd16c regen v9_9 2017-04-24 01:23:00 +00:00
Evan Hunt
5c08c59442 [v9_9] update copyrights that had been missed recently 2017-04-23 17:14:54 -07:00
Evan Hunt
4d7cd16627 [v9_9] recent_changes script could terminate too early
(cherry picked from commit 58502352f2)
2017-04-23 17:06:57 -07:00
Tinderbox User
65d4abb881 update copyright notice / whitespace 2017-04-23 23:47:17 +00:00
Mark Andrews
38abff9790 update 2017-04-24 09:44:28 +10:00
Tinderbox User
1966cf8c5e regen v9_9 2017-04-23 01:21:17 +00:00
Mukund Sivaraman
9af94db1da Add missing types for non-threaded build
(cherry picked from commit b1568eeedc)
(cherry picked from commit 5fb7dd046e)
(cherry picked from commit cb0c1c0b04)
2017-04-22 20:03:40 +05:30
Evan Hunt
7f0127c111 [v9_9] 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:37 -07:00
Evan Hunt
0f9808291c [v9_9] fix portability issue
(cherry picked from commit 8ee6a6afd8)
2017-04-21 18:16:30 -07:00
Tinderbox User
d77ee7c663 update copyright notice / whitespace 2017-04-21 23:47:35 +00:00
Evan Hunt
ae7d8f92d7 [v9_9] 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:40:43 -07:00
Evan Hunt
9ad188ccaf [v9_9] 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)
(cherry picked from commit 8b9c4592ed)
2017-04-21 14:00:54 -07:00
Evan Hunt
dc0a308b9a [v9_9] clear out relnotes 2017-04-21 13:39:29 -07:00
Evan Hunt
8e741d756e [v9_9] typo in rndc doc
(cherry picked from commit b9e736f4f6)
(cherry picked from commit 794e994b5b)
2017-04-21 13:19:57 -07:00
Mukund Sivaraman
4cf12b3916 Reject incorrect RSA key lengths during key generation and and sign/verify context creation (#45043)
(cherry picked from commit 239e9dc81c)
(cherry picked from commit 264e17e739)
(cherry picked from commit 2540059b7b)
2017-04-21 19:09:05 +05:30
Mukund Sivaraman
4973497287 Fix inconsistencies in inline signing time comparisons (#42112)
(cherry picked from commit 4176d278e2)
(cherry picked from commit eeb16584fb)
(cherry picked from commit fb5c4bc94c)
2017-04-21 16:49:03 +05:30
Mukund Sivaraman
3664176a73 Ignore SHA-1 DS digest type when SHA-384 DS digest type is present (#45017)
(cherry picked from commit 5d01eab088)
(cherry picked from commit 9540b42695)
(cherry picked from commit 4ab28446c1)
2017-04-21 16:24:23 +05:30
Mukund Sivaraman
e315a20bd4 Validate glue before adding it to the additional section (#45062)
(cherry picked from commit b0dbcba2d2)
(cherry picked from commit fec9247b8f)
(cherry picked from commit b958488b2e)
2017-04-21 16:03:28 +05:30
Evan Hunt
a63fabb7e0 [v9_9] fix merge error 2017-04-20 20:58:40 -07:00
Evan Hunt
4bb6e3f63e [v9_9] remove references to compile options that aren't in 9.9 2017-04-20 20:15:51 -07:00
Evan Hunt
6f90648dbd [v9_9] update README, remove FAQ
4593.	[doc]		Update README using markdown, remove outdated FAQ
			file in favor of the knowledge base.
2017-04-20 19:50:55 -07:00
Tinderbox User
c6df7a35cd regen v9_9 2017-04-21 01:20:35 +00:00
Evan Hunt
0fcdf50da3 [v9_9] fix change number 2017-04-20 17:43:39 -07:00
Evan Hunt
62fd7f8062 [v9_9] 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:42:09 -07:00
Evan Hunt
09408d0381 [v9_9] python 3 compatibility
4591.	[port]		Addressed some python 3 compatibility issues.
			Thanks to Ville Skytta. [RT #44955] [RT #44956]

(cherry picked from commit 6d19d975c6)
(cherry picked from commit 17c7582ad8)
2017-04-20 17:31:53 -07:00
Tinderbox User
922d514bef update copyright notice / whitespace 2017-04-20 23:47:37 +00:00
Tinderbox User
52ad0d86bb newcopyrights 2017-04-20 23:30:55 +00:00
Evan Hunt
ab30439a36 [v9_9] correct a mistake in nsupdate help
(cherry picked from commit bdbdc69a75)
2017-04-20 16:18:13 -07:00
Evan Hunt
267520449b [v9_9] some output was not silenced with configure -q
4589.	[cleanup]	"configure -q" is now silent. [RT #44829]

(cherry picked from commit 897049d129)
(cherry picked from commit 4db2cb92da)
2017-04-20 15:51:40 -07:00
Tinderbox User
cf0cd17b7f regenerate 2017-04-20 18:32:49 +00:00
Tinderbox User
75c0725265 regen v9_9 2017-04-20 18:32:46 +00:00
Evan Hunt
78354abccc [v9_9] update EOL date 2017-04-20 11:26:10 -07:00
Evan Hunt
2a4e8c753e [v9_9] 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:30:19 -07:00
Mark Andrews
3d61a6c12d 4587. [bug] named-checkzone failed to handle occulted data below
DNAMEs correctly. [RT #44877]

(cherry picked from commit 600b027731)
2017-04-20 13:30:57 +10:00
Mark Andrews
11a028ceb4 4585. [port] win32: Set CompileAS value. [RT #42474]
(cherry picked from commit 3742338a7b)
2017-04-20 13:01:35 +10:00
Tinderbox User
93830fbbf8 update copyright notice / whitespace 2017-04-17 23:47:45 +00:00
Tinderbox User
dc6229bc94 newcopyrights 2017-04-17 23:30:29 +00:00
Evan Hunt
b70ae741bf [v9_9] fix out of tree build error
(cherry picked from commit 28cff4f924)
2017-04-17 14:32:13 -07:00
3629 changed files with 82627 additions and 119852 deletions

1
.gitattributes vendored
View File

@@ -1,2 +1,3 @@
*.sln.in eol=crlf
*.vcxproj.in eol=crlf
*.vcxproj.filters.in eol=crlf

207
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,207 @@
variables:
DEBIAN_FRONTEND: noninteractive
LC_ALL: C
DOCKER_DRIVER: overlay2
CI_REGISTRY_IMAGE: oerdnj/bind9
CCACHE_DIR: "/ccache"
stages:
- precheck
- build
- test
.debian-jessie-amd64: &debian_jessie_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-jessie-amd64"
tags:
- linux
- docker
- amd64
.debian-jessie-i386: &debian_jessie_i386_image
image: "$CI_REGISTRY_IMAGE:debian-jessie-i386"
tags:
- linux
- docker
- i386
.debian-stretch-amd64: &debian_stretch_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-stretch-amd64"
tags:
- linux
- docker
- amd64
.debian-stretch-i386:: &debian_stretch_i386_image
image: "$CI_REGISTRY_IMAGE:debian-stretch-i386"
tags:
- linux
- docker
- i386
.debian-buster-amd64: &debian_buster_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-buster-amd64"
tags:
- linux
- docker
- amd64
.debian-buster-i386:: &debian_buster_i386_image
image: "$CI_REGISTRY_IMAGE:debian-buster-i386"
tags:
- linux
- docker
- i386
.debian-sid-amd64: &debian_sid_amd64_image
image: "$CI_REGISTRY_IMAGE:debian-sid-amd64"
tags:
- linux
- docker
- amd64
.debian-sid-i386: &debian_sid_i386_image
image: "$CI_REGISTRY_IMAGE:debian-sid-i386"
tags:
- linux
- docker
- i386
.ubuntu-trusty-amd64: &ubuntu_trusty_amd64_image
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-amd64"
tags:
- linux
- docker
- amd64
.ubuntu-trusty-i386: &ubuntu_trusty_i386_image
image: "$CI_REGISTRY_IMAGE:ubuntu-trusty-i386"
tags:
- linux
- docker
- i386
.ubuntu-xenial-amd64: &ubuntu_xenial_amd64_image
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-amd64"
tags:
- linux
- docker
- amd64
.ubuntu-xenial-i386: &ubuntu_xenial_i386_image
image: "$CI_REGISTRY_IMAGE:ubuntu-xenial-i386"
tags:
- linux
- docker
- i386
.build: &build_job
stage: build
before_script:
- test -w "${CCACHE_DIR}" && export PATH="/usr/lib/ccache:${PATH}"
- autoreconf -fi
script:
- ./configure --enable-developer --with-libtool --disable-static --with-atf=/usr/local
- make -j${PARALLEL_JOBS_BUILD:-1} -k all V=1
artifacts:
expire_in: '1 hour'
untracked: true
.system_test: &system_test_job
stage: test
before_script:
- rm -rf .ccache
- bash -x bin/tests/system/ifconfig.sh up
script:
- ( cd bin/tests && make -j${TEST_PARALLEL_JOBS:-1} -k test V=1 )
- test -s bin/tests/system/systests.output
artifacts:
untracked: true
expire_in: '1 week'
when: on_failure
.unit_test: &unit_test_job
stage: test
before_script:
- export KYUA_RESULT="$CI_PROJECT_DIR/kyua.results"
script:
- make unit
after_script:
- kyua report-html --force --results-file kyua.results --results-filter "" --output kyua_html
artifacts:
paths:
- atf.out
- kyua.log
- kyua.results
- kyua_html/
expire_in: '1 week'
when: on_failure
precheck:debian:sid:amd64:
<<: *debian_sid_amd64_image
stage: precheck
script:
- perl util/check-changes CHANGES
- perl -w util/merge_copyrights
- diff -urNap util/copyrights util/newcopyrights
- rm util/newcopyrights
artifacts:
paths:
- util/newcopyrights
expire_in: '1 week'
when: on_failure
#build:debian:jessie:amd64:
# <<: *debian_jessie_amd64_image
# <<: *build_job
#
#build:debian:jessie:i386:
# <<: *debian_jessie_i386_image
# <<: *build_job
#
#build:debian:stretch:amd64:
# <<: *debian_stretch_amd64_image
# <<: *build_job
#
#build:debian:buster:i386:
# <<: *debian_buster_i386_image
# <<: *build_job
#
#build:ubuntu:trusty:amd64:
# <<: *ubuntu_trusty_amd64_image
# <<: *build_job
#
#build:ubuntu:xenial:i386:
# <<: *ubuntu_xenial_i386_image
# <<: *build_job
build:debian:sid:amd64:
<<: *debian_sid_amd64_image
<<: *build_job
build:debian:sid:i386:
<<: *debian_sid_i386_image
<<: *build_job
unittest:debian:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- build:debian:sid:amd64
unittest:debian:sid:i386:
<<: *debian_sid_i386_image
<<: *unit_test_job
dependencies:
- build:debian:sid:i386
systemtest:debian:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- build:debian:sid:amd64
systemtest:debian:sid:i386:
<<: *debian_sid_i386_image
<<: *system_test_job
dependencies:
- build:debian:sid:i386

713
CHANGES
View File

@@ -1,3 +1,706 @@
--- 9.9.13rc2 released ---
4984. [bug] Improve handling of very large incremental
zone transfers to prevent journal corruption. [GL #339]
4979. [bug] Non-libcap builds were not checking whether all
requested capabilities are present in the permitted
capability set. [GL #321]
4977. [func] When starting up, log the same details that
would be reported by 'named -V'. [GL #247]
4972. [func] Declare the 'rdata' argument for dns_rdata_tostruct()
to be const. [GL #341]
4971. [bug] dnssec-signzone and dnssec-verify did not treat records
below a DNAME as out-of-zone data. [GL #298]
--- 9.9.13rc1 released ---
4968. [bug] If glue records are signed, attempt to validate them.
[GL #209]
4965. [func] Add support for marking options as deprecated.
[GL #322]
4964. [bug] Reduce the probabilty of double signature when deleting
a DNSKEY by checking if the node is otherwise signed
by the algorithm of the key to be deleted. [GL #240]
4963. [test] ifconfig.sh now uses "ip" instead of "ifconfig",
if available, to configure the test interfaces on
linux. [GL #302]
4962. [cleanup] Move 'named -T' processing to its own function.
[GL #316]
4960. [security] When recursion is enabled, but the "allow-recursion"
and "allow-query-cache" ACLs are not specified,
they should be limited to local networks,
but were inadvertently set to match the default
"allow-query", thus allowing remote queries.
(CVE-2018-5738) [GL #309]
4958. [bug] Remove redundant space from NSEC3 record. [GL #281]
4955. [cleanup] Silence cppcheck warnings in lib/dns/master.c.
[GL #286]
4951. [protocol] Add "HOME.ARPA" to list of built in empty zones as
per RFC 8375. [GL #273]
4950. [bug] ISC_SOCKEVENTATTR_TRUNC was not be set. [GL #238]
4949. [bug] lib/isc/print.c failed to handle floating point
output correctly. [GL #261]
4946. [bug] Additional glue was not being returned by resolver
for unsigned zones since change 4596. [GL #209]
4939. [test] Add basic unit tests for update_sigs(). [GL #135]
4933. [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]
4932. [bug] Bumped signed serial of an inline signed zone was
logged even when an error occurred while updating
signatures. [GL #159]
4926. [func] Add root key sentinel support. To disable, add
'root-key-sentinel no;' to named.conf. [GL #37]
4918. [bug] Fix double free after keygen error in dnssec-keygen
when OpenSSL >= 1.1.0 is used and RSA_generate_key_ex
fails. [GL #109]
4913. [test] Re-implemented older unit tests in bin/tests as ATF,
removed the lib/tests unit testing library. [GL #115]
4910. [func] Update util/check-changes to work on release branches.
[GL #113]
4908. [test] Eliminated unnecessary waiting in the allow_query
system test. Also changed its name to allow-query.
[GL #81]
4907. [test] Improved the reliabilty of the 'notify' system
test. [GL #59]
4905. [bug] irs_resconf_load() ignored resolv.conf syntax errors
when "domain" or "search" options were present in that
file. [GL #110]
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]
4902. [test] Improved the reliability of the 'ixfr' system
test. [GL #66]
4899. [test] Convert most of the remaining system tests to be able
to run in parallel, continuing the work from change
#4895. To take advantage of this, use "make -jN check",
where N is the number of processors to use. [GL #91]
4895. [test] Allow some system tests to run in parallel.
[RT #46602]
4893. [bug] Address various issues reported by cppcheck. [GL #51]
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]
--- 9.9.12 released ---
--- 9.9.12rc2 released ---
4904. [bug] Temporarily revert change #4859. [GL #124]
--- 9.9.12rc1 released ---
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]
4888. [test] Initialize sockets correctly in sample-update so
that the nsupdate system test will run on Windows.
[RT #47097]
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]
4882. [bug] Address potential memory leak in
dns_update_signaturesinc. [RT #47084]
4879. [bug] dns_rdata_caa:value_len field was too small.
[RT #47086]
--- 9.9.12b1 released ---
4876. [bug] Address deadlock with accessing a keytable. [RT #47000]
4874. [bug] Wrong time display when reporting new keywarntime.
[RT #47042]
4872. [bug] Don't permit loading meta RR types such as TKEY
from master files. [RT #47009]
4871. [bug] Fix configure glitch in detecting stdatomic.h
support on systems with multiple compilers.
[RT #46959]
4870. [test] Update included ATF library to atf-0.21 preserving
the ATF tool. [RT #46967]
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]
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]
4863. [bug] Fix various other bugs reported by Valgrind's
memcheck tool. [RT #46978]
4862. [bug] The rdata flags for RRSIG were not being properly set
when constructing a rdataslab. [RT #46978]
4860. [bug] isc_int8_t should be signed char. [RT #46973]
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]
4857. [bug] Maintain attach/detach semantics for event->db,
event->node, event->rdataset and event->sigrdataset
in query.c. [RT #46891]
4852. [bug] Add REQUIRE's and INSIST's to isc_time_formattimestamp,
isc_time_formathttptimestamp, isc_time_formatISO8601.
[RT #46892]
4851. [port] Support using kyua as well as atf-run to run the unit
tests. [RT #46853]
4846. [test] Adjust timing values in runtime system test. Address
named.pid removal races in runtime system test.
[RT #46800]
4844. [test] Address memory leaks in libatf-c. [RT #46798]
4843. [bug] dnssec-signzone free hashlist on exit. [RT #46791]
4842. [bug] Conditionally compile opensslecdsa_link.c to avoid
warnings about unused function. [RT #46790]
4841. [bug] Address -fsanitize=undefined warnings. [RT #46786]
4840. [test] Add tests to cover fallback to using ZSK on inactive
KSK. [RT #46787]
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]
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]
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 when there
were multiple DNSKEY algorithms for the zone.
[RT #46743]
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]
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]
4831. [bug] Convert the RRSIG expirytime to 64 bits for
comparisions in diff.c:resign. [RT #46710]
4830. [bug] Failure to configure ATF when requested did not cause
an error in top-level configure script. [RT #46655]
4829. [bug] isc_heap_delete did not zero the index value when
the heap was created with a callback to do that.
[RT #46709]
4827. [misc] Add a precommit check script util/checklibs.sh
[RT #46215]
4826. [cleanup] Prevent potential build failures in bin/confgen/ and
bin/named/ when using parallel make. [RT #46648]
4823. [test] Refactor reclimit system test to improve its
reliability and speed. [RT #46632]
4822. [bug] Use resign_sooner in dns_db_setsigningtime. [RT #46473]
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 fails. [RT #46473]
4818. [test] The logfileconfig system test could intermittently
report false negatives on some platforms. [RT #46615]
4817. [cleanup] Use DNS_NAME_INITABSOLUTE and DNS_NAME_INITNONABSOLUTE.
[RT #45433]
4814. [cleanup] Use AS_HELP_STRING for consistent help text. [RT #46521]
4812. [bug] Minor improvements to stability and consistency of code
handling managed keys. [RT #46468]
4810. [test] The chain system test failed if the IPv6 interfaces
were not configured. [RT #46508]
4809. [port] Check at configure time whether -latomic is needed
for stdatomic.h. [RT #46324]
4804. [port] win32: access() does not work on directories as
required by POSIX. Supply a alternative in
isc_file_isdirwritable. [RT #46394]
4803. [bug] Backport fix for RT #46055 from RT #46267. [RT #46430]
4790. [bug] nsupdate could trigger a require when sending a
update to the second address of the server.
[RT #45731]
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]
4787. [cleanup] Turn nsec3param_salt_totext() into a public function,
dns_nsec3param_salttotext(), and add unit tests for it.
[RT #46289]
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]
4781. [maint] B.ROOT-SERVERS.NET is now 199.9.14.201. [RT #45889]
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]
4777. [cleanup] Removed a redundant call to configure_view_acl().
[RT #46369]
4774. [bug] <isc/util.h> was incorrectly included in several
header files. [RT #46311]
4773. [doc] Fixed generating Doxygen documentation for functions
annotated using certain macros. Miscellaneous
Doxygen-related cleanups. [RT #46276]
4771. [bug] When sending RFC 5011 refresh queries, disregard
cached DNSKEY rrsets. [RT #46251]
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]
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]
4766. [cleanup] Addresss Coverity warnings. [RT #46150]
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]
4761. [protocol] Add support for DOA. [RT #45612]
4758. [doc] Remove documentation of unimplemented "topology".
[RT #46161]
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]
4754. [bug] dns_zone_setview needs a two stage commit to properly
handle errors. [RT #45841]
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]
4752. [test] Add unit test for isc_net_pton. [RT #46171]
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
[RT #46155]
4748. [cleanup] Sprintf to snprintf coversions. [RT #46132]
4746. [cleanup] Add configured prefixes to configure summary
output. [RT #46153]
4745. [test] Add color-coded pass/fail messages to system
tests when running on terminals that support them.
[RT #45977]
4741. [bug] Make isc_refcount_current() atomically read the
counter value. [RT #46074]
4739. [cleanup] Address clang static analysis warnings. [RT #45952]
4738. [port] win32: strftime mishandles %Z. [RT #46039]
4737. [cleanup] Address Coverity warnings. [RT #46012]
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]
4730. [bug] Fix out of bounds access in DHCID totext() method.
[RT #46001]
4729. [bug] Don't use memset() to wipe memory, as it may be
removed by compiler optimizations when the
memset() occurs on automatic stack allocation
just before function return. [RT #45947]
4728. [func] Use C11's stdatomic.h instead of isc_atomic
where available. [RT #40668]
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]
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]
4722. [cleanup] Clean up uses of strcpy() and strcat() in favor of
strlcpy() and strlcat() for safety. [RT #45981]
4719. [bug] Address PVS static analyzer warnings. [RT #45946]
4717. [bug] Treat replies with QCOUNT=0 as truncated if TC=1,
FORMERR if TC=0, and log the error correctly.
[RT #45836]
4714. [port] openbsd/libressl: add support for building with
--enable-openssl-hash. [RT #45982]
4712. [bug] "dig +domain" and "dig +search" didn't retain the
search domain when retrying with TCP. [RT #45547]
4711. [test] Some RR types were missing from genzones.sh.
[RT #45782]
4709. [cleanup] Use dns_name_fullhash() to hash names for RRL.
[RT #45435]
4705. [bug] Remove some name server statistics counters that
were accidentally back ported to the BIND 9.9 branch
in change 3938. [RT #45919]
4703. [bug] BINDInstall.exe was missing some buffer length checks.
[RT #45898]
4698. [port] Add --with-python-install-dir configure option to allow
specifying a nonstandard installation directory for
Python modules. [RT #45407]
4696. [port] Enable filter-aaaa support by default on Windows
builds. [RT #45883]
4692. [bug] Fix build failures with libressl introduced in 4676.
[RT #45879]
4690. [doc] Command line options -4/-6 for various tools are
mutually exclusive. [RT #45632]
4689. [cleanup] Turn on minimal responses for CDNSKEY and CDS in
addition to DNSKEY and DS. Thanks to Tony Finch.
[RT #45690]
4688. [protocol] Check and display EDNS KEY TAG options (RFC 8145) in
messages. [RT #44804]
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]
4685. [bug] dnssec-settime incorrectly calculated publication and
activation dates for a successor key. [RT #45806]
4683. [bug] Prevent nsupdate from immediately exiting on invalid
user input in interactive mode. [RT #28194]
4682. [bug] Don't report errors on records below a DNAME.
[RT #44880]
4680. [bug] Fix failing over to another master server address when
nsupdate is used with GSS-API. [RT #45380]
4679. [cleanup] Suggest using -o when dnssec-verify finds a SOA record
not at top of zone and -o is not used. [RT #45519]
4677. [cleanup] Split up the main function in dig to better support
the iOS app version. [RT #45508]
4676. [cleanup] Allow BIND to be built using OpenSSL 1.0.X with
deprecated functions removed. [RT #45706]
4675. [cleanup] Don't use C++ keyword class. [RT #45726]
4673. [port] Silence GCC 7 warnings. [RT #45592]
4672. [bug] Fix a regression introduced by change 3938 (when
--enable-fetchlimit is NOT in use), where named
as resolver would, upon fetch timeout, repeat
fetching from the same nameserver address. This
also broke "forward first;" configurations (as
forwarders are also treated as nameservers when
fetching). [RT #45321]
4671. [bug] Fix a race condition that could cause the
resolver to crash with assertion failure when
chasing DS in specific conditions with a very
short RTT to the upstream nameserver. [RT #45168]
4670. [cleanup] Ensure that a request MAC is never sent back
in an XFR response unless the signature was
verified. [RT #45494]
4668. [bug] Use localtime_r and gmtime_r for thread safety.
[RT #45664]
4667. [cleanup] Refactor RDATA unit tests. [RT #45610]
4665. [protocol] Added support for ED25519 and ED448 DNSSEC signing
algorithms (RFC 8080). (Note: these algorithms
depend on code currently in the development branch
of OpenSSL which has not yet been released.)
[RT #44696]
4663. [cleanup] Clarify error message printed by dnssec-dsfromkey.
[RT #21731]
4662. [performance] Improve cache memory cleanup of zero TTL records
by putting them at the tail of LRU header lists.
[RT #45274]
4661. [bug] A race condition could occur if a zone was reloaded
while resigning, triggering a crash in
rbtdb.c:closeversion(). [RT #45276]
4660. [bug] Remove spurious "peer" from Windows socket log
messages. [RT #45617]
4658. [bug] Clean up build directory created by "setup.py install"
immediately. [RT #45628]
4654. [cleanup] Don't use C++ keywords delete, new and namespace.
[RT #45538]
4652. [bug] Nsupdate could attempt to use a zeroed address on
server timeout. [RT #45417]
4651. [test] Silence coverity warnings in tsig_test.c. [RT #45528]
--- 9.9.11 released ---
--- 9.9.11rc2 released ---
4653. [bug] Reorder includes to move @DST_OPENSSL_INC@ and
@ISC_OPENSSL_INC@ after shipped include directories.
[RT #45581]
--- 9.9.11rc1 released ---
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]
4646. [bug] Install lib/export libraries with ${INSTALL_LIBRARY}.
[RT #45497]
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]
--- 9.9.11b1 released ---
4643. [security] An error in TSIG handling could permit unauthorized
zone transfers or zone updates. (CVE-2017-3142)
(CVE-2017-3143) [RT #45383]
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]
4641. [cleanup] Parallel builds (make -j) could fail with --with-atf /
--enable-developer. [RT #45373]
4640. [bug] If query_findversion failed in query_getdb due to
memory failure the error status was incorrectly
discarded. [RT #45331]
4636. [bug] Normalize rpz policy zone names when checking for
existence. [RT #45358]
4634. [contrib] check5011.pl needs to handle optional space before
semi-colon in +multi-line output. [RT #45352]
4633. [maint] Updated AAAA (2001:500:200::b) for B.ROOT-SERVERS.NET.
4632. [security] The BIND installer on Windows used an unquoted
service path, which can enable privilege escalation.
(CVE-2017-3141) [RT #45229]
4631. [security] Some RPZ configurations could go into an infinite
query loop when encountering responses with TTL=0.
(CVE-2017-3140) [RT #45181]
4629. [bug] dns_client_startupdate could not be called with a
running client. [RT #45277]
4628. [bug] Fixed a potential reference leak in query_getdb().
[RT #45247]
4626. [test] Added more tests for handling of different record
ordering in CNAME and DNAME responses. [QA #430]
4624. [bug] Check isc_mem_strdup results in dns_view_setnewzones.
[RT #45210]
4622. [bug] Remove unnecessary escaping of semicolon in CAA and
URI records. [RT #45216]
4621. [port] Force alignment of oid arrays to silence loader
warnings. [RT #45131]
4620. [port] Handle EPFNOSUPPORT being returned when probing
to see if a socket type is supported. [RT #45214]
4617. [test] Update rndc system test to be more delay tolerant.
[RT #45177]
4615. [bug] AD could be set on truncated answer with no records
present in the answer and authority sections.
[RT #45140]
4614. [test] Fixed an error in the sockaddr unit test. [RT #45146]
4612. [bug] Silence 'may be use uninitalised' warning and simplify
the code in lwres/getaddinfo:process_answer.
[RT #45158]
4609. [cleanup] Rearrange makefiles to enable parallel execution
(i.e. "make -j"). [RT #45078]
4608. [func] DiG now warns about .local queries which are reserved
for Multicast DNS. [RT #44783]
4604. [bug] Don't use ERR_load_crypto_strings() when building
with OpenSSL 1.1.0. [RT #45117]
4603. [doc] Automatically generate named.conf(5) man page
from doc/misc/options. Thanks to Tony Finch.
[RT #43525]
4602. [func] Threads are now set to human-readable
names to assist debugging, when supported by
the OS. [RT #43234]
4601. [bug] Reject incorrect RSA key lengths during key
generation and and sign/verify context
creation. [RT #45043]
4599. [bug] Fix inconsistencies in inline signing time
comparison that were introduced with the
introduction of rdatasetheader->resign_lsb.
[RT #42112]
4597. [bug] The validator now ignores SHA-1 DS digest type
when a DS record with SHA-384 digest type is
present and is a supported digest type.
[RT #45017]
4596. [bug] Validate glue before adding it to the additional
section. This also fixes incorrect TTL capping
when the RRSIG expired earlier than the TTL.
[RT #45062]
4593. [doc] Update README using markdown, remove outdated FAQ
file in favor of the knowledge base.
4592. [bug] A race condition on shutdown could trigger an
assertion failure in dispatch.c. [RT #43822]
4591. [port] Addressed some python 3 compatibility issues.
Thanks to Ville Skytta. [RT #44955] [RT #44956]
4589. [cleanup] "configure -q" is now silent. [RT #44829]
4588. [bug] nsupdate could send queries for TKEY to the wrong
server when using GSSAPI. Thanks to Tomas Hozza.
[RT #39893]
4587. [bug] named-checkzone failed to handle occulted data below
DNAMEs correctly. [RT #44877]
4585. [port] win32: Set CompileAS value. [RT #42474]
--- 9.9.10 released ---
--- 9.9.10rc3 released ---
@@ -158,7 +861,7 @@
4503. [cleanup] "make uninstall" now removes files installed by
BIND. (This currently excludes Python files
due to lack of support in setup.py.) [RT #42912]
due to lack of support in setup.py.) [RT #42192]
4502. [func] Report multiple and experimental options when printing
grammar. [RT #43134]
@@ -1020,13 +1723,13 @@
4058. [bug] UDP dispatches could use the wrong pseudorandom
number generator context. [RT #38578]
4057. [bug] 'dnssec-dsfromkey -T 0' failed to add ttl field.
[RT #38565]
4056. [bug] Fixed several small bugs in automatic trust anchor
management, including a memory leak and a possible
loss of key state information. [RT #38458]
4057. [bug] 'dnssec-dsfromkey -T 0' failed to add ttl field.
[RT #38565]
4053. [security] Revoking a managed trust anchor and supplying
an untrusted replacement could cause named
to crash with an assertion failure.
@@ -11407,7 +12110,7 @@
586. [bug] multiple views with the same name were fatal. [RT #516]
585. [func] dns_db_addrdataset() and and dns_rdataslab_merge()
585. [func] dns_db_addrdataset() and dns_rdataslab_merge()
now support 'exact' additions in a similar manner to
dns_db_subtractrdataset() and dns_rdataslab_subtract().

186
CONTRIBUTING Normal file
View File

@@ -0,0 +1,186 @@
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,5 +1,5 @@
<!---
- Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -12,9 +12,9 @@
- 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.
--->
-->
## BIND Source Access and Contributor Guidelines
*May 8, 2014*
*Feb 22, 2018*
### Contents
@@ -52,7 +52,7 @@ 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://bindmember.isc.org](https://bindmember.isc.org).
[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
@@ -61,102 +61,105 @@ progress. Commits which address security vulnerablilities are withheld
until after public disclosure.
You can browse the source online via
[https://bindmember.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=summary](https://bindmember.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=summary)
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
To clone the repository, use:
> $ git clone https://bindmember.isc.org/git/bind9.git
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
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.10 branch, use:
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_10
> $ git checkout v9_12
Whenever a branch is ready for publication, a tag will be placed of the
form `v9_X_Y`. The 9.9.5 release, for instance, is tagged as `v9_9_5`.
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`.
### <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, etc, can be emailed to
`bind9-bugs@isc.org`, or reported via the
[bug submission form](http://www.isc.org/community/report-bug) at
[http://www.isc.org/community/report-bug](http://www.isc.org/community/report-bug).
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](https://gitlab.isc.org/isc-projects/bind9/issues).
Suggested changes or requests for new features can be emailed to
`bind-suggest@isc.org`. Both bugs and suggestions are stored in the
ticketing system used by the software engineering team at ISC.
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.
All submissions to the ticketing system receive an automatic response.
Any followup email sent to the ticketing system should use the same subject
header, so that it will be routed to the same ticket.
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.
Due to a large ticket backlog and an even larger quantity of incoming spam,
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.
### 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/).
The bug database is not publicly readable. Information about your
system that you submit in bug reports will not be divulged outside ISC.
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](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's [open source
license](http://www.isc.org/downloads/software-support-policy/isc-license/)
does not require changes to be contributed back to ISC, but this page
includes some guidelines for those who would like to do so.
We accept two different types of code contribution: Code intended for
inclusion in [BIND](#bind) itself, and code intended for the
[`contrib`](#contrib) directory.
#### <a name="bind"></a>BIND code
Patches for BIND itself may be submitted using the same methods as bug
reports or suggestions. When submitting a patch, please prepend the
subject header with "`[PATCH]`" so it will be easier for us to find. If
your patch introduces a new feature in BIND, please submit it to
`bind-suggest@isc.org`; if it fixes a bug, please submit it to
`bind9-bugs@isc.org`.
BIND is licensed under the
[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 reliquish
exclusive copyright, and that you grant permission to publish your
work under the
[ISC license](http://www.isc.org/downloads/software-support-policy/isc-license/).
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.
Patches should 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`.
#### <a name="bind"></a>BIND code
Those wanting to write code for BIND may be interested
in the [developer information](dev.html) 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.)
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.
Every patch submitted will be reviewed by ISC engineers following
our [code review process](dev.html#reviews) before it is merged.
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`.
It may take considerable time to review patch submissions, especially
if they don't meet ISC style and quality guidelines. If the patch
is a good idea, we can and will do additional work to bring them up
to par, but if we're busy with other work, it may take us a long
time to get to it.
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. (This is a work in progress, and
still quite preliminary.)
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
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](style.html).
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
* 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](dev.html#testing)
library API, include unit tests. See [Testing](doc/dev/dev.md#testing)
for more information.
##### Changes to `configure`
@@ -166,9 +169,9 @@ directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
instead of editing `config.h.in` directly, edit `configure.in` and run
`autoheader`.
When submitting your patch, it is fine to omit the `configure` diffs.
Just send the `configure.in` diffs and we'll generate the new `configure`
during the review process.
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
@@ -184,24 +187,20 @@ of documentation in the BIND source tree:
* 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; the
PDF, HTML, and `nroff`-format files will be generated automatically
from the `docbook` and `XML` files by a script whenever a documentation
change is merged to a release branch.
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.
#### <a name="contrib"></a>Contrib code
Patches to improve existing documentation are also very welcome!
The software in the `contrib` directory of the BIND 9 `tar` archive is not
formally supported by ISC, but is included for the convenience of users.
These are things we consider useful or informative, but are not able to
support at the same level as BIND.
##### Tests
`contrib` includes some useful DNS-related open source tools such as `zkt`,
`nslint`, and the `idnkit` library for internationalized domain name
support; useful scripts such as `nanny.pl` and `mkdane.sh`; performance
testers including `queryperf` and `perftcpdns`; and drivers and modules for
DLZ.
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)
for more information.
If you have code with a BSD-compatible license that you would like us to
includ in `contrib`, please send it to `bind-suggest@isc.org`, with
"`[CONTRIB]`" in the subject header.
#### Thanks
Thank you for your interest in contributing to the ongoing development
of BIND.

View File

@@ -1,5 +1,4 @@
Copyright (C) 2004-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2003 Internet Software Consortium.
Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above

890
FAQ
View File

@@ -1,890 +0,0 @@
Copyright ? 2000-2010, 2013-2016 Internet Systems Consortium, Inc.
("ISC")
-----------------------------------------------------------------------
1. Compilation and Installation Questions
Q: I'm trying to compile BIND 9, and "make" is failing due to files not
being found. Why?
A: Using a parallel or distributed "make" to build BIND 9 is not
supported, and doesn't work. If you are using one of these, use normal
make or gmake instead.
Q: Isn't "make install" supposed to generate a default named.conf?
A: Short Answer: No.
Long Answer: There really isn't a default configuration which fits any
site perfectly. There are lots of decisions that need to be made and
there is no consensus on what the defaults should be. For example
FreeBSD uses /etc/namedb as the location where the configuration files
for named are stored. Others use /var/named.
What addresses to listen on? For a laptop on the move a lot you may
only want to listen on the loop back interfaces.
To whom do you offer recursive service? Is there a firewall to
consider? If so, is it stateless or stateful? Are you directly on the
Internet? Are you on a private network? Are you on a NAT'd network? The
answers to all these questions change how you configure even a caching
name server.
2. Configuration and Setup Questions
Q: Why does named log the warning message "no TTL specified - using SOA
MINTTL instead"?
A: Your zone file is illegal according to RFC1035. It must either have a
line like:
$TTL 86400
at the beginning, or the first record in it must have a TTL field, like
the "84600" in this example:
example.com. 86400 IN SOA ns hostmaster ( 1 3600 1800 1814400 3600 )
Q: Why do I get errors like "dns_zone_load: zone foo/IN: loading master
file bar: ran out of space"?
A: This is often caused by TXT records with missing close quotes. Check
that all TXT records containing quoted strings have both open and close
quotes.
Q: How do I restrict people from looking up the server version?
A: Put a "version" option containing something other than the real version
in the "options" section of named.conf. Note doing this will not
prevent attacks and may impede people trying to diagnose problems with
your server. Also it is possible to "fingerprint" nameservers to
determine their version.
Q: How do I restrict only remote users from looking up the server version?
A: The following view statement will intercept lookups as the internal
view that holds the version information will be matched last. The
caveats of the previous answer still apply, of course.
view "chaos" chaos {
match-clients { <those to be refused>; };
allow-query { none; };
zone "." {
type hint;
file "/dev/null"; // or any empty file
};
};
Q: What do "no source of entropy found" or "could not open entropy source
foo" mean?
A: The server requires a source of entropy to perform certain operations,
mostly DNSSEC related. These messages indicate that you have no source
of entropy. On systems with /dev/random or an equivalent, it is used by
default. A source of entropy can also be defined using the
random-device option in named.conf.
Q: I'm trying to use TSIG to authenticate dynamic updates or zone
transfers. I'm sure I have the keys set up correctly, but the server is
rejecting the TSIG. Why?
A: This may be a clock skew problem. Check that the the clocks on the
client and server are properly synchronized (e.g., using ntp).
Q: I see a log message like the following. Why?
couldn't open pid file '/var/run/named.pid': Permission denied
A: You are most likely running named as a non-root user, and that user
does not have permission to write in /var/run. The common ways of
fixing this are to create a /var/run/named directory owned by the named
user and set pid-file to "/var/run/named/named.pid", or set pid-file to
"named.pid", which will put the file in the directory specified by the
directory option (which, in this case, must be writable by the user
named is running as).
Q: I can query the nameserver from the nameserver but not from other
machines. Why?
A: This is usually the result of the firewall configuration stopping the
queries and / or the replies.
Q: How can I make a server a slave for both an internal and an external
view at the same time? When I tried, both views on the slave were
transferred from the same view on the master.
A: You will need to give the master and slave multiple IP addresses and
use those to make sure you reach the correct view on the other machine.
Master: 10.0.1.1 (internal), 10.0.1.2 (external, IP alias)
internal:
match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
notify-source 10.0.1.1;
transfer-source 10.0.1.1;
query-source address 10.0.1.1;
external:
match-clients { any; };
recursion no; // don't offer recursion to the world
notify-source 10.0.1.2;
transfer-source 10.0.1.2;
query-source address 10.0.1.2;
Slave: 10.0.1.3 (internal), 10.0.1.4 (external, IP alias)
internal:
match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
notify-source 10.0.1.3;
transfer-source 10.0.1.3;
query-source address 10.0.1.3;
external:
match-clients { any; };
recursion no; // don't offer recursion to the world
notify-source 10.0.1.4;
transfer-source 10.0.1.4;
query-source address 10.0.1.4;
You put the external address on the alias so that all the other dns
clients on these boxes see the internal view by default.
A: BIND 9.3 and later: Use TSIG to select the appropriate view.
Master 10.0.1.1:
key "external" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
};
view "internal" {
match-clients { !key external; // reject message ment for the
// external view.
10.0.1/24; }; // accept from these addresses.
...
};
view "external" {
match-clients { key external; any; };
server 10.0.1.2 { keys external; }; // tag messages from the
// external view to the
// other servers for the
// view.
recursion no;
...
};
Slave 10.0.1.2:
key "external" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
};
view "internal" {
match-clients { !key external; 10.0.1/24; };
...
};
view "external" {
match-clients { key external; any; };
server 10.0.1.1 { keys external; };
recursion no;
...
};
Q: I get error messages like "multiple RRs of singleton type" and "CNAME
and other data" when transferring a zone. What does this mean?
A: These indicate a malformed master zone. You can identify the exact
records involved by transferring the zone using dig then running
named-checkzone on it.
dig axfr example.com @master-server > tmp
named-checkzone example.com tmp
A CNAME record cannot exist with the same name as another record except
for the DNSSEC records which prove its existence (NSEC).
RFC 1034, Section 3.6.2: "If a CNAME RR is present at a node, no other
data should be present; this ensures that the data for a canonical name
and its aliases cannot be different. This rule also insures that a
cached CNAME can be used without checking with an authoritative server
for other RR types."
Q: I get error messages like "named.conf:99: unexpected end of input"
where 99 is the last line of named.conf.
A: There are unbalanced quotes in named.conf.
A: Some text editors (notepad and wordpad) fail to put a line title
indication (e.g. CR/LF) on the last line of a text file. This can be
fixed by "adding" a blank line to the end of the file. Named expects to
see EOF immediately after EOL and treats text files where this is not
met as truncated.
Q: How do I share a dynamic zone between multiple views?
A: You choose one view to be master and the second a slave and transfer
the zone between views.
Master 10.0.1.1:
key "external" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxxxxxxxxxx";
};
key "mykey" {
algorithm hmac-sha256;
secret "yyyyyyyyyyyyyyyyyyyyyyyy";
};
view "internal" {
match-clients { !key external; 10.0.1/24; };
server 10.0.1.1 {
/* Deliver notify messages to external view. */
keys { external; };
};
zone "example.com" {
type master;
file "internal/example.db";
allow-update { key mykey; };
also-notify { 10.0.1.1; };
};
};
view "external" {
match-clients { key external; any; };
zone "example.com" {
type slave;
file "external/example.db";
masters { 10.0.1.1; };
transfer-source 10.0.1.1;
// allow-update-forwarding { any; };
// allow-notify { ... };
};
};
Q: I get a error message like "zone wireless.ietf56.ietf.org/IN: loading
master file primaries/wireless.ietf56.ietf.org: no owner".
A: This error is produced when a line in the master file contains leading
white space (tab/space) but there is no current record owner name to
inherit the name from. Usually this is the result of putting white
space before a comment, forgetting the "@" for the SOA record, or
indenting the master file.
Q: Why are my logs in GMT (UTC).
A: You are running chrooted (-t) and have not supplied local timezone
information in the chroot area.
FreeBSD: /etc/localtime
Solaris: /etc/TIMEZONE and /usr/share/lib/zoneinfo
OSF: /etc/zoneinfo/localtime
See also tzset(3) and zic(8).
Q: I get "rndc: connect failed: connection refused" when I try to run
rndc.
A: This is usually a configuration error.
First ensure that named is running and no errors are being reported at
startup (/var/log/messages or equivalent). Running "named -g <usual
arguments>" from a title can help at this point.
Secondly ensure that named is configured to use rndc either by
"rndc-confgen -a", rndc-confgen or manually. The Administrators
Reference manual has details on how to do this.
Old versions of rndc-confgen used localhost rather than 127.0.0.1 in /
etc/rndc.conf for the default server. Update /etc/rndc.conf if
necessary so that the default server listed in /etc/rndc.conf matches
the addresses used in named.conf. "localhost" has two address
(127.0.0.1 and ::1).
If you use "rndc-confgen -a" and named is running with -t or -u ensure
that /etc/rndc.conf has the correct ownership and that a copy is in the
chroot area. You can do this by re-running "rndc-confgen -a" with
appropriate -t and -u arguments.
Q: I get "transfer of 'example.net/IN' from 192.168.4.12#53: failed while
receiving responses: permission denied" error messages.
A: These indicate a filesystem permission error preventing named creating
/ renaming the temporary file. These will usually also have other
associated error messages like
"dumping master file: sl/tmp-XXXX5il3sQ: open: permission denied"
Named needs write permission on the directory containing the file.
Named writes the new cache file to a temporary file then renames it to
the name specified in named.conf to ensure that the contents are always
complete. This is to prevent named loading a partial zone in the event
of power failure or similar interrupting the write of the master file.
Note file names are relative to the directory specified in options and
any chroot directory ([<chroot dir>/][<options dir>]).
If named is invoked as "named -t /chroot/DNS" with the following
named.conf then "/chroot/DNS/var/named/sl" needs to be writable by the
user named is running as.
options {
directory "/var/named";
};
zone "example.net" {
type slave;
file "sl/example.net";
masters { 192.168.4.12; };
};
Q: I want to forward all DNS queries from my caching nameserver to another
server. But there are some domains which have to be served locally, via
rbldnsd.
How do I achieve this ?
A: options {
forward only;
forwarders { <ip.of.primary.nameserver>; };
};
zone "sbl-xbl.spamhaus.org" {
type forward; forward only;
forwarders { <ip.of.rbldns.server> port 530; };
};
zone "list.dsbl.org" {
type forward; forward only;
forwarders { <ip.of.rbldns.server> port 530; };
};
Q: Can you help me understand how BIND 9 uses memory to store DNS zones?
Some times it seems to take several times the amount of memory it needs
to store the zone.
A: When reloading a zone named my have multiple copies of the zone in
memory at one time. The zone it is serving and the one it is loading.
If reloads are ultra fast it can have more still.
e.g. Ones that are transferring out, the one that it is serving and the
one that is loading.
BIND 8 destroyed the zone before loading and also killed off outgoing
transfers of the zone.
The new strategy allows slaves to get copies of the new zone regardless
of how often the master is loaded compared to the transfer time. The
slave might skip some intermediate versions but the transfers will
complete and it will keep reasonably in sync with the master.
The new strategy also allows the master to recover from syntax and
other errors in the master file as it still has an in-core copy of the
old contents.
Q: I want to use IPv6 locally but I don't have a external IPv6 connection.
External lookups are slow.
A: You can use server clauses to stop named making external lookups over
IPv6.
server fd81:ec6c:bd62::/48 { bogus no; }; // site ULA prefix
server ::/0 { bogus yes; };
3. Operations Questions
Q: How to change the nameservers for a zone?
A: Step 1: Ensure all nameservers, new and old, are serving the same zone
content.
Step 2: Work out the maximum TTL of the NS RRset in the parent and
child zones. This is the time it will take caches to be clear of a
particular version of the NS RRset. If you are just removing
nameservers you can skip to Step 6.
Step 3: Add new nameservers to the NS RRset for the zone and wait until
all the servers for the zone are answering with this new NS RRset.
Step 4: Inform the parent zone of the new NS RRset then wait for all
the parent servers to be answering with the new NS RRset.
Step 5: Wait for cache to be clear of the old NS RRset. See Step 2 for
how long. If you are just adding nameservers you are done.
Step 6: Remove any old nameservers from the zones NS RRset and wait for
all the servers for the zone to be serving the new NS RRset.
Step 7: Inform the parent zone of the new NS RRset then wait for all
the parent servers to be answering with the new NS RRset.
Step 8: Wait for cache to be clear of the old NS RRset. See Step 2 for
how long.
Step 9: Turn off the old nameservers or remove the zone entry from the
configuration of the old nameservers.
Step 10: Increment the serial number and wait for the change to be
visible in all nameservers for the zone. This ensures that zone
transfers are still working after the old servers are decommissioned.
Note: the above procedure is designed to be transparent to dns clients.
Decommissioning the old servers too early will result in some clients
not being able to look up answers in the zone.
Note: while it is possible to run the addition and removal stages
together it is not recommended.
4. General Questions
Q: I keep getting log messages like the following. Why?
Dec 4 23:47:59 client 10.0.0.1#1355: updating zone 'example.com/IN':
update failed: 'RRset exists (value dependent)' prerequisite not
satisfied (NXRRSET)
A: DNS updates allow the update request to test to see if certain
conditions are met prior to proceeding with the update. The message
above is saying that conditions were not met and the update is not
proceeding. See doc/rfc/rfc2136.txt for more details on prerequisites.
Q: I keep getting log messages like the following. Why?
Jun 21 12:00:00.000 client 10.0.0.1#1234: update denied
A: Someone is trying to update your DNS data using the RFC2136 Dynamic
Update protocol. Windows 2000 machines have a habit of sending dynamic
update requests to DNS servers without being specifically configured to
do so. If the update requests are coming from a Windows 2000 machine,
see <http://support.microsoft.com/support/kb/articles/q246/8/04.asp>
for information about how to turn them off.
Q: When I do a "dig . ns", many of the A records for the root servers are
missing. Why?
A: This is normal and harmless. It is a somewhat confusing side effect of
the way BIND 9 does RFC2181 trust ranking and of the efforts BIND 9
makes to avoid promoting glue into answers.
When BIND 9 first starts up and primes its cache, it receives the root
server addresses as additional data in an authoritative response from a
root server, and these records are eligible for inclusion as additional
data in responses. Subsequently it receives a subset of the root server
addresses as additional data in a non-authoritative (referral) response
from a root server. This causes the addresses to now be considered
non-authoritative (glue) data, which is not eligible for inclusion in
responses.
The server does have a complete set of root server addresses cached at
all times, it just may not include all of them as additional data,
depending on whether they were last received as answers or as glue. You
can always look up the addresses with explicit queries like "dig
a.root-servers.net A".
Q: Why don't my zones reload when I do an "rndc reload" or SIGHUP?
A: A zone can be updated either by editing zone files and reloading the
server or by dynamic update, but not both. If you have enabled dynamic
update for a zone using the "allow-update" option, you are not supposed
to edit the zone file by hand, and the server will not attempt to
reload it.
Q: Why is named listening on UDP port other than 53?
A: Named uses a system selected port to make queries of other nameservers.
This behaviour can be overridden by using query-source to lock down the
port and/or address. See also notify-source and transfer-source.
Q: I get warning messages like "zone example.com/IN: refresh: failure
trying master 1.2.3.4#53: timed out".
A: Check that you can make UDP queries from the slave to the master
dig +norec example.com soa @1.2.3.4
You could be generating queries faster than the slave can cope with.
Lower the serial query rate.
serial-query-rate 5; // default 20
Q: I don't get RRSIG's returned when I use "dig +dnssec".
A: You need to ensure DNSSEC is enabled (dnssec-enable yes;).
Q: Can a NS record refer to a CNAME.
A: No. The rules for glue (copies of the *address* records in the parent
zones) and additional section processing do not allow it to work.
You would have to add both the CNAME and address records (A/AAAA) as
glue to the parent zone and have CNAMEs be followed when doing
additional section processing to make it work. No nameserver
implementation supports either of these requirements.
Q: What does "RFC 1918 response from Internet for 0.0.0.10.IN-ADDR.ARPA"
mean?
A: If the IN-ADDR.ARPA name covered refers to a internal address space you
are using then you have failed to follow RFC 1918 usage rules and are
leaking queries to the Internet. You should establish your own zones
for these addresses to prevent you querying the Internet's name servers
for these addresses. Please see <http://as112.net/> for details of the
problems you are causing and the counter measures that have had to be
deployed.
If you are not using these private addresses then a client has queried
for them. You can just ignore the messages, get the offending client to
stop sending you these messages as they are most probably leaking them
or setup your own zones empty zones to serve answers to these queries.
zone "10.IN-ADDR.ARPA" {
type master;
file "empty";
};
zone "16.172.IN-ADDR.ARPA" {
type master;
file "empty";
};
...
zone "31.172.IN-ADDR.ARPA" {
type master;
file "empty";
};
zone "168.192.IN-ADDR.ARPA" {
type master;
file "empty";
};
empty:
@ 10800 IN SOA <name-of-server>. <contact-email>. (
1 3600 1200 604800 10800 )
@ 10800 IN NS <name-of-server>.
Note
Future versions of named are likely to do this automatically.
Q: Will named be affected by the 2007 changes to daylight savings rules in
the US.
A: No, so long as the machines internal clock (as reported by "date -u")
remains at UTC. The only visible change if you fail to upgrade your OS,
if you are in a affected area, will be that log messages will be a hour
out during the period where the old rules do not match the new rules.
For most OS's this change just means that you need to update the
conversion rules from UTC to local time. Normally this involves
updating a file in /etc (which sets the default timezone for the
machine) and possibly a directory which has all the conversion rules
for the world (e.g. /usr/share/zoneinfo). When updating the OS do not
forget to update any chroot areas as well. See your OS's documentation
for more details.
The local timezone conversion rules can also be done on a individual
basis by setting the TZ environment variable appropriately. See your
OS's documentation for more details.
Q: Is there a bugzilla (or other tool) database that mere mortals can have
(read-only) access to for bind?
A: No. The BIND 9 bug database is kept closed for a number of reasons.
These include, but are not limited to, that the database contains
proprietory information from people reporting bugs. The database has in
the past and may in future contain unfixed bugs which are capable of
bringing down most of the Internet's DNS infrastructure.
The release pages for each version contain up to date lists of bugs
that have been fixed post release. That is as close as we can get to
providing a bug database.
Q: Why do queries for NSEC3 records fail to return the NSEC3 record?
A: NSEC3 records are strictly meta data and can only be returned in the
authority section. This is done so that signing the zone using NSEC3
records does not bring names into existence that do not exist in the
unsigned version of the zone.
5. Operating-System Specific Questions
5.1. HPUX
Q: I get the following error trying to configure BIND:
checking if unistd.h or sys/types.h defines fd_set... no
configure: error: need either working unistd.h or sys/select.h
A: You have attempted to configure BIND with the bundled C compiler. This
compiler does not meet the minimum compiler requirements to for
building BIND. You need to install a ANSI C compiler and / or teach
configure how to find the ANSI C compiler. The later can be done by
adjusting the PATH environment variable and / or specifying the
compiler via CC.
./configure CC=<compiler> ...
5.2. Linux
Q: Why do I get the following errors:
general: errno2result.c:109: unexpected error:
general: unable to convert errno to isc_result: 14: Bad address
client: UDP client handler shutting down due to fatal receive error: unexpected error
A: This is the result of a Linux kernel bug.
See: <http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=
2>
Q: Why does named lock up when it attempts to connect over IPSEC tunnels?
A: This is due to a kernel bug where the fact that a socket is marked
non-blocking is ignored. It is reported that setting xfrm_larval_drop
to 1 helps but this may have negative side effects. See: <https://
bugzilla.redhat.com/show_bug.cgi?id=427629> and <http://lkml.org/lkml/
2007/12/4/260>.
xfrm_larval_drop can be set to 1 by the following procedure:
echo "1" > proc/sys/net/core/xfrm_larval_drop
Q: Why do I see 5 (or more) copies of named on Linux?
A: Linux threads each show up as a process under ps. The approximate
number of threads running is n+4, where n is the number of CPUs. Note
that the amount of memory used is not cumulative; if each process is
using 10M of memory, only a total of 10M is used.
Newer versions of Linux's ps command hide the individual threads and
require -L to display them.
Q: Why does BIND 9 log "permission denied" errors accessing its
configuration files or zones on my Linux system even though it is
running as root?
A: On Linux, BIND 9 drops most of its root privileges on startup. This
including the privilege to open files owned by other users. Therefore,
if the server is running as root, the configuration files and zone
files should also be owned by root.
Q: I get the error message "named: capset failed: Operation not permitted"
when starting named.
A: The capability module, part of "Linux Security Modules/LSM", has not
been loaded into the kernel. See insmod(8), modprobe(8).
The relevant modules can be loaded by running:
modprobe commoncap
modprobe capability
Q: I'm running BIND on Red Hat Enterprise Linux or Fedora Core -
Why can't named update slave zone database files?
Why can't named create DDNS journal files or update the master zones
from journals?
Why can't named create custom log files?
A: Red Hat Security Enhanced Linux (SELinux) policy security protections :
Red Hat have adopted the National Security Agency's SELinux security
policy (see <http://www.nsa.gov/selinux>) and recommendations for BIND
security , which are more secure than running named in a chroot and
make use of the bind-chroot environment unnecessary .
By default, named is not allowed by the SELinux policy to write, create
or delete any files EXCEPT in these directories:
$ROOTDIR/var/named/slaves
$ROOTDIR/var/named/data
$ROOTDIR/var/tmp
where $ROOTDIR may be set in /etc/sysconfig/named if bind-chroot is
installed.
The SELinux policy particularly does NOT allow named to modify the
$ROOTDIR/var/named directory, the default location for master zone
database files.
SELinux policy overrules file access permissions - so even if all the
files under /var/named have ownership named:named and mode rw-rw-r--,
named will still not be able to write or create files except in the
directories above, with SELinux in Enforcing mode.
So, to allow named to update slave or DDNS zone files, it is best to
locate them in $ROOTDIR/var/named/slaves, with named.conf zone
statements such as:
zone "slave.zone." IN {
type slave;
file "slaves/slave.zone.db";
...
};
zone "ddns.zone." IN {
type master;
allow-updates {...};
file "slaves/ddns.zone.db";
};
To allow named to create its cache dump and statistics files, for
example, you could use named.conf options statements such as:
options {
...
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
...
};
You can also tell SELinux to allow named to update any zone database
files, by setting the SELinux tunable boolean parameter
'named_write_master_zones=1', using the system-config-securitylevel
GUI, using the 'setsebool' command, or in /etc/selinux/targeted/
booleans.
You can disable SELinux protection for named entirely by setting the
'named_disable_trans=1' SELinux tunable boolean parameter.
The SELinux named policy defines these SELinux contexts for named:
named_zone_t : for zone database files - $ROOTDIR/var/named/*
named_conf_t : for named configuration files - $ROOTDIR/etc/{named,rndc}.*
named_cache_t: for files modifiable by named - $ROOTDIR/var/{tmp,named/{slaves,data}}
If you want to retain use of the SELinux policy for named, and put
named files in different locations, you can do so by changing the
context of the custom file locations .
To create a custom configuration file location, e.g. '/root/
named.conf', to use with the 'named -c' option, do:
# chcon system_u:object_r:named_conf_t /root/named.conf
To create a custom modifiable named data location, e.g. '/var/log/
named' for a log file, do:
# chcon system_u:object_r:named_cache_t /var/log/named
To create a custom zone file location, e.g. /root/zones/, do:
# chcon system_u:object_r:named_zone_t /root/zones/{.,*}
See these man-pages for more information : selinux(8), named_selinux
(8), chcon(1), setsebool(8)
Q: I'm running BIND on Ubuntu -
Why can't named update slave zone database files?
Why can't named create DDNS journal files or update the master zones
from journals?
Why can't named create custom log files?
A: Ubuntu uses AppArmor <http://en.wikipedia.org/wiki/AppArmor> in
addition to normal file system permissions to protect the system.
Adjust the paths to use those specified in /etc/apparmor.d/
usr.sbin.named or adjust /etc/apparmor.d/usr.sbin.named to allow named
to write at the location specified in named.conf.
Q: Listening on individual IPv6 interfaces does not work.
A: This is usually due to "/proc/net/if_inet6" not being available in the
chroot file system. Mount another instance of "proc" in the chroot file
system.
This can be be made permanent by adding a second instance to /etc/
fstab.
proc /proc proc defaults 0 0
proc /var/named/proc proc defaults 0 0
5.3. Windows
Q: Zone transfers from my BIND 9 master to my Windows 2000 slave fail.
Why?
A: This may be caused by a bug in the Windows 2000 DNS server where DNS
messages larger than 16K are not handled properly. This can be worked
around by setting the option "transfer-format one-answer;". Also check
whether your zone contains domain names with embedded spaces or other
special characters, like "John\032Doe\213s\032Computer", since such
names have been known to cause Windows 2000 slaves to incorrectly
reject the zone.
Q: I get "Error 1067" when starting named under Windows.
A: This is the service manager saying that named exited. You need to
examine the Application log in the EventViewer to find out why.
Common causes are that you failed to create "named.conf" (usually "C:\
windows\dns\etc\named.conf") or failed to specify the directory in
named.conf.
options {
Directory "C:\windows\dns\etc";
};
5.4. FreeBSD
Q: I have FreeBSD 4.x and "rndc-confgen -a" just sits there.
A: /dev/random is not configured. Use rndcontrol(8) to tell the kernel to
use certain interrupts as a source of random events. You can make this
permanent by setting rand_irqs in /etc/rc.conf.
rand_irqs="3 14 15"
See also <http://people.freebsd.org/~dougb/randomness.html>.
5.5. Solaris
Q: How do I integrate BIND 9 and Solaris SMF
A: Sun has a blog entry describing how to do this.
<http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris>
5.6. Apple Mac OS X
Q: How do I run BIND 9 on Apple Mac OS X?
A: If you run Tiger(Mac OS 10.4) or later then this is all you need to do:
% sudo rndc-confgen > /etc/rndc.conf
Copy the key statement from /etc/rndc.conf into /etc/rndc.key, e.g.:
key "rndc-key" {
algorithm hmac-sha256;
secret "uvceheVuqf17ZwIcTydddw==";
};
Then start the relevant service:
% sudo service org.isc.named start
This is persistent upon a reboot, so you will have to do it only once.
A: Alternatively you can just generate /etc/rndc.key by running:
% sudo rndc-confgen -a
Then start the relevant service:
% sudo service org.isc.named start
Named will look for /etc/rndc.key when it starts if it doesn't have a
controls section or the existing controls are missing keys sub-clauses.
This is persistent upon a reboot, so you will have to do it only once.

22
FAQ.xml
View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004-2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -20,27 +19,10 @@
<articleinfo>
<copyright>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2013</year>
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</articleinfo>
<qandaset defaultlabel="qanda">

552
HISTORY
View File

@@ -1,365 +1,233 @@
Summary of functional enhancements from prior major releases of BIND 9:
Functional enhancements from prior major releases of BIND 9
BIND 9.8.0
BIND 9.8.0 includes a number of changes from BIND 9.7 and earlier
releases. New features include:
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.
* 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.
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:
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.
* 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.
* 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.
* 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.
* 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 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 () 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).
See also RFC 3845, doc/draft/draft-ietf-dnsext-dnssec-*.
DNSSEC lookaside validation.
check-names is now implemented.
rrset-order in 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.
NOTE:
* 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.
* 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.
There are a few known bugs:
On some systems, IPv6 and IPv4 sockets interact in
unexpected ways. For details, see doc/misc/ipv6.
To reduce the impact of these problems, the server
no longer listens for requests on IPv6 addresses
by default. If you need to accept DNS queries over
IPv6, you must specify "listen-on-v6 { any; };"
in the named.conf options statement.
FreeBSD prior to 4.2 (and 4.2 if running as non-root)
and OpenBSD prior to 2.8 log messages like
"fcntl(8, F_SETFL, 4): Inappropriate ioctl for device".
This is due to a bug in "/dev/random" and impacts the
server's DNSSEC support.
OS X 10.1.4 (Darwin 5.4), OS X 10.1.5 (Darwin 5.5) and
OS X 10.2 (Darwin 6.0) reports errors like
"fcntl(3, F_SETFL, 4): Operation not supported by device".
This is due to a bug in "/dev/random" and impacts the
server's DNSSEC support.
--with-libtool does not work on AIX.
A bug in some versions of the Microsoft DNS server can cause zone
transfers from a BIND 9 server to a W2K server to fail. For details,
see the "Zone Transfers" section in doc/misc/migration.
* 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.

246
HISTORY.md Normal file
View File

@@ -0,0 +1,246 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- 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.
-->
### Functional enhancements from prior major releases of BIND 9
#### 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

@@ -1,5 +1,4 @@
# Copyright (C) 2004-2009, 2011-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -13,11 +12,10 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.62 2011/09/06 04:06:37 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VERSION=@BIND9_VERSION@
@@ -28,7 +26,7 @@ MANPAGES = isc-config.sh.1
HTMLPAGES = isc-config.sh.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
MANOBJS = README HISTORY OPTIONS ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
@@ -92,16 +90,31 @@ force-test: test-force
test-force:
status=0; \
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
(test -f ${top_builddir}/unit/unittest.sh && \
$(SHELL) ${top_builddir}/unit/unittest.sh) || status=1; \
exit $$status
FAQ: FAQ.xml
${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
LC_ALL=C ${W3M} -T text/html -dump -cols 72 >$@.tmp
mv $@.tmp $@
README: README.md
${PANDOC} --email-obfuscation=none -s -t html README.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
HISTORY: HISTORY.md
${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
OPTIONS: OPTIONS.md
${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
CONTRIBUTING: CONTRIBUTING.md
${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@
unit::
sh ${top_srcdir}/unit/unittest.sh
sh ${top_builddir}/unit/unittest.sh
clean::
rm -f FAQ.tmp

29
OPTIONS Normal file
View File

@@ -0,0 +1,29 @@
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

33
OPTIONS.md Normal file
View File

@@ -0,0 +1,33 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- 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.
-->
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 |
|-----------------------------------|----------------------------------------|
|`-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|

774
README
View File

@@ -1,478 +1,464 @@
BIND 9
BIND version 9 is a major rewrite of nearly all aspects of the
underlying BIND architecture. Some of the important features of
BIND 9 are:
Contents
- DNS Security
DNSSEC (signed zones)
TSIG (signed DNS requests)
1. Introduction
2. Reporting bugs and getting help
3. Contributing to BIND
4. BIND 9.9 features
5. Building BIND
6. macOS
7. Compile-time options
8. Automated testing
9. Documentation
10. Change log
11. Acknowledgments
- IP version 6
Answers DNS queries on IPv6 sockets
IPv6 resource records (AAAA)
Experimental IPv6 Resolver Library
Introduction
- DNS Protocol Enhancements
IXFR, DDNS, Notify, EDNS0
Improved standards conformance
BIND (Berkeley Internet Name Domain) is a complete, highly portable
implementation of the DNS (Domain Name System) protocol.
- Views
One server process can provide multiple "views" of
the DNS namespace, e.g. an "inside" view to certain
clients, and an "outside" view to others.
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.
- Multiprocessor Support
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 licenced under the terms of the ISC License for all
versions up to and including BIND 9.10, and the Mozilla Public License
version 2.0 for all subsequent verisons.
- Improved Portability Architecture
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.
BIND version 9 development has been underwritten by the following
organizations:
For up-to-date release notes and errata, see http://www.isc.org/software/
bind9/releasenotes
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.
Reporting bugs and getting help
For a summary of functional enhancements in previous
releases, see the HISTORY file.
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.
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
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.
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
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.
BIND 9.9.10
BIND 9.9.10 is a maintenance release and addresses the security
flaws disclosed in CVE-2016-2775, CVE-2016-2776, CVE-2016-6170,
CVE-2016-8864, CVE-2016-9131, CVE-2016-9147, CVE-2016-9444,
CVE-2017-3135, CVE-2017-3136, CVE-2017-3137, and CVE-2017-3138.
Professional support and training for BIND are available from ISC at
https://www.isc.org/support.
BIND 9.9.9
To join the BIND Users mailing list, or view the archives, visit https://
lists.isc.org/mailman/listinfo/bind-users.
BIND 9.9.9 is a maintenance release and addresses bugs found
in BIND 9.9.8 and earlier, as well as the security flaws
described in CVE-2015-8000, CVE-2015-8461, CVE-2015-8704,
CVE-2016-1285, CVE-2016-1286, CVE-2016-2775 and CVE-2016-2776.
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.
BIND 9.9.8
Contributing to BIND
BIND 9.9.8 is a maintenance release and addresses bugs
found in BIND 9.9.7 and earlier, as well as the security
flaws described in CVE-2015-4620, CVE-2015-5477,
CVE-2015-5722, and CVE-2015-5986.
ISC maintains a public git repository for BIND; details can be found at
http://www.isc.org/git/.
It also makes the following new features available via a
compile-time option:
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
- New "fetchlimit" quotas are now available 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.
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.
+ "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.
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.
NOTE: These options are NOT built in by default; use
"configure --enable-fetchlimit" to enable them.
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.9.7
BIND 9.9 features
BIND 9.9.7 is a maintenance release and addresses bugs
found in BIND 9.9.6 and earlier, as well as the security
flaws described in CVE-2014-8500 and CVE-2015-1349.
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
releases. New features include:
BIND 9.9.6
* 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
BIND 9.9.6 is a maintenance release, and also includes
the following new functionality.
6303.
- The former behavior with respect to capitalization of names
(prior to BIND 9.9.5) can be restored for specific clients via
the new "no-case-compress" ACL.
BIND 9.9.5
BIND 9.9.5 is a maintenance release, and patches the security
flaws described in CVE-2013-6320 and CVE-2014-0591. It also
includes the following functional enhancements:
- "named" now preserves the capitalization of names when
responding to queries.
- new "dnssec-importkey" command allows the use of offline
DNSSEC keys with automatic DNSKEY management.
- 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.
BIND 9.9.4
BIND 9.9.4 is a maintenance release, and patches the security
flaws described in CVE-2013-3919 and CVE-2013-4854. It also
introduces DNS Response Rate Limiting (DNS RRL) as a
compile-time option. To use this feature, configure with
the "--enable-rrl" option.
BIND 9.9.3
BIND 9.9.3 is a maintenance release and patches the security
flaws described in CVE-2012-5688, CVE-2012-5689 and CVE-2013-2266.
BIND 9.9.2
BIND 9.9.2 is a maintenance release and patches the security
flaw described in CVE-2012-4244.
* 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.9.1
BIND 9.9.1 is a maintenance release.
BIND 9.9.1 is a maintenance release.
BIND 9.9.0
BIND 9.9.2
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
releases. New features include:
BIND 9.9.2 is a maintenance release, and addresses the security flaw
described in CVE-2012-4244.
- 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.9.3
Building
BIND 9.9.3 is a maintenance release and addresses the security flaws
described in CVE-2012-5688, CVE-2012-5689 and CVE-2013-2266.
BIND 9 currently requires a UNIX system with an ANSI C compiler,
basic POSIX support, and a 64 bit integer type.
BIND 9.9.4
We've had successful builds and tests on the following systems:
BIND 9.9.4 is a maintenance release, and addresses the security flaws
described in CVE-2013-3919 and CVE-2013-4854. It also introduces DNS
Response Rate Limiting (DNS RRL) as a compile-time option. To use this
feature, configure with the --enable-rrl option.
COMPAQ Tru64 UNIX 5.1B
Fedora Core 6
FreeBSD 4.10, 5.2.1, 6.2
HP-UX 11.11
Mac OS X 10.5
NetBSD 3.x, 4.0-beta, 5.0-beta
OpenBSD 3.3 and up
Solaris 8, 9, 9 (x86), 10
Ubuntu 7.04, 7.10
Windows XP/2003/2008
BIND 9.9.5
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
Windows, including Windows NT and Windows 2000, are no longer
supported.
BIND 9.9.5 is a maintenance release, and addresses the security flaws
described in CVE-2013-6320 and CVE-2014-0591. It also includes the
following functional enhancements:
We have recent reports from the user community that a supported
version of BIND will build and run on the following systems:
* named now preserves the capitalization of names when responding to
queries.
* new dnssec-importkey command allows the use of offline DNSSEC keys
with automatic DNSKEY management.
* 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.
AIX 4.3, 5L
CentOS 4, 4.5, 5
Darwin 9.0.0d1/ARM
Debian 4, 5, 6
Fedora Core 5, 7, 8
FreeBSD 6, 7, 8
HP-UX 11.23 PA
MacOS X 10.5, 10.6, 10.7
Red Hat Enterprise Linux 4, 5, 6
SCO OpenServer 5.0.6
Slackware 9, 10
SuSE 9, 10
BIND 9.9.6
To build, just
BIND 9.9.6 is a maintenance release, and also includes the following new
functionality.
./configure
make
* The former behavior with respect to capitalization of names (prior to
BIND 9.9.5) can be restored for specific clients via the new
no-case-compress ACL.
Do not use a parallel "make".
BIND 9.9.7
Several environment variables that can be set before running
configure will affect compilation:
BIND 9.9.7 is a maintenance release, and addresses the security flaws
described in CVE-2014-8500 and CVE-2015-1349.
CC
The C compiler to use. configure tries to figure
out the right one for supported systems.
BIND 9.9.8
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.
BIND 9.9.8 is a maintenance release, and addresses the security flaws
described in CVE-2015-4620, CVE-2015-5477, CVE-2015-5722, and
CVE-2015-5986.
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.
It also makes the following new features available via a compile-time
option:
STD_CDEFINES
Any additional preprocessor symbols you want defined.
Defaults to empty string.
* New "fetchlimit" quotas are now available 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. NOTE: These options are NOT built in by default; use
configure --enable-fetchlimit to enable them.
Possible settings:
Change the default syslog facility of named/lwresd.
-DISC_FACILITY=LOG_LOCAL0
Enable DNSSEC signature chasing support in dig.
-DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and
-DDIG_SIGCHASE_BU=1)
Disable dropping queries from particular well known ports.
-DNS_CLIENT_DROPPORT=0
Sibling glue checking in named-checkzone is enabled by default.
To disable the default check set. -DCHECK_SIBLING=0
named-checkzone checks out-of-zone addresses by default.
To disable this default set. -DCHECK_LOCAL=0
To create the default pid files in ${localstatedir}/run rather
than ${localstatedir}/run/{named,lwresd}/ set.
-DNS_RUN_PID_DIR=0
Enable workaround for Solaris kernel bug about /dev/poll
-DISC_SOCKET_USE_POLLWATCH=1
The watch timeout is also configurable, e.g.,
-DISC_SOCKET_POLLWATCH_TIMEOUT=20
BIND 9.9.9
LDFLAGS
Linker flags. Defaults to empty string.
BIND 9.9.9 is a maintenance release and addresses bugs found in BIND 9.9.8
and earlier, as well as the security flaws described in CVE-2015-8000,
CVE-2015-8461, CVE-2015-8704, CVE-2016-1285, CVE-2016-1286, CVE-2016-2775
and CVE-2016-2776.
The following need to be set when cross compiling.
BIND 9.9.10
BUILD_CC
The native C compiler.
BUILD_CFLAGS (optional)
BUILD_CPPFLAGS (optional)
Possible Settings:
-DNEED_OPTARG=1 (optarg is not declared in <unistd.h>)
BUILD_LDFLAGS (optional)
BUILD_LIBS (optional)
BIND 9.9.10 is a maintenance release and addresses the security flaws
disclosed in CVE-2016-2775, CVE-2016-2776, CVE-2016-6170, CVE-2016-8864,
CVE-2016-9131, CVE-2016-9147, CVE-2016-9444, CVE-2017-3135, CVE-2017-3136,
CVE-2017-3137, and CVE-2017-3138.
To build shared libraries, specify "--with-libtool" on the
configure command line.
BIND 9.9.11
For the server to support DNSSEC, you need to build it
with crypto support. You must have OpenSSL 1.0.1t
or newer installed and specify "--with-openssl" on the
configure command line. If OpenSSL is installed under
a nonstandard prefix, you can tell configure where to
look for it using "--with-openssl=/prefix".
BIND 9.9.11 is a maintenance release, and addresses the security flaws
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and
CVE-2017-3143.
Python requires 'argparse' to be available. 'argparse' is
a standard module as of Python 2.7 and Python 3.2.
BIND 9.9.12
On some platforms it is necessary to explicitly request large
file support to handle files bigger than 2GB. This can be
done by "--enable-largefile" on the configure command line.
BIND 9.9.12 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
On some platforms, BIND 9 can be built with multithreading
support, allowing it to take advantage of multiple CPUs.
You can specify whether to build a multithreaded BIND 9
by specifying "--enable-threads" or "--disable-threads"
on the configure command line. The default is operating
system dependent.
BIND 9.9.13
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.
The default is "disabled", to reduce memory footprint.
BIND 9.9.13 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738.
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.
Building BIND
"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".
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 RedHat, Fedora, Debian,
Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris,
HP-UX, AIX, SCO OpenServer, and OpenWRT.
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".
BIND is also available for Windows XP, 2003, 2008, and higher. See
win32utils/readme1st.txt for details on building for Windows systems.
To see additional configure options, run "configure --help".
Note that the help message does not reflect the BIND 8
compatibility defaults for sysconfdir and localstatedir.
To build on a UNIX or Linux system, use:
If you're planning on making changes to the BIND 9 source, you
should also "make depend". If you're using Emacs, you might find
"make tags" helpful.
$ ./configure
$ make
If you need to re-run configure please run "make distclean" first.
This will ensure that all the option changes take.
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.
Building with gcc is not supported, unless gcc is the vendor's usual
compiler (e.g. the various BSD systems, Linux).
Known compiler issues:
* gcc-3.2.1 and gcc-3.1.1 is known to cause problems with solaris-x86.
* gcc prior to gcc-3.2.3 ultrasparc generates incorrect code at -02.
* gcc-3.3.5 powerpc generates incorrect code at -02.
* Irix, MipsPRO 7.4.1m is known to cause problems.
Several environment variables that can be set before running configure
will affect compilation:
A limited test suite can be run with "make test". Many of
the tests require you to configure a set of virtual IP addresses
on your system, and some require Perl; see bin/tests/system/README
for details.
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 Optional, used for cross-compiling
BUILD_CPPFLAGS
BUILD_LDFLAGS
BUILD_LIBS
SunOS 4 requires "printf" to be installed to make the shared
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
macOS
Known limitations
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".
This will add /usr/include to the system and install the compiler and
other tools so that they can be easily found.
Linux requires kernel build 2.6.39 or later to get the
performance benefits from using multiple sockets.
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.
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.
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
libxml2 http://xmlsoft.org If this is installed at a nonstandard location,
specify the prefix using --with-libxml2=/prefix.
Portions of BIND that are written in Python, including dnssec-coverage,
dnssec-checkds, and some of the system tests, require the 'argparse'
module to be available. 'argparse' is a standard module as of Python 2.7
and Python 3.2.
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.
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 Automated Testing Framework (ATF). To run
them, use configure --with-atf, then run make test or make unit.
Documentation
The BIND 9 Administrator Reference Manual is included with the
source distribution in DocBook XML and HTML format, in the
doc/arm directory.
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.
There is now also a set of man pages for the lwres library.
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.
If you are upgrading from BIND 8, please read the migration
notes in doc/misc/migration. If you are upgrading from
BIND 4, read doc/misc/migration-4to9.
Frequently (and not-so-frequently) asked questions and their answers can
be found in the ISC Knowledge Base at https://kb.isc.org.
Frequently asked questions and their answers can be found in
FAQ.
Additional information on various subjects can be found in other README
files throughout the source tree.
Additional information on various subjects can be found
in the other README files.
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:
Change Log
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
A detailed list of all changes to 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:
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.
[func] New feature
Acknowledgments
[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 Reports and Mailing Lists
Bug reports should be sent to:
bind9-bugs@isc.org
Feature requests can be sent to:
bind-suggest@isc.org
To join or view the archives of the BIND Users mailing list,
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:
https://lists.isc.org/mailman/listinfo/bind-workers
Information on read-only Git access, coding style and developer
guidelines can be found at:
http://www.isc.org/git/
* 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)

472
README.md Normal file
View File

@@ -0,0 +1,472 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- 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.
-->
# BIND 9
### Contents
1. [Introduction](#intro)
1. [Reporting bugs and getting help](#help)
1. [Contributing to BIND](#contrib)
1. [BIND 9.9 features](#features)
1. [Building BIND](#build)
1. [macOS](#macos)
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 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](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
licenced under the terms of the ISC License for all versions up to and
including BIND 9.10, and the Mozilla Public License version 2.0 for all
subsequent verisons.
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 file [CHANGES](CHANGES). See [below](#changes) for details on the
CHANGES file format.
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
[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
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](mailto:security-officer@isc.org).
Professional support and training for BIND are available from
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).
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](https://lists.isc.org/mailman/listinfo/bind-workers).
### <a name="contrib"/> Contributing to BIND
ISC maintains a public git repository for BIND; details can be found
at [http://www.isc.org/git/](http://www.isc.org/git/).
Information for BIND contributors can be found in the following files:
- 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)
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 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
including your patch as an attachment, preferably generated by
`git format-patch`.
### <a name="features"/> BIND 9.9 features
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.9.1
BIND 9.9.1 is a maintenance release.
#### BIND 9.9.2
BIND 9.9.2 is a maintenance release, and addresses the security flaw
described in CVE-2012-4244.
#### BIND 9.9.3
BIND 9.9.3 is a maintenance release and addresses the security
flaws described in CVE-2012-5688, CVE-2012-5689 and CVE-2013-2266.
#### BIND 9.9.4
BIND 9.9.4 is a maintenance release, and addresses the security
flaws described in CVE-2013-3919 and CVE-2013-4854. It also
introduces DNS Response Rate Limiting (DNS RRL) as a
compile-time option. To use this feature, configure with
the `--enable-rrl` option.
#### BIND 9.9.5
BIND 9.9.5 is a maintenance release, and addresses the security
flaws described in CVE-2013-6320 and CVE-2014-0591. It also
includes the following functional enhancements:
* `named` now preserves the capitalization of names when responding to
queries.
* new `dnssec-importkey` command allows the use of offline DNSSEC keys with
automatic DNSKEY management.
* 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.
#### BIND 9.9.6
BIND 9.9.6 is a maintenance release, and also includes the following new
functionality.
- The former behavior with respect to capitalization of names (prior to
BIND 9.9.5) can be restored for specific clients via the new
`no-case-compress` ACL.
#### BIND 9.9.7
BIND 9.9.7 is a maintenance release, and addresses the security flaws
described in CVE-2014-8500 and CVE-2015-1349.
#### BIND 9.9.8
BIND 9.9.8 is a maintenance release, and addresses the security flaws
described in CVE-2015-4620, CVE-2015-5477, CVE-2015-5722, and
CVE-2015-5986.
It also makes the following new features available via a compile-time
option:
* New "fetchlimit" quotas are now available 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.
NOTE: These options are NOT built in by default; use
`configure --enable-fetchlimit` to enable them.
#### BIND 9.9.9
BIND 9.9.9 is a maintenance release and addresses bugs found
in BIND 9.9.8 and earlier, as well as the security flaws
described in CVE-2015-8000, CVE-2015-8461, CVE-2015-8704,
CVE-2016-1285, CVE-2016-1286, CVE-2016-2775 and CVE-2016-2776.
#### BIND 9.9.10
BIND 9.9.10 is a maintenance release and addresses the security
flaws disclosed in CVE-2016-2775, CVE-2016-2776, CVE-2016-6170,
CVE-2016-8864, CVE-2016-9131, CVE-2016-9147, CVE-2016-9444,
CVE-2017-3135, CVE-2017-3136, CVE-2017-3137, and CVE-2017-3138.
#### BIND 9.9.11
BIND 9.9.11 is a maintenance release, and addresses the security flaws
disclosed in CVE-2017-3140, CVE-2017-3141, CVE-2017-3142 and CVE-2017-3143.
#### BIND 9.9.12
BIND 9.9.12 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
#### BIND 9.9.13
BIND 9.9.13 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738.
### <a name="build"/> Building BIND
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 RedHat, Fedora, Debian, Ubuntu,
SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, HP-UX, AIX,
SCO OpenServer, and OpenWRT.
BIND is also available for Windows XP, 2003, 2008, and higher. See
`win32utils/readme1st.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`|Optional, used for cross-compiling|
|`BUILD_CPPFLAGS`||
|`BUILD_LDFLAGS`||
|`BUILD_LIBS`||
#### <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/
or if you have Xcode already installed you can run "xcode-select --install".
This will add /usr/include to the system and install the compiler and other
tools so that they can be easily found.
#### <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.
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.
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=&lt;PREFIX&gt;" 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=&lt;PREFIX&gt;", and
configure BIND with "--enable-native-pkcs11".
To support the HTTP statistics channel, the server must be linked with
libxml2 [http://xmlsoft.org](http://xmlsoft.org) If this is installed at a
nonstandard location, specify the prefix using `--with-libxml2=/prefix`.
Portions of BIND that are written in Python, including
`dnssec-coverage`, `dnssec-checkds`, and some of the
system tests, require the 'argparse' module to be available.
'argparse' is a standard module as of Python 2.7 and Python 3.2.
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.
`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 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 Automated Testing Framework (ATF).
To run them, use `configure --with-atf`, then run `make test` or
`make unit`.
### <a name="doc"/> 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](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.
### <a name="ack"/> 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/](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)

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
/*! \file */
/***

View File

@@ -1,5 +1,4 @@
# Copyright (C) 2004, 2007, 2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -13,14 +12,12 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig dnssec tools tests nsupdate \
check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
TARGETS =
@BIND9_MAKE_RULES@

View File

@@ -1,5 +1,4 @@
# Copyright (C) 2004-2007, 2009, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2012, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -211,8 +210,9 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
if (dns_name_countlabels(name) > 1U) {
strlcat(namebuf, ".", sizeof(namebuf));
}
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
@@ -400,8 +400,9 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
if (dns_name_countlabels(name) > 1U) {
strlcat(namebuf, ".", sizeof(namebuf));
}
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
@@ -485,8 +486,9 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
if (dns_name_countlabels(name) > 1U) {
strlcat(namebuf, ".", sizeof(namebuf));
}
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -140,7 +139,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2002 Internet Software Consortium.
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,8 +1,7 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -35,6 +34,9 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2004</year>
<year>2005</year>
<year>2007</year>
@@ -42,14 +44,9 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004-2007, 2009-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2011, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -318,7 +317,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004-2007, 2009-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2002 Internet Software Consortium.
Copyright \(co 2000-2002, 2004-2007, 2009-2011, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004-2007, 2009-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -33,6 +32,9 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
@@ -44,14 +46,9 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004-2007, 2009-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) 2000-2002, 2004-2007, 2009-2011, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -63,6 +63,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_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>
@@ -89,6 +90,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_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>
@@ -110,4 +112,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -66,6 +66,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_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>
@@ -88,6 +89,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_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>
@@ -96,4 +98,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -63,6 +63,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -95,6 +96,7 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -121,4 +123,4 @@ copy /Y named-checkzone.exe named-compilezone.exe
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2009, 2012, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -18,6 +18,10 @@ srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
# Attempt to disable parallel processing.
.NOTPARALLEL:
.NO_PARALLEL:
VERSION=@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@@ -74,11 +78,11 @@ rndc-confgen.@O@: rndc-confgen.c
ddns-confgen.@O@: ddns-confgen.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c ${srcdir}/ddns-confgen.c
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
rndc-confgen@EXEEXT@: rndc-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
export BASEOBJS="rndc-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
${FINALBUILDCMD}
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS} ${CONFDEPLIBS}
ddns-confgen@EXEEXT@: ddns-confgen.@O@ util.@O@ keygen.@O@ ${CONFDEPLIBS}
export BASEOBJS="ddns-confgen.@O@ util.@O@ keygen.@O@ ${UOBJS}"; \
${FINALBUILDCMD}

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -155,5 +155,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009, 2011, 2014 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -41,6 +41,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009, 2012, 2013, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2001, 2003 Internet Software Consortium.
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -221,7 +220,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2001, 2003 Internet Software Consortium.
Copyright \(co 2001, 2003-2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007-2009, 2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2001, 2003 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -38,6 +37,8 @@
<docinfo>
<copyright>
<year>2001</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2007</year>
@@ -45,13 +46,9 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2001</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2001, 2003 Internet Software Consortium.
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -61,6 +61,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -84,6 +85,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -106,4 +108,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -63,6 +63,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -89,6 +90,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -63,6 +63,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -89,6 +90,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\isccc\include;..\..\..\lib\isccfg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -107,4 +109,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -1,5 +1,4 @@
# Copyright (C) 2004, 2005, 2007, 2009, 2012, 2013, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -25,8 +24,9 @@ VERSION=@BIND9_VERSION@
READLINE_LIB = @READLINE_LIB@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISC_INCLUDES} ${LWRES_INCLUDES} ${ISCCFG_INCLUDES}
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} \
${BIND9_INCLUDES} ${ISC_INCLUDES} \
${LWRES_INCLUDES} ${ISCCFG_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS =

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -48,7 +47,7 @@
dig \- DNS lookup utility
.SH "SYNOPSIS"
.HP \w'\fBdig\fR\ 'u
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [name] [type] [class] [queryopt...]
.HP \w'\fBdig\fR\ 'u
\fBdig\fR [\fB\-h\fR]
.HP \w'\fBdig\fR\ 'u
@@ -56,7 +55,7 @@ dig \- DNS lookup utility
.SH "DESCRIPTION"
.PP
\fBdig\fR
(domain information groper) is a flexible tool for interrogating DNS name servers\&. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried\&. Most DNS administrators use
is a flexible tool for interrogating DNS name servers\&. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried\&. Most DNS administrators use
\fBdig\fR
to troubleshoot DNS problems because of its flexibility, ease of use and clarity of output\&. Other lookup tools tend to have less functionality than
\fBdig\fR\&.
@@ -185,7 +184,7 @@ using the command\-line interface\&.
.PP
\-i
.RS 4
Do reverse IPv6 lookups using the obsolete RFC1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC2874) are not attempted\&.
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC 2874) are not attempted\&.
.RE
.PP
\-k \fIkeyfile\fR
@@ -219,13 +218,15 @@ from other arguments\&.
.PP
\-t \fItype\fR
.RS 4
The resource record type to query\&. It can be any valid query type which is supported in BIND 9\&. The default query type is "A", unless the
The resource record type to query\&. It can be any valid query type\&. If it is a resource record type supported in BIND 9, it can be given by the type mnemonic (such as "NS" or "AAAA")\&. The default query type is "A", unless the
\fB\-x\fR
option is supplied to indicate a reverse lookup\&. A zone transfer can be requested by specifying a type of AXFR\&. When an incremental zone transfer (IXFR) is required, set the
\fItype\fR
to
ixfr=N\&. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone\*(Aqs SOA record was
\fIN\fR\&.
.sp
All resource record types can be expressed as "TYPEnn", where "nn" is the number of the type\&. If the resource record type is not supported in BIND 9, the result will be displayed as described in RFC 3597\&.
.RE
.PP
\-v
@@ -680,7 +681,7 @@ ${HOME}/\&.digrc
\fBhost\fR(1),
\fBnamed\fR(8),
\fBdnssec-keygen\fR(8),
RFC1035\&.
RFC 1035\&.
.SH "BUGS"
.PP
There are probably too many query options\&.
@@ -689,7 +690,5 @@ There are probably too many query options\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2003 Internet Software Consortium.
Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -15,8 +14,6 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.c,v 1.245 2011/12/07 17:23:28 each Exp $ */
/*! \file */
#include <config.h>
@@ -27,6 +24,7 @@
#include <isc/app.h>
#include <isc/netaddr.h>
#include <isc/parseint.h>
#include <isc/platform.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -55,6 +53,16 @@
#define DIG_MAX_ADDRESSES 20
#ifndef DNS_NAME_INITABSOLUTE
#define DNS_NAME_INITABSOLUTE(A,B) { \
DNS_NAME_MAGIC, \
A, sizeof(A), sizeof(B), \
DNS_NAMEATTR_READONLY | DNS_NAMEATTR_ABSOLUTE, \
B, NULL, { (void *)-1, (void *)-1}, \
{NULL, NULL} \
}
#endif
dig_lookup_t *default_lookup = NULL;
static char *batchname = NULL;
@@ -248,12 +256,16 @@ help(void) {
/*%
* Callback from dighost.c to print the received message.
*/
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
static void
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_uint64_t diff;
time_t tnow;
struct tm tmnow;
#ifdef WIN32
wchar_t time_str[100];
#else
char time_str[100];
#endif
char fromtext[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_format(from, fromtext, sizeof(fromtext));
@@ -263,10 +275,25 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
printf(";; Query time: %ld msec\n", (long int)diff/1000);
printf(";; SERVER: %s(%s)\n", fromtext, query->servname);
time(&tnow);
#if defined(ISC_PLATFORM_USETHREADS) && !defined(WIN32)
(void)localtime_r(&tnow, &tmnow);
#else
tmnow = *localtime(&tnow);
#endif
#ifdef WIN32
/*
* On Windows, time zone name ("%Z") may be a localized
* wide-character string, which strftime() handles incorrectly.
*/
if (wcsftime(time_str, sizeof(time_str)/sizeof(time_str[0]),
L"%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U)
printf(";; WHEN: %ls\n", time_str);
#else
if (strftime(time_str, sizeof(time_str),
"%a %b %d %H:%M:%S %Z %Y", &tmnow) > 0U)
printf(";; WHEN: %s\n", time_str);
#endif
if (query->lookup->doing_xfr) {
printf(";; XFR size: %u records (messages %u, "
"bytes %" ISC_PRINT_QUADFORMAT "u)\n",
@@ -275,12 +302,12 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
} else {
printf(";; MSG SIZE rcvd: %u\n", bytes);
}
if (key != NULL) {
if (tsigkey != NULL) {
if (!validated)
puts(";; WARNING -- Some TSIG could not "
"be validated");
}
if ((key == NULL) && (keysecret[0] != 0)) {
if ((tsigkey == NULL) && (keysecret[0] != 0)) {
puts(";; WARNING -- TSIG key was not used.");
}
puts("");
@@ -300,7 +327,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
* Not used in dig.
* XXX print_trying
*/
void
static void
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(frm);
UNUSED(lookup);
@@ -313,7 +340,7 @@ static isc_result_t
say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
isc_result_t result;
isc_uint64_t diff;
char store[sizeof("12345678901234567890")];
char store[sizeof(" in 18446744073709551616 us.")];
unsigned int styleflags = 0;
if (query->lookup->trace || query->lookup->ns_search_only) {
@@ -332,10 +359,11 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
return (result);
check_result(result, "dns_rdata_totext");
if (query->lookup->identify) {
diff = isc_time_microdiff(&query->time_recv, &query->time_sent);
ADD_STRING(buf, " from server ");
ADD_STRING(buf, query->servname);
snprintf(store, 19, " in %d ms.", (int)diff/1000);
snprintf(store, sizeof(store), " in %" ISC_PLATFORM_QUADFORMAT "u ms.", diff / 1000);
ADD_STRING(buf, store);
}
ADD_STRING(buf, "\n");
@@ -393,7 +421,7 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags,
return (ISC_R_SUCCESS);
}
#ifdef DIG_SIGCHASE
isc_result_t
static isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target)
{
@@ -448,10 +476,30 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
}
#endif
static isc_boolean_t
isdotlocal(dns_message_t *msg) {
isc_result_t result;
static unsigned char local_ndata[] = { "\005local\0" };
static unsigned char local_offsets[] = { 0, 6 };
static dns_name_t local =
DNS_NAME_INITABSOLUTE(local_ndata, local_offsets);
for (result = dns_message_firstname(msg, DNS_SECTION_QUESTION);
result == ISC_R_SUCCESS;
result = dns_message_nextname(msg, DNS_SECTION_QUESTION))
{
dns_name_t *name = NULL;
dns_message_currentname(msg, DNS_SECTION_QUESTION, &name);
if (dns_name_issubdomain(name, &local))
return (ISC_TRUE);
}
return (ISC_FALSE);
}
/*
* Callback from dighost.c to print the reply from a server
*/
isc_result_t
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_result_t result;
dns_messagetextflag_t flags;
@@ -527,6 +575,12 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
printf(";; Got answer:\n");
if (headers) {
if (isdotlocal(msg)) {
printf(";; WARNING: .local is reserved for "
"Multicast DNS\n;; You are currently "
"testing what happens when an mDNS "
"query is leaked to DNS\n");
}
printf(";; ->>HEADER<<- opcode: %s, status: %s, "
"id: %u\n",
opcodetext[msg->opcode],
@@ -682,33 +736,27 @@ cleanup:
static void
printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
int i;
size_t remaining;
static isc_boolean_t first = ISC_TRUE;
char append[MXNAME];
if (printcmd) {
lookup->cmdline[sizeof(lookup->cmdline) - 1] = 0;
snprintf(lookup->cmdline, sizeof(lookup->cmdline),
"%s; <<>> DiG " VERSION " <<>>",
first?"\n":"");
i = 1;
while (i < argc) {
snprintf(append, sizeof(append), " %s", argv[i++]);
remaining = sizeof(lookup->cmdline) -
strlen(lookup->cmdline) - 1;
strncat(lookup->cmdline, append, remaining);
strlcat(lookup->cmdline, append,
sizeof(lookup->cmdline));
}
remaining = sizeof(lookup->cmdline) -
strlen(lookup->cmdline) - 1;
strncat(lookup->cmdline, "\n", remaining);
strlcat(lookup->cmdline, "\n", sizeof(lookup->cmdline));
if (first && addresscount != 0) {
snprintf(append, sizeof(append),
"; (%d server%s found)\n",
addresscount,
addresscount > 1 ? "s" : "");
remaining = sizeof(lookup->cmdline) -
strlen(lookup->cmdline) - 1;
strncat(lookup->cmdline, append, remaining);
strlcat(lookup->cmdline, append,
sizeof(lookup->cmdline));
}
if (first) {
snprintf(append, sizeof(append),
@@ -716,9 +764,8 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
short_form ? " +short" : "",
printcmd ? " +cmd" : "");
first = ISC_FALSE;
remaining = sizeof(lookup->cmdline) -
strlen(lookup->cmdline) - 1;
strncat(lookup->cmdline, append, remaining);
strlcat(lookup->cmdline, append,
sizeof(lookup->cmdline));
}
}
}
@@ -743,8 +790,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
size_t n;
#endif
strncpy(option_store, option, sizeof(option_store));
option_store[sizeof(option_store)-1]=0;
strlcpy(option_store, option, sizeof(option_store));
ptr = option_store;
cmd = next_token(&ptr, "=");
if (cmd == NULL) {
@@ -889,8 +935,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
goto need_value;
if (!state)
goto invalid_option;
strncpy(domainopt, value, sizeof(domainopt));
domainopt[sizeof(domainopt)-1] = '\0';
strlcpy(domainopt, value, sizeof(domainopt));
break;
default:
goto invalid_option;
@@ -1111,11 +1156,11 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
result = parse_uint(&splitwidth, value,
1023, "split");
if (splitwidth % 4 != 0) {
if ((splitwidth % 4) != 0U) {
splitwidth = ((splitwidth + 3) / 4) * 4;
fprintf(stderr, ";; Warning, split must be "
"a multiple of 4; adjusting "
"to %d\n", splitwidth);
"to %u\n", splitwidth);
}
/*
* There is an adjustment done in the
@@ -1382,8 +1427,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
batchname = value;
return (value_from_next);
case 'k':
strncpy(keyfile, value, sizeof(keyfile));
keyfile[sizeof(keyfile)-1]=0;
strlcpy(keyfile, value, sizeof(keyfile));
return (value_from_next);
case 'p':
result = parse_uint(&num, value, MAXPORT, "port number");
@@ -1397,9 +1441,8 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
(*lookup) = clone_lookup(default_lookup,
ISC_TRUE);
*need_clone = ISC_TRUE;
strncpy((*lookup)->textname, value,
strlcpy((*lookup)->textname, value,
sizeof((*lookup)->textname));
(*lookup)->textname[sizeof((*lookup)->textname)-1]=0;
(*lookup)->trace_root = ISC_TF((*lookup)->trace ||
(*lookup)->ns_search_only);
(*lookup)->new_search = ISC_TRUE;
@@ -1476,10 +1519,8 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
hmacname = DNS_TSIG_HMACMD5_NAME;
digestbits = 0;
}
strncpy(keynametext, ptr, sizeof(keynametext));
keynametext[sizeof(keynametext)-1]=0;
strncpy(keysecret, ptr2, sizeof(keysecret));
keysecret[sizeof(keysecret)-1]=0;
strlcpy(keynametext, ptr, sizeof(keynametext));
strlcpy(keysecret, ptr2, sizeof(keysecret));
return (value_from_next);
case 'x':
if (*need_clone)
@@ -1487,9 +1528,8 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
*need_clone = ISC_TRUE;
if (get_reverse(textname, sizeof(textname), value,
ip6_int, ISC_FALSE) == ISC_R_SUCCESS) {
strncpy((*lookup)->textname, textname,
strlcpy((*lookup)->textname, textname,
sizeof((*lookup)->textname));
(*lookup)->textname[sizeof((*lookup)->textname)-1] = 0;
debug("looking up %s", (*lookup)->textname);
(*lookup)->trace_root = ISC_TF((*lookup)->trace ||
(*lookup)->ns_search_only);
@@ -1624,8 +1664,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
bargc = 1;
input = batchline;
bargv[bargc] = next_token(&input, " \t\r\n");
while ((bargv[bargc] != NULL) &&
(bargc < 62)) {
while ((bargc < 62) && (bargv[bargc] != NULL)) {
bargc++;
bargv[bargc] =
next_token(&input, " \t\r\n");
@@ -1774,9 +1813,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
lookup = clone_lookup(default_lookup,
ISC_TRUE);
need_clone = ISC_TRUE;
strncpy(lookup->textname, rv[0],
strlcpy(lookup->textname, rv[0],
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1]=0;
lookup->trace_root = ISC_TF(lookup->trace ||
lookup->ns_search_only);
lookup->new_search = ISC_TRUE;
@@ -1817,7 +1855,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
goto next_line;
input = batchline;
bargv[bargc] = next_token(&input, " \t\r\n");
while ((bargv[bargc] != NULL) && (bargc < 14)) {
while ((bargc < 14) && (bargv[bargc] != NULL)) {
bargc++;
bargv[bargc] = next_token(&input, " \t\r\n");
}
@@ -1842,7 +1880,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
lookup->trace_root = ISC_TF(lookup->trace ||
lookup->ns_search_only);
lookup->new_search = ISC_TRUE;
strcpy(lookup->textname, ".");
strlcpy(lookup->textname, ".", sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
if (firstarg) {
@@ -1860,8 +1898,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
* Here, we're possibly reading from a batch file, then shutting down
* for real if there's nothing in the batch file to read.
*/
void
dighost_shutdown(void) {
static void
query_finished(void) {
char batchline[MXNAME];
int bargc;
char *bargv[16];
@@ -1887,7 +1925,7 @@ dighost_shutdown(void) {
bargc = 1;
input = batchline;
bargv[bargc] = next_token(&input, " \t\r\n");
while ((bargv[bargc] != NULL) && (bargc < 14)) {
while ((bargc < 14) && (bargv[bargc] != NULL)) {
bargc++;
bargv[bargc] = next_token(&input, " \t\r\n");
}
@@ -1907,23 +1945,41 @@ dighost_shutdown(void) {
}
}
/*% Main processing routine for dig */
int
main(int argc, char **argv) {
void dig_setup(int argc, char **argv)
{
isc_result_t result;
ISC_LIST_INIT(lookup_list);
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
debug("main()");
debug("dig_setup()");
/* setup dighost callbacks */
#ifdef DIG_SIGCHASE
dighost_printrdataset = printrdataset;
#endif
dighost_printmessage = printmessage;
dighost_received = received;
dighost_trying = trying;
dighost_shutdown = query_finished;
progname = argv[0];
preparse_args(argc, argv);
result = isc_app_start();
check_result(result, "isc_app_start");
setup_libs();
setup_system(ipv4only, ipv6only);
parse_args(ISC_FALSE, ISC_FALSE, argc, argv);
}
void dig_query_setup(isc_boolean_t is_batchfile, isc_boolean_t config_only,
int argc, char **argv)
{
debug("dig_query_setup");
parse_args(is_batchfile, config_only, argc, argv);
if (keyfile[0] != 0)
setup_file_key();
else if (keysecret[0] != 0)
@@ -1932,20 +1988,49 @@ main(int argc, char **argv) {
set_search_domain(domainopt);
usesearch = ISC_TRUE;
}
}
void dig_startup() {
isc_result_t result;
debug("dig_startup()");
result = isc_app_onrun(mctx, global_task, onrun_callback, NULL);
check_result(result, "isc_app_onrun");
isc_app_run();
}
void dig_query_start()
{
start_lookup();
}
void
dig_shutdown() {
destroy_lookup(default_lookup);
if (batchname != NULL) {
if (batchfp != stdin)
fclose(batchfp);
batchname = NULL;
}
#ifdef DIG_SIGCHASE
clean_trustedkey();
#endif
cancel_all();
destroy_libs();
isc_app_finish();
}
/*% Main processing routine for dig */
int
main(int argc, char **argv) {
dig_setup(argc, argv);
dig_query_setup(ISC_FALSE, ISC_FALSE, argc, argv);
dig_startup();
dig_shutdown();
return (exitcode);
}

View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -38,6 +37,10 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
@@ -50,15 +53,10 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
@@ -76,8 +74,10 @@
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
<arg choice="opt" rep="norepeat"><option>-x <replaceable class="parameter">addr</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-y <replaceable class="parameter"><optional>hmac:</optional>name:key</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
<group choice="opt" rep="norepeat">
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
</group>
<arg choice="opt" rep="norepeat">name</arg>
<arg choice="opt" rep="norepeat">type</arg>
<arg choice="opt" rep="norepeat">class</arg>
@@ -98,8 +98,7 @@
<refsection><info><title>DESCRIPTION</title></info>
<para><command>dig</command>
(domain information groper) is a flexible tool
<para><command>dig</command> is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
displays the answers that are returned from the name server(s) that
were queried. Most DNS administrators use <command>dig</command> to
@@ -279,9 +278,9 @@
<term>-i</term>
<listitem>
<para>
Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
domain, which is no longer in use. Obsolete bit string
label queries (RFC2874) are not attempted.
label queries (RFC 2874) are not attempted.
</para>
</listitem>
</varlistentry>
@@ -342,19 +341,25 @@
<term>-t <replaceable class="parameter">type</replaceable></term>
<listitem>
<para>
The resource record type to query. It can be any valid query type
which is
supported in BIND 9. The default query type is "A", unless the
<option>-x</option> option is supplied to indicate a reverse lookup.
A zone transfer can be requested by specifying a type of AXFR. When
The resource record type to query. It can be any valid query
type. If it is a resource record type supported in BIND 9, it
can be given by the type mnemonic (such as "NS" or "AAAA").
The default query type is "A", unless the <option>-x</option>
option is supplied to indicate a reverse lookup. A zone
transfer can be requested by specifying a type of AXFR. When
an incremental zone transfer (IXFR) is required, set the
<parameter>type</parameter> to <literal>ixfr=N</literal>.
The incremental zone transfer will contain the changes
made to the zone since the serial number in the zone's SOA
record was
<parameter>N</parameter>.
record was <parameter>N</parameter>.
</para>
</listitem>
<para>
All resource record types can be expressed as "TYPEnn", where
"nn" is the number of the type. If the resource record type is
not supported in BIND 9, the result will be displayed as
described in RFC 3597.
</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -1104,7 +1109,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
<citerefentry>
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>RFC1035</citetitle>.
<citetitle>RFC 1035</citetitle>.
</para>
</refsection>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004-2011, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -54,8 +53,10 @@
[<code class="option">-v</code>]
[<code class="option">-x <em class="replaceable"><code>addr</code></em></code>]
[<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>]
[<code class="option">-4</code>]
[<code class="option">-6</code>]
[
[<code class="option">-4</code>]
| [<code class="option">-6</code>]
]
[name]
[type]
[class]
@@ -77,8 +78,7 @@
<div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2>
<p><span class="command"><strong>dig</strong></span>
(domain information groper) is a flexible tool
<p><span class="command"><strong>dig</strong></span> is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
displays the answers that are returned from the name server(s) that
were queried. Most DNS administrators use <span class="command"><strong>dig</strong></span> to
@@ -238,9 +238,9 @@
<dt><span class="term">-i</span></dt>
<dd>
<p>
Do reverse IPv6 lookups using the obsolete RFC1886 IP6.INT
Do reverse IPv6 lookups using the obsolete RFC 1886 IP6.INT
domain, which is no longer in use. Obsolete bit string
label queries (RFC2874) are not attempted.
label queries (RFC 2874) are not attempted.
</p>
</dd>
<dt><span class="term">-k <em class="replaceable"><code>keyfile</code></em></span></dt>
@@ -285,19 +285,25 @@
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd>
<p>
The resource record type to query. It can be any valid query type
which is
supported in BIND 9. The default query type is "A", unless the
<code class="option">-x</code> option is supplied to indicate a reverse lookup.
A zone transfer can be requested by specifying a type of AXFR. When
The resource record type to query. It can be any valid query
type. If it is a resource record type supported in BIND 9, it
can be given by the type mnemonic (such as "NS" or "AAAA").
The default query type is "A", unless the <code class="option">-x</code>
option is supplied to indicate a reverse lookup. A zone
transfer can be requested by specifying a type of AXFR. When
an incremental zone transfer (IXFR) is required, set the
<em class="parameter"><code>type</code></em> to <code class="literal">ixfr=N</code>.
The incremental zone transfer will contain the changes
made to the zone since the serial number in the zone's SOA
record was
<em class="parameter"><code>N</code></em>.
record was <em class="parameter"><code>N</code></em>.
</p>
</dd>
<p>
All resource record types can be expressed as "TYPEnn", where
"nn" is the number of the type. If the resource record type is
not supported in BIND 9, the result will be displayed as
described in RFC 3597.
</p>
</dd>
<dt><span class="term">-v</span></dt>
<dd>
<p>
@@ -903,7 +909,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
<span class="citerefentry">
<span class="refentrytitle">dnssec-keygen</span>(8)
</span>,
<em class="citetitle">RFC1035</em>.
<em class="citetitle">RFC 1035</em>.
</p>
</div>

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -181,7 +180,7 @@ char keysecret[MXNAME] = "";
dns_name_t *hmacname = NULL;
unsigned int digestbits = 0;
isc_buffer_t *namebuf = NULL;
dns_tsigkey_t *key = NULL;
dns_tsigkey_t *tsigkey = NULL;
isc_boolean_t validated = ISC_TRUE;
isc_entropy_t *entp = NULL;
isc_mempool_t *commctx = NULL;
@@ -240,13 +239,13 @@ isc_result_t prove_nx_domain(dns_message_t * msg,
dns_rdataset_t ** sigrdataset);
isc_result_t prove_nx_type(dns_message_t * msg, dns_name_t *name,
dns_rdataset_t *nsec,
dns_rdataclass_t class,
dns_rdataclass_t rdclass,
dns_rdatatype_t type,
dns_name_t * rdata_name,
dns_rdataset_t ** rdataset,
dns_rdataset_t ** sigrdataset);
isc_result_t prove_nx(dns_message_t * msg, dns_name_t * name,
dns_rdataclass_t class,
dns_rdataclass_t rdclass,
dns_rdatatype_t type,
dns_name_t * rdata_name,
dns_rdataset_t ** rdataset,
@@ -349,6 +348,29 @@ struct_tk_list tk_list = { {NULL, NULL, NULL, NULL, NULL}, 0};
"isc_mutex_unlock");\
}
/* dynamic callbacks */
#ifdef DIG_SIGCHASE
isc_result_t
(*dighost_printrdataset)(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target);
#endif
isc_result_t
(*dighost_printmessage)(dig_query_t *query, dns_message_t *msg,
isc_boolean_t headers);
void
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
void
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
void
(*dighost_shutdown)(void);
/* forward declarations */
static void
cancel_lookup(dig_lookup_t *lookup);
@@ -413,7 +435,7 @@ hex_dump(isc_buffer_t *b) {
isc_buffer_usedregion(b, &r);
printf("%d bytes\n", r.length);
printf("%u bytes\n", r.length);
for (len = 0; len < r.length; len++) {
printf("%02x ", r.base[len]);
if (len % 16 == 15) {
@@ -446,8 +468,8 @@ hex_dump(isc_buffer_t *b) {
* ISC_R_NOSPACE if that would advance p past 'end'.
*/
static isc_result_t
append(const char *text, int len, char **p, char *end) {
if (len > end - *p)
append(const char *text, size_t len, char **p, char *end) {
if (*p + len > end)
return (ISC_R_NOSPACE);
memmove(*p, text, len);
*p += len;
@@ -457,7 +479,7 @@ append(const char *text, int len, char **p, char *end) {
static isc_result_t
reverse_octets(const char *in, char **p, char *end) {
const char *dot = strchr(in, '.');
int len;
size_t len;
if (dot != NULL) {
isc_result_t result;
result = reverse_octets(dot + 1, p, end);
@@ -548,7 +570,7 @@ debug(const char *format, ...) {
fflush(stdout);
if (debugtiming) {
TIME_NOW(&t);
fprintf(stderr, "%d.%06d: ", isc_time_seconds(&t),
fprintf(stderr, "%u.%06u: ", isc_time_seconds(&t),
isc_time_nanoseconds(&t) / 1000);
}
va_start(args, format);
@@ -814,6 +836,7 @@ make_empty_lookup(void) {
looknew->new_search = ISC_FALSE;
looknew->done_as_is = ISC_FALSE;
looknew->need_search = ISC_FALSE;
looknew->eoferr = 0;
dns_fixedname_init(&looknew->fdomain);
ISC_LINK_INIT(looknew, link);
ISC_LIST_INIT(looknew->q);
@@ -889,10 +912,12 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
looknew->section_answer = lookold->section_answer;
looknew->section_authority = lookold->section_authority;
looknew->section_additional = lookold->section_additional;
looknew->origin = lookold->origin;
looknew->retries = lookold->retries;
looknew->tsigctx = NULL;
looknew->need_search = lookold->need_search;
looknew->done_as_is = lookold->done_as_is;
looknew->eoferr = lookold->eoferr;
dns_name_copy(dns_fixedname_name(&lookold->fdomain),
dns_fixedname_name(&looknew->fdomain), NULL);
@@ -932,7 +957,6 @@ requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
return (looknew);
}
void
setup_text_key(void) {
isc_result_t result;
@@ -970,13 +994,13 @@ setup_text_key(void) {
result = dns_tsigkey_create(&keyname, hmacname, secretstore,
(int)secretsize, ISC_FALSE, NULL, 0, 0,
mctx, NULL, &key);
mctx, NULL, &tsigkey);
failure:
if (result != ISC_R_SUCCESS)
printf(";; Couldn't create key %s: %s\n",
keynametext, isc_result_totext(result));
else
dst_key_setbits(key->key, digestbits);
dst_key_setbits(tsigkey->key, digestbits);
isc_mem_free(mctx, secretstore);
dns_name_invalidate(&keyname);
@@ -1171,7 +1195,7 @@ setup_file_key(void) {
}
result = dns_tsigkey_createfromkey(dst_key_name(dstkey), hmacname,
dstkey, ISC_FALSE, NULL, 0, 0,
mctx, NULL, &key);
mctx, NULL, &tsigkey);
if (result != ISC_R_SUCCESS) {
printf(";; Couldn't create key %s: %s\n",
keynametext, isc_result_totext(result));
@@ -1870,7 +1894,8 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
namestr, isc_result_totext(lresult));
if (addresses_result == ISC_R_SUCCESS) {
addresses_result = lresult;
strcpy(bad_namestr, namestr);
strlcpy(bad_namestr, namestr,
sizeof(bad_namestr));
}
}
numLookups += num;
@@ -2090,10 +2115,10 @@ setup_lookup(dig_lookup_t *lookup) {
check_result(result, "dns_message_gettempname");
dns_name_init(lookup->name, NULL);
isc_buffer_init(&lookup->namebuf, lookup->namespace,
sizeof(lookup->namespace));
isc_buffer_init(&lookup->onamebuf, lookup->onamespace,
sizeof(lookup->onamespace));
isc_buffer_init(&lookup->namebuf, lookup->name_space,
sizeof(lookup->name_space));
isc_buffer_init(&lookup->onamebuf, lookup->oname_space,
sizeof(lookup->oname_space));
#ifdef WITH_IDN
/*
@@ -2237,7 +2262,7 @@ setup_lookup(dig_lookup_t *lookup) {
}
}
dns_name_format(lookup->name, store, sizeof(store));
trying(store, lookup);
dighost_trying(store, lookup);
INSIST(dns_name_isabsolute(lookup->name));
isc_random_get(&id);
@@ -2305,9 +2330,9 @@ setup_lookup(dig_lookup_t *lookup) {
/* XXX Insist this? */
lookup->tsigctx = NULL;
lookup->querysig = NULL;
if (key != NULL) {
if (tsigkey != NULL) {
debug("initializing keys");
result = dns_message_settsigkey(lookup->sendmsg, key);
result = dns_message_settsigkey(lookup->sendmsg, tsigkey);
check_result(result, "dns_message_settsigkey");
}
@@ -2400,7 +2425,7 @@ setup_lookup(dig_lookup_t *lookup) {
/* XXX qrflag, print_query, etc... */
if (!ISC_LIST_EMPTY(lookup->q) && qr) {
extrabytes = 0;
printmessage(ISC_LIST_HEAD(lookup->q), lookup->sendmsg,
dighost_printmessage(ISC_LIST_HEAD(lookup->q), lookup->sendmsg,
ISC_TRUE);
}
return (ISC_TRUE);
@@ -2800,7 +2825,7 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) {
isc_buffer_t *b = NULL;
isc_result_t result;
dig_query_t *query = NULL;
dig_lookup_t *l;
dig_lookup_t *l, *n;
isc_uint16_t length;
REQUIRE(event->ev_type == ISC_SOCKEVENT_RECVDONE);
@@ -2835,13 +2860,20 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) {
sizeof(sockstr));
printf(";; communications error to %s: %s\n",
sockstr, isc_result_totext(sevent->result));
if (keep != NULL)
isc_socket_detach(&keep);
l = query->lookup;
isc_socket_detach(&query->sock);
sockcount--;
debug("sockcount=%d", sockcount);
INSIST(sockcount >= 0);
if (sevent->result == ISC_R_EOF && l->eoferr == 0U) {
n = requeue_lookup(l, ISC_TRUE);
n->eoferr++;
}
isc_event_free(&event);
clear_query(query);
cancel_lookup(l);
check_next_lookup(l);
UNLOCK_LOOKUP;
return;
@@ -3172,7 +3204,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
launch_next_query(query, ISC_FALSE);
return (ISC_FALSE);
doexit:
received(sevent->n, &sevent->address, query);
dighost_received(sevent->n, &sevent->address, query);
return (ISC_TRUE);
}
@@ -3249,13 +3281,20 @@ recv_done(isc_task_t *task, isc_event_t *event) {
} else {
printf(";; communications error: %s\n",
isc_result_totext(sevent->result));
if (keep != NULL)
isc_socket_detach(&keep);
isc_socket_detach(&query->sock);
sockcount--;
debug("sockcount=%d", sockcount);
INSIST(sockcount >= 0);
}
if (sevent->result == ISC_R_EOF && l->eoferr == 0U) {
n = requeue_lookup(l, ISC_TRUE);
n->eoferr++;
}
isc_event_free(&event);
clear_query(query);
cancel_lookup(l);
check_next_lookup(l);
UNLOCK_LOOKUP;
return;
@@ -3317,6 +3356,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (fail) {
isc_event_free(&event);
clear_query(query);
cancel_lookup(l);
check_next_lookup(l);
UNLOCK_LOOKUP;
return;
@@ -3339,7 +3379,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
check_result(result, "dns_message_create");
if (key != NULL) {
if (tsigkey != NULL) {
if (l->querysig == NULL) {
debug("getting initial querysig");
result = dns_message_getquerytsig(l->sendmsg, mctx,
@@ -3348,7 +3388,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
}
result = dns_message_setquerytsig(msg, l->querysig);
check_result(result, "dns_message_setquerytsig");
result = dns_message_settsigkey(msg, key);
result = dns_message_settsigkey(msg, tsigkey);
check_result(result, "dns_message_settsigkey");
msg->tsigctx = l->tsigctx;
l->tsigctx = NULL;
@@ -3428,6 +3468,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (l->tcp_mode) {
isc_event_free(&event);
clear_query(query);
cancel_lookup(l);
check_next_lookup(l);
UNLOCK_LOOKUP;
return;
@@ -3440,7 +3481,6 @@ recv_done(isc_task_t *task, isc_event_t *event) {
printf(";; Truncated, retrying in TCP mode.\n");
n = requeue_lookup(l, ISC_TRUE);
n->tcp_mode = ISC_TRUE;
n->origin = query->lookup->origin;
if (l->trace && l->trace_root)
n->rdtype = l->qrdtype;
dns_message_destroy(&msg);
@@ -3487,7 +3527,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
}
}
if (key != NULL) {
if (tsigkey != NULL) {
result = dns_tsig_verify(&query->recvbuf, msg, NULL, NULL);
if (result != ISC_R_SUCCESS) {
printf(";; Couldn't verify signature: %s\n",
@@ -3543,21 +3583,21 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (msg->rcode == dns_rcode_nxdomain &&
(l->origin != NULL || l->need_search)) {
if (!next_origin(query->lookup) || showsearch) {
printmessage(query, msg, ISC_TRUE);
received(b->used, &sevent->address, query);
dighost_printmessage(query, msg, ISC_TRUE);
dighost_received(b->used, &sevent->address, query);
}
} else if (!l->trace && !l->ns_search_only) {
#ifdef DIG_SIGCHASE
if (!do_sigchase)
#endif
printmessage(query, msg, ISC_TRUE);
dighost_printmessage(query, msg, ISC_TRUE);
} else if (l->trace) {
int nl = 0;
int count = msg->counts[DNS_SECTION_ANSWER];
debug("in TRACE code");
if (!l->ns_search_only)
printmessage(query, msg, ISC_TRUE);
dighost_printmessage(query, msg, ISC_TRUE);
l->rdtype = l->qrdtype;
if (l->trace_root || (l->ns_search_only && count > 0)) {
@@ -3591,7 +3631,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
#ifdef DIG_SIGCHASE
if (!do_sigchase)
#endif
printmessage(query, msg, ISC_TRUE);
dighost_printmessage(query, msg, ISC_TRUE);
}
#ifdef DIG_SIGCHASE
if (do_sigchase) {
@@ -3665,7 +3705,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
#ifdef DIG_SIGCHASE
if (!l->sigchase)
#endif
received(b->used, &sevent->address, query);
dighost_received(b->used, &sevent->address, query);
}
if (!query->lookup->ns_search_only)
@@ -3749,7 +3789,7 @@ getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) {
if (resultp == NULL)
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
return 0;
return (0);
}
for (i = 0; i < count; i++) {
@@ -3759,7 +3799,7 @@ getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) {
ISC_LIST_APPEND(lookup->my_server_list, srv, link);
}
return count;
return (count);
}
/*%
@@ -3915,9 +3955,9 @@ destroy_libs(void) {
debug("freeing timermgr");
isc_timermgr_destroy(&timermgr);
}
if (key != NULL) {
debug("freeing key %p", key);
dns_tsigkey_detach(&key);
if (tsigkey != NULL) {
debug("freeing key %p", tsigkey);
dns_tsigkey_detach(&tsigkey);
}
if (namebuf != NULL)
isc_buffer_free(&namebuf);
@@ -4032,7 +4072,7 @@ output_filter(isc_buffer_t *buffer, unsigned int used_org,
*/
if (idn_decodename(IDN_DECODE_APP, tmp1, tmp2, MAXDLEN) != idn_success)
return (ISC_R_SUCCESS);
strcpy(tmp1, tmp2);
strlcpy(tmp1, tmp2, MAXDLEN);
/*
* Copy the converted contents in 'tmp1' back to 'buffer'.
@@ -4059,17 +4099,17 @@ append_textname(char *name, const char *origin, size_t namesize) {
/* Already absolute? */
if (namelen > 0 && name[namelen - 1] == '.')
return idn_success;
return (idn_success);
/* Append dot and origin */
if (namelen + 1 + originlen >= namesize)
return idn_buffer_overflow;
return (idn_buffer_overflow);
if (*origin != '.')
name[namelen++] = '.';
(void)strcpy(name + namelen, origin);
return idn_success;
(void)strlcpy(name + namelen, origin, namesize - namelen);
return (idn_success);
}
static void
@@ -4667,7 +4707,7 @@ print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset)
result = isc_buffer_allocate(mctx, &b, 9000);
check_result(result, "isc_buffer_allocate");
printrdataset(name, rdataset, b);
dighost_printrdataset(name, rdataset, b);
isc_buffer_usedregion(b, &r);
r.base[r.length] = '\0';
@@ -5804,7 +5844,7 @@ prove_nx_domain(dns_message_t *msg,
*/
isc_result_t
prove_nx_type(dns_message_t *msg, dns_name_t *name, dns_rdataset_t *nsecset,
dns_rdataclass_t class, dns_rdatatype_t type,
dns_rdataclass_t rdclass, dns_rdatatype_t type,
dns_name_t *rdata_name, dns_rdataset_t **rdataset,
dns_rdataset_t **sigrdataset)
{
@@ -5812,7 +5852,7 @@ prove_nx_type(dns_message_t *msg, dns_name_t *name, dns_rdataset_t *nsecset,
dns_rdataset_t *signsecset;
dns_rdata_t nsec = DNS_RDATA_INIT;
UNUSED(class);
UNUSED(rdclass);
ret = dns_rdataset_first(nsecset);
check_result(ret,"dns_rdataset_first");
@@ -5845,7 +5885,7 @@ prove_nx_type(dns_message_t *msg, dns_name_t *name, dns_rdataset_t *nsecset,
*
*/
isc_result_t
prove_nx(dns_message_t *msg, dns_name_t *name, dns_rdataclass_t class,
prove_nx(dns_message_t *msg, dns_name_t *name, dns_rdataclass_t rdclass,
dns_rdatatype_t type, dns_name_t *rdata_name,
dns_rdataset_t **rdataset, dns_rdataset_t **sigrdataset)
{
@@ -5867,7 +5907,7 @@ prove_nx(dns_message_t *msg, dns_name_t *name, dns_rdataclass_t class,
DNS_SECTION_AUTHORITY);
if (nsecset != NULL) {
printf("We have a NSEC for this zone :OK\n");
ret = prove_nx_type(msg, name, nsecset, class,
ret = prove_nx_type(msg, name, nsecset, rdclass,
type, rdata_name, rdataset,
sigrdataset);
if (ret != ISC_R_SUCCESS) {

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007-2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -48,7 +47,7 @@
host \- DNS lookup utility
.SH "SYNOPSIS"
.HP \w'\fBhost\fR\ 'u
\fBhost\fR [\fB\-aCdlnrsTwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
\fBhost\fR [\fB\-aCdlnrsTwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-v\fR] [\fB\-V\fR] {name} [server]
.SH "DESCRIPTION"
.PP
\fBhost\fR
@@ -264,7 +263,5 @@ runs\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004, 2005, 2007-2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2002 Internet Software Consortium.
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -170,13 +169,13 @@ show_usage(void) {
exit(1);
}
void
dighost_shutdown(void) {
isc_app_shutdown();
static void
host_shutdown(void) {
(void) isc_app_shutdown();
}
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
static void
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_time_t now;
int diff;
@@ -190,7 +189,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
}
}
void
static void
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(lookup);
@@ -234,7 +233,7 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,
}
#ifdef DIG_SIGCHASE
/* Just for compatibility : not use in host program */
isc_result_t
static isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target)
{
@@ -415,7 +414,7 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
}
}
isc_result_t
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_boolean_t did_flag = ISC_FALSE;
dns_rdataset_t *opt, *tsig = NULL;
@@ -475,9 +474,8 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
strlcpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_aaaa;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
@@ -486,9 +484,8 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
}
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
strlcpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_mx;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
@@ -860,14 +857,12 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
lookup->pending = ISC_FALSE;
if (get_reverse(store, sizeof(store), hostname,
lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS) {
strncpy(lookup->textname, store, sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
strlcpy(lookup->textname, store, sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
default_lookups = ISC_FALSE;
} else {
strncpy(lookup->textname, hostname, sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1]=0;
strlcpy(lookup->textname, hostname, sizeof(lookup->textname));
usesearch = ISC_TRUE;
}
lookup->new_search = ISC_TRUE;
@@ -889,6 +884,15 @@ main(int argc, char **argv) {
idnoptions = IDN_ASCCHECK;
#endif
/* setup dighost callbacks */
#ifdef DIG_SIGCHASE
dighost_printrdataset = printrdataset;
#endif
dighost_printmessage = printmessage;
dighost_received = received;
dighost_trying = trying;
dighost_shutdown = host_shutdown;
debug("main()");
progname = argv[0];
pre_parse_args(argc, argv);

View File

@@ -1,8 +1,7 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007-2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -40,6 +39,9 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2004</year>
<year>2005</year>
<year>2007</year>
@@ -48,14 +50,10 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
@@ -68,8 +66,10 @@
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">type</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-W <replaceable class="parameter">wait</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-m <replaceable class="parameter">flag</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
<group choice="opt" rep="norepeat">
<arg choice="opt" rep="norepeat"><option>-4</option></arg>
<arg choice="opt" rep="norepeat"><option>-6</option></arg>
</group>
<arg choice="opt" rep="norepeat"><option>-v</option></arg>
<arg choice="opt" rep="norepeat"><option>-V</option></arg>
<arg choice="req" rep="norepeat">name</arg>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004, 2005, 2007-2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -49,8 +48,10 @@
[<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
[<code class="option">-W <em class="replaceable"><code>wait</code></em></code>]
[<code class="option">-m <em class="replaceable"><code>flag</code></em></code>]
[<code class="option">-4</code>]
[<code class="option">-6</code>]
[
[<code class="option">-4</code>]
| [<code class="option">-6</code>]
]
[<code class="option">-v</code>]
[<code class="option">-V</code>]
{name}

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2009, 2011-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -155,8 +154,8 @@ isc_boolean_t sigchase;
dns_rdataclass_t rdclass;
isc_boolean_t rdtypeset;
isc_boolean_t rdclassset;
char namespace[BUFSIZE];
char onamespace[BUFSIZE];
char name_space[BUFSIZE];
char oname_space[BUFSIZE];
isc_buffer_t namebuf;
isc_buffer_t onamebuf;
isc_buffer_t renderbuf;
@@ -183,6 +182,7 @@ isc_boolean_t sigchase;
isc_buffer_t *querysig;
isc_uint32_t msgcounter;
dns_fixedname_t fdomain;
unsigned int eoferr;
};
/*% The dig_query structure */
@@ -272,7 +272,7 @@ extern unsigned int digestbits;
#ifdef DIG_SIGCHASE
extern char trustedkey[MXNAME];
#endif
extern dns_tsigkey_t *key;
extern dns_tsigkey_t *tsigkey;
extern isc_boolean_t validated;
extern isc_taskmgr_t *taskmgr;
extern isc_task_t *global_task;
@@ -377,37 +377,38 @@ void
clean_trustedkey(void);
#endif
char *
next_token(char **stringp, const char *delim);
/*
* Routines to be defined in dig.c, host.c, and nslookup.c.
* Routines to be defined in dig.c, host.c, and nslookup.c. and
* then assigned to the appropriate function pointer
*/
#ifdef DIG_SIGCHASE
isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
extern isc_result_t
(*dighost_printrdataset)(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target);
#endif
isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers);
extern isc_result_t
(*dighost_printmessage)(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers);
/*%<
* Print the final result of the lookup.
*/
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query);
extern void
(*dighost_received)(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query);
/*%<
* Print a message about where and when the response
* was received from, like the final comment in the
* output of "dig".
*/
void
trying(char *frm, dig_lookup_t *lookup);
extern void
(*dighost_trying)(char *frm, dig_lookup_t *lookup);
void
dighost_shutdown(void);
char *
next_token(char **stringp, const char *delim);
extern void
(*dighost_shutdown)(void);
#ifdef DIG_SIGCHASE
/* Chasing functions */
@@ -420,6 +421,44 @@ chase_sig(dns_message_t *msg);
void setup_file_key(void);
void setup_text_key(void);
void setup_file_key(void);
void setup_text_key(void);
/*
* Routines exported from dig.c for use by dig for iOS
*/
/*%<
* Call once only to set up libraries, parse global
* parameters and initial command line query parameters
*/
void
dig_setup(int argc, char **argv);
/*%<
* Call to supply new parameters for the next lookup
*/
void
dig_query_setup(isc_boolean_t, isc_boolean_t, int argc, char **argv);
/*%<
* set the main application event cycle running
*/
void
dig_startup(void);
/*%<
* Initiates the next lookup cycle
*/
void
dig_query_start(void);
/*%<
* Cleans up the application
*/
void
dig_shutdown(void);
ISC_LANG_ENDDECLS
#endif

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007, 2010, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2007, 2010, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -298,5 +298,5 @@ returns with an exit status of 1 if any query failed, and 0 otherwise\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004-2007, 2010, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004-2007, 2010, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -164,8 +163,8 @@ rcode_totext(dns_rcode_t rcode)
return totext.deconsttext;
}
void
dighost_shutdown(void) {
static void
query_finished(void) {
isc_event_t *event = global_event;
flush_lookup_list();
@@ -214,7 +213,7 @@ printa(dns_rdata_t *rdata) {
}
#ifdef DIG_SIGCHASE
/* Just for compatibility : not use in host program */
isc_result_t
static isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target)
{
@@ -404,22 +403,21 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
return (ISC_R_SUCCESS);
}
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
static void
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
{
UNUSED(bytes);
UNUSED(from);
UNUSED(query);
}
void
static void
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(frm);
UNUSED(lookup);
}
isc_result_t
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
char servtext[ISC_SOCKADDR_FORMATSIZE];
@@ -508,7 +506,7 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
printf(" %s\t\t%s\n",
usesearch ? "search" : "nosearch",
recurse ? "recurse" : "norecurse");
printf(" timeout = %d\t\tretry = %d\tport = %d\tndots = %d\n",
printf(" timeout = %u\t\tretry = %d\tport = %u\tndots = %d\n",
timeout, tries, port, ndots);
printf(" querytype = %-8s\tclass = %s\n", deftype, defclass);
printf(" srchlist = ");
@@ -595,7 +593,12 @@ version(void) {
static void
setoption(char *opt) {
if (strncasecmp(opt, "all", 3) == 0) {
size_t l = strlen(opt);
#define CHECKOPT(A, N) \
((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0))
if (CHECKOPT("all", 3)) {
show_settings(ISC_TRUE, ISC_FALSE);
} else if (strncasecmp(opt, "class=", 6) == 0) {
if (testclass(&opt[6]))
@@ -637,41 +640,41 @@ setoption(char *opt) {
set_timeout(&opt[8]);
} else if (strncasecmp(opt, "t=", 2) == 0) {
set_timeout(&opt[2]);
} else if (strncasecmp(opt, "rec", 3) == 0) {
} else if (CHECKOPT("recurse", 3)) {
recurse = ISC_TRUE;
} else if (strncasecmp(opt, "norec", 5) == 0) {
} else if (CHECKOPT("norecurse", 5)) {
recurse = ISC_FALSE;
} else if (strncasecmp(opt, "retry=", 6) == 0) {
set_tries(&opt[6]);
} else if (strncasecmp(opt, "ret=", 4) == 0) {
set_tries(&opt[4]);
} else if (strncasecmp(opt, "def", 3) == 0) {
} else if (CHECKOPT("defname", 3)) {
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "nodef", 5) == 0) {
} else if (CHECKOPT("nodefname", 5)) {
usesearch = ISC_FALSE;
} else if (strncasecmp(opt, "vc", 3) == 0) {
} else if (CHECKOPT("vc", 2) == 0) {
tcpmode = ISC_TRUE;
} else if (strncasecmp(opt, "novc", 5) == 0) {
} else if (CHECKOPT("novc", 4) == 0) {
tcpmode = ISC_FALSE;
} else if (strncasecmp(opt, "deb", 3) == 0) {
} else if (CHECKOPT("debug", 3) == 0) {
short_form = ISC_FALSE;
showsearch = ISC_TRUE;
} else if (strncasecmp(opt, "nodeb", 5) == 0) {
} else if (CHECKOPT("nodebug", 5) == 0) {
short_form = ISC_TRUE;
showsearch = ISC_FALSE;
} else if (strncasecmp(opt, "d2", 2) == 0) {
} else if (CHECKOPT("d2", 2) == 0) {
debugging = ISC_TRUE;
} else if (strncasecmp(opt, "nod2", 4) == 0) {
} else if (CHECKOPT("nod2", 4) == 0) {
debugging = ISC_FALSE;
} else if (strncasecmp(opt, "search", 3) == 0) {
} else if (CHECKOPT("search", 3) == 0) {
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "nosearch", 5) == 0) {
} else if (CHECKOPT("nosearch", 5) == 0) {
usesearch = ISC_FALSE;
} else if (strncasecmp(opt, "sil", 3) == 0) {
} else if (CHECKOPT("sil", 3) == 0) {
/* deprecation_msg = ISC_FALSE; */
} else if (strncasecmp(opt, "fail", 3) == 0) {
} else if (CHECKOPT("fail", 3) == 0) {
nofail=ISC_FALSE;
} else if (strncasecmp(opt, "nofail", 3) == 0) {
} else if (CHECKOPT("nofail", 5) == 0) {
nofail=ISC_TRUE;
} else if (strncasecmp(opt, "ndots=", 6) == 0) {
set_ndots(&opt[6]);
@@ -910,6 +913,15 @@ main(int argc, char **argv) {
check_ra = ISC_TRUE;
/* setup dighost callbacks */
#ifdef DIG_SIGCHASE
dighost_printrdataset = printrdataset;
#endif
dighost_printmessage = printmessage;
dighost_received = received;
dighost_trying = trying;
dighost_shutdown = query_finished;
result = isc_app_start();
check_result(result, "isc_app_start");

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007, 2010, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -74,6 +74,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004-2007, 2010, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2007, 2010, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -61,6 +61,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -87,6 +88,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -108,4 +110,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -61,6 +61,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@IDN_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -85,6 +86,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@IDN_INC@..\include;..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -101,4 +103,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -61,6 +61,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -87,6 +88,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@IDN_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -105,4 +107,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -61,6 +61,7 @@
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@READLINE_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -87,6 +88,7 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\include;..\..\..\;@LIBXML2_INC@@READLINE_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\isccfg\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;..\..\..\lib\lwres\win32\include;..\..\..\lib\lwres\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -106,4 +108,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -1,5 +1,4 @@
# Copyright (C) 2004, 2005, 2007-2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -186,5 +186,5 @@ RFC 4509\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -187,7 +187,7 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
result = dst_key_fromnamedfile(filename, NULL, DST_TYPE_PUBLIC,
mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("invalid keyfile name %s: %s",
fatal("can't load %s.key: %s",
filename, isc_result_totext(result));
if (verbose > 2) {

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -45,6 +45,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -132,5 +132,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2013-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013-2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -41,6 +41,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -63,7 +63,7 @@ of the key is specified on the command line\&. This must match the name of the z
.RS 4
Selects the cryptographic algorithm\&. The value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384\&. These values are case insensitive\&.
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. These values are case insensitive\&.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
@@ -284,5 +284,5 @@ RFC 4034\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2007-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -54,7 +54,8 @@ int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
" NSEC3DSA | NSEC3RSASHA1 |"
" RSASHA256 | RSASHA512 | ECCGOST |"
" ECDSAP256SHA256 | ECDSAP384SHA384";
" ECDSAP256SHA256 | ECDSAP384SHA384 |"
" ED25519 | ED448";
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
@@ -148,7 +149,7 @@ main(int argc, char **argv) {
char *label = NULL;
dns_ttl_t ttl = 0;
isc_stdtime_t publish = 0, activate = 0, revoke = 0;
isc_stdtime_t inactive = 0, delete = 0;
isc_stdtime_t inactive = 0, deltime = 0;
isc_stdtime_t now;
int prepub = -1;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
@@ -278,8 +279,8 @@ main(int argc, char **argv) {
if (setdel || unsetdel)
fatal("-D specified more than once");
delete = strtotime(isc_commandline_argument,
now, now, &setdel);
deltime = strtotime(isc_commandline_argument,
now, now, &setdel);
unsetdel = !setdel;
break;
case 'S':
@@ -388,7 +389,8 @@ main(int argc, char **argv) {
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512 &&
alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384 &&
alg != DST_ALG_ED25519 && alg != DST_ALG_ED448) {
fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname);
}
@@ -608,7 +610,7 @@ main(int argc, char **argv) {
dst_key_settime(key, DST_TIME_INACTIVE, inactive);
if (setdel)
dst_key_settime(key, DST_TIME_DELETE, delete);
dst_key_settime(key, DST_TIME_DELETE, deltime);
} else {
if (setpub || setact || setrev || setinact ||
setdel || unsetpub || unsetact ||

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -45,6 +45,8 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -107,7 +109,7 @@
Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
These values are case insensitive.
</para>
<para>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -97,7 +97,7 @@
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
These values are case insensitive.
</p>
<p>

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -63,7 +62,7 @@ of the key is specified on the command line\&. For DNSSEC keys, this must match
.RS 4
Selects the cryptographic algorithm\&. For DNSSEC keys, the value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384\&. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. These values are case insensitive\&.
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. These values are case insensitive\&.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
@@ -96,7 +95,7 @@ must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a
.PP
\-3
.RS 4
Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default\&. Note that RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 and ECDSAP384SHA384 algorithms are NSEC3\-capable\&.
Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default\&. Note that RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 and ED448 algorithms are NSEC3\-capable\&.
.RE
.PP
\-C
@@ -347,7 +346,5 @@ RFC 4034\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004, 2005, 2007-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2003 Internet Software Consortium.
Copyright \(co 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Portions Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
* Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +13,10 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*
* Portions Copyright (C) Network Associates, Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -85,7 +87,8 @@ usage(void) {
" | NSEC3DSA |\n");
fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n");
fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
fprintf(stderr, " DH | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
fprintf(stderr, " ED25519 | ED448 | DH |\n");
fprintf(stderr, " HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
"HMAC-SHA256 | \n");
fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n");
fprintf(stderr, " (default: RSASHA1, or "
@@ -104,6 +107,8 @@ usage(void) {
fprintf(stderr, " ECCGOST:\tignored\n");
fprintf(stderr, " ECDSAP256SHA256:\tignored\n");
fprintf(stderr, " ECDSAP384SHA384:\tignored\n");
fprintf(stderr, " ED25519:\tignored\n");
fprintf(stderr, " ED448:\tignored\n");
fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
fprintf(stderr, " HMAC-SHA1:\t[1..160]\n");
fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
@@ -233,7 +238,7 @@ main(int argc, char **argv) {
dns_ttl_t ttl = 0;
isc_boolean_t use_default = ISC_FALSE, use_nsec3 = ISC_FALSE;
isc_stdtime_t publish = 0, activate = 0, revokekey = 0;
isc_stdtime_t inactive = 0, delete = 0;
isc_stdtime_t inactive = 0, deltime = 0;
isc_stdtime_t now;
int prepub = -1;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
@@ -433,8 +438,8 @@ main(int argc, char **argv) {
if (setdel || unsetdel)
fatal("-D specified more than once");
delete = strtotime(isc_commandline_argument,
now, now, &setdel);
deltime = strtotime(isc_commandline_argument,
now, now, &setdel);
unsetdel = !setdel;
break;
case 'S':
@@ -549,7 +554,8 @@ main(int argc, char **argv) {
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg!= DST_ALG_RSASHA512 &&
alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384 &&
alg != DST_ALG_ED25519 && alg != DST_ALG_ED448) {
fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname);
}
@@ -583,7 +589,9 @@ main(int argc, char **argv) {
" to %d\n", size);
} else if (alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 &&
alg != DST_ALG_ECDSA384)
alg != DST_ALG_ECDSA384 &&
alg != DST_ALG_ED25519 &&
alg != DST_ALG_ED448)
fatal("key size not specified (-b option)");
}
@@ -720,6 +728,12 @@ main(int argc, char **argv) {
case DST_ALG_ECDSA384:
size = 384;
break;
case DST_ALG_ED25519:
size = 256;
break;
case DST_ALG_ED448:
size = 456;
break;
case DST_ALG_HMACMD5:
options |= DST_TYPE_KEY;
if (size < 1 || size > 512)
@@ -853,6 +867,8 @@ main(int argc, char **argv) {
case DST_ALG_ECCGOST:
case DST_ALG_ECDSA256:
case DST_ALG_ECDSA384:
case DST_ALG_ED25519:
case DST_ALG_ED448:
show_progress = ISC_TRUE;
/* fall through */
@@ -954,13 +970,13 @@ main(int argc, char **argv) {
inactive);
if (setdel) {
if (setinact && delete < inactive)
if (setinact && deltime < inactive)
fprintf(stderr, "%s: warning: Key is "
"scheduled to be deleted "
"before it is scheduled to be "
"made inactive.\n",
program);
dst_key_settime(key, DST_TIME_DELETE, delete);
dst_key_settime(key, DST_TIME_DELETE, deltime);
}
} else {
if (setpub || setact || setrev || setinact ||

View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -38,6 +37,10 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2007</year>
@@ -49,15 +52,10 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
@@ -122,7 +120,7 @@
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -194,8 +192,8 @@
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 and ED448
algorithms are NSEC3-capable.
</para>
</listitem>
</varlistentry>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004, 2005, 2007-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -102,7 +101,7 @@
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -165,8 +164,8 @@
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable.
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 and ED448
algorithms are NSEC3-capable.
</p>
</dd>
<dt><span class="term">-C</span></dt>

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -102,5 +102,5 @@ BIND 9 Administrator Reference Manual,
RFC 5011\&.
.SH "COPYRIGHT"
.br
Copyright \(co 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009-2012, 2014, 2015 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -138,7 +138,7 @@ main(int argc, char **argv) {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
/* Falls into */
/* FALLTHROUGH */
case 'h':
/* Does not return. */
usage();

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -38,6 +38,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2009-2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -47,7 +47,7 @@
dnssec-settime \- Set the key timing metadata for a DNSSEC key
.SH "SYNOPSIS"
.HP \w'\fBdnssec\-settime\fR\ 'u
\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile}
\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-h\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile}
.SH "DESCRIPTION"
.PP
\fBdnssec\-settime\fR
@@ -192,5 +192,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2009-2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -79,6 +79,11 @@ usage(void) {
"inactivation date\n");
fprintf(stderr, " -D date/[+-]offset/none: set/unset key "
"deletion date\n");
fprintf(stderr, " -S <key>: generate a successor to an existing "
"key\n");
fprintf(stderr, " -i <interval>: prepublication interval for "
"successor key "
"(default: 30 days)\n");
fprintf(stderr, "Printing options:\n");
fprintf(stderr, " -p C/P/A/R/I/D/all: print a particular time "
"value or values\n");
@@ -299,7 +304,7 @@ main(int argc, char **argv) {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
/* Falls into */
/* FALLTHROUGH */
case 'h':
/* Does not return. */
usage();
@@ -378,13 +383,16 @@ main(int argc, char **argv) {
"You must set one before\n\t"
"generating a successor.");
pub = prevact - prepub;
if (pub < now && prepub != 0)
fatal("Predecessor will become inactive before the\n\t"
"prepublication period ends. Either change "
"its inactivation date,\n\t"
"or use the -i option to set a shorter "
"prepublication interval.");
pub = previnact - prepub;
act = previnact;
if ((previnact - prepub) < now && prepub != 0)
fatal("Time until predecessor inactivation is\n\t"
"shorter than the prepublication interval. "
"Either change\n\t"
"predecessor inactivation date, or use the -i "
"option to set\n\t"
"a shorter prepublication interval.");
result = dst_key_gettime(prevkey, DST_TIME_DELETE, &prevdel);
if (result != ISC_R_SUCCESS)
@@ -467,7 +475,7 @@ main(int argc, char **argv) {
&prevdel) == ISC_R_SUCCESS &&
setinact && !setdel && !unsetdel && prevdel < inact) ||
(!setdel && !unsetdel && !setinact && !unsetinact &&
prevdel < previnact))
prevdel != 0 && prevdel < previnact))
fprintf(stderr, "%s: warning: Key is scheduled to "
"be deleted before it is\n\t"
"scheduled to be inactive.\n",

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2009-2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -43,6 +43,8 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -58,6 +60,8 @@
<arg choice="opt" rep="norepeat"><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-S <replaceable class="parameter">key</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-h</option></arg>
<arg choice="opt" rep="norepeat"><option>-V</option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2009-2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -49,6 +49,8 @@
[<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>]
[<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>]
[<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>]
[<code class="option">-S <em class="replaceable"><code>key</code></em></code>]
[<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
[<code class="option">-h</code>]
[<code class="option">-V</code>]
[<code class="option">-v <em class="replaceable"><code>level</code></em></code>]

View File

@@ -1,5 +1,4 @@
.\" Copyright (C) 2004-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2000-2009, 2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -464,7 +463,5 @@ RFC 4641\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2004-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000-2003 Internet Software Consortium.
Copyright \(co 2000-2009, 2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br

View File

@@ -1,6 +1,5 @@
/*
* Portions Copyright (C) 2004-2016 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
* Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +13,10 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*
* Portions Copyright (C) Network Associates, Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -189,6 +191,20 @@ static isc_boolean_t output_stdout = ISC_FALSE;
static void
sign(isc_task_t *task, isc_event_t *event);
/*%
* Store a copy of 'name' in 'fzonecut' and return a pointer to that copy.
*/
static dns_name_t *
savezonecut(dns_fixedname_t *fzonecut, dns_name_t *name) {
dns_name_t *result;
dns_fixedname_init(fzonecut);
result = dns_fixedname_name(fzonecut);
dns_name_copy(name, result, NULL);
return (result);
}
static void
dumpnode(dns_name_t *name, dns_dbnode_t *node) {
dns_rdataset_t rds;
@@ -718,6 +734,17 @@ hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int length) {
}
}
static void
hashlist_free(hashlist_t *l) {
if (l->hashbuf) {
free(l->hashbuf);
l->hashbuf = NULL;
l->entries = 0;
l->length = 0;
l->size = 0;
}
}
static void
hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len)
{
@@ -1472,15 +1499,19 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
if (dns_name_issubdomain(name, gorigin) &&
(zonecut == NULL ||
!dns_name_issubdomain(name, zonecut))) {
if (is_delegation(gdb, gversion, gorigin, name, node, NULL)) {
dns_fixedname_init(&fzonecut);
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
if (is_delegation(gdb, gversion, gorigin,
name, node, NULL))
{
zonecut = savezonecut(&fzonecut, name);
if (!OPTOUT(nsec3flags) ||
secure(name, node))
found = ISC_TRUE;
} else
} else if (has_dname(gdb, gversion, node)) {
zonecut = savezonecut(&fzonecut, name);
found = ISC_TRUE;
} else {
found = ISC_TRUE;
}
}
}
@@ -1721,7 +1752,6 @@ nsecify(void) {
name = dns_fixedname_name(&fname);
dns_fixedname_init(&fnextname);
nextname = dns_fixedname_name(&fnextname);
dns_fixedname_init(&fzonecut);
zonecut = NULL;
/*
@@ -1783,11 +1813,12 @@ nsecify(void) {
}
if (is_delegation(gdb, gversion, gorigin, name, node, &nsttl)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
zonecut = savezonecut(&fzonecut, name);
remove_sigs(node, ISC_TRUE, 0);
if (generateds)
add_ds(name, node, nsttl);
} else if (has_dname(gdb, gversion, node)) {
zonecut = savezonecut(&fzonecut, name);
}
result = dns_dbiterator_next(dbiter);
@@ -1953,7 +1984,7 @@ addnsec3(dns_name_t *name, dns_dbnode_t *node,
* any NSEC3 records which have the same parameters as the chain we
* are building.
*
* XXXMPA Should we also check that it of the form <hash>.<origin>?
* XXXMPA Should we also check that it of the form &lt;hash&gt;.&lt;origin&gt;?
*/
static void
nsec3clean(dns_name_t *name, dns_dbnode_t *node,
@@ -2168,7 +2199,6 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
name = dns_fixedname_name(&fname);
dns_fixedname_init(&fnextname);
nextname = dns_fixedname_name(&fnextname);
dns_fixedname_init(&fzonecut);
zonecut = NULL;
/*
@@ -2202,6 +2232,10 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
(void)active_node(node);
}
if (has_dname(gdb, gversion, node)) {
zonecut = savezonecut(&fzonecut, name);
}
result = dns_dbiterator_next(dbiter);
nextnode = NULL;
while (result == ISC_R_SUCCESS) {
@@ -2225,8 +2259,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
if (is_delegation(gdb, gversion, gorigin,
nextname, nextnode, &nsttl))
{
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(nextname, zonecut, NULL);
zonecut = savezonecut(&fzonecut, nextname);
remove_sigs(nextnode, ISC_TRUE, 0);
if (generateds)
add_ds(nextname, nextnode, nsttl);
@@ -2236,6 +2269,8 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
result = dns_dbiterator_next(dbiter);
continue;
}
} else if (has_dname(gdb, gversion, nextnode)) {
zonecut = savezonecut(&fzonecut, nextname);
}
dns_db_detachnode(gdb, &nextnode);
break;
@@ -2334,6 +2369,11 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
dns_db_detachnode(gdb, &node);
continue;
}
if (has_dname(gdb, gversion, node)) {
zonecut = savezonecut(&fzonecut, name);
}
result = dns_dbiterator_next(dbiter);
nextnode = NULL;
while (result == ISC_R_SUCCESS) {
@@ -2356,14 +2396,15 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
if (is_delegation(gdb, gversion, gorigin,
nextname, nextnode, NULL))
{
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(nextname, zonecut, NULL);
zonecut = savezonecut(&fzonecut, nextname);
if (OPTOUT(nsec3flags) &&
!secure(nextname, nextnode)) {
dns_db_detachnode(gdb, &nextnode);
result = dns_dbiterator_next(dbiter);
continue;
}
} else if (has_dname(gdb, gversion, nextnode)) {
zonecut = savezonecut(&fzonecut, nextname);
}
dns_db_detachnode(gdb, &nextnode);
break;
@@ -2468,11 +2509,11 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
goto cleanup;
if (set_keyttl && keyttl != rdataset.ttl) {
fprintf(stderr, "User-specified TTL (%d) conflicts "
fprintf(stderr, "User-specified TTL (%u) conflicts "
"with existing DNSKEY RRset TTL.\n",
keyttl);
fprintf(stderr, "Imported keys will use the RRSet "
"TTL (%d) instead.\n",
"TTL (%u) instead.\n",
rdataset.ttl);
}
keyttl = rdataset.ttl;
@@ -2772,18 +2813,18 @@ writeset(const char *prefix, dns_rdatatype_t type) {
result = dns_name_tofilenametext(gorigin, ISC_FALSE, &namebuf);
check_result(result, "dns_name_tofilenametext");
isc_buffer_putuint8(&namebuf, 0);
filenamelen = strlen(prefix) + strlen(namestr);
filenamelen = strlen(prefix) + strlen(namestr) + 1;
if (dsdir != NULL)
filenamelen += strlen(dsdir) + 1;
filename = isc_mem_get(mctx, filenamelen + 1);
filename = isc_mem_get(mctx, filenamelen);
if (filename == NULL)
fatal("out of memory");
if (dsdir != NULL)
sprintf(filename, "%s/", dsdir);
snprintf(filename, filenamelen, "%s/", dsdir);
else
filename[0] = 0;
strcat(filename, prefix);
strcat(filename, namestr);
strlcat(filename, prefix, filenamelen);
strlcat(filename, namestr, filenamelen);
dns_diff_init(mctx, &diff);
@@ -2879,7 +2920,7 @@ writeset(const char *prefix, dns_rdatatype_t type) {
result = dns_master_dump(mctx, db, dbversion, style, filename);
check_result(result, "dns_master_dump");
isc_mem_put(mctx, filename, filenamelen + 1);
isc_mem_put(mctx, filename, filenamelen);
dns_db_closeversion(db, &dbversion, ISC_FALSE);
dns_db_detach(&db);
@@ -3019,12 +3060,12 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
isc_uint64_t sig_ms; /* Signatures per millisecond */
FILE *out = output_stdout ? stderr : stdout;
fprintf(out, "Signatures generated: %10d\n", nsigned);
fprintf(out, "Signatures retained: %10d\n", nretained);
fprintf(out, "Signatures dropped: %10d\n", ndropped);
fprintf(out, "Signatures successfully verified: %10d\n", nverified);
fprintf(out, "Signatures generated: %10u\n", nsigned);
fprintf(out, "Signatures retained: %10u\n", nretained);
fprintf(out, "Signatures dropped: %10u\n", ndropped);
fprintf(out, "Signatures successfully verified: %10u\n", nverified);
fprintf(out, "Signatures unsuccessfully "
"verified: %10d\n", nverifyfailed);
"verified: %10u\n", nverifyfailed);
time_us = isc_time_microdiff(sign_finish, sign_start);
time_ms = time_us / 1000;
@@ -3431,12 +3472,13 @@ main(int argc, char *argv[]) {
origin = file;
if (output == NULL) {
size_t size;
free_output = ISC_TRUE;
output = isc_mem_allocate(mctx,
strlen(file) + strlen(".signed") + 1);
size = strlen(file) + strlen(".signed") + 1;
output = isc_mem_allocate(mctx, size);
if (output == NULL)
fatal("out of memory");
sprintf(output, "%s.signed", file);
snprintf(output, size, "%s.signed", file);
}
if (inputformatstr != NULL) {
@@ -3595,6 +3637,8 @@ main(int argc, char *argv[]) {
if (nsec3iter > max)
fatal("NSEC3 iterations too big for weakest DNSKEY "
"strength. Maximum iterations allowed %u.", max);
} else {
hashlist_init(&hashlist, 0, 0); /* silence clang */
}
gversion = NULL;
@@ -3752,6 +3796,8 @@ main(int argc, char *argv[]) {
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
dns_db_detach(&gdb);
hashlist_free(&hashlist);
while (!ISC_LIST_EMPTY(keylist)) {
key = ISC_LIST_HEAD(keylist);
ISC_LIST_UNLINK(keylist, key, link);

View File

@@ -1,6 +1,5 @@
<!--
- Copyright (C) 2004-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -38,6 +37,10 @@
<docinfo>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
@@ -50,15 +53,9 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>

View File

@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
- Copyright (C) 2004-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000-2009, 2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above

Some files were not shown because too many files have changed in this diff Show More