Compare commits

..
783 Commits
Author SHA1 Message Date
Evan Hunt 647dac6f96 Merge branch 'autosign-fix' into v9_11_5_patch 2018-12-10 22:04:56 -08:00
Evan Hunt 5c184e6290 add missing -r $RANDFILE 2018-12-10 22:03:25 -08:00
Tinderbox User 7fde949b49 Merge branch 'prep-release' into v9_11_5_patch 2018-12-07 20:36:42 +00:00
Tinderbox User 181752e328 prep 9.11.5-P1 2018-12-07 20:36:31 +00:00
Evan Hunt 48573a5fd4 Merge branch 'michal-befix-squashed-v9_11-v9_11_5_patch' into 'v9_11_5_patch'
Fix bottom of zone determination.

See merge request isc-projects/bind9!1200
2018-12-07 12:11:15 -08:00
Mark AndrewsandEvan Hunt 81376aeb79 add CHANGES and release notes entries.
(cherry picked from commit c8e92d3e45)
(cherry picked from commit 913c62979e)
2018-12-07 12:11:13 -08:00
Mark AndrewsandEvan Hunt b83637205b Properly detect bottom of zone when sign_a_node() is not called
(cherry picked from commit 9eec02a81f)
(cherry picked from commit f8dc30d18b)
2018-12-07 12:11:00 -08:00
Tinderbox User 3b0b2047ce Merge branch 'prep-release' into v9_11_5_release 2018-10-06 01:36:17 +00:00
Tinderbox User 99f0ef00d9 prep 9.11.5 2018-10-06 01:35:48 +00:00
Evan Hunt 426dbf0bef Merge branch '543-couple-more-windows-build-fixes' into 'v9_11_5_release'
Couple additional Windows build fixes in VCX files

See merge request isc-projects/bind9!828
2018-10-02 10:45:26 -07:00
Thomas JachandEvan Hunt 97d55eb56c Couple additional Windows build fixes in VCX files
(cherry picked from commit f2d6b1b859)
(cherry picked from commit b39bd2816e)
(cherry picked from commit 56e54fb695)
2018-10-02 10:43:04 -07:00
Tinderbox User a3131700aa Merge branch 'prep-release' into v9_11 2018-09-29 04:01:35 +00:00
Tinderbox User 186cf94c9a prep 9.11.5rc1 2018-09-29 03:57:26 +00:00
Evan Hunt a9e4ed033b Merge branch '562-chaos-addresses-v9_11' into 'v9_11'
fix chaosnet address comparison

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1] see RT #47076

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

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

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

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

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

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

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

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

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

See merge request isc-projects/bind9!650
2018-08-14 12:22:49 -04:00
Mark AndrewsandEvan Hunt a21b1b86dc mempool didn't work for sizes less than sizeof(void*)
(cherry picked from commit 5dd1beec8e)
2018-08-14 09:12:41 -07:00
Michał Kępień 298c1c3a05 Merge branch '476-fix-openssl-error-logging-v9_11' into 'v9_11'
[v9_11] Fix OpenSSL error logging

See merge request isc-projects/bind9!646
2018-08-14 07:11:51 -04:00
Michał Kępień ffb32dbb32 Add CHANGES entry
5009.	[bug]		Upon an OpenSSL failure, the first error in the OpenSSL
			error queue was not logged. [GL #476]

(cherry picked from commit 218166acf8)
2018-08-14 12:53:47 +02:00
Michał Kępień 0d174c46ff Do not remove errors from the OpenSSL error queue in toresult()
dst__openssl_toresult3() first calls toresult() and subsequently uses
ERR_get_error_line_data() in a loop.  Given this, it is a mistake to use
ERR_get_error() in toresult() because it causes the retrieved error to
be removed from the OpenSSL error queue, thus preventing it from being
retrieved by the subsequent ERR_get_error_line_data() calls.  Fix by
using ERR_peek_error() instead of ERR_get_error() in toresult().

(cherry picked from commit 36436268b5)
2018-08-14 12:53:44 +02:00
Michał Kępień 812002089e Merge branch '471-fix-rbt_insert_and_remove-unit-test-v9_11' into 'v9_11'
[v9_11] Prevent rare rbt_insert_and_remove unit test failures

See merge request isc-projects/bind9!643
2018-08-14 05:11:19 -04:00
Michał Kępień c6d1239d90 Prevent rare rbt_insert_and_remove unit test failures
When two or more absolute, two-label names are added to a completely
empty RBT, an extra, empty node for the root name will be created due to
node splitting.  check_tree() expects that, but the extra node will not
be created when just one name is added to a completely empty RBT.  This
problem could be handled inside check_tree(), but that would introduce
unnecessary complexity into it since adding a single name will result in
a different node count for a completely empty RBT (node count will be 1)
and an RBT containing only an empty node for the root name, created due
to prior node splitting (node count will be 2).  Thus, first explicitly
create a node for the root name to prevent rare check_tree() failures
caused by a single name being added in the first iteration of the
insert/remove loop.

(cherry picked from commit 13fe763798)
2018-08-14 10:44:59 +02:00
Michał Kępień b2d4ab89b3 Merge branch '285-make-the-inline-system-test-more-lightweight-v9_11' into 'v9_11'
[v9_11] Make the "inline" system test more lightweight

See merge request isc-projects/bind9!641
2018-08-14 04:39:02 -04:00
Michał Kępień a3490ef66e Make the "inline" system test more lightweight
Each zone used in the "inline" system test contains a few dozen records.
Over a dozen of these zones are used in the test.  Most records present
in these zones are not subsequently used in the test itself, but all of
them need to be signed by the named instances launched by the test,
which puts quite a bit of strain on lower-end machines, leading to
intermittent failures of the "inline" system test.  Remove all redundant
records from the zones used in the "inline" system test in order to
stabilize it.

(cherry picked from commit 24dd865b97)
2018-08-14 10:16:39 +02:00
Michał Kępień c4f02b0de4 Merge branch '468-queue-rndc-signing-nsec3param-requests-if-needed-v9_11' into 'v9_11'
[v9_11] Queue "rndc signing -nsec3param ..." requests if needed

See merge request isc-projects/bind9!638
2018-08-14 03:44:58 -04:00
Michał Kępień 2e0856c43d Add CHANGES entry
5008.	[bug]		"rndc signing -nsec3param ..." requests were silently
			ignored for zones which were not yet loaded or
			transferred. [GL #468]

(cherry picked from commit eed6778be4)
2018-08-14 09:29:54 +02:00
Michał Kępień cbd85e0137 Queue "rndc signing -nsec3param ..." requests if needed
If "rndc signing -nsec3param ..." is ran for a zone which has not yet
been loaded or transferred (i.e. its "db" field is NULL), it will be
silently ignored by named despite rndc logging an "nsec3param request
queued" message, which is misleading.  Prevent this by keeping a
per-zone queue of NSEC3PARAM change requests which arrive before a zone
is loaded or transferred and processing that queue once the raw version
of an inline-signed zone becomes available.

(cherry picked from commit cb40c5229a)
2018-08-14 09:29:54 +02:00
Ondřej Surý 8632fb1cd8 Merge branch '462-full-recv-queue-on-netbsd-v9_11' into 'v9_11'
Resolve "Full Recv-Queue"

See merge request isc-projects/bind9!631
2018-08-13 13:33:34 -04:00
Ondřej Surý af6fe731fb Make ENOBUFS a soft error
(cherry picked from commit ebf3083e08)
2018-08-13 19:23:21 +02:00
Ondřej Surý dca5c44e70 Merge branch 'fix-extra-ending-brace-in-dnstap-code-v9_11' into 'v9_11'
Fix extra closing parenthesis in DNSTAP code

See merge request isc-projects/bind9!625
2018-08-12 10:27:22 -04:00
Ondřej Surý 8ad12f613e Fix extra closing parenthesis in DNSTAP code 2018-08-12 16:12:14 +02:00
Ondřej Surý 3ae7ae9297 Merge branch '223-fix-vcredist-path-v9_11' into 'v9_11'
Resolve "Fix for Configure to find the path to VC++ redistributables under Visual Studio 2017"

See merge request isc-projects/bind9!619
2018-08-11 06:06:05 -04:00
Ondřej SurýandOndřej Surý 71059dac02 Fix various build failures on Windows (Courtesy of rockerinthelocker) 2018-08-11 05:57:52 -04:00
Ondřej SurýandOndřej Surý 48facc5892 Remove non-existant GUIDs from bind9.sln.in 2018-08-11 05:57:52 -04:00
Ondřej Surý 2dccdf935d Merge branch 'fix-missing-config.h-v9_12-v9_11' into 'v9_11'
Fix missing config.h in win32/socket.c and replace config.h with <config.h>

See merge request isc-projects/bind9!624
2018-08-11 05:53:40 -04:00
Ondřej Surý bfd31e282a Fix missing config.h in win32/socket.c and replace config.h with <config.h>
(cherry picked from commit d87c1a120d)
2018-08-11 11:00:50 +02:00
Ondřej Surý bae00dc3a2 Merge branch '469-typo-in-validate-glue-branch-v9_11' into 'v9_11'
Resolve "Typo in validate-glue branch"

See merge request isc-projects/bind9!622
2018-08-11 04:32:36 -04:00
Ondřej Surý 8305d846bd Fix !!validate typo to -> !validate
(cherry picked from commit bdc9860262)
2018-08-11 10:24:54 +02:00
Ondřej Surý 8f5f920a28 Merge branch '9-use-C99-integer-types-v9_12-v9_11' into 'v9_11'
Redefine ISC's int and boolean types to use <stdint.h> and <stdbool.h> types

See merge request isc-projects/bind9!616
2018-08-10 09:45:34 -04:00
Ondřej Surý 0a10dfa524 Add compatibility isc/boolean.h and isc/int.h headers
(cherry picked from commit 0dad73aafa)
2018-08-10 15:20:58 +02:00
Ondřej Surý 4c16748e1d Add CHANGES entry
5007.   [cleanup]       Replace custom ISC boolean and integer data types
                        with C99 stdint.h and stdbool.h types. [GL #9]

(cherry picked from commit 75c2356f42)
(cherry picked from commit b6c281ee7c)
2018-08-10 15:20:58 +02:00
Ondřej Surý eb745a2125 Remove duplicate config.h
(cherry picked from commit 7351c505a0)
(cherry picked from commit 2844f6529d)
2018-08-10 15:20:58 +02:00
Ondřej Surý 1084b40b44 Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
(cherry picked from commit 884929400c)
2018-08-10 15:20:57 +02:00
Ondřej Surý aaa76dc654 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
(cherry picked from commit d61e6a3111)
2018-08-10 15:20:57 +02:00
Ondřej Surý 07970c501d Get rid of extra UINT64_MAX definition in lib/isc/win32/time.c
(cherry picked from commit 055278c936)
(cherry picked from commit 3523850065)
2018-08-10 15:20:57 +02:00
Ondřej Surý bfc6a25f2d Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
(cherry picked from commit 64fe6bbaf2)
(cherry picked from commit c863a076ae)
2018-08-10 15:20:57 +02:00
Ondřej Surý 68c739d321 Check for C99 compatible compiler
(cherry picked from commit 9e493798c6)
(cherry picked from commit ee22f606ae)
2018-08-10 11:42:43 +02:00
Evan Hunt 791c6087af Merge branch 'security-v9_11' into 'v9_11'
Merge CVE-2018-5740 fix

See merge request isc-projects/bind9!609
2018-08-08 20:00:05 -04:00
Evan Hunt ba162bd0d4 caclulate nlabels and set *chainingp correctly
(cherry picked from commit e78e55f435)
2018-08-08 14:27:44 -07:00
Tinderbox UserandEvan Hunt 4b0b459e5b prep 9.11.4-P1 2018-08-08 14:27:44 -07:00
Evan Hunt ebee5bdfe5 CHANGES, release note
(cherry picked from commit 9c492aba65c178f30baafeb5502013f95a9d5b9a)
(cherry picked from commit ecb90158b6)
2018-08-08 14:27:32 -07:00
Evan Hunt 02e8b3f8dc test case
(cherry picked from commit 73486c13f743407a50d5bbadde90c949a696506f)
(cherry picked from commit 584a1cff8b)
2018-08-08 14:27:17 -07:00
Evan Hunt 98b2377de3 explicit DNAME query could trigger a crash if deny-answer-aliases was set
(cherry picked from commit a21c3810d3453548cc05ae19995125dabea9ca9c)
(cherry picked from commit 6e187b8656)
2018-08-08 14:27:17 -07:00
Ondřej Surý 71d6809464 Merge branch '543-revert-!553-v9.11' into 'v9_11'
Revert "Use make automatic variables to install updated manuals"

See merge request isc-projects/bind9!600
2018-08-06 07:03:05 -04:00
Ondřej Surý b9aa411750 Revert "Use make automatic variables to install updated manuals"
This reverts commit 77e9d82e1f.
2018-08-06 12:54:23 +02:00
Mark Andrews 43f8804a14 Merge branch 'remove-dead-code-v9_11' into 'v9_11'
Remove dead code

See merge request isc-projects/bind9!597
2018-08-02 19:59:01 -04:00
Mark Andrews 4130859964 remove dead code
(cherry picked from commit 83a1e87dd2)
2018-08-03 09:50:45 +10:00
Mark Andrews 973eea80f6 Merge branch '442-dnssec-verify-fails-on-case-sensitivity-of-owner-names-in-nsec-bitmap-v9_12-v9_11' into 'v9_11'
Resolve "dnssec-verify fails on case-sensitivity of owner names in NSEC bitmap"

See merge request isc-projects/bind9!595
2018-08-02 19:11:23 -04:00
Mark Andrews 622fbc97d0 add CHANGES
(cherry picked from commit 49cd3aac9c)
(cherry picked from commit 65b017829e)
2018-08-03 09:02:35 +10:00
Mark Andrews f2ce5b542e only check the bit map
(cherry picked from commit a94db46631)
(cherry picked from commit 092b739535)
2018-08-03 09:02:34 +10:00
Mark Andrews 1f30e5adf6 Merge branch '439-the-signed-instance-of-a-in-line-zone-should-be-treated-as-dynamic-v9_11' into 'v9_11'
Resolve "The signed instance of a in-line zone should be treated as dynamic."

See merge request isc-projects/bind9!586
2018-08-02 00:38:56 -04:00
Mark Andrews 36be402220 add CHANGES
(cherry picked from commit d6d9fd1c71)
2018-08-02 14:27:42 +10:00
Mark Andrews c4089d38cd treat the signed instance of a inline zone as dynamic
(cherry picked from commit 9130f055f4)
2018-08-02 14:27:41 +10:00
Mark Andrews 7e6f7a5e2b turn off ixfr-from-differences on signed instance of in-line zone
(cherry picked from commit cfccd8d246)
2018-08-02 14:27:41 +10:00
Mark Andrews 94ca5cdfd6 rename zone to mayberaw
(cherry picked from commit 3ea9861e7a)
2018-08-02 14:27:41 +10:00
Mark Andrews b73a78d3ad Merge branch '453-master-build-broken-in-documentation-tree-v9_11' into 'v9_11'
add /opt/local/share/xsl/docbook-xsl-nons to the places to look for manpages/docbook.xsl under macports

See merge request isc-projects/bind9!584
2018-08-02 00:25:59 -04:00
Mark Andrews 32b37f761c add /opt/local/share/xsl/docbook-xsl-nons to the places to look for manpages/docbook.xsl under macports
(cherry picked from commit 7425252207)
2018-08-02 14:09:32 +10:00
Mark Andrews f2aaab1bbe Merge branch '424-nsupdate-tests-fail-intermittently-v9_11' into 'v9_11'
Resolve "nsupdate tests fail intermittently"

See merge request isc-projects/bind9!581
2018-08-01 23:35:32 -04:00
Mark Andrews 84b5b6a659 use guard values for testing unixtime serial
(cherry picked from commit abe41ba011)
2018-08-02 11:29:15 +10:00
Mark Andrews 2e29c1f139 save SOA values
(cherry picked from commit 6b30bc73c0)
2018-08-02 11:29:15 +10:00
Mark Andrews 1f8227d594 Merge branch '406-dns_acl_isinsecure-does-not-handle-geoip-elements-v9_11' into 'v9_11'
Resolve "dns_acl_isinsecure does not handle geoip elements."

See merge request isc-projects/bind9!579
2018-08-01 20:08:35 -04:00
Mark Andrews 1727f96ad9 add CHANGES note
(cherry picked from commit b0b76d259f)
2018-08-02 09:59:58 +10:00
Mark Andrews a65c8e27b1 handle dns_aclelementtype_geoip
(cherry picked from commit 57eadf4d4f)
2018-08-02 09:59:58 +10:00
Mark Andrews c47f3abead test dns_acl_isinsecure with geoip element
(cherry picked from commit fb8bb4e306)
2018-08-02 09:59:58 +10:00
Mark Andrews f51c4fe84f Merge branch '410-missing-sanity-check-for-call-to-next_token-in-file-mdig-c-for-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "Missing Sanity Check for call to next_token() in file 'mdig.c' for BIND 9.12.1-P2"

See merge request isc-projects/bind9!577
2018-08-01 19:57:04 -04:00
Mark Andrews 73694509a7 add CHANGES note
(cherry picked from commit 84f1d9a204)
2018-08-02 09:49:17 +10:00
Mark Andrews 8c515d6b18 test mdig '+ednsopt=:' handling
(cherry picked from commit 2e688488f7)
2018-08-02 09:48:27 +10:00
Mark Andrews 6014eacc51 fix handling of '+ednsopt=:'; support 100 ednsopts per query rather than 100 total
(cherry picked from commit d2943440a0)
2018-08-02 09:48:25 +10:00
Mark Andrews 8de32c5de2 Merge branch '372-smimea-and-tlsa-methods-incorrectly-use-txt-type-v9_11' into 'v9_11'
Resolve "smimea and tlsa methods incorrectly use txt type"

See merge request isc-projects/bind9!575
2018-08-01 19:00:41 -04:00
Mark Andrews d024898f35 use tlsa and smime structs to set common values
(cherry picked from commit 63c9ec367f)
2018-08-02 08:52:30 +10:00
Mark Andrews 96d196a420 Merge branch 'modified-manual-install-oot-v9_11' into 'v9_11'
Use make automatic variables to install correct manual version.

See merge request isc-projects/bind9!568
2018-08-01 02:36:58 -04:00
Petr MenšíkandMark Andrews 77e9d82e1f Use make automatic variables to install updated manuals
Make will choose modified manual from build directory or original from source
directory automagically. Take advantage of install tool feature.
Install all files in single command instead of iterating on each of them.

(cherry picked from commit 88f913ac81)
2018-08-01 16:29:11 +10:00
Mark Andrews 5895de72a7 Merge branch 'misc-onerror-refcount-fixes-v9_11' into 'v9_11'
refcount errors on error paths

See merge request isc-projects/bind9!565
2018-07-31 19:35:20 -04:00
Mark Andrews eea479d1c7 add CHANGES
(cherry picked from commit 63aaff50df)
2018-07-31 18:43:50 +10:00
Mark Andrews 0a9f953a2f refcount errors on error paths
(cherry picked from commit 4093efc900)
2018-07-31 18:43:18 +10:00
Michał Kępień 300862111c Merge branch '423-fix-handling-of-tat-sending-failures-v9_11' into 'v9_11'
[v9_11] Fix handling of TAT sending failures

See merge request isc-projects/bind9!542
2018-07-19 12:15:24 -04:00
Michał Kępień 11d79a0fec Fix handling of TAT sending failures
dns_view_zonecut() may associate the dns_rdataset_t structure passed to
it even if it returns a result different then ISC_R_SUCCESS.  Not
handling this properly may cause a reference leak.  Fix by ensuring
'nameservers' is cleaned up in all relevant failure modes.

(cherry picked from commit f4b403e8b2)
2018-07-19 18:05:42 +02:00
Michał Kępień 15a7ea9e15 Merge branch '419-do-not-replace-lo0-address-on-solaris-v9_11' into 'v9_11'
[v9_11] Do not replace lo0 address on Solaris

See merge request isc-projects/bind9!538
2018-07-17 02:27:45 -04:00
Michał Kępień 88be595735 Do not replace lo0 address on Solaris
lo0 and lo0:0 are the same interface on Solaris.  Make sure
bin/tests/system/ifconfig.sh does not touch lo0:0 in order to prevent it
from changing the address of the loopback interface on Solaris.

(cherry picked from commit 618921902a)
2018-07-17 08:20:10 +02:00
Michał Kępień 94a39b8b70 Merge branch '365-add-centos-to-ci-v9_11' into 'v9_11'
[v9_11] Add CentOS/RHEL 6 to GitLab CI

See merge request isc-projects/bind9!533
2018-07-13 06:25:55 -04:00
Michał Kępień 4d1b250d1f Add CentOS 6/7 to CI
Modify .gitlab-ci.yml so that every CI pipeline also builds and tests
BIND on CentOS versions 6 and 7.  Use --disable-warn-error on CentOS 6
since it uses GCC 4.4.7 which suffers from bugs causing bogus warnings
to be generated, e.g.:

    sigs_test.c: In function 'compare_tuples':
    sigs_test.c:75: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:489: warning: shadowed declaration is here
    sigs_test.c: In function 'updatesigs_test':
    sigs_test.c:193: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:489: warning: shadowed declaration is here

(cherry picked from commit f0966d1485)
2018-07-13 12:15:36 +02:00
Michał Kępień 12bedaef75 Do not spam console if "git status --ignored" fails during tests
The "git status" command in Git versions before 1.7.2 does not support
the "--ignored" option.  Prevent spamming the console when running
system tests from a Git repository on a host with an ancient Git version
installed.

(cherry picked from commit 2be97feb46)
2018-07-13 12:15:36 +02:00
Michał Kępień e0dbc27c0d Remove IDN subtest from the "digdelv" system test
The output of certain "dig +idnout" invocations may be locale-dependent.
Remove the "dig +idnout" subtest from the "digdelv" system test as IDN
support is already thoroughly tested by the "idna" system test.

(cherry picked from commit fd30a03f2b)
2018-07-13 12:15:36 +02:00
Michał Kępień 4fdee34a0b Improve error handling in idn_ace_to_locale()
While idn2_to_unicode_8zlz() takes a 'flags' argument, it is ignored and
thus cannot be used to perform IDN checks on the output string.

The bug in libidn2 versions before 2.0.5 was not that a call to
idn2_to_unicode_8zlz() with certain flags set did not cause IDN checks
to be performed.  The bug was that idn2_to_unicode_8zlz() did not check
whether a conversion can be performed between UTF-8 and the current
locale's character encoding.  In other words, with libidn2 version
2.0.5+, if the current locale's character encoding is ASCII, then
idn2_to_unicode_8zlz() will fail when it is passed any Punycode string
which decodes to a non-ASCII string, even if it is a valid IDNA2008
name.

Rework idn_ace_to_locale() so that invalid IDNA2008 names are properly
and consistently detected for all libidn2 versions and locales.

Update the "idna" system test accordingly.  Add checks for processing a
server response containing Punycode which decodes to an invalid IDNA2008
name.  Fix invalid subtest description.

(cherry picked from commit 7fe0f00a3b)
2018-07-13 12:15:03 +02:00
Michał Kępień a996e26b8b Include conf.sh from all prereq.sh scripts
Every prereq.sh script must include bin/tests/system/conf.sh, otherwise
if some prerequisite is not met, errors about echo_i not being found
will be printed instead of actual error messages.

(cherry picked from commit cc0e8cda71)
2018-07-13 08:24:55 +02:00
Michał Kępień 03f2cb37f1 Update ATF path in the ./configure invocation used during CI
The Docker images used for CI install ATF to /usr, not /usr/local.
Update the ./configure invocation in .gitlab-ci.yml accordingly in order
to prevent confusion.

(cherry picked from commit 12df6829d1)
2018-07-13 08:24:50 +02:00
Michał Kępień 9506bf412f Add "-f" to command line arguments for autoreconf in autogen.sh
Depending on tool versions being used, "autoreconf -i" may not update
all Autoconf-generated files, which in turn may result in build errors.
Make autogen.sh call autoreconf with the "-f" command line argument to
ensure all Autoconf-generated files are updated when autogen.sh is run.

(cherry picked from commit 45e77a3680)
2018-07-13 08:24:34 +02:00
Ondřej Surý 71736e6af1 Merge branch 'pkcs11-missing-gitignore-v9_11' into 'v9_11'
PKCS#11 build missing some .gitignore files and ignore .gitignore files

See merge request isc-projects/bind9!515
2018-07-12 12:24:24 -04:00
Ondřej SurýandOndřej Surý 9c253f6cc8 Don't check copyrights on .gitignore files
(cherry picked from commit 718c527e1d)
2018-07-12 12:18:33 -04:00
Ondřej SurýandOndřej Surý d4baf8b117 Add .gitignore for PKCS#11 test files
(cherry picked from commit 96907d636d)
2018-07-12 12:18:33 -04:00
Mark Andrews 594a8b22c2 Merge branch '373-generic_tostruct_tlsa-incorrectly-initialises-common-structure-v9_11' into 'v9_11'
Resolve "generic_tostruct_tlsa incorrectly initialises common structure."

See merge request isc-projects/bind9!526
2018-07-11 19:55:35 -04:00
Mark Andrews 43c6f0d801 remove re-initalisation of common structure
(cherry picked from commit 6e06d3e7c6)
2018-07-12 09:49:01 +10:00
Evan Hunt 5a059f2f4c Merge branch '403-missing-sanity-check-for-call-to-next_token-in-file-dig-c-v9_12-v9_11' into 'v9_11'
Resolve "Missing Sanity Check for call to next_token() in file 'dig.c'"

See merge request isc-projects/bind9!524
2018-07-11 15:18:32 -04:00
Evan Hunt 79e313fe9e CHANGES
(cherry picked from commit 8ae1774089)
(cherry picked from commit 6fc6b3ab69)
2018-07-11 12:12:34 -07:00
Mark AndrewsandEvan Hunt 41a632bae1 add test for bad dig option '+ednsopt=:' being handled gracefully
(cherry picked from commit ad86878d61)
(cherry picked from commit 9f126bac32)
2018-07-11 12:12:32 -07:00
Bill ParkerandEvan Hunt d7d3383573 check code is non NULL
(cherry picked from commit 408bcf9c07)
(cherry picked from commit 62d047658a)
2018-07-11 12:11:46 -07:00
Evan Hunt 4990b6128b Merge branch '235-enhance-denied-logging-for-dynamic-updates-v9_11' into 'v9_11'
Add tcp-self policy tests.

See merge request isc-projects/bind9!522
2018-07-11 14:48:40 -04:00
Mukund SivaramanandEvan Hunt a829bb3f1b Add system tests for "tcp-self" update-policy
(cherry picked from commit a7e6a584ea)
2018-07-11 11:13:24 -07:00
Michał Kępień bcdb6c2846 Merge branch '392-send-upstream-tat-queries-for-locally-served-zones-v9_11' into 'v9_11'
[v9_11] Trust anchor telemetry queries are not sent for locally served zones

See merge request isc-projects/bind9!517
2018-07-11 03:25:45 -04:00
Michał Kępień 3c710a851c Add CHANGES entry
4994.	[bug]		Trust anchor telemetry queries were not being sent
			upstream for locally served zones. [GL #392]

(cherry picked from commit e54cddc0c1)
2018-07-11 09:14:11 +02:00
Michał Kępień d4a6cb321b Send upstream TAT queries for locally served zones
Trying to resolve a trust anchor telemetry query for a locally served
zone does not cause upstream queries to be sent as the response is
determined just by consulting local data.  Work around this issue by
calling dns_view_findzonecut() first in order to determine the NS RRset
for a given domain name and then passing the zone cut found to
dns_resolver_createfetch().

Note that this change only applies to TAT queries generated by the
resolver itself, not to ones received from downstream resolvers.

(cherry picked from commit 873c091408)
2018-07-11 09:14:11 +02:00
Michał Kępień 4fdd248f53 Extract TAT QNAME preparation to a separate function
Extract the part of dotat() reponsible for preparing the QNAME for a TAT
query to a separate function in order to limit the number of local
variables used by each function and improve code readability.

Rename 'name' to 'origin' to better convey the purpose of that variable.

(cherry picked from commit 2e7dd0d61f)
2018-07-11 09:14:09 +02:00
Evan Hunt 4b227d90eb Merge branch 'git-replay-merge-no-push-option-v9_12-v9_11' into 'v9_11'
Add --no-push and --push options and DONT_PUSH environment variable

See merge request isc-projects/bind9!511
2018-07-11 00:05:02 -04:00
Evan Hunt 3b97ce9f67 fixed an argument counting bug
(cherry picked from commit 458f273444)
2018-07-10 21:04:25 -07:00
Ondřej SurýandEvan Hunt 4255be661a Add --no-push and --push options and DONT_PUSH environment as default to control what happens after merge
(cherry picked from commit 23f69e5626)
(cherry picked from commit e50988255c)
2018-07-10 21:04:25 -07:00
Evan Hunt f26ea345eb Merge branch 'ci-check-libs-v9_11' into 'v9_11'
check correctness of win32 .def files in CI 'precheck' step

See merge request isc-projects/bind9!506
2018-07-10 23:39:52 -04:00
Evan Hunt fdee3237eb add checklibs to precheck CI step
(cherry picked from commit f74fc06ede)
2018-07-10 20:39:00 -07:00
Evan Hunt 348906e414 Merge branch 'remove-redundant-test-v9_11' into 'v9_11'
remove redundant test

See merge request isc-projects/bind9!503
2018-07-10 22:11:21 -04:00
Mark AndrewsandEvan Hunt f1f2c0c493 remove redundant test
(cherry picked from commit 6eec7fe092)
2018-07-10 19:05:12 -07:00
Evan Hunt 7903d0316d Merge branch '379-trust-anchor-telemetry-log-should-include-client-ip-address-v9_11' into 'v9_11'
Resolve "trust anchor telemetry log should include client IP address"

See merge request isc-projects/bind9!501
2018-07-10 21:37:46 -04:00
Mark AndrewsandEvan Hunt 5ddff2b184 add CHANGES note 2018-07-10 18:31:04 -07:00
Mark AndrewsandEvan Hunt 078962a616 fix spelling of 'telemetry'
(cherry picked from commit 4f18b6a09a)
2018-07-10 18:30:45 -07:00
Mark AndrewsandEvan Hunt 40cfb519f6 use extracted netaddr rather than client->destaddr
(cherry picked from commit 69fd3f5ba4)
2018-07-10 18:29:30 -07:00
Evan Hunt 639be7f1d3 Merge branch '382-trust-anchor-telemetry-is-misspelt-in-bin-named-log-c-in-9-11-and-earlier' into 'v9_11'
Resolve "trust-anchor-telemetry is misspelt in bin/named/log.c in 9.11 and earlier."

See merge request isc-projects/bind9!477
2018-07-10 21:12:20 -04:00
Mark AndrewsandEvan Hunt b2ccc58206 fix category trust-anchor-telemetry spelling 2018-07-10 18:11:02 -07:00
Evan Hunt a7865cdc4b Merge branch '378-run-xmllint-on-xml-and-docbook-in-precheck-v9_11' into 'v9_11'
Check correctness of *.xml, *.docbook, and *.html during precheck

See merge request isc-projects/bind9!499
2018-07-10 20:57:22 -04:00
Mark AndrewsandEvan Hunt d846e59a62 Resolve "run xmllint on *.xml and *.docbook in precheck"
(cherry picked from commit bb1937aaec)
2018-07-10 17:50:15 -07:00
Evan Hunt e8e6734a3a Merge branch '401-null-pointer-de-reference-found-in-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "NULL Pointer de-reference found in BIND 9.12.1-P2"

See merge request isc-projects/bind9!496
2018-07-10 17:46:02 -04:00
Evan Hunt 28544ada3e CHANGES 2018-07-10 14:39:53 -07:00
Bill ParkerandEvan Hunt 48aa0659f7 check param_template[i].pValue is non NULL
(cherry picked from commit 8ac0152651)
2018-07-10 14:39:30 -07:00
Michał Kępień e6dc9bc382 Merge branch '393-fix-a-net-dns-version-quirk-in-the-resolver-system-test-v9_11' into 'v9_11'
[v9_11] Fix a Net::DNS version quirk in the "resolver" system test

See merge request isc-projects/bind9!493
2018-07-10 09:14:46 -04:00
Michał Kępień 740b3a9118 Fix a Net::DNS version quirk in the "resolver" system test
Net::DNS versions older than 0.68 insert a ./ANY RR into the QUESTION
section if the latter is empty.  Since the latest Net::DNS version
available with stock RHEL/CentOS 6 packages is 0.65 and we officially
support that operating system, bin/tests/system/resolver/ans8/ans.pl
should behave consistently for various Net::DNS versions.  Ensure that
by making handleUDP() return the query ID and flags generated by
Net::DNS with 8 zero bytes appended.

(cherry picked from commit 6c3c6aea37)
2018-07-10 15:08:05 +02:00
Mark Andrews 5276f1d90e Merge branch '402-memory-leak-found-in-file-fuzz-c-in-bind-9-12-1-p2-v9_11' into 'v9_11'
Resolve "Memory Leak found in file 'fuzz.c' in BIND-9.12.1-P2"

See merge request isc-projects/bind9!490
2018-07-10 01:13:58 -04:00
Mark Andrews 6fbbe4ef7e free rbuf
(cherry picked from commit ecb2f20324)
2018-07-10 14:38:05 +10:00
Evan Hunt 2fe4344de4 Merge branch 'prep-release-v9_11_4' into 'v9_11'
prep 9.11.4

See merge request isc-projects/bind9!471
2018-07-03 02:56:55 -04:00
Tinderbox User 20f8b9a91f prep 9.11.4 2018-07-03 06:50:01 +00:00
Evan Hunt 644915b508 Merge branch 'fix-readme-v9_11' into 'v9_11'
Fix README typo

See merge request isc-projects/bind9!464
2018-07-02 20:18:08 -04:00
Evan Hunt a4717005b1 9.11.4 was incorrectly referred to as 9.11.3 2018-07-02 17:14:25 -07:00
Evan Hunt 0de0733307 Merge branch 'prep-release-v9_11_4rc2' into 'v9_11'
prep 9.11.4rc2

See merge request isc-projects/bind9!451
2018-06-28 01:25:28 -04:00
Tinderbox User 3bbd725a2c prep 9.11.4rc2 2018-06-28 05:07:42 +00:00
Evan Hunt 2d46759916 Merge branch '339-issues-with-large-journal-entries-v9_11' into 'v9_11'
Fix handling of large journal entries.

See merge request isc-projects/bind9!445
2018-06-27 21:46:57 -04:00
Evan Hunt 470b8612b2 CHANGES, release note
(cherry picked from commit 2aee33f412)
2018-06-27 18:40:24 -07:00
Evan Hunt 65bf99c85a use ISC_INT32_MAX as maximum 2018-06-27 18:40:24 -07:00
Witold KręcickiandEvan Hunt e92d5421c3 Fallback to normal procedure if creating of ixfr-from-differences fails
(cherry picked from commit b1254430df)
2018-06-27 18:33:33 -07:00
Witold KręcickiandEvan Hunt 1919f5c937 Fix some issues with large journal entries
(cherry picked from commit 0db7130f2b)
2018-06-27 18:33:32 -07:00
Mark Andrews b5c16a8758 Merge branch '366-missing-dereference-in-require-statement-v9_11' into 'v9_11'
Resolve "Missing dereference in REQUIRE statement?"

See merge request isc-projects/bind9!441
2018-06-27 03:43:54 -04:00
Mark Andrews 6a52c54af6 cfg_parse_boolean's REQUIRE test for ret was incomplete.
(cherry picked from commit f1ee5e4a16)
2018-06-27 17:37:17 +10:00
Evan Hunt 06c0d3943c Merge branch '275-add-permanent-option-to-disable-server-side-cookies-v9_11' into 'v9_11'
[v9_11]: Resolve "Provide a mechanism (build or runtime) to turn off server-side support for RFC7873"

See merge request isc-projects/bind9!414
2018-06-26 18:25:19 -04:00
Ondřej SurýandEvan Hunt a6887424ca Un-deprecate the answer-cookie option 2018-06-26 15:18:36 -07:00
Evan Hunt 19f4d8400b Merge branch '260-queries-with-empty-question-section-return-noerror-v9_12-v9_11' into 'v9_11'
Resolve "Queries with empty question section (and otherwise query message of undetermined RDCLASS) return NOERROR instead of FORMERR"

See merge request isc-projects/bind9!436
2018-06-26 17:50:32 -04:00
Evan Hunt f07560a5be CHANGES
(cherry picked from commit 2b075c2881)
(cherry picked from commit 07a0638c94)
2018-06-26 14:44:18 -07:00
Mukund SivaramanandEvan Hunt 49cd7552be return FORMERR when question section is empty if COOKIE is not present
(cherry picked from commit 06d3106002)
(cherry picked from commit ed29b84e16)
2018-06-26 14:44:18 -07:00
Ondřej Surý 7cf351710a Merge branch '180-fix-cmsgbuf-usage-v9_12-v9_11' into 'v9_11'
Resolve "Intermittent recursive resolver issues [socket.c:2135]"

See merge request isc-projects/bind9!430
2018-06-26 15:29:29 -04:00
Witold KręcickiandOndřej Surý 5e375f8b52 Use completely static-sized buffers
(cherry picked from commit 49f90025a0)
(cherry picked from commit 4007a9d020)
2018-06-26 15:23:28 -04:00
Witold KręcickiandOndřej Surý cd7bf90a54 Fix socket cmsg buffer usage
(cherry picked from commit d79be7dd5e)
(cherry picked from commit da63e95612)
2018-06-26 15:23:28 -04:00
Ondřej Surý b0bce3b530 Merge branch 'add-git-replay-merge-v9_11' into 'v9_11'
Add git replay merge to v9 11

See merge request isc-projects/bind9!428
2018-06-26 14:30:38 -04:00
Ondřej Surý 02a698bea7 Add git-replay-merge.sh script to v9_11 2018-06-26 20:24:03 +02:00
Evan Hunt f01a2d9dc3 Merge branch '288-named-checkconf-does-not-recognize-errors-related-to-in-view-zones-v9_11' into 'v9_11'
Resolve "named-checkconf does not recognize errors related to in-view zones"

See merge request isc-projects/bind9!425
2018-06-26 14:01:57 -04:00
Mark AndrewsandEvan Hunt c45fb6d92a CHANGES, copyright
(cherry picked from commit f7d346357e)
2018-06-26 10:55:44 -07:00
Mark AndrewsandEvan Hunt 316eebb699 construct a symtab of valid in-view targets then check that the target exists
(cherry picked from commit e01a4bcb20)
2018-06-26 10:53:59 -07:00
Michał Kępień cb4861a8c4 Merge branch '321-only-request-permitted-capabilities-in-non-libcap-builds-v9_11' into 'v9_11'
[v9_11] Only request permitted capabilities in non-libcap builds

See merge request isc-projects/bind9!418
2018-06-26 08:03:28 -04:00
Michał Kępień dec8ba34f7 Add CHANGES entry
4979.	[bug]		Non-libcap builds were not checking whether all
			requested capabilities are present in the permitted
			capability set. [GL #321]

(cherry picked from commit 731b003854)
2018-06-26 13:20:18 +02:00
Michał Kępień 4b0129f34b Only request permitted capabilities in non-libcap builds
While libcap-enabled builds check whether any capability named requests
is within the permitted capability set, non-libcap builds just try
requesting them, which potentially causes a misleading error message to
be output ("Operation not permitted: please ensure that the capset
kernel module is loaded").  Ensure non-libcap builds also check whether
any requested capability is within the permitted capability set.

(cherry picked from commit 8c66f32e53)
2018-06-26 13:19:58 +02:00
Evan Hunt 94d8ec0b21 Merge branch '247-log-the-remaining-v-info-at-startup' into 'v9_11'
Resolve "Log the remaining -V info at startup"

Closes #247

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

See merge request isc-projects/bind9!405
2018-06-24 23:20:04 -04:00
Mark Andrews 236ab4c453 fix casecompare return type for ninfo, tkey, txt
(cherry picked from commit 3ba1d1e43b)
2018-06-25 13:10:06 +10:00
Mark Andrews 1d0bf01a90 Merge branch '356-client-cookie-is-being-hashed-twice-when-computing-the-dns-server-cookie-v9_11' into 'v9_11'
Resolve "Client cookie is being hashed twice when computing the DNS server cookie."

See merge request isc-projects/bind9!402
2018-06-22 03:52:40 -04:00
Mark Andrews c61b0cbc65 4975. [bug] The server cookie computation for sha1 and sha256 did
not match the method described in RFC 7873. [GL #356]

(cherry picked from commit 8755a249bc)
2018-06-22 17:46:06 +10:00
Mark Andrews d3982afe5c the client cookie was being hashed twice when computing the server cookie for sha1 and sha256
(cherry picked from commit 4795f0ca89)
2018-06-22 17:45:32 +10:00
Ondřej Surý 9fa93f8642 Merge branch 'release-v9_11_4rc1' into 'v9_11'
Merge 9.11.4rc1 release into v9_11 branch

See merge request isc-projects/bind9!396
2018-06-21 13:13:15 -04:00
Evan HuntandOndřej Surý a1690b24bc prepare 9.11.4rc1 2018-06-21 18:54:43 +02:00
Michał Kępień ddafea197c Merge branch '341-constify-dns_rdata_tostruct-v9_11' into 'v9_11'
[v9_11] constify dns_rdata_tostruct

See merge request isc-projects/bind9!381
2018-06-15 03:34:50 -04:00
Mark AndrewsandMichał Kępień 09776e3e54 Declare the 'rdata' argument for dns_rdata_tostruct() to be const
(cherry picked from commit abb2fd1027)
2018-06-15 08:52:41 +02:00
Ondřej Surý c9203e48e2 Merge branch '309-fix-default-recursion-v9_11' into 'v9_11'
Resolve "Recursion improperly allowed by default"

See merge request isc-projects/bind9!374
2018-06-14 08:54:16 -04:00
Evan HuntandOndřej Surý b330bcb8a1 add a regression test for default allow-recursion settings 2018-06-14 14:47:11 +02:00
Evan HuntandOndřej Surý 3d71785ef1 allow-recursion could incorrectly inherit from the default allow-query 2018-06-14 14:47:11 +02:00
Michał Kępień cbed2a4602 Merge branch '298-fix-dname-handling-in-dnssec-tools-v9_11' into 'v9_11'
[v9_11] Fix DNAME handling in DNSSEC tools

See merge request isc-projects/bind9!364
2018-06-13 07:29:24 -04:00
Michał Kępień 28b8ab8891 Add CHANGES entry
4971.	[bug]		dnssec-signzone and dnssec-verify did not treat records
			below a DNAME as out-of-zone data. [GL #298]

(cherry picked from commit f9637ae0e5)
2018-06-13 12:59:03 +02:00
Mark AndrewsandMichał Kępień 0c3ddaafb5 Pull out the saving of the zone cut into a separate function
(cherry picked from commit 899e56068e)
2018-06-13 12:58:57 +02:00
Michał Kępień 6d8a514ecb Treat records below a DNAME as out-of-zone data
DNAME records indicate bottom of zone and thus no records below a DNAME
should be DNSSEC-signed or included in NSEC(3) chains.  Add a helper
function, has_dname(), for detecting DNAME records at a given node.
Prevent signing DNAME-obscured records.  Check that DNAME-obscured
records are not signed.

(cherry picked from commit ff7015a0f8)
2018-06-13 12:58:27 +02:00
Michał Kępień e104d97cd2 Merge branch '284-unify-keyfile-to-configuration-conversions-in-system-tests-v9_11' into 'v9_11'
[v9_11] Unify keyfile-to-configuration conversions in system tests

See merge request isc-projects/bind9!361
2018-06-13 02:28:38 -04:00
Michał Kępień da430b5f36 Add helper variables in mkeys system test
The keyfile and key ID for the original managed key do not change
throughout the mkeys system test.  Keep them in helper variables to
prevent calling "cat" multiple times and improve code readability.

(cherry picked from commit 2cad382552)
2018-06-13 08:08:25 +02:00
Michał Kępień a23e9821d6 Replace duplicated code snippet with calls to helper functions
Reduce code duplication by replacing a code snippet repeated throughout
system tests using "trusted-keys" and/or "managed-keys" configuration
sections with calls to keyfile_to_{managed,trusted}_keys() helper
functions.

(cherry picked from commit dce66f7635)
2018-06-13 08:08:25 +02:00
Michał Kępień 36d6a6cc76 Add helper functions for converting keyfile data into configuration sections
Add a set of helper functions for system test scripts which enable
converting key data from a set of keyfiles to either a "trusted-keys"
section or a "managed-keys" section suitable for including in a
resolver's configuration file.

(cherry picked from commit 21d3658bcb)
2018-06-13 08:08:25 +02:00
Michał Kępień 644009a0ed Merge branch '269-refactor-zone-logging-functions-v9_11' into 'v9_11'
[v9_11] Refactor zone logging functions

See merge request isc-projects/bind9!358
2018-06-11 06:58:34 -04:00
Michał Kępień 07b98521f6 Add CHANGES entry
4969.	[cleanup]	Refactor zone logging functions. [GL #269]

(cherry picked from commit c8de677eae)
2018-06-11 12:50:25 +02:00
Michał Kępień 2c09f7a06c Reimplement all zone logging functions using dns_zone_logv()
In order to decrease code duplication, express the logic contained in
all zone logging functions using dns_zone_logv() calls.

(cherry picked from commit 5c03cd339e)
2018-06-11 12:50:25 +02:00
Michał Kępień 4fab6fec76 Add dns_zone_logv()
Add a new libdns function, dns_zone_logv(), which takes a single va_list
argument rather than a variable number of arguments and can be used as a
base for implementing more specific zone logging functions.

(cherry picked from commit bb2dfb3f49)
2018-06-11 12:50:25 +02:00
Evan Hunt c8d7f94e94 Merge branch 'fix-strtok' into 'v9_11' 2018-06-09 23:04:19 -07:00
Evan Hunt 5bf319c107 complete strtok fix
(cherry picked from commit 74c3b9d3b2)
2018-06-09 23:04:18 -07:00
Evan Hunt aafdc4c39e Merge branch 'fix-strtok' into 'v9_11' 2018-06-09 22:36:54 -07:00
Evan Hunt 2960bf1a9f use strtok() instead of strtok_r() in command line processing
(cherry picked from commit 1734f1b3b9)
2018-06-09 22:36:46 -07:00
Evan Hunt 0edeb2cb2f Merge branch '293-cleanup-radix' into 'v9_11' 2018-06-08 12:11:24 -07:00
Evan Hunt b75a2b9730 improve readability of radix code
- use RADIX_V4, RADIX_V6, RADIX_V4_ECS, and RADIX_V6_ECS as array
  indices instead of 0 through 3.
- remove some unused macros

(cherry picked from commit f7f20b1202)
2018-06-08 12:11:19 -07:00
Evan Hunt 8da265c210 Merge branch 'validate-glue' into v9_11 2018-06-08 11:51:16 -07:00
Evan Hunt 7a00ce2e77 ensure we try to validate glue records so RRSIG TTLs will be capped 2018-06-08 11:41:48 -07:00
Mark Andrews ae0692ff8f Merge branch '325-add-cfg_parse_buffer4-v9_11' into 'v9_11'
Resolve "add cfg_parse_buffer4"

Closes #325

See merge request isc-projects/bind9!353
2018-06-08 17:40:33 +10:00
Mark Andrews d1f9dcca00 add cfg_parse_buffer4
(cherry picked from commit b313084af2)
2018-06-08 17:40:32 +10:00
Mark Andrews 2f10df804b Merge branch '173-option-to-disable-responding-with-cookies-isc-support-12614-v9_11' into 'v9_11'
Resolve "option to disable responding with cookies [ISC-Support #12614]"

See merge request isc-projects/bind9!154
2018-06-08 17:30:45 +10:00
Mark Andrews ae0f6f2073 add CHANGES and release notes
(cherry picked from commit 5f7a6232d6)
2018-06-08 17:29:45 +10:00
Mukund SivaramanandMark Andrews ca24707d38 Update ARM documentation
(cherry picked from commit b5265a8cfa)
2018-06-08 17:29:45 +10:00
Mukund SivaramanandMark Andrews db12b1a9f9 Add system test
(cherry picked from commit a5933fa2bb)
2018-06-08 17:29:45 +10:00
Mukund SivaramanandMark Andrews 441de7dbe3 Add a answer-cookie named config option
(cherry picked from commit 2930507357)
2018-06-08 17:29:28 +10:00
Mark Andrews f5ae506b11 Merge branch '322-add-support-for-marking-options-as-deprecated-v9_11' into 'v9_11'
Resolve "add support for marking options as deprecated."

Closes #322

See merge request isc-projects/bind9!351
2018-06-08 15:56:02 +10:00
Mark Andrews 34bfd20348 Add support for marking a option as deprecated.
(cherry picked from commit befff9452c)
2018-06-08 15:56:01 +10:00
Witold Kręcicki 4f3526f85c Merge branch 'XX-dont-fetch-keys-when-fuzzing-v9_11' into 'v9_11'
Don't fetch DNSKEY when fuzzing resolver

See merge request isc-projects/bind9!347
2018-06-06 15:28:09 +02:00
Witold Kręcicki 9b17be187f Don't fetch DNSKEY when fuzzing resolver
(cherry picked from commit cb3208aa43)
2018-06-06 15:27:27 +02:00
Mark Andrews 8ca60f7099 Merge branch '240-multiple-rrsigs-on-some-records-in-signed-zone-even-though-only-one-key-is-ever-active-at-a-time-v9_12-v9_11' into 'v9_11'
Resolve "Multiple RRSIGs on some records in signed zone even though only one key is ever active at a time"

Closes #240

See merge request isc-projects/bind9!231
2018-06-06 17:22:11 +10:00
Mark Andrews 1c8aa28455 add CHANGES note
(cherry picked from commit ba7a343156)
(cherry picked from commit 00f1956c9e)
2018-06-06 17:21:29 +10:00
Mark Andrews 1710e5cfca add duplicate signature test
(cherry picked from commit 0db5b087ed)
(cherry picked from commit 1783fa5aba)
2018-06-06 17:21:29 +10:00
Mark Andrews dd05287a31 add support -T sigvalinsecs
(cherry picked from commit 87a3dc8ab9)
(cherry picked from commit 69340b5ac5)
2018-06-06 17:17:48 +10:00
Mark Andrews 298372d8d2 only sign with other keys when deleting a key if there are not already existing signature for the deleted algorithm
(cherry picked from commit 0667bf7ae7)
(cherry picked from commit c1e342cedb)
2018-06-06 17:10:01 +10:00
Mark Andrews 5ab633d541 Merge branch '316-move-named-t-processing-to-its-own-function-v9_11' into 'v9_11'
Resolve "move named -T processing to its own function"

Closes #316

See merge request isc-projects/bind9!343
2018-06-06 15:31:30 +10:00
Mark Andrews f10ad9c37c add CHANGES
(cherry picked from commit ef7401e4a7)
2018-06-06 15:31:22 +10:00
Mark Andrews deee1574da move -T parsing to its own function
(cherry picked from commit b491ceeb50)
2018-06-06 15:30:55 +10:00
Evan Hunt c123936d2a Merge branch '302-use-ip-for-ifconfig' into 'v9_11'
Resolve "ifconfig.sh doesn't work on centos7"

Closes #302

See merge request isc-projects/bind9!330
2018-06-05 21:46:12 -07:00
Evan Hunt 07004c58f5 CHANGES
(cherry picked from commit 71f2335f5a)
(cherry picked from commit 7f16672ab8)
2018-06-05 21:46:08 -07:00
Evan Hunt 81c2298665 use "ip" on linux, falling back to "ifconfig" when it isn't available
(cherry picked from commit d7c5400798)
(cherry picked from commit 3e1a0c2b62)
2018-06-05 21:46:08 -07:00
Evan Hunt 35f4aafb20 expand address range in ifconfig.sh to include more than one subnet
(cherry picked from commit 41b29a436b)
(cherry picked from commit e4487b160c)
2018-06-05 21:46:08 -07:00
Evan Hunt 48a45fb3ff Merge branch '310-check-changes-needs-to-be-called-for-v9_11' into 'v9_11'
Resolve "check-changes needs to be called for v9_11"

See merge request isc-projects/bind9!337
2018-06-04 22:21:16 -04:00
Mark AndrewsandEvan Hunt c0e69cc406 call util/check-changes in setup 2018-06-04 22:14:11 -04:00
Mark Andrews 0a613754e4 Merge branch 'backport-sentinel' into 'v9_11'
Backport root-key-sentinel

See merge request isc-projects/bind9!334
2018-06-04 21:57:16 -04:00
Evan Hunt e229ae6999 add prerequisite check 2018-06-04 17:41:22 -04:00
Mark AndrewsandEvan Hunt 106fc761de CHANGES entry for root-key-sentinel
(cherry picked from commit 2845d7160e)
(cherry picked from commit af267c4da9)
2018-06-04 17:41:22 -04:00
Mark AndrewsandEvan Hunt b3e93d1b0f add release note for root-key-sentinel
(cherry picked from commit e20790c956)
(cherry picked from commit edb761b08c)
2018-06-04 17:41:22 -04:00
Mark AndrewsandEvan Hunt 9448c4fd21 add system test for root-key-sentinel
(cherry picked from commit a23b305e6b)
(cherry picked from commit b9e6b124aa)
2018-06-04 17:41:22 -04:00
Mark AndrewsandEvan Hunt 9a5f308287 add named.conf option root-key-sentinel
(cherry picked from commit 68e9315c7d)
(cherry picked from commit ee763ef281)
2018-06-04 17:41:22 -04:00
Mark AndrewsandEvan Hunt afa97c6552 detect and process root-key-sentinel labels.
(cherry picked from commit 8fc9f64df9)
(cherry picked from commit 7111eff80c)
2018-06-04 17:41:21 -04:00
Evan Hunt a7e305ccc5 Merge branch '306-backport-multiple-cookie-secrets-to-9-11-4-s' into 'v9_11'
Resolve "backport multiple cookie-secrets to 9.11"

See merge request isc-projects/bind9!333
2018-06-04 16:36:36 -04:00
Mark AndrewsandEvan Hunt f9d19cab7f 4699. [func] Multiple cookie-secret clauses can now be specified.
The first one specified is used to generate new
                        server cookies.  [RT #45672]
2018-06-04 13:16:28 -07:00
Mark Andrews 4a2729a4b3 Merge branch '209-glue-is-no-longer-included-v9_11' into 'v9_11'
Resolve "Glue is no longer included for non-DNSSEC-signed zones since CHANGE 4596"

See merge request isc-projects/bind9!286
2018-06-04 01:24:49 -04:00
Evan HuntandMark Andrews 32681598cd attempt to validate glue, but don't drop it if it can't be validated 2018-06-04 01:12:18 -04:00
Mukund SivaramanandMark Andrews 22ff9c9199 Fix acache case too 2018-06-04 01:12:18 -04:00
Mukund SivaramanandMark Andrews a5c94e1d44 Add CHANGES entry
(cherry picked from commit dfd73d7e16)
2018-06-04 01:12:18 -04:00
Mukund SivaramanandMark Andrews 3d62545657 Add system test
(cherry picked from commit 303391ea41)
2018-06-04 01:12:18 -04:00
Mukund SivaramanandMark Andrews 3f59d6c251 Don't validate non-pending glue when adding to the additional section
(cherry picked from commit 31bd3147d1)
2018-06-04 01:12:18 -04:00
Mark Andrews 0b7337f717 Merge branch '281-dont-insert-extra-space-between-nsec3-nexthash-and-typemap-v9_11' into 'v9_11'
Resolve "9.11.3-S1 totext_nsec3 inserts a redundant white space between next hash and type map [ISC-support #12887]"

See merge request isc-projects/bind9!313
2018-06-04 13:03:16 +10:00
Mark Andrews 159c6235c4 Add CHANGES note
(cherry picked from commit f98d8115e3)
2018-06-04 13:03:06 +10:00
Mukund SivaramanandMark Andrews 2bbea4513f Add NSEC3 fromtext/totext unittests
(cherry picked from commit b0d9198e03)
2018-06-04 13:02:44 +10:00
Mukund SivaramanandMark Andrews 0aa9c410d7 Don't insert 2nd space between NSEC3 nexthash and typemap fields
(cherry picked from commit d4ea1edd2c)
2018-06-04 13:02:44 +10:00
Mark Andrews 46e69a4d52 Merge branch '286-new-cppcheck-detected-errors-v9_11' into 'v9_11'
Resolve "New cppcheck-detected errors"

See merge request isc-projects/bind9!324
2018-05-29 09:45:49 +10:00
Mark Andrews cc17a88ae1 add CHANGES note
(cherry picked from commit e9134b15eb)
2018-05-29 09:45:38 +10:00
Mark Andrews e568d66db3 work around cppcheck false positive
(cherry picked from commit cb5802e854)
2018-05-29 09:45:23 +10:00
Evan Hunt e291e02034 Merge branch '245-fix-test-color' into 'v9_11'
Resolve "rpz test fails to launch ns2 on openbsd"

Closes #245

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

Closes #290

See merge request isc-projects/bind9!318
2018-05-25 13:12:01 +10:00
Mark Andrews cf8c1e3284 add closing '};'
(cherry picked from commit ab22160a1c)
2018-05-25 13:12:00 +10:00
Evan Hunt bfef5b7235 Merge branch 'fix-catz-test' into 'v9_11'
fix catz test

See merge request isc-projects/bind9!317
2018-05-24 16:18:47 -07:00
Evan Hunt 3fe5acd39f files were left in place after catz run because of non-portable bracket use
(cherry picked from commit af73e16c9c)
2018-05-24 16:18:44 -07:00
Evan Hunt 0916ddf103 Merge branch 'fix-copyrights' into v9_11 2018-05-23 18:10:03 -07:00
Evan Hunt a05cd20767 restore accidentally deleted copyright line 2018-05-23 18:09:31 -07:00
Evan Hunt 1e9b61b736 Merge branch '283-ensure-there-is-a-blank-line-before-a-changes-entry-and-a-release-marker' into 'v9_11'
Resolve "ensure there is a blank line before a changes entry and a release marker."

Closes #283

See merge request isc-projects/bind9!311
2018-05-23 17:58:36 -07:00
Mark AndrewsandEvan Hunt 33f8dd5f35 ensure there is a blank line before a changes entry and a release marker
(cherry picked from commit c91770549f)
(cherry picked from commit d87eb5804d)
2018-05-23 17:58:29 -07:00
Evan Hunt 32cc7c804f Merge branch 'generate-notes-txt' into 'v9_11'
use w3m to generate notes.txt as part of the doc build

See merge request isc-projects/bind9!310
2018-05-23 09:55:46 -07:00
Evan Hunt 884e8df7ca copyrights 2018-05-23 09:55:41 -07:00
Evan Hunt 4729357675 use w3m to generate notes.txt as part of the doc build
(cherry picked from commit 7c955e0eb8)
(cherry picked from commit 5b2390e016)
2018-05-23 09:54:16 -07:00
Mark Andrews 29ff16ea3a Merge branch '273-add-home-arpa-to-list-of-empty-zones-rfc-8375-v9_11' into 'v9_11'
Resolve "Add "HOME.ARPA" to list of empty zones (RFC 8375)"

Closes #273

See merge request isc-projects/bind9!297
2018-05-23 11:19:34 +10:00
Mark Andrews 8543097699 add HOME.ARPA to the list of empty zones
(cherry picked from commit 10dd0b3efe)
2018-05-23 11:14:18 +10:00
Mark Andrews 8d96f3a207 fix handling of failed tests
(cherry picked from commit 4283f9552f)
2018-05-23 11:13:53 +10:00
Evan Hunt 7d7f4dafca Merge branch 'fix-kit-v9_11' into 'v9_11'
use the correct repository, and get archive by tag not hash

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

Closes #238

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

See merge request isc-projects/bind9!298
2018-05-18 12:46:25 +10:00
Mark Andrews 7bbc0668fe add CHANGES note
(cherry picked from commit 3f3d424a70)
2018-05-18 12:46:15 +10:00
Mark Andrews 4868351c45 look for '\0'
(cherry picked from commit d03a81c265)
2018-05-18 12:45:14 +10:00
Mark Andrews 0256a07b96 add some %f format tests
(cherry picked from commit f5233ba5de)
2018-05-18 12:45:14 +10:00
Mark Andrews 6d6bf3d6ef don't produce a false negative for %z with CFLAGS=-Werror
(cherry picked from commit 800012de23)
2018-05-18 12:45:14 +10:00
Evan Hunt 28f17e8295 Merge branch '233-clarify-documentation-of-update-policy-tcp-self-and-6to4-self' into 'v9_11'
Resolve "Clarify documentation of update-policy tcp-self and 6to4-self"

Closes #233

See merge request isc-projects/bind9!227
2018-05-15 13:20:23 -07:00
Evan Hunt 50aae06d89 rewrite the update-policy documentation
- clarify the behavior of the name and identity fields for various
  rule types, particularly tcp-self and 6to4-self.

(cherry picked from commit dea89f2a52)
2018-05-15 13:20:15 -07:00
Michał Kępień 72a12272cf Merge branch '258-address-ubsan-warnings-v9_11' into 'v9_11'
[v9_11] Address issues found by ubsan

See merge request isc-projects/bind9!281
2018-05-15 03:51:11 -04:00
Michał Kępień 803537b991 isc_buffer_*(): if source can be NULL, only call memmove() when length is non-zero
Certain isc_buffer_*() functions might call memmove() with the second
argument (source) set to NULL and the third argument (length) set to 0.
While harmless, it triggers an ubsan warning:

    runtime error: null pointer passed as argument 2, which is declared to never be null

Modify all memmove() call sites in lib/isc/include/isc/buffer.h and
lib/isc/buffer.c which may potentially use NULL as the second argument
(source) so that memmove() is only called if the third argument (length)
is non-zero.

(cherry picked from commit 6ddbca6f2b)
2018-05-15 09:32:19 +02:00
Michał Kępień b7b1de0a39 dns_rdataslab_merge(): use dns_rdata_compare() instead of compare_rdata()
compare_rdata() was meant to be used as a qsort() callback.  Meanwhile,
dns_rdataslab_merge() calls compare_rdata() for a pair of dns_rdata_t
structures rather than a pair of struct xrdata structures, which is
harmless, but triggers an ubsan warning:

    rdataslab.c:84:33: runtime error: member access within address <address> with insufficient space for an object of type 'const struct xrdata'

Use dns_rdata_compare() instead of compare_rdata() to prevent the
warning from being triggered.

(cherry picked from commit 9bc6ba0be9)
2018-05-15 09:32:19 +02:00
Michał Kępień 1c875f959b Merge branch '252-9-9-sigs_test-updatesigs-is-failing-v9_11' into 'v9_11'
[v9_11] Skip lib/dns/tests/sigs_test for builds without DNSSEC support

See merge request isc-projects/bind9!274
2018-05-14 03:39:54 -04:00
Michał Kępień bdc9f829c8 Extend the list of headers included by lib/dns/tests/sigs_test.c
(cherry picked from commit f98e145c5b)
2018-05-14 09:32:07 +02:00
Mark AndrewsandMichał Kępień c8f13be0dd return untested if not built with OPENSSL or PKCS11CRYPTO
(cherry picked from commit 2420320b96)
2018-05-14 09:32:07 +02:00
Ondřej Surý d6838537fd Merge branch '9-remove-dolar-ids-and-other-cruft-v9_11' into 'v9_11'
Remove $Id$s and other cruft as a batch operation

See merge request isc-projects/bind9!268
2018-05-11 08:33:40 -04:00
Ondřej Surý 188526f41c Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:25:15 +02:00
Ondřej Surý 25acd696e0 Merge branch 'redirect-stderr-to-dev-null-v9_11' into 'v9_11'
Update tests to not use '>&-' that closes file descriptor, but instead use…

See merge request isc-projects/bind9!265
2018-05-11 07:17:53 -04:00
Ondřej Surý 0cbad1b3fc Update tests to not use '>&-' that closes file descriptor, but instead use correct redirection to '>/dev/null'
(cherry picked from commit 3f66b8acb0)
2018-05-11 13:11:20 +02:00
Michał Kępień e00df39d5a Merge branch '249-address-gcc-8-compilation-warnings-v9_11' into 'v9_11'
[v9_11] Address GCC 8 compilation warnings

See merge request isc-projects/bind9!260
2018-05-10 05:01:27 -04:00
Ondřej SurýandMichał Kępień 18f4f0d1ac Address GCC 8 -Wstringop-truncation warning
(cherry picked from commit 9845c4c4a7)
2018-05-10 10:54:38 +02:00
Michał Kępień b4f07af8df Address GCC 8 -Wformat-truncation warnings
(cherry picked from commit 172d0c401e)
2018-05-10 10:54:38 +02:00
Ondřej Surý f217ef9c17 Merge branch 'gitlab-ci-amd64-v9_11' into 'v9_11'
Tag docker images with appropriate architectures

See merge request isc-projects/bind9!256
2018-05-10 03:36:46 -04:00
Ondřej Surý fd651fb225 Tag docker images with appropriate architectures
(cherry picked from commit ab112d2c4f)
2018-05-10 09:27:41 +02:00
Evan Hunt 3123862be9 Merge branch '135-add-basic-unit-tests-for-update_sigs-v9_11' into 'v9_11'
Add basic unit tests for update_sigs()

Closes #135

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

(cherry picked from commit 4885809eb9)
(cherry picked from commit 1f9b0cbc63)
2018-05-10 00:04:57 -07:00
Michał KępieńandEvan Hunt 505267f320 Define basic test cases for dns__zone_updatesigs()
Add some basic test cases ensuring dns__zone_updatesigs() behaves as
expected.

(cherry picked from commit 8b9d2c27b4)
(cherry picked from commit 3e93e4bb62)
2018-05-10 00:04:57 -07:00
Michał KępieńandEvan Hunt e787e54ea1 Add a framework for dns__zone_updatesigs() unit tests
Add a new ATF test, sigs_test, containing everything required to start
defining test cases for dns__zone_updatesigs().  The framework is
written in a way which ensures that changes to zone database applied by
any dns__zone_updatesigs() invocation are preserved between subsequent
checks.

(cherry picked from commit 1f10186476)
(cherry picked from commit 3dde7c42db)
2018-05-10 00:04:55 -07:00
Michał KępieńandEvan Hunt a6be59ce08 Move find_zone_keys() to lib/dns/zone_p.h
Rename find_zone_keys() to dns__zone_findkeys() and move it to
lib/dns/zone_p.h, so that it can be used in unit tests.  Add a comment
describing the purpose of this function.

(cherry picked from commit d7143986b1)
(cherry picked from commit fc0e99c7d7)
2018-05-10 00:04:14 -07:00
Michał KępieńandEvan Hunt 5c71a025c6 Move update_sigs() to lib/dns/zone_p.h
Rename update_sigs() to dns__zone_updatesigs() and move it to
lib/dns/zone_p.h, so that it can be unit tested.  Add a comment
describing the purpose of this function.

(cherry picked from commit b1947cee82)
(cherry picked from commit 4d06f50ba8)
2018-05-10 00:04:12 -07:00
Michał KępieńandEvan Hunt 5712d9528f Move zonediff_t to lib/dns/zone_p.h
Rename zonediff_t to dns__zonediff_t and move it to lib/dns/zone_p.h, so
that unit tests can be written for functions taking pointers to
structures of this type as arguments.

(cherry picked from commit ace465a9f9)
(cherry picked from commit ea15c54d8a)
2018-05-10 00:03:16 -07:00
Michał KępieńandEvan Hunt 536d6dc0c5 Add lib/dns/zone_p.h
Add a new private header file, lib/dns/zone_p.h, which will hold type
definitions and function prototypes not meant to be exported by libdns,
but required by zone-related unit tests.

(cherry picked from commit c1bc3be806)
(cherry picked from commit 2b0add6d1a)
2018-05-10 00:03:16 -07:00
Michał KępieńandEvan Hunt 1f454b8d91 Add a helper function to facilitate preparing dns_diff_t structures
Implement dns_test_difffromchanges(), a function which enables preparing
a dns_diff_t structure from a mostly-textual representation of zone
database changes to be applied.  This will improve readability of test
case definitions by allowing contents of a dns_diff_t structure, passed
e.g. to update_sigs(), to be represented in a human-friendly manner.

(cherry picked from commit 3c22af0d35)
(cherry picked from commit d4c603eb8a)
2018-05-10 00:03:16 -07:00
Michał KępieńandEvan Hunt 5097723d1b Rename dns_test_rdata_fromstring() to dns_test_rdatafromstring()
Remove the underscore from "rdata_fromstring" so that all helper
functions for libdns tests use a common naming covention.

(cherry picked from commit 2980cbd55f)
(cherry picked from commit 107102d333)
2018-05-10 00:03:15 -07:00
Michał KępieńandEvan Hunt d45ee39bae Rework dns_test_makezone()
The dns_test_makezone() helper function always assigns the created zone
to some view, which is not always necessary and complicates cleanup of
non-managed zones as they are required not to be assigned to any view.

Rework dns_test_makezone() in order to make it easier to use in unit
tests operating on non-managed zones.  Use dns_name_fromstring() instead
of dns_name_fromtext() to simplify code.  Do not use the CHECK() macro
and add comments to make code flow simpler to follow.  Use
dns_test_makeview() instead of dns_view_create().

Adjust existing unit tests using this function so that they still pass.

(cherry picked from commit bfbeef3609)
(cherry picked from commit f70c02d2c2)
2018-05-10 00:03:15 -07:00
Ondřej Surý ffeeff297c Merge branch '191-misc-improvements-v9_12-v9_11' into 'v9_11'
[v9_11] Miscelaneous improvements found when working on #191

See merge request isc-projects/bind9!245
2018-05-03 16:32:47 -04:00
Ondřej Surý 9ad51fd177 Use standard OPENSSL_NO_ENGINE instead of custom USE_ENGINE define
(cherry picked from commit 8d648e7a8a)
(cherry picked from commit 311fbf3f5b)
2018-05-03 21:48:44 +02:00
Ondřej Surý 17314bc5da Use BN_hex2bn instead of custom BN_fromhex function
(cherry picked from commit 8bf192b4d1)
(cherry picked from commit 5af60f69fd)
2018-05-03 21:44:36 +02:00
Ondřej Surý ff4b8c29d9 Fix extra ] in configure.in
(cherry picked from commit 35d2dbb9f5)
(cherry picked from commit 30b308e2e3)
2018-05-03 21:44:36 +02:00
Ondřej Surý 727a91eded Merge branch '236-silence-cppcheck-issues-in-lib-dns-dst_parse-c-v9_11' into 'v9_11'
[v9_11] Resolve "silence cppcheck issues in lib/dns/dst_parse.c"

See merge request isc-projects/bind9!241
2018-05-03 11:22:29 -04:00
Mark AndrewsandOndřej Surý dc9b77a852 simplify mask construction
(cherry picked from commit 22fab3199f)
2018-05-03 17:15:32 +02:00
Ondřej Surý d89310e9dc Merge branch 'random-test-improvement-v9_11' into 'v9_11'
[v9_11] Improve random_test to also test the high bound of the confidence interval

See merge request isc-projects/bind9!238
2018-05-03 09:12:52 -04:00
Ondřej Surý 358ef09a6e Also test the higher part of the confidence interval
(cherry picked from commit 8d3220643c)
2018-05-03 15:05:20 +02:00
Ondřej Surý 0e05f8cfc8 Merge branch '191-add-LibreSSL-2.7-support-v9_11' into 'v9_11'
[v9_11] Add LibreSSL 2.7.0 support

See merge request isc-projects/bind9!235
2018-05-03 08:34:45 -04:00
Ondřej Surý cc0885fb7f Add CHANGES entry
4935.   [func]          Add support for LibreSSL >= 2.7.0 (some OpenSSL 1.1.0
                        call were added). [GL #191]

(cherry picked from commit 30488dddf0)
2018-05-03 14:27:47 +02:00
Ondřej Surý c74decdf53 Workaround LibreSSL 2.7.0-2.7.2 quirk in DH_set0_key
(cherry picked from commit 6b9e3b7b06)
2018-05-03 14:27:33 +02:00
Ondřej Surý f3414c74ec Add support for LibreSSL 2.7
(cherry picked from commit 29ff62a149)
2018-05-03 14:27:33 +02:00
Evan Hunt ac62f97242 Merge branch '208-dig-doc' into 'v9_11'
Resolve "Added -t TYPEnn description to dig"

Closes #208

See merge request isc-projects/bind9!221
2018-04-27 00:00:09 -07:00
Paul HoffmanandEvan Hunt d742db122e add -t type### description to the dig man page
(cherry picked from commit 2d957c6b9f)
2018-04-27 00:00:03 -07:00
Evan Hunt 3cea5c34c5 Merge branch '159-improve-handling-of-inline-signed-zones-with-missing-signing-keys' into 'v9_11'
Improve handling of inline signed zones with missing signing keys

Closes #159

See merge request isc-projects/bind9!133
2018-04-25 12:10:00 -07:00
Michał KępieńandEvan Hunt 1112a69a02 Add CHANGES entries
4916.	[bug]		Not creating signing keys for an inline signed zone
			prevented changes applied to the raw zone from being
			reflected in the secure zone until signing keys were
			made available. [GL #159]

4915.	[bug]		Bumped signed serial of an inline signed zone was
			logged even when an error occurred while updating
			signatures. [GL #159]

(cherry picked from commit 7d2c09c905)
(cherry picked from commit e4995efe24)
2018-04-25 12:09:53 -07:00
Michał KępieńandEvan Hunt 911836509e Apply raw zone deltas to yet unsigned secure zones
When inline signing is enabled for a zone without creating signing keys
for it, changes subsequently applied to the raw zone will not be
reflected in the secure zone due to the dns_update_signaturesinc() call
inside receive_secure_serial() failing.  Given that an inline zone will
be served (without any signatures) even with no associated signing keys
being present, keep applying raw zone deltas to the secure zone until
keys become available in an attempt to follow the principle of least
astonishment.

(cherry picked from commit 6acf326969)
(cherry picked from commit 8a58a60772)
2018-04-25 12:09:53 -07:00
Michał KępieńandEvan Hunt 4ba247818c Only log bumped signed serial after a successful secure zone update
If a raw zone is modified, but the dns_update_signaturesinc() call in
receive_secure_serial() fails, the corresponding secure zone's database
will not be modified, even though by that time a message containing the
bumped signed serial will already have been logged.  This creates
confusion, because a different secure zone version will be served than
the one announced in the logs.  Move the relevant dns_zone_log() call so
that it is only performed if the secure zone's database is modified.

(cherry picked from commit cfbc8e264d)
(cherry picked from commit cdc7ab42b1)
2018-04-25 12:09:53 -07:00
Evan Hunt a8b21dbde2 Merge branch '171-lgtm-issues-v9_11' into 'v9_11'
Resolve "problems detected by LGTM static analyzer"

Closes #171

See merge request isc-projects/bind9!213
2018-04-22 12:58:27 -07:00
Evan Hunt f9da5a735e remove unnecessary comparison
(cherry picked from commit 8b1baa10ee)
2018-04-22 12:58:27 -07:00
Evan Hunt 0dcff8f93c silence warnings about unnecessary comparisons
- these are cases where result has been explicitly set, so
  if (result != ISC_R_SUCCESS) is unnecessary

(cherry picked from commit e00eb55cd2)
2018-04-22 12:58:27 -07:00
Evan Hunt 7f61e9d50e add header guards in files that were missing them
(cherry picked from commit 4247477b61)
2018-04-22 12:58:27 -07:00
Evan Hunt f7755696a5 add header guard when generating bind.keys.h
(cherry picked from commit bfbe6925df)
2018-04-22 12:58:27 -07:00
Evan Hunt 9d99bf0f4b change "key" to "tsigkey" to silence "short global name" warning
(cherry picked from commit 0cc7aa250e)
2018-04-22 12:58:24 -07:00
Evan Hunt 694a1486ca fix shadowed global variables
(cherry picked from commit 9ca3ab1168)
2018-04-22 12:57:58 -07:00
Evan Hunt b9db91aa64 fix duplicate include guard in dnsconf.h
- IMHO we should consider removing dnsconf.c and deprecating the
  /etc/dns.conf file, though, as I don't think it's likely anyone
  is using it

(cherry picked from commit a08ba418ef)
2018-04-22 12:57:58 -07:00
Ondřej Surý 2054c850d8 Merge branch '202-cppcheck-reporting-miscellaneous-issues-v9_11' into 'v9_11'
Resolve "cppcheck reporting miscellaneous issues"

See merge request isc-projects/bind9!217
2018-04-20 18:53:54 -04:00
Mark AndrewsandOndřej Surý cdce9f752c remove exit calls after FATAL_ERROR
(cherry picked from commit f8d2a46daa)
2018-04-20 18:47:39 -04:00
Mark AndrewsandOndřej Surý bd3ad6fb59 remove dead code
(cherry picked from commit 686edad5c5)
2018-04-20 18:47:39 -04:00
Mark AndrewsandOndřej Surý 578714e8f1 use %u instead of %d for unsigned int arguments
(cherry picked from commit 49f8e9571c)
2018-04-20 18:47:39 -04:00
Ondřej Surý ac810872c6 Merge branch '206-nslookup-accepts-any-bogus-option-interpret-it-as-vc-v9_11' into 'v9_11'
Resolve "nslookup accepts any -bogus -option, interpret it as -vc"

See merge request isc-projects/bind9!215
2018-04-20 18:20:46 -04:00
Mukund SivaramanandOndřej Surý 4f35a81004 Remove bogus comparison
(cherry picked from commit 89cf503880)
2018-04-20 14:52:43 -07:00
Ondřej Surý 901363a3dd Merge branch '189-fix-tsig-dump-keyfile-name-generation-issues-v9_11' into 'v9_11'
[v9_11] Fix TSIG dump keyfile name generation issues

See merge request isc-projects/bind9!192
2018-04-12 03:07:16 -04:00
Ondřej Surý cf5598156d Sync isc_file_template functions between unix and win32, so they are same
(cherry picked from commit 8c99d104e3)
2018-04-12 09:00:13 +02:00
Ondřej Surý 6f550b33bf Cherry-pick changes to isc_file_template and associated unit test from v9_12 to v9_11
(cherry picked parts of commit 2dfb992349)
2018-04-12 08:59:35 +02:00
Mukund SivaramanandOndřej Surý 63331f010e Fix TSIG dump keyfile name buffer size issues
(cherry picked from commit 44b84cb5a6)
2018-04-11 14:38:10 +02:00
Ondřej Surý d69d5b96c1 Define PATH_MAX on Windows as _MAX_PATH, so we can use it everywhere
(cherry picked from commit 7467735258)
2018-04-11 14:38:10 +02:00
Evan Hunt ec32538c2e Merge branch '193-fix-variable-definitions-in-bin-tests-Makefile.in-v9_11' into 'v9_11'
Fix variable definitions in bin/tests/Makefile.in

Closes #193

See merge request isc-projects/bind9!183
2018-04-10 20:04:40 -07:00
Evan Hunt 2a6a2014b4 Alter distclean rule to prevent recursing into the same directory twice
Commit f87e0c03ee removed the "system" directory from the TESTDIRS
variable in bin/tests/Makefile.in in an attempt to fix "make distclean"
which was broken since commit 0d784de16a.  However, this change
prevented any system tests from being run when "make test" is invoked.

We now put it back into both SUBDIRS and TESTDIRS, but with a modified
rule to check for the existence of a Makefile in each subdirectory before
trying to run make there. This prevents "make distclean" from trying to
run again in a directory where it's already been run.

(cherry picked from commit 93ee6b8a22)
2018-04-10 20:04:40 -07:00
Michał KępieńandEvan Hunt 19db5fb1f3 Fail CI pipeline when "make test" does not run any system tests
Apart from ensuring "make test" returns 0, also check whether any system
test output was generated as a result of running it.  This prevents the
CI job running system tests from succeeding unless it actually tests
something.

(cherry picked from commit 80ab2c0f22)
2018-04-10 20:04:39 -07:00
Evan Hunt f7090700c7 Merge branch '197-dnstap-sockaddr-v9_11' into 'v9_11'
Resolve "dnstap: log actual local IPv6 address, not :: listening address"

Closes #197

See merge request isc-projects/bind9!188
2018-04-10 17:32:27 -07:00
Evan Hunt bd60a72551 CHANGES note
(cherry picked from commit 330b26c9df)
2018-04-10 17:32:27 -07:00
Tony FinchandEvan Hunt b53dee6d8f dnstap: log actual local IPv6 address, not :: listening address
(cherry picked from commit ccff953c25)
2018-04-10 17:26:08 -07:00
Evan Hunt 920eb326a5 Merge branch '183-add-dns_fixedname_initname-v9_11' into 'v9_11'
Add and use dns_fixedname_initname()

Closes #183

See merge request isc-projects/bind9!161
2018-04-10 14:08:27 -07:00
Mukund SivaramanandEvan Hunt 984182a3fc Add CHANGES entry:
4921.   [cleanup]       Add dns_fixedname_initname() and refactor the caller
                        code to make usage of the new function, as a part of
                        refactoring dns_fixedname_*() macros were turned into
                        functions. [GL #183]

(cherry picked from commit d7faee2566)
(cherry picked from commit d7676d0fa8)
2018-04-10 13:27:54 -07:00
Michał KępieńandEvan Hunt ab88043e74 Do not access dns_fixedname_t fields directly
Employ dns_fixedname_name() and dns_fixedname_initname() to no longer
directly access dns_fixedname_t fields.

(cherry picked from commit 39ddf9991f)
(cherry picked from commit 706f865a20)
2018-04-10 13:27:48 -07:00
Michał KępieńandEvan Hunt ecea678dac Use dns_fixedname_initname() where possible
Replace dns_fixedname_init() calls followed by dns_fixedname_name()
calls with calls to dns_fixedname_initname() where it is possible
without affecting current behavior and/or performance.

This patch was mostly prepared using Coccinelle and the following
semantic patch:

    @@
    expression fixedname, name;
    @@
    -	dns_fixedname_init(&fixedname);
    	...
    -	name = dns_fixedname_name(&fixedname);
    +	name = dns_fixedname_initname(&fixedname);

The resulting set of changes was then manually reviewed to exclude false
positives and apply minor tweaks.

It is likely that more occurrences of this pattern can be refactored in
an identical way.  This commit only takes care of the low-hanging fruit.

(cherry picked from commit 4df4a8e731)
(cherry picked from commit 0041aeb751)
2018-04-10 13:26:23 -07:00
Mukund SivaramanandEvan Hunt 1dea0795d1 Add a dns_fixedname_initname() helper function
This also turns the dns_fixedname macros into functions.

(cherry picked from commit 0d2a03c290)
(cherry picked from commit cee4fef7c5)
2018-04-10 13:14:25 -07:00
Mark Andrews 1b4f1c26b2 Merge branch 'ssl-double-free-v9_11' into 'v9_11'
Fix double free after keygen error in dnssec-keygen

Closes #109

See merge request isc-projects/bind9!70
2018-04-06 14:24:36 +10:00
Ondřej SurýandMark Andrews 9a4414b039 Add CHANGES entry
(cherry picked from commit ef2b2a6c92)
2018-04-06 14:24:27 +10:00
Ondřej SurýandMark Andrews c5d1fedca8 A couple of more cleanups after free in opensslrsa_generate()
(cherry picked from commit d2b3188c61)
2018-04-06 14:23:58 +10:00
Petr MensikandMark Andrews 8baf990392 Do not assign NULL conditionally in OpenSSL < 1.1, make it always explicit.
(cherry picked from commit edaafacf36)
2018-04-06 14:23:58 +10:00
Petr MensikandMark Andrews f36e13b039 Fix double free on RSA_generate_key_ex failure
(cherry picked from commit 01cc622e7b)
2018-04-06 14:23:57 +10:00
Mark Andrews 0f67278a7e system should only be in SUBDIRS
(cherry picked from commit 342e146fe3)
2018-04-06 13:09:45 +10:00
Ondřej Surý d653a8bf24 Merge branch 'pemensik/bind9-no-idn2-export-v9_11' into 'v9_11'
Don't include -lidn2 in isc-config.sh output

See merge request isc-projects/bind9!180
2018-04-05 06:13:44 -04:00
Ondřej Surý 31e5ceeea7 Print information about LIBIDN2 in Configuration summary (Closes: #163)
(cherry picked from commit 8da5e5290f)
2018-04-05 12:05:59 +02:00
Petr MenšíkandOndřej Surý 3b2294c56a Remove -lidn2 from exported LIBS. Do not propagate it from isc-config.sh --libs isc.
(cherry picked from commit 21c2871667)
2018-04-05 12:05:57 +02:00
Ondřej Surý ba1cb23fa3 Merge branch 'kchen/bind9-test-prereqs-v9_11' into 'v9_11'
Add a Net::DNS prereq for couple of tests

See merge request isc-projects/bind9!177
2018-04-04 17:09:29 -04:00
Kevin ChenandOndřej Surý a39c613ccc Add a Net::DNS prereq for digdelv, fetchlimit, rpzrecurse, and zero
tests to avoid failed tests when Net::DNS is not present.

(cherry picked from commit 8b1b809ab4)
2018-04-04 23:02:58 +02:00
Stephen Morris 51fd67202b Merge branch '139-tests-for-idna2008-libidn2-merge-v9_11' into 'v9_11'
Resolve "Tests for IDNA2008 (libidn2)" - Merge into 9.11

See merge request isc-projects/bind9!173
2018-04-04 10:00:30 -04:00
Stephen Morris 79b7a5c89b Check libidn2 version before proceding with one of the tests.
A known issue in libidn2 causes one of the tests of a fake A-label
to fail.  The problem should be corrected in version 2.0.5 of
libidn2.
2018-04-04 09:48:52 -04:00
Ondřej SurýandStephen Morris 05880829e0 Use C.UTF-8 if available, and en_US.UTF-8 is available, otherwise do nothing and let the test break 2018-04-04 09:48:51 -04:00
Stephen Morris 8319ece415 Set known locale prior to running tests. 2018-04-04 09:48:50 -04:00
Stephen Morris dfb264f85c Fix check for the presence of IDNA. 2018-04-04 09:48:49 -04:00
Stephen Morris 777a37affd Added additional tests for invalid punycode strings. 2018-04-04 09:48:49 -04:00
Stephen Morris e0b6c11840 Initial set of IDNA tests. 2018-04-04 09:48:47 -04:00
Michał Kępień a71c9a12f9 Merge branch '188-remove-duplicate-named_g_conffile-init-v9_11' into 'v9_11'
Remove redundant named_g_conffile initialization

Closes #188

See merge request isc-projects/bind9!166
2018-04-04 12:34:21 +02:00
Ondřej SurýandMichał Kępień 61715b2120 Remove redundant ns_g_conffile initialization from bin/named/win32/os.c
(cherry picked from commit c727f0797b)
2018-04-04 12:34:07 +02:00
Ondřej Surý 535a4ae85c Merge branch '26-fix-normalization-for-non-IDN-v9_11' into 'v9_11'
Don't use the IDN translated name if no conversion took a place

See merge request isc-projects/bind9!157
2018-03-22 10:04:10 -04:00
Ondřej Surý db7231e4ab Don't use the IDN traslated name if no conversion took a place
(cherry picked from commit 08f66d8509)
2018-03-22 13:54:49 +00:00
Mark Andrews 4dd54a688c Merge branch '167-coverity-dereferencing-a-null-pointer-in-lib-dns-tests-rbt_test-c-v9_11' into 'v9_11'
Resolve "coverity: Dereferencing a null pointer in lib/dns/tests/rbt_test.c"

Closes #167

See merge request isc-projects/bind9!150
2018-03-20 09:54:56 +11:00
Mukund SivaramanandMark Andrews 4445ee6491 Check return value of isc_mem_get()
(cherry picked from commit de3a4af1bf)
2018-03-20 09:54:55 +11:00
Mark Andrews f56b63d9ac fix temporary file name to have subtest number
(cherry picked from commit e12453f43c88bac722fb511b62f12303735b788c)
2018-03-19 23:13:10 +11:00
Mark Andrews 79c85f5e60 Merge branch 'fixtypo-v9_11' into 'v9_11'
fix typo

See merge request isc-projects/bind9!148
2018-03-19 22:55:24 +11:00
Mark Andrews c5d1d9d232 fix typo
(cherry picked from commit 6e4b5f2345)
2018-03-19 22:53:09 +11:00
Mark Andrews b05e162caa Merge branch '166-statistics-system-test-numbering-is-bad-v9_11' into 'v9_11'
Resolve "statistics system test numbering is bad"

Closes #166

See merge request isc-projects/bind9!146
2018-03-19 20:27:50 +11:00
Mark Andrews 7921d18f11 fix numbering of tests and make consistent
(cherry picked from commit dd5dff3096)
2018-03-19 20:27:26 +11:00
Ondřej SurýandMark Andrews 887fcc0061 Update libtool files to 2.4.6
(cherry picked from commit fe06778be7)
2018-03-19 13:03:56 +11:00
Ondřej Surý de32e55f3e Merge branch '164-remove-openssl-warning-v9_11' into 'v9_11'
[v9_11] Remove useless OpenSSL warning from configure script

See merge request isc-projects/bind9!141
2018-03-17 10:50:21 -04:00
Ondřej Surý 9e2d1ddf22 Remove obsolete OpenSSL version check
(cherry picked from commit e9571d29af)
2018-03-17 14:31:47 +00:00
Ondřej Surý eb48e66202 Merge branch '26-switch-to-IDNA2008-non-transitional-processing-v9_11' into 'v9_11'
Resolve "Switch to IDNA2008 non-transitional processing (and use libidn2 for that)"

Closes #26

See merge request isc-projects/bind9!124
2018-03-17 13:37:50 +00:00
Ondřej Surý 2ff3b664bc Add release notes for IDNA2008
(cherry picked from commit e7590c7528)
2018-03-17 13:37:48 +00:00
Ondřej Surý a0d45f5d50 Add CHANGES for idn2 support
(cherry picked from commit 8f44ef7d59)
2018-03-17 13:36:53 +00:00
Ondřej Surý b0c7cda6d7 Enable --with-libidn2 in GitLab CI checks
(cherry picked from commit 1c075646f5)
2018-03-17 13:36:34 +00:00
Ondřej Surý c085286822 Simplify the libidn2 configure checks
(cherry picked from commit 76c05a71fc)
2018-03-17 13:36:33 +00:00
Petr MenšíkandOndřej Surý 82914d0a41 Sanitize IDN initialization
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 29b94bbb04)
2018-03-17 13:35:59 +00:00
Petr MenšíkandOndřej Surý 9117bbe9a5 Remove support for libidn (IDN 2003)
Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 8254cf69d3)
2018-03-17 13:35:58 +00:00
Petr MenšíkandOndřej Surý 2b031d1759 Remove conversion from locale to utf8 from public API
Emit fatal failures on locale to ACE encoding

Separate idnout support, disable it for libidn2 < 2.0

Add custom path to libidn. Leave default path for multilib support.

Allow turning off IDN input processing by dig option

Improve documentation, fix support in host

Fix configure changes to adjust help text

Use strlcpy with size guard

Improve IDN variants choosing. Fix idn2 function name.

Remove immediate idn_locale_to_ace and idn_ace_to_locale.

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 94757c1545)
2018-03-17 13:35:23 +00:00
Tomas HozzaandOndřej Surý 56b66f01c6 Add support for libidn2
Added two new configure options:
--with-libidn2 - to enable IDN using GNU libidn2

idnkit, libidn and libidn2 support can not be used at the same time.

NOTE: libidn2 does not support punycode back to Unicode
characters, so support for this is missing.

Signed-off-by: Tomas Hozza <thozza@redhat.com>

Removed iconv, convert directly from locale to ACE

Fix libidn2 and idnkit origin appending

Make IDN options in help less different

Signed-off-by: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit 505f673451)
2018-03-17 13:33:42 +00:00
Tomas HozzaandOndřej Surý edab22119f Add support for GNU libidn
Added new configure option:
--with-libidn - to enable IDN using GNU libidn

Renamed configure option:
--with-idn to --with-idnkit to make the option usage more clear

idnkit and libidn support can not be used at the same time.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
(cherry picked from commit 2320443f63)
2018-03-17 13:32:54 +00:00
Evan Hunt f0cfa8acea Merge branch 'copyrights' into v9_11 2018-03-15 18:39:13 -07:00
Evan Hunt 09cf48603a update file headers 2018-03-15 18:38:48 -07:00
Evan Hunt a5f7d8c718 ensure COPYRIGHT file retains years; edit file headers for consistency 2018-03-15 18:38:19 -07:00
Evan Hunt 4ebbb285b9 Merge branch '157-cleanup-win-libtests-v9_11' into 'v9_11'
Resolve "Windows build fails"

Closes #157

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

Closes #154

See merge request isc-projects/bind9!130
2018-03-15 12:09:38 -07:00
Evan Hunt 14e22ddf8c add an 'untested' case when none of the atomic operations are available
- this fixes a build failure introduced in change 4913 when
  compiling with ATF and --disable-atomic

(cherry picked from commit 1b3eac926e)
2018-03-15 12:09:38 -07:00
Evan Hunt 112fe1e5e4 Merge branch 'fix-whitespace' into v9_11 2018-03-14 17:05:42 -07:00
Evan Hunt c11d37af18 whitespace 2018-03-14 17:05:32 -07:00
Evan Hunt 7335809707 Merge branch 'fix-copyrights' into v9_11 2018-03-14 16:41:25 -07:00
Evan Hunt 8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Evan Hunt 891554b322 Update scripts in util/ to drop the year information from the individual source files. 2018-03-14 16:37:53 -07:00
Evan Hunt 95539f68c2 Merge branch 'fix-relnotes-v911' into v9_11 2018-03-14 14:48:14 -07:00
Evan Hunt 7938956183 update EoL information 2018-03-14 14:47:51 -07:00
Evan Hunt 7bd42894ae Merge branch 'branchsync' into 'v9_11'
update branchsync to deal with merge commits

See merge request isc-projects/bind9!127
2018-03-14 14:43:03 -07:00
Evan Hunt e9fb455347 updated branchsync to deal with merge commits
(cherry picked from commit fccf8ca2f6)
2018-03-14 14:42:21 -07:00
Ondřej Surý 413b7d4b24 Update whitespace 2018-03-14 12:45:03 +01:00
Ondřej Surý 3bc1e17643 Update copyrights 2018-03-14 12:42:22 +01:00
Ondřej Surý a14d0362df [v9_11] Enable GitLab CI
(cherry picked from commit 5b7393ab588aee8dc64adb194f38eab6818aaa10)
2018-03-14 12:39:03 +01:00
Evan Hunt 73a2aac95f Merge branch 'clean-xfer' into 'v9_11'
clean up dig.out files that were left behind after xfer test

See merge request isc-projects/bind9!120
2018-03-10 13:12:42 -08:00
Evan Hunt 01823b89c0 clean up dig.out files that were left behind after xfer test
(cherry picked from commit 733086cc67)
2018-03-10 13:12:39 -08:00
Evan Hunt 792e16bc39 Merge branch 'nothreads-fix' into 'v9_11'
Fix compiler warnings and test failures when building without threads

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

Closes #115

See merge request isc-projects/bind9!93
2018-03-09 16:47:51 -08:00
Evan Hunt 442c1530a3 final cleanup
- update Kyuafiles to match Atffiles
- copyrights
- CHANGES note

(cherry picked from commit 86e00cbb71)
(cherry picked from commit 80834b5b90)
2018-03-09 16:17:56 -08:00
Evan Hunt ade4face27 reduce race risk in parallel builds
(cherry picked from commit 74347f4a55)
(cherry picked from commit 7f4e62d902)
2018-03-09 15:48:34 -08:00
Evan Hunt 941946cf14 remove lib/tests as nothing uses it anymore
(cherry picked from commit d132f73497)
(cherry picked from commit d35f62434a)
2018-03-09 15:48:32 -08:00
Evan Hunt 64ea21a0e5 shorten ht_test and random_test
(cherry picked from commit 9b753aa154)
(cherry picked from commit 289836a066)
2018-03-09 15:47:21 -08:00
Evan Hunt 57a5820dcc migrate t_dst signature test to lib/dns/tests/dst_test
(cherry picked from commit a4ebe83cdb)
(cherry picked from commit 4439c471d1)
2018-03-09 15:46:53 -08:00
Evan Hunt d3518e57b1 migrate t_db to lib/dns/tests/db_test
(cherry picked from commit f58ac8ada3)
(cherry picked from commit 56da937399)
2018-03-09 15:42:07 -08:00
Evan Hunt b2fef3b438 migrate t_names to lib/dns/tests/name_test
(cherry picked from commit 8ecf69ef7b)
(cherry picked from commit aefad99e1e)
2018-03-09 15:40:21 -08:00
Evan Hunt 42fa3932ab migrate t_rbt to lib/dns/tests/rbt_test
(cherry picked from commit 109546cbda)
(cherry picked from commit c505afd183)
2018-03-09 15:39:42 -08:00
Evan Hunt 38f9cddcad migrate t_tasks to lib/isc/tests/task_test
(cherry picked from commit c6c1e99252)
(cherry picked from commit 88bfe56876)
2018-03-09 15:38:53 -08:00
Evan Hunt 5dd25f2285 migrate t_resolver to lib/dns/tests/resolver_test
(cherry picked from commit d80825c40b)
(cherry picked from commit 30e157f6e4)
2018-03-09 15:38:30 -08:00
Evan Hunt 274ee0b425 migrate t_timers to lib/isc/tests/timer_test
(cherry picked from commit e2b8699df9)
(cherry picked from commit efccdad0ea)
2018-03-09 15:37:03 -08:00
Evan Hunt 492e19d6ec migrate t_atomic to lib/isc/tests/atomic_test
(cherry picked from commit 874e2fc70c)
(cherry picked from commit c7fa56e8db)
2018-03-09 15:35:09 -08:00
Evan Hunt 814cd21e22 migrate t_mem to lib/isc/tests/mem_test
(cherry picked from commit 979f054702)
(cherry picked from commit af48544b75)
2018-03-09 15:34:31 -08:00
Evan Hunt faedafd2b4 migrate t_net to lib/isc/tests
(cherry picked from commit 05b7251d51)
(cherry picked from commit af0c9b2cee)
2018-03-09 15:33:48 -08:00
Evan Hunt 323e2f7152 migrate t_sockaddr to lib/isc/tests
(cherry picked from commit 62f650078a)
(cherry picked from commit fadb93cf43)
2018-03-09 15:33:01 -08:00
Evan Hunt c644427b77 remove hashes test (duplicates lib/isc/tests/hash_test)
(cherry picked from commit 6ad1a042bc)
(cherry picked from commit e686b9c297)
2018-03-09 15:32:30 -08:00
Evan Hunt ae39f25a10 remove master test (duplicates lib/isc/tests/master_test)
(cherry picked from commit 6717f31e10)
(cherry picked from commit 36d08442bc)
2018-03-09 15:32:00 -08:00
Evan Hunt dbb225d83e migrate tests from bin/tests/dnssec-signzone to bin/tests/system/dnssec
- added tests to the dnssec system test that duplicate the ones
  from bin/tests/dnssec-signzone
- changed cleanall.sh so it doesn't automatically remove all
  key files, because there are now some of those that are part of the
  distribution

(cherry picked from commit ccfe778c01)
(cherry picked from commit d8f8eee381)
2018-03-09 15:30:27 -08:00
Evan Hunt e062109659 move all optional tests from bin/tests to bin/tests/optional
- some of these tests are obsolete and should be cleared up,
  others overlap with ATF tests and may be removed later.
  for now, let's just tidy up the bin/tests directory by
  moving these files down a level.

(cherry picked from commit 344ab0eb7d)
(cherry picked from commit dafdf2c09b)
2018-03-09 15:29:59 -08:00
Evan Hunt 22d9a69b3f remove some old and obsolete test files
(cherry picked from commit a633f6c5dd)
(cherry picked from commit 10efb4ff07)
2018-03-09 15:22:14 -08:00
Evan Hunt 360146cbc9 Merge branch 'parallel-unit-tests' into 'v9_11'
capture more info from unit tests, run in parallel

See merge request isc-projects/bind9!117
2018-03-09 14:37:51 -08:00
Evan Hunt fb076e0591 allow ATF tests to run in parallel
(cherry picked from commit ef0b4c91bc)
(cherry picked from commit 787c5d1394)
2018-03-09 14:37:46 -08:00
Evan Hunt 6770e2c148 capture more information from unit tests
- preserve kyua results database when using kyua

(cherry picked from commit 81c23fecda)
2018-03-09 14:37:46 -08:00
Evan Hunt 3b559cf7f0 Merge branch 'v9_11_3_patch' into v9_11 2018-03-08 14:29:24 -08:00
Evan Hunt 56575848ec Merge branch 'rm-contrib-md' into v9_11 2018-03-08 13:03:56 -08:00
Evan Hunt 3265c127d3 remove doc/dev/contrib.md now that CONTRIBUTING.md exists 2018-03-08 12:59:25 -08:00
Evan Hunt a375815431 Merge branch 'remove-bind9-bugs-references' into 'v9_11_3_patch'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 12:55:28 -08:00
Ondřej SurýandEvan Hunt 2baa66562a Update documentation to remove obsolete bind9-bugs@isc.org email address
(cherry picked from commit efc9bc5d8d)
(cherry picked from commit 486e79050f)
(cherry picked from commit b02bf3b8a2)
2018-03-08 12:52:29 -08:00
Evan Hunt 3096be06d4 Merge branch 'remove-bind9-bugs-references' into 'v9_11'
Update documentation to remove obsolete bind9-bugs@isc.org email address

See merge request isc-projects/bind9!111
2018-03-08 10:40:32 -08:00
Ondřej SurýandEvan Hunt b02bf3b8a2 Update documentation to remove obsolete bind9-bugs@isc.org email address
(cherry picked from commit efc9bc5d8d)
(cherry picked from commit 486e79050f)
2018-03-08 10:40:12 -08:00
Michał Kępień 63ddec2443 Merge branch '128-fix-mkeys-system-test-race-v9_11' into 'v9_11'
Fix a race in the mkeys system test

Closes #128

See merge request isc-projects/bind9!103
2018-03-08 13:43:35 +01:00
Michał Kępień fe3404a595 Add CHANGES entry
4911.	[test]		Improved the reliability of the 'mkeys' system test.
			[GL #128]

(cherry picked from commit 32f875f9fc)
2018-03-08 13:43:35 +01:00
Michał Kępień bdf0287c2d Fix a race between "rndc reconfig" and waiting for a ./DNSKEY fetch to complete
Calling nextpart() after reconfiguring ns1 is not safe, because the
expected log message may appear in ns5/named.run before nextpart() is
run.  With the TTL for ./DNSKEY set to 20 seconds, ns5 will refresh it
after 10 seconds, by which time wait_for_log() will already have failed.
This results in a false negative.

However, just calling nextpart() before reconfiguring ns1 would
introduce a different problem: if ns5 refreshed ./DNSKEY between these
two steps, the subsequent wait_for_log() call would return immediately
as it would come across the log message about a failure while refreshing
./DNSKEY instead of the expected success.  This in turn would result in
a different false negative as the root key would still be uninitialized
by the time "rndc secroots" is called.

Prevent both kinds of false negatives by:

  - calling nextpart() before reconfiguring ns1, in order to prevent the
    first case described above,

  - looking for a more specific log message, in order to prevent the
    second case described above.

Also look for a more specific log message in the first part of the
relevant check, not to fix any problem, but just to emphasize that a
different fetch result is expected in that case.

With these tweaks in place, if a (failed) ./DNSKEY refresh is scheduled
between nextpart() and reconfiguring ns1, wait_for_log() will just wait
for two more seconds (one "hour"), at which point another refresh
attempt will be made that will succeed.

(cherry picked from commit 012ca0a27d)
2018-03-08 13:43:34 +01:00
Mark Andrews 479ba17e93 Merge branch '133-update-util-check-changes-to-work-on-release-branches-v9_11' into 'v9_11'
Resolve "Update util/check-changes to work on release branches."

Closes #133

See merge request isc-projects/bind9!110
2018-03-08 16:19:42 +11:00
Mark Andrews 86e95f7efd update util/check-changes to handle non master branched (util/check-changes master=0 CHANGES)
(cherry picked from commit 88a2202093)
2018-03-08 16:19:41 +11:00
Mark Andrews 8543e4fc3f fix changes number
(cherry picked from commit 586b547a7d)
2018-03-08 12:40:58 +11:00
Mark Andrews 098d1052b1 Merge branch '125-in-view-duplicate-zone-not-detected-by-named-checkconf-v9_11' into 'v9_11'
Resolve "in-view duplicate zone not detected by named-checkconf"

Closes #125

See merge request isc-projects/bind9!97
2018-03-08 12:21:14 +11:00
Mark Andrews 8843c936bb add changes note for 'named-checkconf did not detect in-view zone collisions'
(cherry picked from commit 83f85817aa)
2018-03-08 12:21:04 +11:00
Mark Andrews 229e9e2215 check for in-view zones colliding with other zone definitions; also check the syntax of the in-view zone name
(cherry picked from commit 3e7e280040)
2018-03-08 12:20:59 +11:00
Mark Andrews cb0a385692 add test configuration where a in-view zone collides with a existing zone
(cherry picked from commit ca55c672b0)
2018-03-08 12:16:24 +11:00
Tinderbox User 47608e9842 Merge branch 'prep-release' into v9_11_3_patch 2018-03-08 01:12:43 +00:00
Tinderbox User c313914d0e prep 9.11.3 2018-03-08 01:11:57 +00:00
Evan Hunt c30f0875de Merge branch 'test-names-v9_11' into 'v9_11'
use the test name in the -D string for each name server

See merge request isc-projects/bind9!107
2018-03-07 14:51:09 -08:00
Evan Hunt b28dcef84b use the test name in the -D string for each name server
(cherry picked from commit 1eff695f33)
2018-03-07 14:51:09 -08:00
Evan Hunt dd3d6e65e9 Merge branch 'longopts-v9_11' into 'v9_11'
restore long options for run.sh

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

Closes #81

See merge request isc-projects/bind9!76
2018-03-07 14:20:15 -08:00
Evan Hunt 37a6bb004c eliminate unnecessary waiting in allow-query test
- grep in the log to see if configuration is finished rather
  than sleeping for 5 seconds

(cherry picked from commit a9b6bed6af)
2018-03-07 14:06:32 -08:00
Evan Hunt 5d9e3f9b02 rename allow_query to allow-query
(cherry picked from commit ffc3e73c36)
2018-03-07 14:04:48 -08:00
Evan Hunt 82a3c61fc2 Merge branch 'fix-notify' into 'v9_11'
fix notify test

See merge request isc-projects/bind9!77
2018-03-06 11:46:37 -08:00
Evan Hunt dff94add3e address a possible notify test failure
- wait for the transfer completion message to apear in the log instead
  of the notify message. this ensures we don't check for the presense of
  transfered records during the time between the notify and the
  transfer.

(cherry picked from commit ad32553c1d)
2018-03-06 11:46:26 -08:00
Michał Kępień b40cf385d1 Merge branch '110-libirs-do-not-ignore-resolv.conf-syntax-errors-v9_11' into 'v9_11'
libirs: Do not ignore resolv.conf syntax errors

Closes #110

See merge request isc-projects/bind9!78
2018-03-06 09:24:54 +01:00
Michał Kępień 6bcb8e3502 Add CHANGES entry
4905.	[bug]		irs_resconf_load() ignored resolv.conf syntax errors
			when "domain" or "search" options were present in that
			file. [GL #110]

(cherry picked from commit 1f18d33804)
2018-03-06 09:24:52 +01:00
Michał Kępień 8f07fb476b Remove duplicate irs_resconf_load() unit test
The "sortlist-v4.conf" unit test for irs_resconf_load() is always run
twice due to a duplicate entry in the "tests" table.  Remove one of them
to prevent this.

(cherry picked from commit 6c09f305ae)
2018-03-06 09:24:41 +01:00
Michał Kępień b4a10e77ea Do not ignore resolv.conf syntax errors
irs_resconf_load() stores the value returned by add_search() into ret
without consulting its current value first.  This causes any previous
errors raised while parsing resolv.conf to be ignored as long as any
"domain" or "search" statement is present in the file.

Prevent this by returning early in case an error is detected while
parsing resolv.conf.  Ensure that "searchlist" and "magic" members of
the created irs_resconf_t structure are always initialized before
isc_resconf_destroy() is called.

(cherry picked from commit 1f400b68a8)
2018-03-06 09:24:41 +01:00
Mark Andrews b7deabcdf1 Merge branch '126-make-distclean-fail-v9_11' into 'v9_11'
Resolve ""make distclean" fail."

Closes #126

See merge request isc-projects/bind9!102
2018-03-06 16:11:43 +11:00
Mark Andrews 29a95f0d83 don't allow a macro to end in '\'
(cherry picked from commit 57f7cf211c)
2018-03-06 16:11:42 +11:00
Evan Hunt 58b961b19d Merge branch 'test-fix' into v9_11
Fix merge errors in addzone test
2018-03-04 00:34:08 -08:00
Evan Hunt 421c9eff41 fix addzone merge errors 2018-03-04 00:33:50 -08:00
Tinderbox User dbc220178d Merge branch 'prep-release' into v9_11_3_patch 2018-03-02 21:56:43 +00:00
Tinderbox User c80e152862 prep 9.11.3rc2 2018-03-02 21:53:14 +00:00
Evan Hunt 057d4edd4d Merge branch '124-revert-deadlock-check' into 'v9_11_3_patch'
revert cname loop test due to effects on apex CNAMEs under insecure delegations

See merge request isc-projects/bind9!95
2018-03-02 12:19:03 -08:00
Evan Hunt 8d1b3ceb4d temporarily revert change #4859 2018-03-02 12:16:31 -08:00
Evan Hunt 7096e76308 Merge branch '124-revert-deadlock-check-v9_12-v9_11' into 'v9_11'
revert cname loop test due to effects on apex CNAMEs under insecure delegations

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

See merge request isc-projects/bind9!81
2018-03-01 15:40:57 +01:00
Evan HuntandMichał Kępień 61f39c70d5 revise soft limit test
- don't bail out of the loop if clients are exceeded, just count incidents
- verbosely describe expectations and results

(cherry picked from commit 86838b2a02)
2018-03-01 15:40:57 +01:00
Michał Kępień c49d45e9f7 Merge branch '118-bind-9-10-cookie-system-test-failing-v9_11' into 'v9_11'
Fix cookie system test for BIND 9.10

See merge request isc-projects/bind9!84
2018-03-01 14:15:55 +01:00
Mark AndrewsandMichał Kępień 3ebcbe5233 remove unnecessary copy_setports calls
(cherry picked from commit d4040783f4)
2018-03-01 14:15:48 +01:00
Michał Kępień 2f3c767305 Merge branch '122-bind-9-10-nsupdate-system-test-fails-v9_11' into 'v9_11'
Fix nsupdate system test for BIND < 9.12

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

Closes #121

See merge request isc-projects/bind9!88
2018-02-28 14:56:25 +01:00
Mark AndrewsandMichał Kępień 75b8698f39 wait for 'all zones loaded' rather than 'reloading zones succeeded' which just indicates that everything kicked off ok
(cherry picked from commit 4cb0873a0a)
2018-02-28 14:56:25 +01:00
Evan Hunt 1e21a74595 Merge branch '113-minor-testsummary.sh-improvements-v9_11' into 'v9_11'
Minor testsummary.sh improvements (handling colored output, failure summary)

Closes #113

See merge request isc-projects/bind9!80
2018-02-27 10:04:24 -08:00
Evan Hunt 41c733a052 Do not destroy systests.output if there are no test.output files
(cherry picked from commit 38940619c6)
2018-02-27 10:04:23 -08:00
Michał KępieńandEvan Hunt 961528efb8 Use echoinfo for printing test summary
This ensures testsummary.sh is consistent with other scripts belonging
to the test framework.

(cherry picked from commit 642e20db8a)
2018-02-27 10:04:23 -08:00
Michał KępieńandEvan Hunt da0c363485 Make testsummary.sh print a list of failed system tests
Print a list of failed system tests, if any, below the system test
summary to avoid the need to manually search through the test log.

(cherry picked from commit 28068857e7)
2018-02-27 10:04:23 -08:00
Michał KępieńandEvan Hunt 915b793bfb Tweak the regular expression used for extracting system test results
The current regular expression used for extracting system test results
from systests.output, "^R:", is anchored at the start of a line, which
prevents colored system test output from being properly processed.  As
just "R:" would arguably be too general, extend the pattern a bit to
ensure it will only match lines containing system test results.

(cherry picked from commit 9006d6dbbd)
2018-02-27 10:04:23 -08:00
Evan Hunt f1edab7d00 Merge branch 'test-output-v9_11' into 'v9_11'
Clean up test output

See merge request isc-projects/bind9!66
2018-02-27 09:52:12 -08:00
Evan Hunt d57e8f6df3 clean up test output
- removed a few remaing places where output wasn't being passed
  through echo_i or cat_i
- added a "digcomp" function to conf.sh.in to send digcomp.pl output
  through cat_i and return the correct exit value
- set SYSTESTDIR when calling echo_i from nsX directories, so that
  the test name will always be printed correctly
- fixed a test name typo in conf.sh.in

(cherry picked from commit 0e52fbd0b3)
2018-02-27 09:52:07 -08:00
Michał Kępień 56c44b87aa Merge branch '98-add-util-git-replay-merge.sh-v9_11' into 'v9_11'
Put git-replay-merge in source tree

Closes #98

See merge request isc-projects/bind9!83
2018-02-27 10:43:53 +01:00
Michał Kępień c43062a1c8 Add util/git-replay-merge.sh
git-replay-merge.sh is a script whose purpose is to make backporting
merge requests more convenient by automating the process as much as
possible.

For more information, including usage examples, see:

    https://gitlab.isc.org/isc-projects/bind9/wikis/Backporting-a-Merge-Request

(cherry picked from commit f7fe1e3098)
2018-02-27 10:43:53 +01:00
Evan Hunt b371e436df Merge branch '112-fix-mx-checks-for-dynamic-updates-v9_12-v9_11' into 'v9_11'
Fix MX checks for dynamic updates

Closes #112

See merge request isc-projects/bind9!79
2018-02-26 15:17:56 -08:00
Michał KępieńandEvan Hunt db238f5fe7 Add CHANGES entry
4903.	[bug]		"check-mx fail;" did not prevent MX records containing
			IP addresses from being added to a zone by a dynamic
			update. [GL #112]

(cherry picked from commit 1d403f9d3c)
(cherry picked from commit 71a35bc8e5)
2018-02-26 15:17:33 -08:00
Michał KępieńandEvan Hunt 457738b3bb Fix MX checks for dynamic updates
The check_mx() function in lib/ns/update.c incorrectly tests whether the
DNS_RDATA_CHECKMX/DNS_RDATA_CHECKMXFAIL flags are set for each applied
MX record update as these flags are never set in code paths related to
dynamic updates; they can only be set when loading a zone from a master
file (DNS_ZONEOPT_CHECKMX -> DNS_MASTER_CHECKMX -> DNS_RDATA_CHECKMX).
This flaw allows MX records containing IP addresses to be added to a
zone even when "check-mx fail;" is used.

Ensure correct behavior by modifying the relevant tests in check_mx() so
that they use DNS_ZONEOPT_CHECKMX/DNS_ZONEOPT_CHECKMXFAIL instead.

(cherry picked from commit 857a40c87b)
(cherry picked from commit 590f092e00)
2018-02-26 15:17:09 -08:00
Evan Hunt 20cd15c4ad Merge branch 'check-for-test-interfaces-before-running-system-tests-v9_11' into 'v9_11'
Check for test interfaces before running system tests

See merge request isc-projects/bind9!19
2018-02-26 15:10:27 -08:00
Evan Hunt 869ebded8d test interfaces directly in runall.sh and parallel.mk
(cherry picked from commit a8b583e78b)
2018-02-26 15:10:27 -08:00
Michał KępieńandEvan Hunt 54c8d75ee1 Check for test interfaces before running system tests
Prevent runall.sh and "make test" from even attempting to run system
tests when "ifconfig.sh up" has not been run beforehand.  This ensures
the user is not flooded with error messages in such a case.

(cherry picked from commit e0221f2d25)
2018-02-26 15:10:27 -08:00
Evan Hunt 19f2f9698b add missing CHANGES note 2018-02-26 15:08:16 -08:00
Evan Hunt 8f5e678897 Merge branch '66-ixfr-system-test-fails-intermittently-v9_11' into 'v9_11'
chg: dev: Improved the reliability of the 'ixfr' system test. [GL #66]

Closes #66

See merge request isc-projects/bind9!67
2018-02-26 15:00:03 -08:00
Evan Hunt 813f341328 wait for synchronization; re-notify slave if the transfer doesn't happen
(cherry picked from commit 67a8b5ec17)
2018-02-26 15:00:01 -08:00
Mark Andrews 4257b06122 Merge branch '51-fix-cppcheck-detected-source-code-errors-v9_11' into 'v9_11'
Resolve "Fix cppcheck-detected source code errors"

Closes #51

See merge request isc-projects/bind9!46
2018-02-26 10:45:39 +11:00
Evan HuntandMark Andrews 0be726b440 minor cleanup and addressed a sprintf format warning
(cherry picked from commit ab0fe63f07)
2018-02-26 10:45:13 +11:00
Mark Andrews bf79ae278c update printf format to match type
(cherry picked from commit 48ca11df5f)
2018-02-26 10:40:11 +11:00
Mark Andrews 4d8e501abe improve the conditional declaration and use of variable to silence cppcheck
(cherry picked from commit a04bb76973)
2018-02-26 10:40:11 +11:00
Mark Andrews ae50b73d78 remove deadcode
(cherry picked from commit b71a1386ed)
2018-02-26 10:40:10 +11:00
Mark Andrews ded99ca751 silence unread assignment warning by using POST macro
(cherry picked from commit e8249dcd49)
2018-02-26 10:40:10 +11:00
Mark Andrews 2c53a82644 update the sscanf format strings so they match the pointer types
(cherry picked from commit 70d192eb97)
2018-02-26 10:40:10 +11:00
Mark Andrews 77819f7d75 redefine CHECK so cppcheck see the definition
(cherry picked from commit a4186b1867)
2018-02-26 10:40:10 +11:00
Mark Andrews b58a93d45a remove unused struct dst_context declaration
(cherry picked from commit f2c22662cc)
2018-02-26 10:40:09 +11:00
Mark Andrews edbca5937c conditionally typedef fstrmtable
(cherry picked from commit dcd309bea1)
2018-02-26 10:40:09 +11:00
Mark Andrews 82b109bf5d adjust goto target and conditional compilation so that cleanup_spillattimer and cleanup_alglock labels match the element to be cleanup and so that they are always used
(cherry picked from commit 7b27be54ee)
2018-02-26 10:40:09 +11:00
Evan Hunt 1fb23825ba Merge branch 'upforwd-error-v9_11' into 'v9_11'
Resolve "upforwd test error"

See merge request isc-projects/bind9!72
2018-02-25 13:56:04 -08:00
Evan Hunt d965560e41 fixed an upforwd test error.
(cherry picked from commit 54e010d51e)
2018-02-25 13:56:04 -08:00
Evan Hunt cd3602b6a8 Merge branch 'tidy-runall.sh-environment-variables-v9_11' into 'v9_11'
Tidy runall.sh environment variables

See merge request isc-projects/bind9!18
2018-02-24 17:37:44 -08:00
Michał KępieńandEvan Hunt 2cd174dda9 Preserve values of environment variables which are already set
This enables the environment variables controlling run.sh behavior to be
permanently set in a working environment (e.g. to automatically force
colored output without using "-c" in each runall.sh invocation).

Relevant runall.sh command line arguments still have a higher priority.

(cherry picked from commit d989d20fe5)
2018-02-24 17:37:44 -08:00
Michał KępieńandEvan Hunt cbebf7ef59 Allow forcing colored system test output
As parallel.mk and runsequential.sh both pipe system test output through
"tee" (for the purpose of creating test.output), run.sh invoked from
these two files detects it is not writing to a terminal, which prevents
colored output from being generated.  Allow forcing colored output using
a new command line argument for runall.sh, "-c", which sets an
environment variable (SYSTEMTEST_FORCE_COLOR) causing conf.sh to
unconditionally enable colored output.

The same environment variable can also be used directly to force colored
output when using "make test" instead of runall.sh.

(cherry picked from commit a324031a82)
2018-02-24 17:37:44 -08:00
Michał KępieńandEvan Hunt e9c4dbe361 Allow retaining system test output using an environment variable
Instead of exporting an environment variable containing a command line
argument (NOCLEAN="-n"), extend run.sh to handle a "boolean" environment
variable (SYSTEMTEST_NO_CLEAN) itself.  The former method is buggy
because the value of NOCLEAN is set in parallel.mk when that file is
first created, but it is not subsequently updated upon each test run
(because make considers parallel.mk to be up to date).

To retain backward compatibility, the "-n" command line argument for
run.sh is still supported (and has a higher priority than the relevant
environment variable).

The SYSTEMTEST_NO_CLEAN environment variable can also be used directly
to prevent cleanup when using "make test" instead of runall.sh.

Apart from fixing a bug, this simplifies the way runall.sh controls
run.sh behavior due to the Makefile being bypassed.  Direct processing
of environment variables in run.sh is more scalable in the long run,
given that the previously utilized technique, even with its
implementation fixed, would still require Makefile.in to be modified in
two places each time a new flag needed to be passed from runall.sh to
run.sh.

(cherry picked from commit 3862043879)
2018-02-24 17:37:44 -08:00
Evan Hunt f09698659a Merge branch '71-xfer-system-test-fails-intermittently-v9_12-v9_11' into 'v9_11'
chg: dev: Improve the resilience of the xfer system test, which could be flaky under load.

Closes #71

See merge request isc-projects/bind9!61
2018-02-24 01:46:54 -08:00
Evan Hunt 948bd83ce5 improve reliability of xfer test
(cherry picked from commit 5d7d6881a1)
(cherry picked from commit 09a1a261dc)
2018-02-24 01:46:52 -08:00
Evan Hunt df7b99e275 Merge branch 'kyua-oot-v9_11' into 'v9_11'
chg: dev: Unit tests were broken in out-of-tree builds.

See merge request isc-projects/bind9!57
2018-02-23 15:50:35 -08:00
Petr MenšíkandEvan Hunt 6d9b38e9fe unit/unittest.sh is generated by configure. It will always be
generated into builddir. If out-of-tree build is used, make unit
will always fail. Kyuafiles and testdata still have to be copied
manually into the builddir.

(cherry picked from commit 95cde3608a)
2018-02-23 15:50:33 -08:00
Evan Hunt 53e26b7abc Merge branch 'master-v9_12-v9_11' into 'v9_11'
Code cleanups

See merge request isc-projects/bind9!36
2018-02-23 13:52:49 -08:00
Petr MenšíkandEvan Hunt 1b0cf4fea6 Reduce repeated detection of mysql lib directory.
Use common part once a bit later.

(cherry picked from commit 2a70eae04f)
(cherry picked from commit d04af52222)
2018-02-23 13:52:49 -08:00
Petr MenšíkandEvan Hunt 6876501605 Reuse new function from rt46864 for similar block elsewhere.
(cherry picked from commit e7a93321f0)
(cherry picked from commit cb98ce8e67)
2018-02-23 13:52:43 -08:00
Evan Hunt e3d4c66704 Merge branch '95-fix-dyndb-v9_11' into 'v9_11'
Resolve "dyndb system test fails intermittently"

Closes #95

See merge request isc-projects/bind9!63
2018-02-23 13:44:57 -08:00
Evan Hunt dcd2348c8e improve dyndb test resilience
- no longer grep for specific line numbers when checking
  parameter logging, as those can change
- report the failure immediatey if parameter check fails

(cherry picked from commit 749df056be)
2018-02-23 13:44:53 -08:00
Evan Hunt c4ed7c3a41 Merge branch '91-parallel-tests-v9_12-v9_11' into 'v9_11'
chg: dev: Convert most of the remaining system tests to be able to run in parallel [GL #91]

Closes #91

See merge request isc-projects/bind9!59
2018-02-23 13:34:45 -08:00
Evan Hunt 854f7846d8 tidying up after backport 2018-02-23 13:28:47 -08:00
Evan Hunt c369fc06ca improve reliability of the xfer test on slow systems
- lengthed the wait loop for the transfers to complete

(cherry picked from commit b9246ce773)
(cherry picked from commit a5015d7791)
2018-02-23 13:25:29 -08:00
Evan Hunt 626566c72d remove v6synth
- this was a test for the allow-v6-synthesis option, which was
  deprecated and no longer works. the test was removed
  from conf.sh.in long ago.

(cherry picked from commit 474b10a133)
(cherry picked from commit 7971873639)
2018-02-23 13:25:27 -08:00
Evan Hunt 350f18b0d1 removed some unnecessary greps
(cherry picked from commit 731ad28be2)
(cherry picked from commit 17245b86d5)
2018-02-23 13:24:53 -08:00
Evan Hunt fa8740feda reorder tests to get better use of parallelism
(cherry picked from commit 56e440f65f)
(cherry picked from commit 4429f8b291)
2018-02-23 13:24:51 -08:00
Evan Hunt 167fa161d1 parallelize most system tests
(cherry picked from commit c032c54dda)
(cherry picked from commit 2b81f322cb)
2018-02-23 13:23:31 -08:00
Stephen Morris 71332991fc Fixups after merge of branch 'rt46602-v9_11' into 'v9_11' 2018-02-22 15:41:04 +00:00
Stephen Morris 310523e5de Merge branch 'rt46602-v9_11' into 'v9_11'
Allow parallel run of system tests

See merge request isc-projects/bind9!7
2018-02-22 11:18:39 +00:00
Stephen Morris 8aaa92693c [rt46602] Update CHANGES for parallel tests
(cherry picked from commit dbf753b52d)
2018-02-22 11:18:19 +00:00
Stephen Morris c4f5d07c1c [rt46602] Changes to get tests running on Windows
1. Track changes to conf.sh.in in conf.sh.win32
2. Modifications to prevent Windows "Configure" script replacing
   the sed "@PORT@" substitution tokens in conf.sh.win32.
3. runall.sh now runs Windows tests sequentially

(cherry picked from commit 7bb9a97904)
2018-02-22 11:17:30 +00:00
Stephen Morris 3d4a425266 [rt46602] Miscellaneous changes to fix rebase issues
(cherry picked from commit 7222c9fc76)
2018-02-22 11:15:22 +00:00
Stephen Morris 78f2976087 [rt46602] Change name of shell variable holding current test directory
It was TESTNAME, but this is an obvious name and was used in one of
the system tests, something that interfered with the content of
progress messages.  It is now SYSTESTDIR.

(cherry picked from commit 30cd931a0d)
2018-02-22 11:14:41 +00:00
Michał KępieńandStephen Morris 747df7d66a [rt46602] Export environment variables in a portable manner
(cherry picked from commit 2c519531a7)
2018-02-22 11:14:41 +00:00
Michał KępieńandStephen Morris cfaeb55e8e [rt46602] Sanitize test names to fix "make check" on Solaris
(cherry picked from commit e005fb948d)
2018-02-22 11:14:40 +00:00
Stephen Morris 6508d98a98 [rt46602] Add .gitignore file for catz
(cherry picked from commit 3dfb7c17eb)
2018-02-22 11:14:40 +00:00
Stephen Morris 0ae7e64829 [rt46602] Pass noclean option to Makefile via exported variable
(cherry picked from commit 59d88ee192)
2018-02-22 11:14:40 +00:00
Stephen Morris 06a9a37d3b [rt46602] Mention conf.sh.win32 in instructions for adding a test.
(cherry picked from commit 23dfa27a84)
2018-02-22 11:14:40 +00:00
Michał KępieńandStephen Morris b40e75a75c [rt46602] Fix various typos, formatting issues and stylistic nits
(cherry picked from commit f0721de624)
2018-02-22 11:14:40 +00:00
Michał KępieńandStephen Morris 4436930712 [rt46602] Remove redundant variable assignment
(cherry picked from commit 42cf18d239)
2018-02-22 11:14:40 +00:00
Michał KępieńandStephen Morris 77e6ff0fae [rt46602] named.port is no longer created by setup.sh for allow_query
(cherry picked from commit 1ac4c3e4e5)
2018-02-22 11:14:40 +00:00
Michał KępieńandStephen Morris 47e278b7c9 [rt46602] Consistently print usage for runall.sh to stderr
(cherry picked from commit fe1ccafc34)
2018-02-22 11:14:39 +00:00
Michał KępieńandStephen Morris 0c8e56568f [rt46602] Clean up getopts usage
Ensure case clauses are in sync with the string passed to getopts.
Remove catch-all clauses as they will never be evaluated.

(cherry picked from commit 0dcee1cad3)
2018-02-22 11:14:39 +00:00
Michał KępieńandStephen Morris 3752edb28e [rt46602] Assign default values to variables set by command line options and consistently treat them as integers
(cherry picked from commit fe51c34df3)
2018-02-22 11:14:39 +00:00
Michał KępieńandStephen Morris f47ed5ceb0 [rt46602] named.port cannot be ignored by git because it is required to be present by notify/ns4
(cherry picked from commit 1960de5530)
2018-02-22 11:14:39 +00:00
Michał KępieńandStephen Morris 8f4770facf [rt46602] Re-add clean.sh invocation to catz/setup.sh
Commit 57aa7b60fd caused catz/setup.sh to no longer call clean.sh, which
results in the catz system test failing on subsequent runs if the first
run is interrupted or fails.

(cherry picked from commit 344d05063f)
2018-02-22 11:14:39 +00:00
Stephen Morris 8376949ea8 [rt46602] Remove option to format the printed start time of a test
There was too much incompatibility between operating systems as to
the allowed options for "date".

(cherry picked from commit 451b7309ca)
2018-02-22 11:14:39 +00:00
Stephen Morris 53ebdf225f [rt46602] Escape line ends in shell script variable assignment
Escape the line ends in a multi-line variable assignment.  Under some
circumstances, substituting the variable caused syntax errors when
used as the list of values in a shell script "for" statement.

(cherry picked from commit 462766cd76)
2018-02-22 11:14:32 +00:00
Stephen Morris 8513c4256b [rt46602] Fix EXTRAPORT substitutions in copy_setport
Fix problems where all EXTRAPORT macros were being replaced by
the EXTRAPORT1 value. (Copy and paste issue.)

(cherry picked from commit fb78f82ba1)
2018-02-22 11:13:58 +00:00
Stephen Morris 4731a82eef [rt46602] Minor documentation changes
(cherry picked from commit cdf18a5009)
2018-02-22 11:13:58 +00:00
Stephen Morris 36136dec55 [rt46602] Correct way allow_query test produces RNDC output
(cherry picked from commit 7f2d41d4c4)
2018-02-22 11:13:58 +00:00
Stephen Morris fb5974f902 [rt46602] Simplify the cleanup code
(cherry picked from commit 0855a8a6cc)
2018-02-22 11:13:58 +00:00
Stephen Morris 56ba2e822b [rt46602] Extensions to README
Added descriptions of how nameservers are started and stopped
during the tests, and how the framework cleans up the files created.

(cherry picked from commit f606b17dfb)
2018-02-22 11:13:58 +00:00
Stephen Morris 3329876ffd [rt46602] Miscellenous small changes
(cherry picked from commit b88b508b22)
2018-02-22 11:13:58 +00:00
Stephen Morris 6602a31229 [rt46602] Handle echoing of multi-line output from tests
(cherry picked from commit 1f07c69f25)
2018-02-22 11:13:58 +00:00
Stephen Morris 7a5476173a [rt46602] Rename "test" variable to "systest"
... to avoid confusion between the variable and the command of the
same name.

(cherry picked from commit c12e06755f)
2018-02-22 11:13:58 +00:00
Stephen Morris 6917ea971a [rt46602] Add ability to prevent deletion of output files when running all tests
Some tests may need to examine all output files from all system tests.
Allow the deletion of these files to be inhibited if required.

(cherry picked from commit 00bc29640b)
2018-02-22 11:13:57 +00:00
Stephen Morris ff5349b3b3 [rt46602] Error messages before start of test are output to stderr
Error messages concerning the invocation of run.sh are output to
stderr.  Messages after the test has started are output to stdout.

(cherry picked from commit 244d1c30e2)
2018-02-22 11:13:57 +00:00
Stephen Morris 6bd944c9d0 [rt46602] Ensure that output sent to stderr is routed to the output file
(cherry picked from commit a5cf6bd12a)
2018-02-22 11:13:57 +00:00
Stephen Morris 6b5e5a2da2 [rt46602] Minor tidying up of documentation
(cherry picked from commit ce66752adc)
2018-02-22 11:13:57 +00:00
Stephen Morris 0afcdf658d [rt46602] Check prerequsities before network interfaces when running test.
(cherry picked from commit 549a6c6bc8)
2018-02-22 11:13:57 +00:00
Stephen Morris 5fc5b514e4 [rt46602] Minor formatting changes to Perl files
(cherry picked from commit f0f5b5f045)
2018-02-22 11:13:57 +00:00
Stephen Morris 88081b765e [rt46603] Provide echostart() and echoend() to output test start/end messages.
(cherry picked from commit c344e1d768)
2018-02-22 11:13:57 +00:00
Stephen Morris 50769a4a9e [rt46602] Ensure test output in systests.output is not mixed up
When running all the system tests, output from a test is sent to a
test.output file in the test directory.  These are combined in to
systests.output when the run finishes.

(cherry picked from commit 055e5be9fd)
2018-02-22 11:13:50 +00:00
Stephen Morris 0e2e251a0d [rt46602] Miscellaneous minor fixes
... for misspellings, typos, trailing spaces, duplicated lines etc.

(cherry picked from commit 3c25e5fa02)
2018-02-22 11:13:26 +00:00
Stephen Morris 61514873e9 [rt46602] Allocate 100 ports to each test
(cherry picked from commit edc7a18d84)
2018-02-22 11:13:04 +00:00
Stephen Morris f10b6cfeb6 [rt46602] Pass port numbers to tests via environment variables
(cherry picked from commit f5d8f07900)
2018-02-22 11:12:57 +00:00
Stephen Morris bf2992dbe6 [rt46602] Ensure parallel tests are in alphabetical order
(cherry picked from commit b2d90da0c2)
2018-02-22 11:12:33 +00:00
Stephen Morris 3952d4631e [rt46602] Expanded system tests README
Add more information on running the tests, together with a section
on how the tests are organised, aimed at new developers.

(cherry picked from commit af005cdbcf)
2018-02-22 11:12:23 +00:00
Stephen Morris 78494c3a4d [rt46602] More updates to the test running framework
Tidy up the stop/start files and make switch usage consistent. Also
tidy up the various "clean" targets in the Makefile.

(cherry picked from commit b24c2e11d8)
2018-02-22 11:11:51 +00:00
Stephen Morris b01b553d72 [rt46602] Modify some test files to cope with the "-p" flag
(cherry picked from commit 517d990bd4)
2018-02-22 11:11:44 +00:00
Stephen Morris a49afdaeb8 [rt46602] Tidy up run management
Miscellaneous tidying up of run management.  The most significant
change is that "runall.sh" now runs _all_ the tests, even the
ones that can run in parallel.  runsequential.sh is the script
to run tests that have not been converted to parallel running.

(cherry picked from commit 32fe6f7682)
2018-02-22 11:11:12 +00:00
Stephen Morris df1348ad2b [rt46602] Assign block of ports for each test
Some tests use more ports than just the query and control ports.
Each test that can run in parallel with other tests is now assigned
a unique block of 10 ports.

(cherry picked from commit e0ff77f9d3)
2018-02-22 11:11:12 +00:00
Stephen Morris 58de0adbf6 [rt46602] Allow catz system test to run in parallel with other tests
(cherry picked from commit 07341693e1)
2018-02-22 11:11:12 +00:00
Stephen Morris 01eb4d7c97 [rt46602] Miscellaneous changes to existing parallelised tests
Currently these tests are allow_query, rpzrecurse and serve-stale

1. Function to copy files and set port numbers renamed from copy_config
to copy_setports, as this is used to change the ports in Perl and Python
test scripts as well.
2. Changes to rpzrecurse/tests.sh to handle two calls to getopts (one to
parse port numbers, the other to parse rpzrecurse-specific options). Also
fixed various commands to use correct ports.
3. Updates to "clean.sh" scripts to ensure that all files created in the
test are removed.

(cherry picked from commit 78f2b9ca01)
2018-02-22 11:11:00 +00:00
Stephen Morris 4f68e67e5c [rt46602] Ensure that tests running in parallel use unique ports
Via an intermediate make file, tests that have been modified to be able
to run in parallel are assigned unique query and control port numbers
(other than 5300 and 9953 respectively).  Tests that have not yet been
modified all use ports 5300 and 9953, so must be run sequentially.

(cherry picked from commit e7429b124b)
2018-02-22 11:09:59 +00:00
Stephen Morris ba694ca38c [rt46602] Miscellaneous tidying up of code cherry-picked from experimental branch
(cherry picked from commit e1a69e5d1f)
2018-02-22 11:08:42 +00:00
Ondřej SurýandStephen Morris a14bd48268 [rt46602] Allow parallel run of new dynamic port tests and the old ones
(cherry picked from commit 3b14d54fd7)
2018-02-22 11:08:05 +00:00
Ondřej SurýandStephen Morris cf7a86661a [rt46602] Put back original .gitignore files in the system tests
(cherry picked from commit caaec1ef6d)
2018-02-22 11:08:05 +00:00
Ondřej SurýandStephen Morris c5aa6ed87b [rt46602] Adjust rpzrecurse for dynamic port usage
Resolve conflict in run.sh during cherry-pick from an experimental branch.

(cherry picked from commit 2a435708e4)
2018-02-22 11:07:30 +00:00
Ondřej SurýandStephen Morris d37a52cc56 [rt46602] Add $SEDPORTS variable to help with @PORT@ and @CONTROLPORT@ replacement
(cherry picked from commit e6802badc0)
2018-02-22 11:02:14 +00:00
Ondřej SurýandStephen Morris a5c3077a9c [rt46602] Move most of ignored files to top of system tests directory
(cherry picked from commit d2c8286163)
2018-02-22 11:01:35 +00:00
Ondřej SurýandStephen Morris 112355adb8 [rt46602] Fix output from rndc reload
(cherry picked from commit 53bade5ece)
2018-02-22 11:01:35 +00:00
Ondřej SurýandStephen Morris 76dfb5c339 [rt46602] Add .gitignore to allow_query
(cherry picked from commit bc276f6c05)
2018-02-22 11:01:35 +00:00
Ondřej SurýandStephen Morris 93034acb4d [rt46602] Utilize echo_i to allow mixed test output
(cherry picked from commit 7e3c96c867)
2018-02-22 11:01:29 +00:00
Ondřej SurýandStephen Morris b8e866d60f [rt46602] Prefix R:<result> as R:<test>:<result>
Resolve conflict in run.sh during cherry-pick from experimental branch.

(cherry picked from commit 278c72fef6)
2018-02-22 11:01:08 +00:00
Ondřej SurýandStephen Morris bd5b36f7a4 [rt46602] Add echo_i function to print I:<testname>:string
(cherry picked from commit f7ac41757a)
2018-02-22 11:01:08 +00:00
Ondřej SurýandStephen Morris 57adb949a4 [rt46602] Add serve-stale working files to .gitignore
(cherry picked from commit cba162e70e)
2018-02-22 11:01:07 +00:00
Ondřej SurýandStephen Morris 1d10178e83 [rt46602] Convert allow_query to dynamic port
(cherry picked from commit 992a2bafec)
2018-02-22 11:01:01 +00:00
Ondřej SurýandStephen Morris 0ee883d443 [rt46602] Change the system tests script to support running individual tests on different ports
Resolved conflict in run.sh.

(cherry picked from commit fb00f18005)
2018-02-22 10:58:33 +00:00
Mark Andrews a3d54b9ac5 Merge branch '82-cacheclean-test-is-not-robust-v9_11' into 'v9_11'
Resolve "cacheclean test is not robust."

Closes #82

See merge request isc-projects/bind9!50
2018-02-22 12:42:08 +11:00
Mark Andrews 51e94baf50 add CHANGES entry
(cherry picked from commit 8c8ad74abe)
2018-02-22 12:38:04 +11:00
Mark Andrews e0c9b5bd2b check that sed selects a non zero range of lines
(cherry picked from commit 146c16c06e)
2018-02-22 12:37:27 +11:00
Mark Andrews 606321d278 Merge branch 'cherry-pick-643c8c27' into 'v9_11'
Merge branch '67-stabilize-cacheclean-system-test' into 'v9_11'

See merge request isc-projects/bind9!49
2018-02-20 16:09:20 -05:00
Mark Andrews ea29bec179 Merge branch '67-stabilize-cacheclean-system-test' into 'master'
Stabilize cacheclean system test

Closes #67

See merge request isc-projects/bind9!43

(cherry picked from commit 643c8c27ff)

01de79b3 Assign an index to each check in the cacheclean system test
aeea1faf Do not overwrite cache dumps
2bbff06d Wait until a cache dump completes instead of waiting for a fixed amount of time
ca1049b2 Improve the way cache contents are searched for "ns.flushtest.example"
2018-02-20 16:08:59 -05:00
Evan Hunt 06908ef2df [v9_11] add missing release note, update README 2018-02-17 20:01:17 -08:00
Michał Kępień ea9ba22c1b Merge branch 'fix-loadpending-handling-v9_11' into v9_11 2018-02-16 08:59:00 +01:00
Michał Kępień b9d2b8845e Add CHANGES entry
4892.	[bug]		named could leak memory when "rndc reload" was invoked
			before all zone loading actions triggered by a previous
			"rndc reload" command were completed. [RT #47076]
2018-02-16 08:58:36 +01:00
Michał Kępień 5c080dfe73 Do not recheck DNS_ZONEFLG_LOADPENDING in zone_asyncload()
Remove a block of code which dates back to commit 8a2ab2b920, when
dns_zone_asyncload() did not yet check DNS_ZONEFLG_LOADPENDING.
Currently, no race in accessing DNS_ZONEFLG_LOADPENDING is possible any
more, because:

  - dns_zone_asyncload() is still the only function which may queue
    zone_asyncload(),

  - dns_zone_asyncload() accesses DNS_ZONEFLG_LOADPENDING under a lock
    (and potentially queues an event under the same lock),

  - DNS_ZONEFLG_LOADPENDING is not cleared until the load actually
    completes.

Thus, the rechecking code can be safely removed from zone_asyncload().

Note that this also brings zone_asyncload() to a state in which the
completion callback is always invoked.  This is required to prevent
leaking memory in case something goes wrong in zone_asyncload() and a
zone table the zone belongs to is indefinitely left with a positive
reference count.
2018-02-16 08:58:24 +01:00
Michał Kępień 4d391101a4 Asynchronous zone load events have no way of getting canceled
Code handling cancellation of asynchronous zone load events was likely
copied over from other functions when asynchronous zone loading was
first implemented in commit 8a2ab2b920.  However, unlike those other
functions, asynchronous zone loading events currently have no way of
getting canceled once they get posted, which means the aforementioned
code is effectively dead.  Remove it to prevent confusion.
2018-02-16 08:58:24 +01:00
Michał Kępień 749b3cacfc Only clear DNS_ZONEFLG_LOADPENDING in zone_asyncload() if zone loading is completed immediately
zone_load() is not always synchronous, it may only initiate an
asynchronous load and return DNS_R_CONTINUE, which means zone loading
has not yet been completed.  In such a case, zone_asyncload() must not
clear DNS_ZONEFLG_LOADPENDING immediately and leave that up to
zone_postload().
2018-02-16 08:58:24 +01:00
Michał Kępień e0205aac03 Lock zone before checking whether its asynchronous load is already pending
While this is not an issue in named, which only calls
dns_zone_asyncload() from task-exclusive mode, this function is exported
by libdns and thus may in theory be concurrently called for the same
zone by multiple threads.  It also does not hurt to be consistent
locking-wise with other DNS_ZONEFLG_LOADPENDING accesses.
2018-02-16 08:58:24 +01:00
Mark Andrews 682f6c017f Merge branch 'fix-cpp-check-errors' into 'v9_11'
Fix cpp check errors v9_11

See merge request isc-projects/bind9!30
2018-02-15 23:13:06 -05:00
Mark Andrews 1cf7f9168a s/cppchecker/cppcheck 2018-02-16 15:08:49 +11:00
Mark Andrews cdfea624f0 add GL issue number 2018-02-16 15:08:49 +11:00
Mark Andrews 9fd6febad4 add CHANGES note 2018-02-16 15:08:49 +11:00
Mark Andrews ad5550c029 add POST(len); 2018-02-16 15:08:25 +11:00
Mark Andrews 65cfe7e1ad conditionally declare stacksize 2018-02-16 15:08:24 +11:00
Mark Andrews 027bc5535c add POST(len); 2018-02-16 15:08:24 +11:00
Mark Andrews bdf5c08fc4 Clarify calculation precedence for '&' and '?' 2018-02-16 15:08:24 +11:00
Mark Andrews 2c85b9afd7 add POST(tl) 2018-02-16 15:08:24 +11:00
Mark Andrews f103cbee94 return failure count 2018-02-16 15:08:24 +11:00
Mark Andrews 118203925a conditionally declare strbuf 2018-02-16 15:06:51 +11:00
Mark Andrews c2e6e799b3 test for == 0 rather than <= as value is unsigned 2018-02-16 15:00:06 +11:00
Mark Andrews 0c2c1615cb add brackets 2018-02-16 14:59:20 +11:00
Mark Andrews bb7a470a0d reorder test to silence cppcheck 2018-02-16 14:59:20 +11:00
Mark Andrews 5d9109c3b5 remove event which is only used for sizeof 2018-02-16 14:59:19 +11:00
Mark Andrews 6b77f4f258 remember the masters count 2018-02-16 14:58:18 +11:00
Mark Andrews e51c5d2e74 reorder test to silence cppcheck 2018-02-16 14:58:18 +11:00
Mark Andrews 22c6b2308e use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews c58169ff1c use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews 8db1762d68 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews f6dae15117 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews 8d9097b0b7 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews 04c5165b40 use %u instead of %d 2018-02-16 14:58:17 +11:00
Mark Andrews 54672c31b9 use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews 262d514345 use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews 8c51ba3aac use %u instead of %d 2018-02-16 14:54:36 +11:00
Mark Andrews 8dba09602b case to unsigned; reorder expression 2018-02-16 14:52:51 +11:00
Mark Andrews 012ae8afa2 simplify expression 2018-02-16 14:45:20 +11:00
Mark Andrews 0ae4bf22d2 use %u and preserve unsigned property 2018-02-16 14:45:20 +11:00
Mark Andrews 7873680877 cast to unsigned 2018-02-16 14:36:56 +11:00
Mark Andrews ea6732c354 preserve unsigned property 2018-02-16 14:36:56 +11:00
Mark Andrews c35a870559 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews c57610f1cc make both arguments of & unsigned 2018-02-16 14:36:56 +11:00
Mark Andrews faf0e3ff65 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews 45960706e6 use %u instead of %d 2018-02-16 14:36:56 +11:00
Mark Andrews 1f0313656f use %u instead of %d 2018-02-16 14:36:02 +11:00
Mark Andrews ab0805b73e shift unsigned (~0U) rather than signed (~0) contant 2018-02-16 14:35:36 +11:00
Mark Andrews 4b83e4e105 use %u instead of %d 2018-02-16 14:35:36 +11:00
Mark Andrews 351a27ef5b unsigned constants 2018-02-16 14:35:36 +11:00
Mark Andrews e6cd8a52aa unsigned constants 2018-02-16 14:34:18 +11:00
Mark Andrews 9cc1ea9566 use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews 2bbdfaaa0a use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews 95657b047e use %u instead of %d 2018-02-16 14:32:24 +11:00
Mark Andrews 42c12e6b81 INSIST ipnum6 != NULL 2018-02-16 14:29:27 +11:00
Mark Andrews cd86c23e87 use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews ca60688cb1 use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews 39142beb63 test for >= 0 and use %d instead of %u 2018-02-16 14:29:27 +11:00
Mark Andrews a0adc34f3b formally cast to int; use %u instead of %d 2018-02-16 14:29:27 +11:00
Mark Andrews 61f81fde94 formally cast to int 2018-02-16 14:29:27 +11:00
Mark Andrews b883fa4c14 use %u instead of %d 2018-02-16 14:28:25 +11:00
Mark Andrews 2c13e20d2d use %u instead of %d 2018-02-16 14:28:25 +11:00
Mark Andrews 5517274e84 use %u instead of %d 2018-02-16 14:28:01 +11:00
Mark Andrews 57bd5fe992 use %u instead of %d 2018-02-16 14:26:57 +11:00
Mark Andrews 2c7bb6ed68 copyrights 2018-02-16 14:25:16 +11:00
Mark Andrews b7c19f168f use %u instead of %d 2018-02-16 14:24:44 +11:00
Mark Andrews 27ca8bc72f use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews 6bbecea663 use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews eb96b507da use %u instead of %d 2018-02-16 14:23:54 +11:00
Mark Andrews 5a69c0dbf3 make declarations consistent 2018-02-16 14:23:54 +11:00
Mark Andrews e04fb892dd report argument error in human form 2018-02-16 14:23:14 +11:00
Mark Andrews cdaaa7b987 use %u instead of %d 2018-02-16 14:21:58 +11:00
Mark Andrews bb68962050 use %u instead of %d 2018-02-16 14:21:58 +11:00
Mark Andrews 59b75eda7d use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews 5016c832fd use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews bb8dbcf334 use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews d421597403 use %u instead of %i 2018-02-16 14:21:05 +11:00
Mark Andrews 203b5fc246 use %u instead of %d 2018-02-16 14:21:05 +11:00
Mark Andrews 813c074edd use %u rather than %d; pass a unsigned int pointer 2018-02-16 14:21:05 +11:00
Mark Andrews e99ee92b84 clear *logp 2018-02-16 14:18:04 +11:00
Mark Andrews 4396092e81 use %u instead of %d 2018-02-16 14:18:04 +11:00
Mark Andrews e950558247 signed vs unsigned fixes 2018-02-16 14:18:04 +11:00
3693 changed files with 62889 additions and 73702 deletions
+279
View File
@@ -0,0 +1,279 @@
variables:
DEBIAN_FRONTEND: noninteractive
LC_ALL: C
DOCKER_DRIVER: overlay2
CI_REGISTRY_IMAGE: oerdnj/bind9
CCACHE_DIR: "/ccache"
stages:
- precheck
- build
- test
.centos-centos6-amd64: &centos_centos6_amd64_image
image: "$CI_REGISTRY_IMAGE:centos-centos6-amd64"
tags:
- linux
- docker
- amd64
.centos-centos7-amd64: &centos_centos7_amd64_image
image: "$CI_REGISTRY_IMAGE:centos-centos7-amd64"
tags:
- linux
- docker
- amd64
.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 --with-libidn2 --prefix=$HOME/.local --without-make-clean "${EXTRA_CONFIGURE}" || cat config.log
- make -j${PARALLEL_JOBS_BUILD:-1} -k all V=1
artifacts:
expire_in: '1 hour'
untracked: true
.install_test: &install_test_job
stage: test
before_script:
- mkdir $HOME/.local
script:
- make install
.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:
- sh util/checklibs.sh > checklibs.out
- perl util/check-changes CHANGES
- perl -w util/merge_copyrights
- diff -urNap util/copyrights util/newcopyrights
- rm util/newcopyrights
- perl -w util/update_copyrights < util/copyrights
- if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi
- xmllint --noout --nonet `git ls-files '*.xml' '*.docbook'`
- xmllint --noout --nonet --html `git ls-files '*.html'`
artifacts:
paths:
- util/newcopyrights
- checklibs.out
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:centos:centos6:amd64:
variables:
CC: gcc
CFLAGS: "-Wall -Wextra -O2 -g"
EXTRA_CONFIGURE: "--disable-warn-error"
<<: *centos_centos6_amd64_image
<<: *build_job
build:centos:centos7:amd64:
variables:
CC: gcc
CFLAGS: "-Wall -Wextra -O2 -g -DDIG_SIGCHASE=1"
<<: *centos_centos7_amd64_image
<<: *build_job
build:debian:sid:amd64:
<<: *debian_sid_amd64_image
<<: *build_job
build:debian:sid:i386:
<<: *debian_sid_i386_image
<<: *build_job
unittest:centos:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *unit_test_job
dependencies:
- build:centos:centos6:amd64
unittest:centos:centos7:amd64:
<<: *centos_centos7_amd64_image
<<: *unit_test_job
dependencies:
- build:centos:centos7:amd64
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:centos:centos6:amd64:
<<: *centos_centos6_amd64_image
<<: *system_test_job
dependencies:
- build:centos:centos6:amd64
systemtest:centos:centos7:amd64:
<<: *centos_centos7_amd64_image
<<: *system_test_job
dependencies:
- build:centos:centos7:amd64
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
install:debian:sid:amd64:
<<: *debian_sid_amd64_image
<<: *install_test_job
dependencies:
- build:debian:sid:amd64
+294 -3
View File
@@ -1,3 +1,294 @@
--- 9.11.5-P1 released ---
5108. [bug] Named could fail to determine bottom of zone when
removing out of date keys leading to invalid NSEC
and NSEC3 records being added to the zone. [GL #771]
--- 9.11.5 released ---
--- 9.11.5rc1 released ---
5038. [bug] Chaosnet addresses were compared incorrectly.
[GL #562]
5034. [bug] A race between threads could prevent zone maintenance
scheduled immediately after zone load from being
performed. [GL #542]
5033. [bug] When adding NTAs to multiple views using "rndc nta",
the text returned via rndc was incorrectly terminated
after the first line, making it look as if only one
NTA had been added. Also, it was not possible to
differentiate between views with the same name but
different classes; this has been corrected with the
addition of a "-class" option. [GL #105]
5032. [func] Add krb5-selfsub and ms-selfsub update policy rules.
[GL #511]
5030. [bug] Align CMSG buffers to a 64-bit boundary, fixes crash
on architectures with strict alignment. [GL #521]
5028. [bug] Spread the initial RRSIG expiration times over the
entire working sig-validity-interval when signing a
zone in named to even out re-signing and transfer
loads. [GL #418]
5026. [bug] rndc reconfig should not touch already loaded zones.
[GL #276]
5022. [doc] Update ms-self, ms-subdomain, krb5-self, and
krb5-subdomain documentation. [GL !708]
5021. [bug] dig returned a non-zero exit code when it received a
reply over TCP after a retry. [GL #487]
5019. [cleanup] A message is now logged when ixfr-from-differences is
set at zone level for an inline-signed zone. [GL #470]
5018. [bug] Fix incorrect sizeof arguments in lib/isc/pk11.c.
[GL !588]
5017. [bug] lib/isc/pk11.c failed to unlink the session before
releasing the lock which is unsafe. [GL !589]
5016. [bug] Named could assert with overlapping filter-aaaa and
dns64 acls. [GL #445]
5015. [bug] Reloading all zones caused zone maintenance to cease
for inline-signed zones. [GL #435]
5014. [bug] Signatures loaded from the journal for the signed
version of an inline-signed zone were not scheduled for
refresh. [GL #482]
5012. [bug] Fix lock order reversal in pk11_initialize. [GL !590]
5009. [bug] Upon an OpenSSL failure, the first error in the OpenSSL
error queue was not logged. [GL #476]
5008. [bug] "rndc signing -nsec3param ..." requests were silently
ignored for zones which were not yet loaded or
transferred. [GL #468]
5007. [cleanup] Replace custom ISC boolean and integer data types
with C99 stdint.h and stdbool.h types. [GL #9]
5005. [bug] dnssec-verify, and dnssec-signzone at the verification
step, failed on some validly signed zones. [GL #442]
5004. [bug] 'rndc reconfig' could cause inline zones to stop
re-signing. [GL #439]
5003. [bug] dns_acl_isinsecure did not handle geoip elements.
[GL #406]
5002. [bug] mdig: Handle malformed +ednsopt option, support 100
+ednsopt options per query rather than 100 total and
address memory leaks if +ednsopt was specified.
[GL #410]
5001. [bug] Fix refcount errors on error paths. [GL !563]
4996. [bug] dig: Handle malformed +ednsopt option. [GL #403]
4995. [test] Add tests for "tcp-self" update policy. [GL !282]
4994. [bug] Trust anchor telemetry queries were not being sent
upstream for locally served zones. [GL #392]
4992. [bug] The wrong address was being logged for trust anchor
telemetry queries. [GL #379]
4990. [bug] Prevent a possible NULL reference in pkcs11-keygen.
[GL #401]
--- 9.11.4-P1 released ---
4997. [security] named could crash during recursive processing
of DNAME records when "deny-answer-aliases" was
in use. (CVE-2018-5740) [GL #387]
--- 9.11.4 released ---
--- 9.11.4rc2 released ---
4984. [bug] Improve handling of very large incremental
zone transfers to prevent journal corruption. [GL #339]
4983. [cleanup] Remove the deprecated flag from "answer-cookie";
it will be allowed to persist into 9.13. [GL #275].
4982. [cleanup] Return FORMERR if the question section is empty
and no COOKIE option is present; this restores
older behavior except in the newly specified
COOKIE case. [GL #260]
4981. [bug] Fix race in cmsg buffer usage in socket code.
[GL #180]
4980. [bug] Named-checkconf failed to detect bad in-view targets.
[GL #288]
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]
4975. [bug] The server cookie computation for sha1 and sha256 did
not match the method described in RFC 7873. [GL #356]
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]
4969. [cleanup] Refactor zone logging functions. [GL #269]
--- 9.11.4rc1 released ---
4968. [bug] If glue records are signed, attempt to validate them.
[GL #209]
4966. [func] Add the ability to not return a DNS COOKIE option
when one is present in the request (answer-cookie no;).
[GL #173]
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]
4935. [func] Add support for LibreSSL >= 2.7.0 (some OpenSSL 1.1.0
call were added). [GL #191]
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]
4930. [bug] Remove a bogus check in nslookup command line
argument processing. [GL #206]
4926. [func] Add root key sentinel support. To disable, add
'root-key-sentinel no;' to named.conf. [GL #37]
4922. [bug] dnstap: Log the destination address of client
packets rather than the interface address.
[GL #197]
4921. [cleanup] Add dns_fixedname_initname() and refactor the caller
code to make usage of the new function, as a part of
refactoring dns_fixedname_*() macros were turned into
functions. [GL #183]
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]
4915. [func] Implement IDNA2008 support in dig by adding support
for libidn2. New dig option +idnin has been added,
which allows to process invalid domain names much
like dig without IDN support. libidn2 version 2.0
or higher is needed for +idnout enabled by default.
4913. [test] Re-implemented older unit tests in bin/tests as ATF,
removed the lib/tests unit testing library. [GL #115]
4911. [test] Improved the reliability of the 'mkeys' system test.
[GL #128]
4910. [func] Update util/check-changes to work on release branches.
[GL #113]
4909. [bug] named-checkconf did not detect in-view zone collisions.
[GL #125]
4908. [test] Eliminated unnecessary waiting in the allow_query
system test. Also changed its name to allow-query.
[GL #81]
4907. [test] Improved the reliability 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]
4896. [test] cacheclean system test was not robust. [GL #82]
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]
4699. [func] Multiple cookie-secret clauses can now be specified.
The first one specified is used to generate new
server cookies. [RT #45672]
--- 9.11.3 released ---
--- 9.11.3rc2 released ---
4904. [bug] Temporarily revert change #4859. [GL #124]
--- 9.11.3rc1 released ---
4889. [func] Warn about the use of old root keys without the new
@@ -324,8 +615,8 @@
4761. [protocol] Add support for DOA. [RT #45612]
4759. [func] Add logging channel "trust-anchor-telementry" to
record trust-anchor-telementry in incoming requests.
4759. [func] Add logging channel "trust-anchor-telemetry" to
record trust-anchor-telemetry in incoming requests.
Both _ta-XXXX.<anchor>/NULL and EDNS KEY-TAG options
are logged. [RT #46124]
@@ -370,7 +661,7 @@
tests when running on terminals that support them.
[RT #45977]
4744. [bug] Suppress trust-anchor-telementry queries if
4744. [bug] Suppress trust-anchor-telemetry queries if
validation is disabled. [RT #46131]
4741. [bug] Make isc_refcount_current() atomically read the
+186
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.
+201
View File
@@ -0,0 +1,201 @@
<!--
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
## BIND Source Access and Contributor Guidelines
*Feb 22, 2018*
### Contents
1. [Access to source code](#access)
1. [Reporting bugs](#bugs)
1. [Contributing code](#contrib)
### 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](https://www.isc.org),
a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach:
anyone can see the source, but only ISC employees have commit access.
Until recently, the source could only be seen once ISC had published
a release: read access to the source repository was restricted just
as commit access was. That's now changing, with the opening of a
public git mirror to the BIND source tree (see below).
### <a name="access"></a>Access to source code
Public BIND releases are always available from the
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
A public-access GIT repository is also available at
[https://gitlab.isc.org](https://gitlab.isc.org).
This repository is a mirror, updated several times per day, of the
source repository maintained by ISC. It contains all the public release
branches; upcoming releases can be viewed in their current state at any
time. It does *not* contain development branches or unreviewed work in
progress. Commits which address security vulnerablilities are withheld
until after public disclosure.
You can browse the source online via
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
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`.
### <a name="bugs"></a>Reporting bugs
Reports of flaws in the BIND package, including software bugs, errors
in the documentation, missing files in the tarball, suggested changes
or requests for new features, etc, can be filed using
[https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues).
Due to a large ticket backlog, we are sometimes slow to respond,
especially if a bug is cosmetic or if a feature request is vague or
low in priority, but we 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](https://www.isc.org/downloads/software-support-policy/openpgp-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](https://kb.isc.org/article/AA-00861/0).
If you have a crash, you may want to consult
[What to do if your BIND or DHCP server has crashed.](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html)
### <a name="bugs"></a>Contributing code
BIND is licensed under the
[Mozilla Public License 2.0](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 open source license used for the BIND version(s) to which your
patch will be applied.
#### <a name="bind"></a>BIND code
Patches for BIND may be submitted directly via merge requests in
[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source
repository for BIND.
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](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](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](doc/dev/dev.md#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](doc/dev/dev.md#testing)
for more information.
#### Thanks
Thank you for your interest in contributing to the ongoing development
of BIND.
-1
View File
@@ -394,4 +394,3 @@ BIND 9.2.0
DNSSEC implementation is still considered experimental. For detailed
information about the state of the DNSSEC implementation, see the file
doc/misc/dnssec.
+4 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
### Functional enhancements from prior major releases of BIND 9
+20 -7
View File
@@ -1,12 +1,16 @@
# Copyright (C) 1998-2002, 2004-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
VERSION=@BIND9_VERSION@
@@ -70,7 +74,7 @@ tags:
find lib bin -name "*.[ch]" -print | @ETAGS@ -
test check:
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>&- || echo fail`"; then \
@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>/dev/null || echo fail`"; then \
echo I: NOTE: The tests were not run because they require that; \
echo I: the IP addresses 10.53.0.1 through 10.53.0.8 are configured; \
echo I: as alias addresses on the loopback interface. Please run; \
@@ -86,22 +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
README: README.md
${PANDOC} --email-obfuscation=none -s -t html README.md | \
${W3M} -dump -cols 75 -O ascii -T text/html > $@
${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 > $@
${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 > $@
${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::
-1
View File
@@ -30,4 +30,3 @@ Setting Description
Disable the use of inline functions to implement
-DISC_BUFFER_USEINLINE=0 the isc_buffer API: this reduces performance but
may be useful when debugging
+4 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
Setting the `STD_CDEFINES` environment variable before running `configure`
can be used to enable certain compile-time options that are not explicitly
+45 -19
View File
@@ -51,19 +51,21 @@ bind9/releasenotes
Reporting bugs and getting help
Please report assertion failure errors and suspected security issues to
security-officer@isc.org.
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.
General bug reports can be sent to bind9-bugs@isc.org.
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.
Feature requests can be sent to bind-suggest@isc.org.
Please note that, while tickets submitted to ISC's ticketing system are
not initially publicly readable by default, they can be made publicly
acessible afterward. Please do not include information in bug reports that
you consider to be confidential. In particular, when sending the contents
of your configuration file, 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.
Professional support and training for BIND are available from ISC at
https://www.isc.org/support.
@@ -78,18 +80,23 @@ mailman/listinfo/bind-workers.
Contributing to BIND
ISC maintains a public git repository for BIND; details can be found at
http://www.isc.org/git/, and also on Github at https://github.com/
isc-projects.
http://www.isc.org/git/.
Information for BIND contributors can be found in the following files: -
General information: doc/dev/contrib.md - BIND 9 code style: doc/dev/
style.md - BIND architecture and developer guide: doc/dev/dev.md
Patches for BIND may be submitted either as Github pull requests or via
email. When submitting a patch via email, 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.
Patches for BIND may be submitted as Merge Requests in the ISC GitLab
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
By default, external contributors don't have ability to fork BIND in the
GitLab server, but if you wish to contribute code to BIND, you may request
permission to do so. Thereafter, you can create git branches and directly
submit requests that they be reviewed and merged.
If you prefer, you may also submit code by opening a GitLab Issue and
including your patch as an attachment, preferably generated by git
format-patch.
BIND 9.11 features
@@ -238,6 +245,26 @@ BIND 9.11.3
BIND 9.11.3 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
BIND 9.11.4
BIND 9.11.4 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738.
BIND 9.11.5
BIND 9.11.5 is a maintenance release, and also addresses CVE-2018-5741 by
correcting faulty documentation and introducing the following new feature:
* New krb5-selfsub and ms-selfsub rule types for update-policy
statements allow updating of subdomains based on a Kerberos or Active
Directory machine principal.
BIND 9.11.5-P1
BIND 9.11.5-P1 addresses a potentially serious flaw which could cause
faulty NSEC3 chains to be regenerated after a change to the DNSSEC signing
key of a zone.
Building BIND
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
@@ -465,4 +492,3 @@ Acknowledgments
(eay@cryptsoft.com)
* This product includes software written by Tim Hudson
(tjh@cryptsoft.com)
+56 -23
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
# BIND 9
@@ -60,22 +63,24 @@ For up-to-date release notes and errata, see
### <a name="help"/> Reporting bugs and getting help
Please report assertion failure errors and suspected security issues to
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).
General bug reports can be sent to
[bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
Feature requests can be sent to
[bind-suggest@isc.org](mailto:bind-suggest@isc.org).
Please note that, while tickets submitted to ISC's ticketing system
are not initially publicly readable by default, they can be made publicly
acessible afterward. Please do not include information in bug reports that
you consider to be confidential. In particular, when sending the contents of
your configuration file, it is advisable to obscure key secrets: this can
be done automatically by using `named-checkconf -px`.
Professional support and training for BIND are available from
ISC at [https://www.isc.org/support](https://www.isc.org/support).
@@ -89,20 +94,27 @@ may also want to join the __BIND Workers__ mailing list, at
### <a name="contrib"/> Contributing to BIND
ISC maintains a public git repository for BIND; details can be found
at [http://www.isc.org/git/](http://www.isc.org/git/), and also on Github
at [https://github.com/isc-projects](https://github.com/isc-projects).
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 either as Github pull requests
or via email. When submitting a patch via email, 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](mailto:bind-suggest@isc.org); if it fixes a bug,
please submit it to [bind9-bugs@isc.org](mailto:bind9-bugs@isc.org).
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.11 features
@@ -249,6 +261,27 @@ store data related to zones added via `rndc addzone` or catalog zones.
BIND 9.11.3 is a maintenance release, and addresses the security flaw
disclosed in CVE-2017-3145.
#### BIND 9.11.4
BIND 9.11.4 is a maintenance release, and addresses the security flaw
disclosed in CVE-2018-5738.
#### BIND 9.11.5
BIND 9.11.5 is a maintenance release, and also addresses CVE-2018-5741
by correcting faulty documentation and introducing the following new
feature:
* New `krb5-selfsub` and `ms-selfsub` rule types for `update-policy`
statements allow updating of subdomains based on a Kerberos or
Active Directory machine principal.
#### BIND 9.11.5-P1
BIND 9.11.5-P1 addresses a potentially serious flaw which could
cause faulty NSEC3 chains to be regenerated after a change to the
DNSSEC signing key of a zone.
### <a name="build"/> Building BIND
BIND requires a UNIX or Linux system with an ANSI C compiler, basic POSIX
+4 -3
View File
@@ -1,13 +1,14 @@
/*
* Copyright (C) 1999-2005, 2007, 2008, 2012, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
/*! \file */
/***
+5 -2
View File
@@ -1,10 +1,13 @@
#!/bin/sh
#
# Copyright (C) 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# Run this script after modifying configure.in to generate configure
autoreconf -i
autoreconf -f -i
+6 -5
View File
@@ -1,17 +1,18 @@
# Copyright (C) 1998-2001, 2004, 2007, 2009, 2012-2014, 2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# $Id: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig delv dnssec tools tests nsupdate \
check confgen @NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@
SUBDIRS = named rndc dig delv dnssec tools nsupdate check confgen \
@NZD_TOOLS@ @PYTHON_TOOLS@ @PKCS11_TOOLS@ tests
TARGETS =
@BIND9_MAKE_RULES@
+6 -3
View File
@@ -1,8 +1,11 @@
# Copyright (C) 2000-2007, 2009, 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# $Id: Makefile.in,v 1.36 2009/12/05 23:31:40 each Exp $
@@ -84,12 +87,12 @@ install:: named-checkconf@EXEEXT@ named-checkzone@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf@EXEEXT@ ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone@EXEEXT@ ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f named-compilezone@EXEEXT@; ${LINK_PROGRAM} named-checkzone@EXEEXT@ named-compilezone@EXEEXT@)
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8 || exit 1; done
(cd ${DESTDIR}${mandir}/man8; rm -f named-compilezone.8; ${LINK_PROGRAM} named-checkzone.8 named-compilezone.8)
uninstall::
rm -f ${DESTDIR}${mandir}/man8/named-compilezone.8
for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m ; done
for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m || exit 1; done
rm -f ${DESTDIR}${sbindir}/named-compilezone@EXEEXT@
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/named-checkconf@EXEEXT@
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/named-checkzone@EXEEXT@
+54 -53
View File
@@ -1,18 +1,22 @@
/*
* Copyright (C) 2000-2002, 2004-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: check-tool.c,v 1.44 2011/12/22 07:32:39 each Exp $ */
/*! \file */
#include <config.h>
#include <stdbool.h>
#include <stdio.h>
#include <inttypes.h>
#ifdef _WIN32
#include <Winsock2.h>
@@ -84,15 +88,15 @@ static const char *dbtype[] = { "rbt" };
int debug = 0;
const char *journal = NULL;
isc_boolean_t nomerge = ISC_TRUE;
bool nomerge = true;
#if CHECK_LOCAL
isc_boolean_t docheckmx = ISC_TRUE;
isc_boolean_t dochecksrv = ISC_TRUE;
isc_boolean_t docheckns = ISC_TRUE;
bool docheckmx = true;
bool dochecksrv = true;
bool docheckns = true;
#else
isc_boolean_t docheckmx = ISC_FALSE;
isc_boolean_t dochecksrv = ISC_FALSE;
isc_boolean_t docheckns = ISC_FALSE;
bool docheckmx = false;
bool dochecksrv = false;
bool docheckns = false;
#endif
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_CHECKMX |
@@ -146,7 +150,7 @@ add(char *key, int value) {
if (symtab == NULL) {
result = isc_symtab_create(sym_mctx, 100, freekey, sym_mctx,
ISC_FALSE, &symtab);
false, &symtab);
if (result != ISC_R_SUCCESS)
return;
}
@@ -162,20 +166,20 @@ add(char *key, int value) {
isc_mem_free(sym_mctx, key);
}
static isc_boolean_t
static bool
logged(char *key, int value) {
isc_result_t result;
if (symtab == NULL)
return (ISC_FALSE);
return (false);
result = isc_symtab_lookup(symtab, key, value, NULL);
if (result == ISC_R_SUCCESS)
return (ISC_TRUE);
return (ISC_FALSE);
return (true);
return (false);
}
static isc_boolean_t
static bool
checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
dns_rdataset_t *a, dns_rdataset_t *aaaa)
{
@@ -186,8 +190,8 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
char addrbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")];
isc_boolean_t answer = ISC_TRUE;
isc_boolean_t match;
bool answer = true;
bool match;
const char *type;
void *ptr = NULL;
int result;
@@ -236,7 +240,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
ownerbuf, namebuf,
cur->ai_canonname);
/* XXX950 make fatal for 9.5.0 */
/* answer = ISC_FALSE; */
/* answer = false; */
add(namebuf, ERR_IS_CNAME);
}
break;
@@ -252,7 +256,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0 */
return (ISC_TRUE);
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
@@ -261,7 +265,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
return (true);
}
/*
@@ -272,13 +276,13 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
result = dns_rdataset_first(a);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(a, &rdata);
match = ISC_FALSE;
match = false;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET)
continue;
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = ISC_TRUE;
match = true;
break;
}
}
@@ -290,7 +294,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_A);
/* XXX950 make fatal for 9.5.0 */
/* answer = ISC_FALSE; */
/* answer = false; */
}
dns_rdata_reset(&rdata);
result = dns_rdataset_next(a);
@@ -302,13 +306,13 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
result = dns_rdataset_first(aaaa);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(aaaa, &rdata);
match = ISC_FALSE;
match = false;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET6)
continue;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = ISC_TRUE;
match = true;
break;
}
}
@@ -320,7 +324,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_AAAA);
/* XXX950 make fatal for 9.5.0. */
/* answer = ISC_FALSE; */
/* answer = false; */
}
dns_rdata_reset(&rdata);
result = dns_rdataset_next(aaaa);
@@ -331,7 +335,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
* Check that all addresses appear in the glue.
*/
if (!logged(namebuf, ERR_MISSING_GLUE)) {
isc_boolean_t missing_glue = ISC_FALSE;
bool missing_glue = false;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
switch (cur->ai_family) {
case AF_INET:
@@ -347,7 +351,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
default:
continue;
}
match = ISC_FALSE;
match = false;
if (dns_rdataset_isassociated(rdataset))
result = dns_rdataset_first(rdataset);
else
@@ -355,7 +359,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
while (result == ISC_R_SUCCESS && !match) {
dns_rdataset_current(rdataset, &rdata);
if (memcmp(ptr, rdata.data, rdata.length) == 0)
match = ISC_TRUE;
match = true;
dns_rdata_reset(&rdata);
result = dns_rdataset_next(rdataset);
}
@@ -366,8 +370,8 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
inet_ntop(cur->ai_family, ptr,
addrbuf, sizeof(addrbuf)));
/* XXX950 make fatal for 9.5.0. */
/* answer = ISC_FALSE; */
missing_glue = ISC_TRUE;
/* answer = false; */
missing_glue = true;
}
}
if (missing_glue)
@@ -376,11 +380,11 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
freeaddrinfo(ai);
return (answer);
#else
return (ISC_TRUE);
return (true);
#endif
}
static isc_boolean_t
static bool
checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai, *cur;
@@ -388,7 +392,7 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
char ownerbuf[DNS_NAME_FORMATSIZE];
int result;
int level = ISC_LOG_ERROR;
isc_boolean_t answer = ISC_TRUE;
bool answer = true;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
@@ -432,7 +436,7 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
add(namebuf, ERR_IS_MXCNAME);
}
if (level == ISC_LOG_ERROR)
answer = ISC_FALSE;
answer = false;
}
}
freeaddrinfo(ai);
@@ -450,7 +454,7 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return (ISC_TRUE);
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
@@ -459,14 +463,14 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
return (true);
}
#else
return (ISC_TRUE);
return (true);
#endif
}
static isc_boolean_t
static bool
checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai, *cur;
@@ -474,7 +478,7 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
char ownerbuf[DNS_NAME_FORMATSIZE];
int result;
int level = ISC_LOG_ERROR;
isc_boolean_t answer = ISC_TRUE;
bool answer = true;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
@@ -517,7 +521,7 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
add(namebuf, ERR_IS_SRVCNAME);
}
if (level == ISC_LOG_ERROR)
answer = ISC_FALSE;
answer = false;
}
}
freeaddrinfo(ai);
@@ -535,7 +539,7 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return (ISC_TRUE);
return (true);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
@@ -544,10 +548,10 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
return (true);
}
#else
return (ISC_TRUE);
return (true);
#endif
}
@@ -591,8 +595,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
dns_rdataset_t rdataset;
dns_fixedname_t fname;
dns_name_t *name;
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
name = dns_fixedname_initname(&fname);
dns_rdataset_init(&rdataset);
CHECK(dns_zone_getdb(zone, &db));
@@ -654,7 +657,7 @@ check_ttls(dns_zone_t *zone, dns_ttl_t maxttl) {
if (dbiter != NULL)
dns_dbiterator_destroy(&dbiter);
if (version != NULL)
dns_db_closeversion(db, &version, ISC_FALSE);
dns_db_closeversion(db, &version, false);
if (db != NULL)
dns_db_detach(&db);
@@ -687,8 +690,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
isc_buffer_constinit(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
dns_fixedname_init(&fixorigin);
origin = dns_fixedname_name(&fixorigin);
origin = dns_fixedname_initname(&fixorigin);
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname, 0, NULL));
CHECK(dns_zone_setorigin(zone, origin));
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
@@ -701,8 +703,8 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
CHECK(dns_rdataclass_fromtext(&rdclass, &region));
dns_zone_setclass(zone, rdclass);
dns_zone_setoption(zone, zone_options, ISC_TRUE);
dns_zone_setoption2(zone, zone_options2, ISC_TRUE);
dns_zone_setoption(zone, zone_options, true);
dns_zone_setoption2(zone, zone_options2, true);
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
dns_zone_setmaxttl(zone, maxttl);
@@ -739,7 +741,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style,
const isc_uint32_t rawversion)
const uint32_t rawversion)
{
isc_result_t result;
FILE *output = stdout;
@@ -794,4 +796,3 @@ DestroySockets(void) {
WSACleanup();
}
#endif
+12 -7
View File
@@ -1,18 +1,23 @@
/*
* Copyright (C) 2000-2002, 2004, 2005, 2007, 2010, 2011, 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: check-tool.h,v 1.18 2011/12/09 23:47:02 tbox Exp $ */
#ifndef CHECK_TOOL_H
#define CHECK_TOOL_H
/*! \file */
#include <inttypes.h>
#include <stdbool.h>
#include <isc/lang.h>
#include <isc/stdio.h>
#include <isc/types.h>
@@ -33,7 +38,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style,
const isc_uint32_t rawversion);
const uint32_t rawversion);
#ifdef _WIN32
void InitSockets(void);
@@ -42,10 +47,10 @@ void DestroySockets(void);
extern int debug;
extern const char *journal;
extern isc_boolean_t nomerge;
extern isc_boolean_t docheckmx;
extern isc_boolean_t docheckns;
extern isc_boolean_t dochecksrv;
extern bool nomerge;
extern bool docheckmx;
extern bool docheckns;
extern bool dochecksrv;
extern unsigned int zone_options;
extern unsigned int zone_options2;
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -131,5 +131,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br
+22 -19
View File
@@ -1,18 +1,21 @@
/*
* Copyright (C) 1999-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: named-checkconf.c,v 1.56 2011/03/12 04:59:46 tbox Exp $ */
/*! \file */
#include <config.h>
#include <errno.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
@@ -90,18 +93,18 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
return (ISC_R_SUCCESS);
}
static isc_boolean_t
static bool
get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
int i;
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_FALSE);
return (false);
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
return (ISC_TRUE);
return (true);
}
}
static isc_boolean_t
static bool
get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
const cfg_listelt_t *element;
const cfg_obj_t *checknames;
@@ -112,14 +115,14 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_FALSE);
return (false);
checknames = NULL;
result = cfg_map_get(maps[i], "check-names", &checknames);
if (result != ISC_R_SUCCESS)
continue;
if (checknames != NULL && !cfg_obj_islist(checknames)) {
*obj = checknames;
return (ISC_TRUE);
return (true);
}
for (element = cfg_list_first(checknames);
element != NULL;
@@ -129,7 +132,7 @@ get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
if (strcasecmp(cfg_obj_asstring(type), "master") != 0)
continue;
*obj = cfg_tuple_get(value, "mode");
return (ISC_TRUE);
return (true);
}
}
}
@@ -515,11 +518,11 @@ main(int argc, char **argv) {
isc_result_t result;
int exit_status = 0;
isc_entropy_t *ectx = NULL;
isc_boolean_t load_zones = ISC_FALSE;
isc_boolean_t print = ISC_FALSE;
bool load_zones = false;
bool print = false;
unsigned int flags = 0;
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
/*
* Process memory debugging argument first.
@@ -543,7 +546,7 @@ main(int argc, char **argv) {
break;
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_reset = true;
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
@@ -554,7 +557,7 @@ main(int argc, char **argv) {
break;
case 'j':
nomerge = ISC_FALSE;
nomerge = false;
break;
case 'm':
@@ -570,7 +573,7 @@ main(int argc, char **argv) {
break;
case 'p':
print = ISC_TRUE;
print = true;
break;
case 'v':
@@ -582,10 +585,10 @@ main(int argc, char **argv) {
break;
case 'z':
load_zones = ISC_TRUE;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
load_zones = true;
docheckmx = false;
docheckns = false;
dochecksrv = false;
break;
case '?':
+5 -1
View File
@@ -1,11 +1,14 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -36,6 +39,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -325,5 +325,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br
+29 -25
View File
@@ -1,18 +1,22 @@
/*
* Copyright (C) 1999-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: named-checkzone.c,v 1.65.32.2 2012/02/07 02:45:21 each Exp $ */
/*! \file */
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <inttypes.h>
#include <isc/app.h>
#include <isc/commandline.h>
@@ -106,10 +110,10 @@ main(int argc, char **argv) {
dns_masterformat_t inputformat = dns_masterformat_text;
dns_masterformat_t outputformat = dns_masterformat_text;
dns_masterrawheader_t header;
isc_uint32_t rawversion = 1, serialnum = 0;
uint32_t rawversion = 1, serialnum = 0;
dns_ttl_t maxttl = 0;
isc_boolean_t snset = ISC_FALSE;
isc_boolean_t logdump = ISC_FALSE;
bool snset = false;
bool logdump = false;
FILE *errout = stdout;
char *endp;
@@ -159,7 +163,7 @@ main(int argc, char **argv) {
#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
while ((c = isc_commandline_parse(argc, argv,
"c:df:hi:jJ:k:L:l:m:n:qr:s:t:o:vw:DF:M:S:T:W:"))
@@ -177,33 +181,33 @@ main(int argc, char **argv) {
if (ARGCMP("full")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY |
DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_TRUE;
docheckns = ISC_TRUE;
dochecksrv = ISC_TRUE;
docheckmx = true;
docheckns = true;
dochecksrv = true;
} else if (ARGCMP("full-sibling")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_TRUE;
docheckns = ISC_TRUE;
dochecksrv = ISC_TRUE;
docheckmx = true;
docheckns = true;
dochecksrv = true;
} else if (ARGCMP("local")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
docheckmx = false;
docheckns = false;
dochecksrv = false;
} else if (ARGCMP("local-sibling")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
docheckmx = false;
docheckns = false;
dochecksrv = false;
} else if (ARGCMP("none")) {
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
docheckmx = false;
docheckns = false;
dochecksrv = false;
} else {
fprintf(stderr, "invalid argument to -i: %s\n",
isc_commandline_argument);
@@ -220,12 +224,12 @@ main(int argc, char **argv) {
break;
case 'j':
nomerge = ISC_FALSE;
nomerge = false;
break;
case 'J':
journal = isc_commandline_argument;
nomerge = ISC_FALSE;
nomerge = false;
break;
case 'k':
@@ -246,7 +250,7 @@ main(int argc, char **argv) {
break;
case 'L':
snset = ISC_TRUE;
snset = true;
endp = NULL;
serialnum = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0') {
@@ -505,7 +509,7 @@ main(int argc, char **argv) {
strcmp(output_filename, "/dev/fd/1") == 0 ||
strcmp(output_filename, "/dev/stdout") == 0)) {
errout = stderr;
logdump = ISC_FALSE;
logdump = false;
}
if (isc_commandline_index + 2 != argc)
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -39,6 +42,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2000-2002, 2004-2007, 2009-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+4 -1
View File
@@ -1,8 +1,11 @@
# Copyright (C) 2009, 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# $Id: Makefile.in,v 1.8 2009/12/05 23:31:40 each Exp $
+2 -2
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")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -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
+12 -8
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2009, 2011, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
@@ -16,6 +19,7 @@
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -54,7 +58,7 @@
static char program[256];
const char *progname;
static enum { progmode_keygen, progmode_confgen} progmode;
isc_boolean_t verbose = ISC_FALSE; /* needed by util.c but not used here */
bool verbose = false; /* needed by util.c but not used here */
ISC_PLATFORM_NORETURN_PRE static void
usage(int status) ISC_PLATFORM_NORETURN_POST;
@@ -87,8 +91,8 @@ Usage:\n\
int
main(int argc, char **argv) {
isc_result_t result = ISC_R_SUCCESS;
isc_boolean_t show_final_mem = ISC_FALSE;
isc_boolean_t quiet = ISC_FALSE;
bool show_final_mem = false;
bool quiet = false;
isc_buffer_t key_txtbuffer;
char key_txtsecret[256];
isc_mem_t *mctx = NULL;
@@ -125,13 +129,13 @@ main(int argc, char **argv) {
if (PROGCMP("tsig-keygen")) {
progmode = progmode_keygen;
quiet = ISC_TRUE;
quiet = true;
} else if (PROGCMP("ddns-confgen"))
progmode = progmode_confgen;
else
INSIST(0);
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
while ((ch = isc_commandline_parse(argc, argv,
"a:hk:Mmr:qs:y:z:")) != -1) {
@@ -156,11 +160,11 @@ main(int argc, char **argv) {
isc_mem_debugging = ISC_MEM_DEBUGTRACE;
break;
case 'm':
show_final_mem = ISC_TRUE;
show_final_mem = true;
break;
case 'q':
if (progmode == progmode_confgen)
quiet = ISC_TRUE;
quiet = true;
else
usage(1);
break;
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2009, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -33,6 +36,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+4 -2
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: os.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
/*! \file */
+4 -3
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: keygen.c,v 1.4 2009/11/12 14:02:38 marka Exp $ */
/*! \file */
@@ -224,4 +226,3 @@ write_key_file(const char *keyfile, const char *user,
fatal("fclose(%s) failed\n", keyfile);
fprintf(stderr, "wrote key file \"%s\"\n", keyfile);
}
+4 -2
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: keygen.h,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
#ifndef RNDC_KEYGEN_H
#define RNDC_KEYGEN_H 1
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -217,5 +217,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br
+12 -8
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2001, 2003-2005, 2007-2009, 2011, 2013, 2014, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: rndc-confgen.c,v 1.7 2011/03/12 04:59:46 tbox Exp $ */
@@ -21,6 +24,7 @@
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -57,7 +61,7 @@
static char program[256];
const char *progname;
isc_boolean_t verbose = ISC_FALSE;
bool verbose = false;
const char *keyfile, *keydef;
@@ -106,7 +110,7 @@ Usage:\n\
int
main(int argc, char **argv) {
isc_boolean_t show_final_mem = ISC_FALSE;
bool show_final_mem = false;
isc_buffer_t key_txtbuffer;
char key_txtsecret[256];
isc_mem_t *mctx = NULL;
@@ -124,7 +128,7 @@ main(int argc, char **argv) {
struct in6_addr addr6_dummy;
char *chrootdir = NULL;
char *user = NULL;
isc_boolean_t keyonly = ISC_FALSE;
bool keyonly = false;
int len;
keydef = keyfile = RNDC_KEYFILE;
@@ -143,14 +147,14 @@ main(int argc, char **argv) {
serveraddr = DEFAULT_SERVER;
port = DEFAULT_PORT;
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
while ((ch = isc_commandline_parse(argc, argv,
"aA:b:c:hk:Mmp:r:s:t:u:Vy")) != -1)
{
switch (ch) {
case 'a':
keyonly = ISC_TRUE;
keyonly = true;
break;
case 'A':
algname = isc_commandline_argument;
@@ -177,7 +181,7 @@ main(int argc, char **argv) {
break;
case 'm':
show_final_mem = ISC_TRUE;
show_final_mem = true;
break;
case 'p':
port = strtol(isc_commandline_argument, &p, 10);
@@ -201,7 +205,7 @@ main(int argc, char **argv) {
user = isc_commandline_argument;
break;
case 'V':
verbose = ISC_TRUE;
verbose = true;
break;
case '?':
if (isc_commandline_option != '?') {
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -39,6 +42,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2001, 2003-2005, 2007, 2009, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+4 -3
View File
@@ -1,10 +1,11 @@
# Copyright (C) 2009, 2012, 2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# $Id: Makefile.in,v 1.3 2009/06/11 23:47:55 tbox Exp $
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
+4 -2
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
/*! \file */
+6 -4
View File
@@ -1,27 +1,29 @@
/*
* Copyright (C) 2009, 2015, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: util.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
/*! \file */
#include <config.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <isc/boolean.h>
#include <isc/print.h>
#include "util.h"
extern isc_boolean_t verbose;
extern bool verbose;
extern const char *progname;
void
+4 -2
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: util.h,v 1.4 2009/09/29 15:06:05 fdupont Exp $ */
#ifndef RNDC_UTIL_H
#define RNDC_UTIL_H 1
+4 -2
View File
@@ -1,12 +1,14 @@
/*
* Copyright (C) 2009, 2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: os.c,v 1.3 2009/06/11 23:47:55 tbox Exp $ */
#include <config.h>
+4 -1
View File
@@ -1,8 +1,11 @@
# Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -437,5 +437,5 @@ RFC5155\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2014-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+82 -79
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#include <config.h>
@@ -21,7 +24,9 @@
#include <netdb.h>
#endif
#include <stdbool.h>
#include <stdio.h>
#include <inttypes.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -91,40 +96,40 @@ static const char *port = "53";
static isc_sockaddr_t *srcaddr4 = NULL, *srcaddr6 = NULL;
static isc_sockaddr_t a4, a6;
static char *curqname = NULL, *qname = NULL;
static isc_boolean_t classset = ISC_FALSE;
static bool classset = false;
static dns_rdatatype_t qtype = dns_rdatatype_none;
static isc_boolean_t typeset = ISC_FALSE;
static bool typeset = false;
static unsigned int styleflags = 0;
static isc_uint32_t splitwidth = 0xffffffff;
static isc_boolean_t
showcomments = ISC_TRUE,
showdnssec = ISC_TRUE,
showtrust = ISC_TRUE,
rrcomments = ISC_TRUE,
noclass = ISC_FALSE,
nocrypto = ISC_FALSE,
nottl = ISC_FALSE,
multiline = ISC_FALSE,
short_form = ISC_FALSE,
print_unknown_format = ISC_FALSE;
static uint32_t splitwidth = 0xffffffff;
static bool
showcomments = true,
showdnssec = true,
showtrust = true,
rrcomments = true,
noclass = false,
nocrypto = false,
nottl = false,
multiline = false,
short_form = false,
print_unknown_format = false;
static isc_boolean_t
resolve_trace = ISC_FALSE,
validator_trace = ISC_FALSE,
message_trace = ISC_FALSE;
static bool
resolve_trace = false,
validator_trace = false,
message_trace = false;
static isc_boolean_t
use_ipv4 = ISC_TRUE,
use_ipv6 = ISC_TRUE;
static bool
use_ipv4 = true,
use_ipv6 = true;
static isc_boolean_t
cdflag = ISC_FALSE,
no_sigs = ISC_FALSE,
root_validation = ISC_TRUE,
dlv_validation = ISC_TRUE;
static bool
cdflag = false,
no_sigs = false,
root_validation = true,
dlv_validation = true;
static isc_boolean_t use_tcp = ISC_FALSE;
static bool use_tcp = false;
static char *anchorfile = NULL;
static char *trust_anchor = NULL;
@@ -141,10 +146,10 @@ static char anchortext[] = MANAGED_KEYS;
* Static function prototypes
*/
static isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict);
get_reverse(char *reverse, size_t len, char *value, bool strict);
static isc_result_t
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
parse_uint(uint32_t *uip, const char *value, uint32_t max,
const char *desc);
static void
@@ -405,7 +410,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
{
isc_result_t result = ISC_R_SUCCESS;
static dns_trust_t trust;
static isc_boolean_t first = ISC_TRUE;
static bool first = true;
isc_buffer_t target;
isc_region_t r;
char *t = NULL;
@@ -427,7 +432,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner,
putchar('\n');
print_status(rdataset);
trust = rdataset->trust;
first = ISC_FALSE;
first = false;
}
do {
@@ -547,8 +552,7 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) {
isc_buffer_constinit(&b, text, len);
isc_buffer_add(&b, len);
dns_fixedname_init(fn);
n = dns_fixedname_name(fn);
n = dns_fixedname_initname(fn);
result = dns_name_fromtext(n, &b, dns_rootname, 0, NULL);
if (result != ISC_R_SUCCESS) {
@@ -564,7 +568,7 @@ convert_name(dns_fixedname_t *fn, dns_name_t **name, const char *text) {
static isc_result_t
key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
dns_rdata_dnskey_t keystruct;
isc_uint32_t flags, proto, alg;
uint32_t flags, proto, alg;
const char *keystr, *keynamestr;
unsigned char keydata[4096];
isc_buffer_t keydatabuf;
@@ -574,7 +578,7 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
dns_fixedname_t fkeyname;
dns_name_t *keyname;
isc_result_t result;
isc_boolean_t match_root = ISC_FALSE, match_dlv = ISC_FALSE;
bool match_root = false, match_dlv = false;
keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name"));
CHECK(convert_name(&fkeyname, &keyname, keynamestr));
@@ -619,9 +623,9 @@ key_fromconfig(const cfg_obj_t *key, dns_client_t *client) {
if (alg > 0xff)
CHECK(ISC_R_RANGE);
keystruct.flags = (isc_uint16_t)flags;
keystruct.protocol = (isc_uint8_t)proto;
keystruct.algorithm = (isc_uint8_t)alg;
keystruct.flags = (uint16_t)flags;
keystruct.protocol = (uint8_t)proto;
keystruct.algorithm = (uint8_t)alg;
isc_buffer_init(&keydatabuf, keydata, sizeof(keydata));
isc_buffer_init(&rrdatabuf, rrdata, sizeof(rrdata));
@@ -776,7 +780,7 @@ addserver(dns_client_t *client) {
struct in6_addr in6;
isc_sockaddr_t *sa;
isc_sockaddrlist_t servers;
isc_uint32_t destport;
uint32_t destport;
isc_result_t result;
dns_name_t *name = NULL;
@@ -867,7 +871,7 @@ findserver(dns_client_t *client) {
irs_resconf_t *resconf = NULL;
isc_sockaddrlist_t *nameservers;
isc_sockaddr_t *sa, *next;
isc_uint32_t destport;
uint32_t destport;
result = parse_uint(&destport, port, 0xffff, "port");
if (result != ISC_R_SUCCESS)
@@ -954,9 +958,9 @@ next_token(char **stringp, const char *delim) {
}
static isc_result_t
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
parse_uint(uint32_t *uip, const char *value, uint32_t max,
const char *desc) {
isc_uint32_t n;
uint32_t n;
isc_result_t result = isc_parse_uint32(&n, value, 10);
if (result == ISC_R_SUCCESS && n > max)
result = ISC_R_RANGE;
@@ -974,7 +978,7 @@ plus_option(char *option) {
isc_result_t result;
char option_store[256];
char *cmd, *value, *ptr;
isc_boolean_t state = ISC_TRUE;
bool state = true;
strlcpy(option_store, option, sizeof(option_store));
ptr = option_store;
@@ -986,7 +990,7 @@ plus_option(char *option) {
value = ptr;
if (strncasecmp(cmd, "no", 2)==0) {
cmd += 2;
state = ISC_FALSE;
state = false;
}
#define FULLCHECK(A) \
@@ -1011,7 +1015,7 @@ plus_option(char *option) {
break;
case 'l': /* class */
FULLCHECK("class");
noclass = ISC_TF(!state);
noclass = !state;
break;
case 'o': /* comments */
FULLCHECK("comments");
@@ -1019,7 +1023,7 @@ plus_option(char *option) {
break;
case 'r': /* crypto */
FULLCHECK("crypto");
nocrypto = ISC_TF(!state);
nocrypto = !state;
break;
default:
goto invalid_option;
@@ -1092,10 +1096,10 @@ plus_option(char *option) {
FULLCHECK("short");
short_form = state;
if (short_form) {
multiline = ISC_FALSE;
showcomments = ISC_FALSE;
showtrust = ISC_FALSE;
showdnssec = ISC_FALSE;
multiline = false;
showcomments = false;
showtrust = false;
showdnssec = false;
}
break;
case 'p': /* split */
@@ -1147,7 +1151,7 @@ plus_option(char *option) {
break;
case 't': /* ttl */
FULLCHECK("ttl");
nottl = ISC_TF(!state);
nottl = !state;
break;
default:
goto invalid_option;
@@ -1175,11 +1179,11 @@ plus_option(char *option) {
* options: "46a:b:c:d:himp:q:t:vx:";
*/
static const char *single_dash_opts = "46himv";
static isc_boolean_t
dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
static bool
dash_option(char *option, char *next, bool *open_type_class) {
char opt, *value;
isc_result_t result;
isc_boolean_t value_from_next;
bool value_from_next;
isc_textregion_t tr;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
@@ -1187,7 +1191,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
struct in_addr in4;
struct in6_addr in6;
in_port_t srcport;
isc_uint32_t num;
uint32_t num;
char *hash;
while (strpbrk(option, single_dash_opts) == &option[0]) {
@@ -1203,7 +1207,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
fatal("IPv4 networking not available");
if (use_ipv6) {
isc_net_disableipv6();
use_ipv6 = ISC_FALSE;
use_ipv6 = false;
}
break;
case '6':
@@ -1211,7 +1215,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
fatal("IPv6 networking not available");
if (use_ipv4) {
isc_net_disableipv4();
use_ipv4 = ISC_FALSE;
use_ipv4 = false;
}
break;
case 'h':
@@ -1219,9 +1223,9 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
exit(0);
/* NOTREACHED */
case 'i':
no_sigs = ISC_TRUE;
dlv_validation = ISC_FALSE;
root_validation = ISC_FALSE;
no_sigs = true;
dlv_validation = false;
root_validation = false;
break;
case 'm':
/* handled in preparse_args() */
@@ -1236,14 +1240,14 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
if (strlen(option) > 1U)
option = &option[1];
else
return (ISC_FALSE);
return (false);
}
opt = option[0];
if (strlen(option) > 1U) {
value_from_next = ISC_FALSE;
value_from_next = false;
value = &option[1];
} else {
value_from_next = ISC_TRUE;
value_from_next = true;
value = next;
}
if (value == NULL)
@@ -1289,13 +1293,13 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
if (classset)
warn("extra query class");
*open_type_class = ISC_FALSE;
*open_type_class = false;
tr.base = value;
tr.length = strlen(value);
result = dns_rdataclass_fromtext(&rdclass,
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS)
classset = ISC_TRUE;
classset = true;
else if (rdclass != dns_rdataclass_in)
warn("ignoring non-IN query class");
else
@@ -1320,7 +1324,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
fatal("out of memory");
return (value_from_next);
case 't':
*open_type_class = ISC_FALSE;
*open_type_class = false;
tr.base = value;
tr.length = strlen(value);
result = dns_rdatatype_fromtext(&rdtype,
@@ -1332,13 +1336,13 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
rdtype == dns_rdatatype_axfr)
fatal("Transfer not supported");
qtype = rdtype;
typeset = ISC_TRUE;
typeset = true;
} else
warn("ignoring invalid type");
return (value_from_next);
case 'x':
result = get_reverse(textname, sizeof(textname), value,
ISC_FALSE);
false);
if (result == ISC_R_SUCCESS) {
if (curqname != NULL) {
isc_mem_free(mctx, curqname);
@@ -1350,7 +1354,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
if (typeset)
warn("extra query type");
qtype = dns_rdatatype_ptr;
typeset = ISC_TRUE;
typeset = true;
} else {
fprintf(stderr, "Invalid IP address %s\n", value);
exit(1);
@@ -1362,7 +1366,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
usage();
}
/* NOTREACHED */
return (ISC_FALSE);
return (false);
}
/*
@@ -1371,7 +1375,7 @@ dash_option(char *option, char *next, isc_boolean_t *open_type_class) {
*/
static void
preparse_args(int argc, char **argv) {
isc_boolean_t ipv4only = ISC_FALSE, ipv6only = ISC_FALSE;
bool ipv4only = false, ipv6only = false;
char *option;
for (argc--, argv++; argc > 0; argc--, argv++) {
@@ -1388,13 +1392,13 @@ preparse_args(int argc, char **argv) {
if (ipv6only) {
fatal("only one of -4 and -6 allowed");
}
ipv4only = ISC_TRUE;
ipv4only = true;
break;
case '6':
if (ipv4only) {
fatal("only one of -4 and -6 allowed");
}
ipv6only = ISC_TRUE;
ipv6only = true;
break;
}
option = &option[1];
@@ -1414,7 +1418,7 @@ parse_args(int argc, char **argv) {
isc_textregion_t tr;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
isc_boolean_t open_type_class = ISC_TRUE;
bool open_type_class = true;
for (; argc > 0; argc--, argv++) {
if (argv[0][0] == '@') {
@@ -1453,7 +1457,7 @@ parse_args(int argc, char **argv) {
rdtype == dns_rdatatype_axfr)
fatal("Transfer not supported");
qtype = rdtype;
typeset = ISC_TRUE;
typeset = true;
continue;
}
result = dns_rdataclass_fromtext(&rdclass,
@@ -1522,7 +1526,7 @@ reverse_octets(const char *in, char **p, char *end) {
}
static isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict) {
get_reverse(char *reverse, size_t len, char *value, bool strict) {
int r;
isc_result_t result;
isc_netaddr_t addr;
@@ -1535,8 +1539,7 @@ get_reverse(char *reverse, size_t len, char *value, isc_boolean_t strict) {
dns_name_t *name;
unsigned int options = 0;
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
name = dns_fixedname_initname(&fname);
result = dns_byaddr_createptrname2(&addr, options, name);
if (result != ISC_R_SUCCESS)
return (result);
+5 -1
View File
@@ -1,11 +1,14 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -35,6 +38,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+10 -7
View File
@@ -1,8 +1,11 @@
# Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2012-2017 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
@@ -16,7 +19,7 @@ READLINE_LIB = @READLINE_LIB@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} \
${BIND9_INCLUDES} ${ISC_INCLUDES} \
${LWRES_INCLUDES} ${ISCCFG_INCLUDES} @DST_OPENSSL_INC@
${LWRES_INCLUDES} ${ISCCFG_INCLUDES} @LIBIDN2_CFLAGS@ @DST_OPENSSL_INC@
CDEFINES = -DVERSION=\"${VERSION}\" @CRYPTO@
CWARNINGS =
@@ -38,10 +41,10 @@ DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} \
${ISCCFGDEPLIBS} ${LWRESDEPLIBS}
LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
${ISCLIBS} @IDNLIBS@ @LIBS@
${ISCLIBS} @IDNKIT_LIBS@ @LIBIDN2_LIBS@ @LIBS@
NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
${ISCNOSYMLIBS} @IDNKIT_LIBS@ @LIBIDN2_LIBS@ @LIBS@
SUBDIRS =
@@ -96,12 +99,12 @@ install:: dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
nslookup@EXEEXT@ ${DESTDIR}${bindir}
for m in ${MANPAGES}; do \
${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man1; \
done
${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man1 || exit 1; \
done
uninstall::
for m in ${MANPAGES}; do \
rm -f ${DESTDIR}${mandir}/man1/$$m ; \
rm -f ${DESTDIR}${mandir}/man1/$$m || exit 1; \
done
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${bindir}/nslookup@EXEEXT@
${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${bindir}/host@EXEEXT@
+14 -8
View File
@@ -176,7 +176,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
@@ -210,13 +210,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
\-u
@@ -464,6 +466,11 @@ Show [or do not show] the IP address and port number that supplied the answer wh
option is enabled\&. If short form answers are requested, the default is not to show the source address and port number of the server that provided the answer\&.
.RE
.PP
\fB+[no]idnin\fR
.RS 4
Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&. The default is to process IDN input\&.
.RE
.PP
\fB+[no]idnout\fR
.RS 4
Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&. The default is to convert output\&.
@@ -768,11 +775,10 @@ If
\fBdig\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&.
\fBdig\fR
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server\&. If you\*(Aqd like to turn off the IDN support for some reason, defines the
\fBIDN_DISABLE\fR
environment variable\&. The IDN support is disabled if the variable is set when
\fBdig\fR
runs\&.
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server\&. If you\*(Aqd like to turn off the IDN support for some reason, use parameters
\fI+noidnin\fR
and
\fI+noidnout\fR\&.
.SH "FILES"
.PP
/etc/resolv\&.conf
@@ -784,7 +790,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\&.
+187 -159
View File
@@ -1,14 +1,20 @@
/*
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
@@ -58,13 +64,13 @@ static int addresscount = 0;
static char domainopt[DNS_NAME_MAXTEXT];
static char hexcookie[81];
static isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
ip6_int = ISC_FALSE, plusquest = ISC_FALSE, pluscomm = ISC_FALSE,
multiline = ISC_FALSE, nottl = ISC_FALSE, noclass = ISC_FALSE,
onesoa = ISC_FALSE, use_usec = ISC_FALSE,
nocrypto = ISC_FALSE, ttlunits = ISC_FALSE,
ipv4only = ISC_FALSE, ipv6only = ISC_FALSE;
static isc_uint32_t splitwidth = 0xffffffff;
static bool short_form = false, printcmd = true,
ip6_int = false, plusquest = false, pluscomm = false,
multiline = false, nottl = false, noclass = false,
onesoa = false, use_usec = false,
nocrypto = false, ttlunits = false,
ipv4only = false, ipv6only = false;
static uint32_t splitwidth = 0xffffffff;
/*% rrcomments are neither explicitly enabled nor disabled by default */
static int rrcomments = 0;
@@ -187,7 +193,8 @@ help(void) {
" +[no]fail (Don't try next server on SERVFAIL)\n"
" +[no]header-only (Send query without a question section)\n"
" +[no]identify (ID responders in short answers)\n"
" +[no]idnout (convert IDN response)\n"
" +[no]idnin (Parse IDN names)\n"
" +[no]idnout (Convert IDN response)\n"
" +[no]ignore (Don't revert to TCP for TC responses.)\n"
" +[no]keepopen (Keep the TCP socket open between queries)\n"
" +[no]mapped (Allow mapped IPv4 over IPv6)\n"
@@ -240,8 +247,8 @@ help(void) {
* Callback from dighost.c to print the received message.
*/
static void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_uint64_t diff;
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
uint64_t diff;
time_t tnow;
struct tm tmnow;
#ifdef WIN32
@@ -282,36 +289,36 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
#endif
if (query->lookup->doing_xfr) {
printf(";; XFR size: %u records (messages %u, "
"bytes %" ISC_PRINT_QUADFORMAT "u)\n",
"bytes %" PRIu64 ")\n",
query->rr_count, query->msg_count,
query->byte_count);
} 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("");
} else if (query->lookup->identify && !short_form) {
diff = isc_time_microdiff(&query->time_recv, &query->time_sent);
if (use_usec)
printf(";; Received %" ISC_PRINT_QUADFORMAT "u bytes "
printf(";; Received %" PRIu64 " bytes "
"from %s(%s) in %ld us\n\n",
query->lookup->doing_xfr
? query->byte_count
: (isc_uint64_t)bytes,
: (uint64_t)bytes,
fromtext, query->userarg, (long) diff);
else
printf(";; Received %" ISC_PRINT_QUADFORMAT "u bytes "
printf(";; Received %" PRIu64 " bytes "
"from %s(%s) in %ld ms\n\n",
query->lookup->doing_xfr
? query->byte_count
: (isc_uint64_t)bytes,
: (uint64_t)bytes,
fromtext, query->userarg, (long) diff / 1000);
}
}
@@ -333,7 +340,7 @@ trying(char *frm, dig_lookup_t *lookup) {
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;
uint64_t diff;
char store[sizeof(" in 18446744073709551616 us.")];
unsigned int styleflags = 0;
@@ -362,9 +369,9 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
ADD_STRING(buf, " from server ");
ADD_STRING(buf, query->servname);
if (use_usec)
snprintf(store, sizeof(store), " in %" ISC_PLATFORM_QUADFORMAT "u us.", diff);
snprintf(store, sizeof(store), " in %" PRIu64 " us.", diff);
else
snprintf(store, sizeof(store), " in %" ISC_PLATFORM_QUADFORMAT "u ms.", diff / 1000);
snprintf(store, sizeof(store), " in %" PRIu64 " ms.", diff / 1000);
ADD_STRING(buf, store);
}
ADD_STRING(buf, "\n");
@@ -431,7 +438,7 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
unsigned int styleflags = 0;
if (rdataset == NULL || owner_name == NULL || target == NULL)
return(ISC_FALSE);
return(false);
styleflags |= DNS_STYLEFLAG_REL_OWNER;
if (ttlunits)
@@ -481,7 +488,7 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
}
#endif
static isc_boolean_t
static bool
isdotlocal(dns_message_t *msg) {
isc_result_t result;
static unsigned char local_ndata[] = { "\005local\0" };
@@ -496,16 +503,16 @@ isdotlocal(dns_message_t *msg) {
dns_name_t *name = NULL;
dns_message_currentname(msg, DNS_SECTION_QUESTION, &name);
if (dns_name_issubdomain(name, &local))
return (ISC_TRUE);
return (true);
}
return (ISC_FALSE);
return (false);
}
/*
* Callback from dighost.c to print the reply from a server
*/
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
isc_result_t result;
dns_messagetextflag_t flags;
isc_buffer_t *buf = NULL;
@@ -747,7 +754,7 @@ cleanup:
static void
printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
int i;
static isc_boolean_t first = ISC_TRUE;
static bool first = true;
char append[MXNAME];
if (printcmd) {
@@ -774,7 +781,7 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
";; global options:%s%s\n",
short_form ? " +short" : "",
printcmd ? " +cmd" : "");
first = ISC_FALSE;
first = false;
strlcat(lookup->cmdline, append,
sizeof(lookup->cmdline));
}
@@ -789,14 +796,14 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
*/
static void
plus_option(const char *option, isc_boolean_t is_batchfile,
plus_option(const char *option, bool is_batchfile,
dig_lookup_t *lookup)
{
isc_result_t result;
char option_store[256];
char *cmd, *value, *ptr, *code;
isc_uint32_t num;
isc_boolean_t state = ISC_TRUE;
uint32_t num;
bool state = true;
size_t n;
strlcpy(option_store, option, sizeof(option_store));
@@ -809,7 +816,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
value = ptr;
if (strncasecmp(cmd, "no", 2)==0) {
cmd += 2;
state = ISC_FALSE;
state = false;
}
#define FULLCHECK(A) \
@@ -912,7 +919,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
case 'l': /* class */
/* keep +cl for backwards compatibility */
FULLCHECK2("cl", "class");
noclass = ISC_TF(!state);
noclass = !state;
break;
case 'm': /* cmd */
FULLCHECK("cmd");
@@ -946,7 +953,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
break;
case 'r':
FULLCHECK("crypto");
nocrypto = ISC_TF(!state);
nocrypto = !state;
break;
default:
goto invalid_option;
@@ -1047,11 +1054,17 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
lookup->ednsoptscnt = 0;
break;
}
if (value == NULL)
code = NULL;
if (value != NULL) {
code = strtok(value,
":");
}
if (code == NULL) {
fatal("ednsopt no "
"code point "
"specified");
code = next_token(&value, ":");
}
value = strtok(NULL, "\0");
save_opt(lookup, code, value);
break;
default:
@@ -1091,13 +1104,29 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
lookup->identify = state;
break;
case 'n':
FULLCHECK("idnout");
#ifndef WITH_IDN
fprintf(stderr, ";; IDN support not enabled\n");
switch (cmd[3]) {
case 'i':
FULLCHECK("idnin");
#ifndef WITH_IDN_SUPPORT
fprintf(stderr, ";; IDN input support"
" not enabled\n");
#else
lookup->idnout = state;
lookup->idnin = state;
#endif
break;
case 'o':
FULLCHECK("idnout");
#ifndef WITH_IDN_OUT_SUPPORT
fprintf(stderr, ";; IDN output support"
" not enabled\n");
#else
lookup->idnout = state;
#endif
break;
default:
goto invalid_option;
}
break;
default:
goto invalid_option;
}
@@ -1153,17 +1182,17 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
FULLCHECK("nssearch");
lookup->ns_search_only = state;
if (state) {
lookup->trace_root = ISC_TRUE;
lookup->recurse = ISC_TRUE;
lookup->identify = ISC_TRUE;
lookup->stats = ISC_FALSE;
lookup->comments = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
lookup->trace_root = true;
lookup->recurse = true;
lookup->identify = true;
lookup->stats = false;
lookup->comments = false;
lookup->section_additional = false;
lookup->section_authority = false;
lookup->section_question = false;
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
short_form = ISC_TRUE;
lookup->rdtypeset = true;
short_form = true;
rrcomments = 0;
}
break;
@@ -1276,13 +1305,13 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
FULLCHECK("short");
short_form = state;
if (state) {
printcmd = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_answer = ISC_TRUE;
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
lookup->comments = ISC_FALSE;
lookup->stats = ISC_FALSE;
printcmd = false;
lookup->section_additional = false;
lookup->section_answer = true;
lookup->section_authority = false;
lookup->section_question = false;
lookup->comments = false;
lookup->stats = false;
rrcomments = -1;
}
break;
@@ -1302,7 +1331,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
FULLCHECK("sigchase");
lookup->sigchase = state;
if (lookup->sigchase)
lookup->dnssec = ISC_TRUE;
lookup->dnssec = true;
break;
#endif
case 'p': /* split */
@@ -1317,11 +1346,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
@@ -1370,7 +1399,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
FULLCHECK("tcp");
if (!is_batchfile) {
lookup->tcp_mode = state;
lookup->tcp_mode_set = ISC_TRUE;
lookup->tcp_mode_set = true;
}
break;
case 'i': /* timeout */
@@ -1399,17 +1428,17 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
lookup->trace = state;
lookup->trace_root = state;
if (state) {
lookup->recurse = ISC_FALSE;
lookup->identify = ISC_TRUE;
lookup->comments = ISC_FALSE;
lookup->recurse = false;
lookup->identify = true;
lookup->comments = false;
rrcomments = 0;
lookup->stats = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_authority = ISC_TRUE;
lookup->section_question = ISC_FALSE;
lookup->dnssec = ISC_TRUE;
lookup->sendcookie = ISC_TRUE;
usesearch = ISC_FALSE;
lookup->stats = false;
lookup->section_additional = false;
lookup->section_authority = true;
lookup->section_question = false;
lookup->dnssec = true;
lookup->sendcookie = true;
usesearch = false;
}
break;
case 'i': /* tries */
@@ -1449,12 +1478,12 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
case 0:
case 'i': /* ttlid */
FULLCHECK2("ttl", "ttlid");
nottl = ISC_TF(!state);
nottl = !state;
break;
case 'u': /* ttlunits */
FULLCHECK("ttlunits");
nottl = ISC_FALSE;
ttlunits = ISC_TF(state);
nottl = false;
ttlunits = state;
break;
default:
goto invalid_option;
@@ -1476,7 +1505,7 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
FULLCHECK("vc");
if (!is_batchfile) {
lookup->tcp_mode = state;
lookup->tcp_mode_set = ISC_TRUE;
lookup->tcp_mode_set = true;
}
break;
case 'z': /* zflag */
@@ -1494,19 +1523,19 @@ plus_option(const char *option, isc_boolean_t is_batchfile,
}
/*%
* #ISC_TRUE returned if value was used
* #true returned if value was used
*/
static const char *single_dash_opts = "46dhimnuv";
static const char *dash_opts = "46bcdfhikmnptvyx";
static isc_boolean_t
static bool
dash_option(char *option, char *next, dig_lookup_t **lookup,
isc_boolean_t *open_type_class, isc_boolean_t *need_clone,
isc_boolean_t config_only, int argc, char **argv,
isc_boolean_t *firstarg)
bool *open_type_class, bool *need_clone,
bool config_only, int argc, char **argv,
bool *firstarg)
{
char opt, *value, *ptr, *ptr2, *ptr3;
isc_result_t result;
isc_boolean_t value_from_next;
bool value_from_next;
isc_textregion_t tr;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
@@ -1515,7 +1544,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
struct in6_addr in6;
in_port_t srcport;
char *hash, *cmd;
isc_uint32_t num;
uint32_t num;
while (strpbrk(option, single_dash_opts) == &option[0]) {
/*
@@ -1528,21 +1557,21 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
case '4':
if (have_ipv4) {
isc_net_disableipv6();
have_ipv6 = ISC_FALSE;
have_ipv6 = false;
} else {
fatal("can't find IPv4 networking");
/* NOTREACHED */
return (ISC_FALSE);
return (false);
}
break;
case '6':
if (have_ipv6) {
isc_net_disableipv4();
have_ipv4 = ISC_FALSE;
have_ipv4 = false;
} else {
fatal("can't find IPv6 networking");
/* NOTREACHED */
return (ISC_FALSE);
return (false);
}
break;
case 'd':
@@ -1550,17 +1579,17 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
if (ptr != &option[1]) {
cmd = option;
FULLCHECK("debug");
debugging = ISC_TRUE;
return (ISC_FALSE);
debugging = true;
return (false);
} else
debugging = ISC_TRUE;
debugging = true;
break;
case 'h':
help();
exit(0);
break;
case 'i':
ip6_int = ISC_TRUE;
ip6_int = true;
break;
case 'm': /* memdebug */
/* memdebug is handled in preparse_args() */
@@ -1569,7 +1598,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
/* deprecated */
break;
case 'u':
use_usec = ISC_TRUE;
use_usec = true;
break;
case 'v':
version();
@@ -1579,14 +1608,14 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
if (strlen(option) > 1U)
option = &option[1];
else
return (ISC_FALSE);
return (false);
}
opt = option[0];
if (strlen(option) > 1U) {
value_from_next = ISC_FALSE;
value_from_next = false;
value = &option[1];
} else {
value_from_next = ISC_TRUE;
value_from_next = true;
value = next;
}
if (value == NULL)
@@ -1616,20 +1645,20 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
}
if (hash != NULL)
*hash = '#';
specified_source = ISC_TRUE;
specified_source = true;
return (value_from_next);
case 'c':
if ((*lookup)->rdclassset) {
fprintf(stderr, ";; Warning, extra class option\n");
}
*open_type_class = ISC_FALSE;
*open_type_class = false;
tr.base = value;
tr.length = (unsigned int) strlen(value);
result = dns_rdataclass_fromtext(&rdclass,
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS) {
(*lookup)->rdclass = rdclass;
(*lookup)->rdclassset = ISC_TRUE;
(*lookup)->rdclassset = true;
} else
fprintf(stderr, ";; Warning, ignoring "
"invalid class %s\n",
@@ -1651,23 +1680,23 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
if (!config_only) {
if (*need_clone)
(*lookup) = clone_lookup(default_lookup,
ISC_TRUE);
*need_clone = ISC_TRUE;
true);
*need_clone = true;
strlcpy((*lookup)->textname, value,
sizeof((*lookup)->textname));
(*lookup)->trace_root = ISC_TF((*lookup)->trace ||
(*lookup)->ns_search_only);
(*lookup)->new_search = ISC_TRUE;
(*lookup)->trace_root = ((*lookup)->trace ||
(*lookup)->ns_search_only);
(*lookup)->new_search = true;
if (*firstarg) {
printgreeting(argc, argv, *lookup);
*firstarg = ISC_FALSE;
*firstarg = false;
}
ISC_LIST_APPEND(lookup_list, (*lookup), link);
debug("looking up %s", (*lookup)->textname);
}
return (value_from_next);
case 't':
*open_type_class = ISC_FALSE;
*open_type_class = false;
if (strncasecmp(value, "ixfr=", 5) == 0) {
rdtype = dns_rdatatype_ixfr;
result = ISC_R_SUCCESS;
@@ -1687,9 +1716,9 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
"extra type option\n");
}
if (rdtype == dns_rdatatype_ixfr) {
isc_uint32_t serial;
uint32_t serial;
(*lookup)->rdtype = dns_rdatatype_ixfr;
(*lookup)->rdtypeset = ISC_TRUE;
(*lookup)->rdtypeset = true;
result = parse_uint(&serial, &value[5],
MAXSERIAL, "serial number");
if (result != ISC_R_SUCCESS)
@@ -1698,19 +1727,19 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
(*lookup)->section_question = plusquest;
(*lookup)->comments = pluscomm;
if (!(*lookup)->tcp_mode_set)
(*lookup)->tcp_mode = ISC_TRUE;
(*lookup)->tcp_mode = true;
} else {
(*lookup)->rdtype = rdtype;
if (!config_only)
(*lookup)->rdtypeset = ISC_TRUE;
(*lookup)->rdtypeset = true;
if (rdtype == dns_rdatatype_axfr) {
(*lookup)->section_question = plusquest;
(*lookup)->comments = pluscomm;
} else if (rdtype == dns_rdatatype_any) {
if (!(*lookup)->tcp_mode_set)
(*lookup)->tcp_mode = ISC_TRUE;
(*lookup)->tcp_mode = true;
}
(*lookup)->ixfr_serial = ISC_FALSE;
(*lookup)->ixfr_serial = false;
}
} else
fprintf(stderr, ";; Warning, ignoring "
@@ -1743,24 +1772,24 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
return (value_from_next);
case 'x':
if (*need_clone)
*lookup = clone_lookup(default_lookup, ISC_TRUE);
*need_clone = ISC_TRUE;
*lookup = clone_lookup(default_lookup, true);
*need_clone = true;
if (get_reverse(textname, sizeof(textname), value,
ip6_int, ISC_FALSE) == ISC_R_SUCCESS) {
ip6_int, false) == ISC_R_SUCCESS) {
strlcpy((*lookup)->textname, textname,
sizeof((*lookup)->textname));
debug("looking up %s", (*lookup)->textname);
(*lookup)->trace_root = ISC_TF((*lookup)->trace ||
(*lookup)->ns_search_only);
(*lookup)->trace_root = ((*lookup)->trace ||
(*lookup)->ns_search_only);
(*lookup)->ip6_int = ip6_int;
if (!(*lookup)->rdtypeset)
(*lookup)->rdtype = dns_rdatatype_ptr;
if (!(*lookup)->rdclassset)
(*lookup)->rdclass = dns_rdataclass_in;
(*lookup)->new_search = ISC_TRUE;
(*lookup)->new_search = true;
if (*firstarg) {
printgreeting(argc, argv, *lookup);
*firstarg = ISC_FALSE;
*firstarg = false;
}
ISC_LIST_APPEND(lookup_list, *lookup, link);
} else {
@@ -1774,7 +1803,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
usage();
}
/* NOTREACHED */
return (ISC_FALSE);
return (false);
}
/*%
@@ -1801,19 +1830,19 @@ preparse_args(int argc, char **argv) {
while (strpbrk(option, single_dash_opts) == &option[0]) {
switch (option[0]) {
case 'm':
memdebugging = ISC_TRUE;
memdebugging = true;
isc_mem_debugging = ISC_MEM_DEBUGTRACE |
ISC_MEM_DEBUGRECORD;
break;
case '4':
if (ipv6only)
fatal("only one of -4 and -6 allowed");
ipv4only = ISC_TRUE;
ipv4only = true;
break;
case '6':
if (ipv4only)
fatal("only one of -4 and -6 allowed");
ipv6only = ISC_TRUE;
ipv6only = true;
break;
}
option = &option[1];
@@ -1822,16 +1851,16 @@ preparse_args(int argc, char **argv) {
}
static void
parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
parse_args(bool is_batchfile, bool config_only,
int argc, char **argv)
{
isc_result_t result;
isc_textregion_t tr;
isc_boolean_t firstarg = ISC_TRUE;
bool firstarg = true;
dig_lookup_t *lookup = NULL;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
isc_boolean_t open_type_class = ISC_TRUE;
bool open_type_class = true;
char batchline[MXNAME];
int bargc;
char *bargv[64];
@@ -1843,7 +1872,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
#endif
char *input;
int i;
isc_boolean_t need_clone = ISC_TRUE;
bool need_clone = true;
/*
* The semantics for parsing the args is a bit complex; if
@@ -1860,9 +1889,9 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (!is_batchfile) {
debug("making new lookup");
default_lookup = make_empty_lookup();
default_lookup->adflag = ISC_TRUE;
default_lookup->adflag = true;
default_lookup->edns = 0;
default_lookup->sendcookie = ISC_TRUE;
default_lookup->sendcookie = true;
#ifndef NOPOSIX
/*
@@ -1884,8 +1913,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");
@@ -1897,7 +1925,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
for(i = 0; i < bargc; i++)
debug(".digrc argv %d: %s",
i, bargv[i]);
parse_args(ISC_TRUE, ISC_TRUE, bargc,
parse_args(true, true, bargc,
(char **)bargv);
}
fclose(batchfp);
@@ -1907,8 +1935,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (is_batchfile && !config_only) {
/* Processing '-f batchfile'. */
lookup = clone_lookup(default_lookup, ISC_TRUE);
need_clone = ISC_FALSE;
lookup = clone_lookup(default_lookup, true);
need_clone = false;
} else
lookup = default_lookup;
@@ -1990,10 +2018,10 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
"extra type option\n");
}
if (rdtype == dns_rdatatype_ixfr) {
isc_uint32_t serial;
uint32_t serial;
lookup->rdtype =
dns_rdatatype_ixfr;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
result = parse_uint(&serial,
&rv[0][5],
MAXSERIAL,
@@ -2006,10 +2034,10 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
plusquest;
lookup->comments = pluscomm;
if (!lookup->tcp_mode_set)
lookup->tcp_mode = ISC_TRUE;
lookup->tcp_mode = true;
} else {
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
if (rdtype ==
dns_rdatatype_axfr) {
lookup->section_question =
@@ -2019,8 +2047,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (rdtype ==
dns_rdatatype_any &&
!lookup->tcp_mode_set)
lookup->tcp_mode = ISC_TRUE;
lookup->ixfr_serial = ISC_FALSE;
lookup->tcp_mode = true;
lookup->ixfr_serial = false;
}
continue;
}
@@ -2032,7 +2060,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
"extra class option\n");
}
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
lookup->rdclassset = true;
continue;
}
}
@@ -2040,16 +2068,16 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (!config_only) {
if (need_clone)
lookup = clone_lookup(default_lookup,
ISC_TRUE);
need_clone = ISC_TRUE;
true);
need_clone = true;
strlcpy(lookup->textname, rv[0],
sizeof(lookup->textname));
lookup->trace_root = ISC_TF(lookup->trace ||
lookup->ns_search_only);
lookup->new_search = ISC_TRUE;
lookup->trace_root = (lookup->trace ||
lookup->ns_search_only);
lookup->new_search = true;
if (firstarg) {
printgreeting(argc, argv, lookup);
firstarg = ISC_FALSE;
firstarg = false;
}
ISC_LIST_APPEND(lookup_list, lookup, link);
debug("looking up %s", lookup->textname);
@@ -2084,7 +2112,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");
}
@@ -2094,7 +2122,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
for(i = 0; i < bargc; i++)
debug("batch argv %d: %s", i, bargv[i]);
parse_args(ISC_TRUE, ISC_FALSE, bargc, (char **)bargv);
parse_args(true, false, bargc, (char **)bargv);
return;
}
return;
@@ -2104,17 +2132,17 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
*/
if ((lookup_list.head == NULL) && !config_only) {
if (need_clone)
lookup = clone_lookup(default_lookup, ISC_TRUE);
need_clone = ISC_TRUE;
lookup->trace_root = ISC_TF(lookup->trace ||
lookup->ns_search_only);
lookup->new_search = ISC_TRUE;
lookup = clone_lookup(default_lookup, true);
need_clone = true;
lookup->trace_root = (lookup->trace ||
lookup->ns_search_only);
lookup->new_search = true;
strlcpy(lookup->textname, ".", sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
if (firstarg) {
printgreeting(argc, argv, lookup);
firstarg = ISC_FALSE;
firstarg = false;
}
ISC_LIST_APPEND(lookup_list, lookup, link);
}
@@ -2154,7 +2182,7 @@ query_finished(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");
}
@@ -2163,7 +2191,7 @@ query_finished(void) {
for(i = 0; i < bargc; i++)
debug("batch argv %d: %s", i, bargv[i]);
parse_args(ISC_TRUE, ISC_FALSE, bargc, (char **)bargv);
parse_args(true, false, bargc, (char **)bargv);
start_lookup();
} else {
batchname = NULL;
@@ -2203,7 +2231,7 @@ void dig_setup(int argc, char **argv)
setup_system(ipv4only, ipv6only);
}
void dig_query_setup(isc_boolean_t is_batchfile, isc_boolean_t config_only,
void dig_query_setup(bool is_batchfile, bool config_only,
int argc, char **argv)
{
debug("dig_query_setup");
@@ -2215,7 +2243,7 @@ void dig_query_setup(isc_boolean_t is_batchfile, isc_boolean_t config_only,
setup_text_key();
if (domainopt[0] != '\0') {
set_search_domain(domainopt);
usesearch = ISC_TRUE;
usesearch = true;
}
}
@@ -2257,7 +2285,7 @@ int
main(int argc, char **argv) {
dig_setup(argc, argv);
dig_query_setup(ISC_FALSE, ISC_FALSE, argc, argv);
dig_query_setup(false, false, argc, argv);
dig_startup();
dig_shutdown();
+33 -13
View File
@@ -1,11 +1,14 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -272,9 +275,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>
@@ -335,11 +338,12 @@
<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
@@ -347,6 +351,12 @@
record was
<parameter>N</parameter>.
</para>
<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>
@@ -773,6 +783,17 @@
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]idnin</option></term>
<listitem>
<para>
Process [do not process] IDN domain names on input.
This requires IDN SUPPORT to have been enabled at
compile time. The default is to process IDN input.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]idnout</option></term>
<listitem>
@@ -1265,10 +1286,9 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
<command>dig</command> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <envar>IDN_DISABLE</envar> environment variable.
The IDN support is disabled if the variable is set when
<command>dig</command> runs.
If you'd like to turn off the IDN support for some reason, use
parameters <parameter>+noidnin</parameter> and
<parameter>+noidnout</parameter>.
</para>
</refsection>
@@ -1294,7 +1314,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>
+26 -12
View File
@@ -230,9 +230,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>
@@ -277,11 +277,12 @@
<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
@@ -289,6 +290,12 @@
record was
<em class="parameter"><code>N</code></em>.
</p>
<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">-u</span></dt>
<dd>
@@ -619,6 +626,14 @@
server that provided the answer.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]idnin</code></span></dt>
<dd>
<p>
Process [do not process] IDN domain names on input.
This requires IDN SUPPORT to have been enabled at
compile time. The default is to process IDN input.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]idnout</code></span></dt>
<dd>
<p>
@@ -1014,10 +1029,9 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
<span class="command"><strong>dig</strong></span> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <code class="envar">IDN_DISABLE</code> environment variable.
The IDN support is disabled if the variable is set when
<span class="command"><strong>dig</strong></span> runs.
If you'd like to turn off the IDN support for some reason, use
parameters <em class="parameter"><code>+noidnin</code></em> and
<em class="parameter"><code>+noidnout</code></em>.
</p>
</div>
@@ -1045,7 +1059,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>
+597 -458
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -265,5 +265,5 @@ runs\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+97 -92
View File
@@ -1,14 +1,20 @@
/*
* Copyright (C) 2000-2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <limits.h>
@@ -16,7 +22,7 @@
#include <locale.h>
#endif
#ifdef WITH_IDN
#ifdef WITH_IDNKIT
#include <idn/result.h>
#include <idn/log.h>
#include <idn/resconf.h>
@@ -44,13 +50,13 @@
#include <dig/dig.h>
static isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static isc_boolean_t default_lookups = ISC_TRUE;
static bool short_form = true, listed_server = false;
static bool default_lookups = true;
static int seen_error = -1;
static isc_boolean_t list_addresses = ISC_TRUE;
static bool list_addresses = true;
static dns_rdatatype_t list_type = dns_rdatatype_a;
static isc_boolean_t printed_server = ISC_FALSE;
static isc_boolean_t ipv4only = ISC_FALSE, ipv6only = ISC_FALSE;
static bool printed_server = false;
static bool ipv4only = false, ipv6only = false;
static const char *opcodetext[] = {
"QUERY",
@@ -167,7 +173,7 @@ host_shutdown(void) {
}
static void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_time_t now;
int diff;
@@ -232,12 +238,12 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
UNUSED(owner_name);
UNUSED(rdataset);
UNUSED(target);
return(ISC_FALSE);
return(false);
}
#endif
static isc_result_t
printsection(dns_message_t *msg, dns_section_t sectionid,
const char *section_name, isc_boolean_t headers,
const char *section_name, bool headers,
dig_query_t *query)
{
dns_name_t *name, *print_name;
@@ -248,13 +254,13 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
isc_region_t r;
dns_name_t empty_name;
char tbuf[4096];
isc_boolean_t first;
isc_boolean_t no_rdata;
bool first;
bool no_rdata;
if (sectionid == DNS_SECTION_QUESTION)
no_rdata = ISC_TRUE;
no_rdata = true;
else
no_rdata = ISC_FALSE;
no_rdata = false;
if (headers)
printf(";; %s SECTION:\n", section_name);
@@ -272,7 +278,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
dns_message_currentname(msg, sectionid, &name);
isc_buffer_init(&target, tbuf, sizeof(tbuf));
first = ISC_TRUE;
first = true;
print_name = name;
for (rdataset = ISC_LIST_HEAD(name->list);
@@ -291,7 +297,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
if (!short_form) {
result = dns_rdataset_totext(rdataset,
print_name,
ISC_FALSE,
false,
no_rdata,
&target);
if (result != ISC_R_SUCCESS)
@@ -299,7 +305,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
#ifdef USEINITALWS
if (first) {
print_name = &empty_name;
first = ISC_FALSE;
first = false;
}
#else
UNUSED(first); /* Shut up compiler. */
@@ -357,7 +363,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
static isc_result_t
printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
const char *set_name, isc_boolean_t headers)
const char *set_name, bool headers)
{
isc_buffer_t target;
isc_result_t result;
@@ -370,7 +376,7 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
isc_buffer_init(&target, tbuf, sizeof(tbuf));
result = dns_rdataset_totext(rdataset, owner, ISC_FALSE, ISC_FALSE,
result = dns_rdataset_totext(rdataset, owner, false, false,
&target);
if (result != ISC_R_SUCCESS)
return (result);
@@ -407,8 +413,8 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
}
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_boolean_t did_flag = ISC_FALSE;
printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
bool did_flag = false;
dns_rdataset_t *opt, *tsig = NULL;
dns_name_t *tsigname;
isc_result_t result = ISC_R_SUCCESS;
@@ -431,7 +437,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
sizeof(sockstr));
printf("Address: %s\n", sockstr);
printf("Aliases: \n\n");
printed_server = ISC_TRUE;
printed_server = true;
}
if (msg->rcode != 0) {
@@ -459,27 +465,26 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_name_t *name;
/* Add AAAA and MX lookups. */
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
dns_name_copy(query->lookup->name, name, NULL);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, ISC_FALSE);
lookup = clone_lookup(query->lookup, false);
if (lookup != NULL) {
strlcpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_aaaa;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
lookup = clone_lookup(query->lookup, ISC_FALSE);
lookup = clone_lookup(query->lookup, false);
if (lookup != NULL) {
strlcpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_mx;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
@@ -493,31 +498,31 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
printf(";; flags: ");
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
printf("qr");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0) {
printf("%saa", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
printf("%stc", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
printf("%srd", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0) {
printf("%sra", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0) {
printf("%sad", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
}
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
printf("%scd", did_flag ? " " : "");
did_flag = ISC_TRUE;
did_flag = true;
POST(did_flag);
}
printf("; QUERY: %u, ANSWER: %u, "
@@ -540,7 +545,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
!short_form) {
printf("\n");
result = printsection(msg, DNS_SECTION_QUESTION, "QUESTION",
ISC_TRUE, query);
true, query);
if (result != ISC_R_SUCCESS)
return (result);
}
@@ -548,7 +553,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (!short_form)
printf("\n");
result = printsection(msg, DNS_SECTION_ANSWER, "ANSWER",
ISC_TF(!short_form), query);
!short_form, query);
if (result != ISC_R_SUCCESS)
return (result);
}
@@ -557,7 +562,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
!short_form) {
printf("\n");
result = printsection(msg, DNS_SECTION_AUTHORITY, "AUTHORITY",
ISC_TRUE, query);
true, query);
if (result != ISC_R_SUCCESS)
return (result);
}
@@ -565,14 +570,14 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
!short_form) {
printf("\n");
result = printsection(msg, DNS_SECTION_ADDITIONAL,
"ADDITIONAL", ISC_TRUE, query);
"ADDITIONAL", true, query);
if (result != ISC_R_SUCCESS)
return (result);
}
if ((tsig != NULL) && !short_form) {
printf("\n");
result = printrdata(msg, tsig, tsigname,
"PSEUDOSECTION TSIG", ISC_TRUE);
"PSEUDOSECTION TSIG", true);
if (result != ISC_R_SUCCESS)
return (result);
}
@@ -607,7 +612,7 @@ pre_parse_args(int argc, char **argv) {
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
switch (c) {
case 'm':
memdebugging = ISC_TRUE;
memdebugging = true;
if (strcasecmp("trace", isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
else if (strcasecmp("record",
@@ -621,12 +626,12 @@ pre_parse_args(int argc, char **argv) {
case '4':
if (ipv6only)
fatal("only one of -4 and -6 allowed");
ipv4only = ISC_TRUE;
ipv4only = true;
break;
case '6':
if (ipv4only)
fatal("only one of -4 and -6 allowed");
ipv6only = ISC_TRUE;
ipv6only = true;
break;
case 'a': break;
case 'c': break;
@@ -646,8 +651,8 @@ pre_parse_args(int argc, char **argv) {
case 'C': break;
case 'D':
if (debugging)
debugtiming = ISC_TRUE;
debugging = ISC_TRUE;
debugtiming = true;
debugging = true;
break;
case 'N': break;
case 'R': break;
@@ -657,12 +662,12 @@ pre_parse_args(int argc, char **argv) {
show_usage();
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_reset = true;
isc_commandline_index = 1;
}
static void
parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
parse_args(bool is_batchfile, int argc, char **argv) {
char hostname[MXNAME];
dig_lookup_t *lookup;
int c;
@@ -671,30 +676,30 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
isc_result_t result = ISC_R_SUCCESS;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
isc_uint32_t serial = 0;
uint32_t serial = 0;
UNUSED(is_batchfile);
lookup = make_empty_lookup();
lookup->servfail_stops = ISC_FALSE;
lookup->comments = ISC_FALSE;
lookup->servfail_stops = false;
lookup->comments = false;
short_form = !verbose;
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
switch (c) {
case 'l':
lookup->tcp_mode = ISC_TRUE;
lookup->tcp_mode = true;
lookup->rdtype = dns_rdatatype_axfr;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
fatalexit = 3;
break;
case 'v':
case 'd':
short_form = ISC_FALSE;
short_form = false;
break;
case 'r':
lookup->recurse = ISC_FALSE;
lookup->recurse = false;
break;
case 't':
if (strncasecmp(isc_commandline_argument,
@@ -719,23 +724,23 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
if (!lookup->rdtypeset ||
lookup->rdtype != dns_rdatatype_axfr)
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
#ifdef WITH_IDN
lookup->rdtypeset = true;
#ifdef WITH_IDNKIT
idnoptions = 0;
#endif
if (rdtype == dns_rdatatype_axfr) {
/* -l -t any -v */
list_type = dns_rdatatype_any;
short_form = ISC_FALSE;
lookup->tcp_mode = ISC_TRUE;
short_form = false;
lookup->tcp_mode = true;
} else if (rdtype == dns_rdatatype_ixfr) {
lookup->ixfr_serial = serial;
lookup->tcp_mode = ISC_TRUE;
lookup->tcp_mode = true;
list_type = rdtype;
} else if (rdtype == dns_rdatatype_any) {
if (!lookup->tcp_mode_set)
lookup->tcp_mode = ISC_TRUE;
#ifdef WITH_IDN
lookup->tcp_mode = true;
#ifdef WITH_IDNKIT
} else if (rdtype == dns_rdatatype_a ||
rdtype == dns_rdatatype_aaaa ||
rdtype == dns_rdatatype_mx) {
@@ -744,8 +749,8 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
#endif
} else
list_type = rdtype;
list_addresses = ISC_FALSE;
default_lookups = ISC_FALSE;
list_addresses = false;
default_lookups = false;
break;
case 'c':
tr.base = isc_commandline_argument;
@@ -759,25 +764,25 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
isc_commandline_argument);
} else {
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
lookup->rdclassset = true;
}
default_lookups = ISC_FALSE;
default_lookups = false;
break;
case 'a':
if (!lookup->rdtypeset ||
lookup->rdtype != dns_rdatatype_axfr)
lookup->rdtype = dns_rdatatype_any;
#ifdef WITH_IDN
#ifdef WITH_IDNKIT
idnoptions = 0;
#endif
list_type = dns_rdatatype_any;
list_addresses = ISC_FALSE;
lookup->rdtypeset = ISC_TRUE;
short_form = ISC_FALSE;
default_lookups = ISC_FALSE;
list_addresses = false;
lookup->rdtypeset = true;
short_form = false;
default_lookups = false;
break;
case 'i':
lookup->ip6_int = ISC_TRUE;
lookup->ip6_int = true;
break;
case 'n':
/* deprecated */
@@ -803,23 +808,23 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
tries = 2;
break;
case 'T':
lookup->tcp_mode = ISC_TRUE;
lookup->tcp_mode_set = ISC_TRUE;
lookup->tcp_mode = true;
lookup->tcp_mode_set = true;
break;
case 'U':
lookup->tcp_mode = ISC_FALSE;
lookup->tcp_mode_set = ISC_TRUE;
lookup->tcp_mode = false;
lookup->tcp_mode_set = true;
break;
case 'C':
debug("showing all SOAs");
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
lookup->rdclass = dns_rdataclass_in;
lookup->rdclassset = ISC_TRUE;
lookup->ns_search_only = ISC_TRUE;
lookup->trace_root = ISC_TRUE;
lookup->identify_previous_line = ISC_TRUE;
default_lookups = ISC_FALSE;
lookup->rdclassset = true;
lookup->ns_search_only = true;
lookup->trace_root = true;
lookup->identify_previous_line = true;
default_lookups = false;
break;
case 'N':
debug("setting NDOTS to %s",
@@ -836,7 +841,7 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
/* Handled by pre_parse_args(). */
break;
case 's':
lookup->servfail_stops = ISC_TRUE;
lookup->servfail_stops = true;
break;
}
}
@@ -851,22 +856,22 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
if (argc > isc_commandline_index + 1) {
set_nameserver(argv[isc_commandline_index+1]);
debug("server is %s", argv[isc_commandline_index+1]);
listed_server = ISC_TRUE;
listed_server = true;
} else
check_ra = ISC_TRUE;
check_ra = true;
lookup->pending = ISC_FALSE;
lookup->pending = false;
if (get_reverse(store, sizeof(store), hostname,
lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS) {
lookup->ip6_int, true) == ISC_R_SUCCESS) {
strlcpy(lookup->textname, store, sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
default_lookups = ISC_FALSE;
lookup->rdtypeset = true;
default_lookups = false;
} else {
strlcpy(lookup->textname, hostname, sizeof(lookup->textname));
usesearch = ISC_TRUE;
usesearch = true;
}
lookup->new_search = ISC_TRUE;
lookup->new_search = true;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
@@ -881,7 +886,7 @@ main(int argc, char **argv) {
ISC_LIST_INIT(search_list);
fatalexit = 1;
#ifdef WITH_IDN
#ifdef WITH_IDNKIT
idnoptions = IDN_ASCCHECK;
#endif
@@ -901,7 +906,7 @@ main(int argc, char **argv) {
check_result(result, "isc_app_start");
setup_libs();
setup_system(ipv4only, ipv6only);
parse_args(ISC_FALSE, argc, argv);
parse_args(false, argc, argv);
if (keyfile[0] != 0)
setup_file_key();
else if (keysecret[0] != 0)
+5 -1
View File
@@ -1,11 +1,14 @@
<!DOCTYPE book [
<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -43,6 +46,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2000-2002, 2004, 2005, 2007-2009, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+44 -38
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef DIG_H
@@ -11,11 +14,13 @@
/*! \file */
#include <inttypes.h>
#include <stdbool.h>
#include <dns/rdatalist.h>
#include <dst/dst.h>
#include <isc/boolean.h>
#include <isc/buffer.h>
#include <isc/bufferlist.h>
#include <isc/formatcheck.h>
@@ -90,7 +95,7 @@ typedef struct dig_searchlist dig_searchlist_t;
/*% The dig_lookup structure */
struct dig_lookup {
isc_boolean_t
bool
pending, /*%< Pending a successful answer */
waiting_connect,
doing_xfr,
@@ -130,11 +135,12 @@ struct dig_lookup {
ednsneg,
mapped,
print_unknown_format,
idnin,
idnout;
#ifdef DIG_SIGCHASE
isc_boolean_t sigchase;
bool sigchase;
#if DIG_SIGCHASE_TD
isc_boolean_t do_topdown,
bool do_topdown,
trace_root_sigchase,
rdtype_sigchaseset,
rdclass_sigchaseset;
@@ -153,8 +159,8 @@ isc_boolean_t sigchase;
dns_rdataclass_t rdclass_sigchase;
#endif
dns_rdataclass_t rdclass;
isc_boolean_t rdtypeset;
isc_boolean_t rdclassset;
bool rdtypeset;
bool rdclassset;
char name_space[BUFSIZE];
char oname_space[BUFSIZE];
isc_buffer_t namebuf;
@@ -172,16 +178,16 @@ isc_boolean_t sigchase;
dig_serverlist_t my_server_list;
dig_searchlist_t *origin;
dig_query_t *xfr_q;
isc_uint32_t retries;
uint32_t retries;
int nsfound;
isc_uint16_t udpsize;
isc_int16_t edns;
isc_uint32_t ixfr_serial;
uint16_t udpsize;
int16_t edns;
uint32_t ixfr_serial;
isc_buffer_t rdatabuf;
char rdatastore[MXNAME];
dst_context_t *tsigctx;
isc_buffer_t *querysig;
isc_uint32_t msgcounter;
uint32_t msgcounter;
dns_fixedname_t fdomain;
isc_sockaddr_t *ecs_addr;
char *cookie;
@@ -196,7 +202,7 @@ isc_boolean_t sigchase;
/*% The dig_query structure */
struct dig_query {
dig_lookup_t *lookup;
isc_boolean_t waiting_connect,
bool waiting_connect,
pending_free,
waiting_senddone,
first_pass,
@@ -206,11 +212,11 @@ struct dig_query {
recv_made,
warn_id,
timedout;
isc_uint32_t first_rr_serial;
isc_uint32_t second_rr_serial;
isc_uint32_t msg_count;
isc_uint32_t rr_count;
isc_boolean_t ixfr_axfr;
uint32_t first_rr_serial;
uint32_t second_rr_serial;
uint32_t msg_count;
uint32_t rr_count;
bool ixfr_axfr;
char *servname;
char *userarg;
isc_bufferlist_t sendlist,
@@ -228,7 +234,7 @@ struct dig_query {
isc_sockaddr_t sockaddr;
isc_time_t time_sent;
isc_time_t time_recv;
isc_uint64_t byte_count;
uint64_t byte_count;
isc_buffer_t sendbuf;
isc_timer_t *timer;
};
@@ -262,7 +268,7 @@ extern dig_serverlist_t server_list;
extern dig_searchlistlist_t search_list;
extern unsigned int extrabytes;
extern isc_boolean_t check_ra, have_ipv4, have_ipv6, specified_source,
extern bool check_ra, have_ipv4, have_ipv6, specified_source,
usesearch, showsearch, qr;
extern in_port_t port;
extern unsigned int timeout;
@@ -280,19 +286,19 @@ extern unsigned int digestbits;
#ifdef DIG_SIGCHASE
extern char trustedkey[MXNAME];
#endif
extern dns_tsigkey_t *key;
extern isc_boolean_t validated;
extern dns_tsigkey_t *tsigkey;
extern bool validated;
extern isc_taskmgr_t *taskmgr;
extern isc_task_t *global_task;
extern isc_boolean_t free_now;
extern isc_boolean_t debugging, debugtiming, memdebugging;
extern isc_boolean_t keep_open;
extern bool free_now;
extern bool debugging, debugtiming, memdebugging;
extern bool keep_open;
extern char *progname;
extern int tries;
extern int fatalexit;
extern isc_boolean_t verbose;
#ifdef WITH_IDN
extern bool verbose;
#ifdef WITH_IDNKIT
extern int idnoptions;
#endif
@@ -306,8 +312,8 @@ int
getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp);
isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
isc_boolean_t strict);
get_reverse(char *reverse, size_t len, char *value, bool ip6_int,
bool strict);
ISC_PLATFORM_NORETURN_PRE void
fatal(const char *format, ...)
@@ -319,7 +325,7 @@ debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
check_result(isc_result_t result, const char *msg);
isc_boolean_t
bool
setup_lookup(dig_lookup_t *lookup);
void
@@ -341,14 +347,14 @@ void
setup_libs(void);
void
setup_system(isc_boolean_t ipv4only, isc_boolean_t ipv6only);
setup_system(bool ipv4only, bool ipv6only);
isc_result_t
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
parse_uint(uint32_t *uip, const char *value, uint32_t max,
const char *desc);
isc_result_t
parse_xint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
parse_xint(uint32_t *uip, const char *value, uint32_t max,
const char *desc);
isc_result_t
@@ -358,13 +364,13 @@ void
parse_hmac(const char *hmacstr);
dig_lookup_t *
requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
requeue_lookup(dig_lookup_t *lookold, bool servers);
dig_lookup_t *
make_empty_lookup(void);
dig_lookup_t *
clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
clone_lookup(dig_lookup_t *lookold, bool servers);
dig_server_t *
make_server(const char *servname, const char *userarg);
@@ -407,13 +413,13 @@ extern isc_result_t
#endif
extern isc_result_t
(*dighost_printmessage)(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers);
(*dighost_printmessage)(dig_query_t *query, dns_message_t *msg, bool headers);
/*%<
* Print the final result of the lookup.
*/
extern void
(*dighost_received)(int bytes, isc_sockaddr_t *from, dig_query_t *query);
(*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
@@ -454,7 +460,7 @@ 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);
dig_query_setup(bool, bool, int argc, char **argv);
/*%<
* set the main application event cycle running
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -290,5 +290,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-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+107 -103
View File
@@ -1,13 +1,18 @@
/*
* Copyright (C) 2000-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
@@ -50,18 +55,18 @@
#endif
#endif
static isc_boolean_t short_form = ISC_TRUE,
tcpmode = ISC_FALSE, tcpmode_set = ISC_FALSE,
identify = ISC_FALSE, stats = ISC_TRUE,
comments = ISC_TRUE, section_question = ISC_TRUE,
section_answer = ISC_TRUE, section_authority = ISC_TRUE,
section_additional = ISC_TRUE, recurse = ISC_TRUE,
aaonly = ISC_FALSE, nofail = ISC_TRUE,
default_lookups = ISC_TRUE, a_noanswer = ISC_FALSE;
static bool short_form = true,
tcpmode = false, tcpmode_set = false,
identify = false, stats = true,
comments = true, section_question = true,
section_answer = true, section_authority = true,
section_additional = true, recurse = true,
aaonly = false, nofail = true,
default_lookups = true, a_noanswer = false;
static isc_boolean_t interactive;
static bool interactive;
static isc_boolean_t in_use = ISC_FALSE;
static bool in_use = false;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
static isc_event_t *global_event = NULL;
@@ -214,7 +219,7 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
UNUSED(owner_name);
UNUSED(rdataset);
UNUSED(target);
return(ISC_FALSE);
return(false);
}
#endif
static void
@@ -222,7 +227,7 @@ printrdata(dns_rdata_t *rdata) {
isc_result_t result;
isc_buffer_t *b = NULL;
unsigned int size = 1024;
isc_boolean_t done = ISC_FALSE;
bool done = false;
if (rdata->type < N_KNOWN_RRTYPES)
printf("%s", rtypetext[rdata->type]);
@@ -237,7 +242,7 @@ printrdata(dns_rdata_t *rdata) {
if (result == ISC_R_SUCCESS) {
printf("%.*s\n", (int)isc_buffer_usedlength(b),
(char *)isc_buffer_base(b));
done = ISC_TRUE;
done = true;
} else if (result != ISC_R_NOSPACE)
check_result(result, "dns_rdata_totext");
isc_buffer_free(&b);
@@ -246,7 +251,7 @@ printrdata(dns_rdata_t *rdata) {
}
static isc_result_t
printsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
printsection(dig_query_t *query, dns_message_t *msg, bool headers,
dns_section_t section) {
isc_result_t result, loopresult;
dns_name_t *name;
@@ -313,7 +318,7 @@ printsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
}
static isc_result_t
detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
detailsection(dig_query_t *query, dns_message_t *msg, bool headers,
dns_section_t section) {
isc_result_t result, loopresult;
dns_name_t *name;
@@ -399,7 +404,7 @@ detailsection(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers,
}
static void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query)
{
UNUSED(bytes);
UNUSED(from);
@@ -438,7 +443,7 @@ chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
}
static isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
char servtext[ISC_SOCKADDR_FORMATSIZE];
/* I've we've gotten this far, we've reached a server. */
@@ -457,10 +462,10 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (!short_form) {
puts("------------");
/* detailheader(query, msg);*/
detailsection(query, msg, ISC_TRUE, DNS_SECTION_QUESTION);
detailsection(query, msg, ISC_TRUE, DNS_SECTION_ANSWER);
detailsection(query, msg, ISC_TRUE, DNS_SECTION_AUTHORITY);
detailsection(query, msg, ISC_TRUE, DNS_SECTION_ADDITIONAL);
detailsection(query, msg, true, DNS_SECTION_QUESTION);
detailsection(query, msg, true, DNS_SECTION_ANSWER);
detailsection(query, msg, true, DNS_SECTION_AUTHORITY);
detailsection(query, msg, true, DNS_SECTION_ADDITIONAL);
puts("------------");
}
@@ -484,17 +489,16 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_name_t *name;
/* Add AAAA lookup. */
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
dns_name_copy(query->lookup->name, name, NULL);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, ISC_FALSE);
lookup = clone_lookup(query->lookup, false);
if (lookup != NULL) {
strlcpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_aaaa;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
@@ -508,7 +512,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
printsection(query, msg, headers, DNS_SECTION_ANSWER);
else {
if (default_lookups && query->lookup->rdtype == dns_rdatatype_a)
a_noanswer = ISC_TRUE;
a_noanswer = true;
else if (!default_lookups ||
(query->lookup->rdtype == dns_rdatatype_aaaa &&
@@ -530,7 +534,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
}
static void
show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
show_settings(bool full, bool serv_only) {
dig_server_t *srv;
isc_sockaddr_t sockaddr;
dig_searchlist_t *listent;
@@ -561,7 +565,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 = ");
@@ -575,7 +579,7 @@ show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
printf("\n");
}
static isc_boolean_t
static bool
testtype(char *typetext) {
isc_result_t result;
isc_textregion_t tr;
@@ -585,14 +589,14 @@ testtype(char *typetext) {
tr.length = strlen(typetext);
result = dns_rdatatype_fromtext(&rdtype, &tr);
if (result == ISC_R_SUCCESS)
return (ISC_TRUE);
return (true);
else {
printf("unknown query type: %s\n", typetext);
return (ISC_FALSE);
return (false);
}
}
static isc_boolean_t
static bool
testclass(char *typetext) {
isc_result_t result;
isc_textregion_t tr;
@@ -602,24 +606,24 @@ testclass(char *typetext) {
tr.length = strlen(typetext);
result = dns_rdataclass_fromtext(&rdclass, &tr);
if (result == ISC_R_SUCCESS)
return (ISC_TRUE);
return (true);
else {
printf("unknown query class: %s\n", typetext);
return (ISC_FALSE);
return (false);
}
}
static void
set_port(const char *value) {
isc_uint32_t n;
uint32_t n;
isc_result_t result = parse_uint(&n, value, 65535, "port");
if (result == ISC_R_SUCCESS)
port = (isc_uint16_t) n;
port = (uint16_t) n;
}
static void
set_timeout(const char *value) {
isc_uint32_t n;
uint32_t n;
isc_result_t result = parse_uint(&n, value, UINT_MAX, "timeout");
if (result == ISC_R_SUCCESS)
timeout = n;
@@ -627,7 +631,7 @@ set_timeout(const char *value) {
static void
set_tries(const char *value) {
isc_uint32_t n;
uint32_t n;
isc_result_t result = parse_uint(&n, value, INT_MAX, "tries");
if (result == ISC_R_SUCCESS)
tries = n;
@@ -635,7 +639,7 @@ set_tries(const char *value) {
static void
set_ndots(const char *value) {
isc_uint32_t n;
uint32_t n;
isc_result_t result = parse_uint(&n, value, 128, "ndots");
if (result == ISC_R_SUCCESS)
ndots = n;
@@ -654,7 +658,7 @@ setoption(char *opt) {
((l >= N) && (l < sizeof(A)) && (strncasecmp(opt, A, l) == 0))
if (CHECKOPT("all", 3)) {
show_settings(ISC_TRUE, ISC_FALSE);
show_settings(true, false);
} else if (strncasecmp(opt, "class=", 6) == 0) {
if (testclass(&opt[6]))
strlcpy(defclass, &opt[6], sizeof(defclass));
@@ -664,41 +668,41 @@ setoption(char *opt) {
} else if (strncasecmp(opt, "type=", 5) == 0) {
if (testtype(&opt[5])) {
strlcpy(deftype, &opt[5], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "ty=", 3) == 0) {
if (testtype(&opt[3])) {
strlcpy(deftype, &opt[3], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "querytype=", 10) == 0) {
if (testtype(&opt[10])) {
strlcpy(deftype, &opt[10], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "query=", 6) == 0) {
if (testtype(&opt[6])) {
strlcpy(deftype, &opt[6], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "qu=", 3) == 0) {
if (testtype(&opt[3])) {
strlcpy(deftype, &opt[3], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "q=", 2) == 0) {
if (testtype(&opt[2])) {
strlcpy(deftype, &opt[2], sizeof(deftype));
default_lookups = ISC_FALSE;
default_lookups = false;
}
} else if (strncasecmp(opt, "domain=", 7) == 0) {
strlcpy(domainopt, &opt[7], sizeof(domainopt));
set_search_domain(domainopt);
usesearch = ISC_TRUE;
usesearch = true;
} else if (strncasecmp(opt, "do=", 3) == 0) {
strlcpy(domainopt, &opt[3], sizeof(domainopt));
set_search_domain(domainopt);
usesearch = ISC_TRUE;
usesearch = true;
} else if (strncasecmp(opt, "port=", 5) == 0) {
set_port(&opt[5]);
} else if (strncasecmp(opt, "po=", 3) == 0) {
@@ -708,43 +712,43 @@ setoption(char *opt) {
} else if (strncasecmp(opt, "t=", 2) == 0) {
set_timeout(&opt[2]);
} else if (CHECKOPT("recurse", 3)) {
recurse = ISC_TRUE;
recurse = true;
} else if (CHECKOPT("norecurse", 5)) {
recurse = ISC_FALSE;
recurse = 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 (CHECKOPT("defname", 3)) {
usesearch = ISC_TRUE;
usesearch = true;
} else if (CHECKOPT("nodefname", 5)) {
usesearch = ISC_FALSE;
} else if (CHECKOPT("vc", 2) == 0) {
tcpmode = ISC_TRUE;
tcpmode_set = ISC_TRUE;
} else if (CHECKOPT("novc", 4) == 0) {
tcpmode = ISC_FALSE;
tcpmode_set = ISC_TRUE;
} else if (CHECKOPT("debug", 3) == 0) {
short_form = ISC_FALSE;
showsearch = ISC_TRUE;
} else if (CHECKOPT("nodebug", 5) == 0) {
short_form = ISC_TRUE;
showsearch = ISC_FALSE;
} else if (CHECKOPT("d2", 2) == 0) {
debugging = ISC_TRUE;
} else if (CHECKOPT("nod2", 4) == 0) {
debugging = ISC_FALSE;
} else if (CHECKOPT("search", 3) == 0) {
usesearch = ISC_TRUE;
} else if (CHECKOPT("nosearch", 5) == 0) {
usesearch = ISC_FALSE;
} else if (CHECKOPT("sil", 3) == 0) {
/* deprecation_msg = ISC_FALSE; */
} else if (CHECKOPT("fail", 3) == 0) {
nofail=ISC_FALSE;
} else if (CHECKOPT("nofail", 5) == 0) {
nofail=ISC_TRUE;
usesearch = false;
} else if (CHECKOPT("vc", 2)) {
tcpmode = true;
tcpmode_set = true;
} else if (CHECKOPT("novc", 4)) {
tcpmode = false;
tcpmode_set = true;
} else if (CHECKOPT("debug", 3)) {
short_form = false;
showsearch = true;
} else if (CHECKOPT("nodebug", 5)) {
short_form = true;
showsearch = false;
} else if (CHECKOPT("d2", 2)) {
debugging = true;
} else if (CHECKOPT("nod2", 4)) {
debugging = false;
} else if (CHECKOPT("search", 3)) {
usesearch = true;
} else if (CHECKOPT("nosearch", 5)) {
usesearch = false;
} else if (CHECKOPT("sil", 3)) {
/* deprecation_msg = false; */
} else if (CHECKOPT("fail", 3)) {
nofail=false;
} else if (CHECKOPT("nofail", 5)) {
nofail=true;
} else if (strncasecmp(opt, "ndots=", 6) == 0) {
set_ndots(&opt[6]);
} else {
@@ -763,7 +767,7 @@ addlookup(char *opt) {
debug("addlookup()");
a_noanswer = ISC_FALSE;
a_noanswer = false;
tr.base = deftype;
tr.length = strlen(deftype);
@@ -780,21 +784,21 @@ addlookup(char *opt) {
rdclass = dns_rdataclass_in;
}
lookup = make_empty_lookup();
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, ISC_TRUE)
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, true)
== ISC_R_SUCCESS) {
strlcpy(lookup->textname, store, sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
} else {
strlcpy(lookup->textname, opt, sizeof(lookup->textname));
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtypeset = true;
}
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
lookup->trace = ISC_FALSE;
lookup->rdclassset = true;
lookup->trace = false;
lookup->trace_root = lookup->trace;
lookup->ns_search_only = ISC_FALSE;
lookup->ns_search_only = false;
lookup->identify = identify;
lookup->recurse = recurse;
lookup->aaonly = aaonly;
@@ -802,7 +806,7 @@ addlookup(char *opt) {
lookup->udpsize = 0;
lookup->comments = comments;
if (lookup->rdtype == dns_rdatatype_any && !tcpmode_set)
lookup->tcp_mode = ISC_TRUE;
lookup->tcp_mode = true;
else
lookup->tcp_mode = tcpmode;
lookup->stats = stats;
@@ -810,9 +814,9 @@ addlookup(char *opt) {
lookup->section_answer = section_answer;
lookup->section_authority = section_authority;
lookup->section_additional = section_additional;
lookup->new_search = ISC_TRUE;
lookup->new_search = true;
if (nofail)
lookup->servfail_stops = ISC_FALSE;
lookup->servfail_stops = false;
ISC_LIST_INIT(lookup->q);
ISC_LINK_INIT(lookup, link);
ISC_LIST_APPEND(lookup_list, lookup, link);
@@ -836,11 +840,11 @@ do_next_command(char *input) {
(strcasecmp(ptr, "lserver") == 0)) {
isc_app_block();
set_nameserver(arg);
check_ra = ISC_FALSE;
check_ra = false;
isc_app_unblock();
show_settings(ISC_TRUE, ISC_TRUE);
show_settings(true, true);
} else if (strcasecmp(ptr, "exit") == 0) {
in_use = ISC_FALSE;
in_use = false;
} else if (strcasecmp(ptr, "help") == 0 ||
strcasecmp(ptr, "?") == 0) {
printf("The '%s' command is not yet implemented.\n", ptr);
@@ -877,7 +881,7 @@ get_next_command(void) {
ptr = fgets(buf, COMMSIZE, stdin);
isc_app_unblock();
if (ptr == NULL) {
in_use = ISC_FALSE;
in_use = false;
} else
do_next_command(ptr);
#ifdef HAVE_READLINE
@@ -889,9 +893,9 @@ get_next_command(void) {
static void
parse_args(int argc, char **argv) {
isc_boolean_t have_lookup = ISC_FALSE;
bool have_lookup = false;
usesearch = ISC_TRUE;
usesearch = true;
for (argc--, argv++; argc > 0; argc--, argv++) {
debug("main parsing %s", argv[0]);
if (argv[0][0] == '-') {
@@ -901,15 +905,15 @@ parse_args(int argc, char **argv) {
} else if (argv[0][1] != 0) {
setoption(&argv[0][1]);
} else
have_lookup = ISC_TRUE;
have_lookup = true;
} else {
if (!have_lookup) {
have_lookup = ISC_TRUE;
in_use = ISC_TRUE;
have_lookup = true;
in_use = true;
addlookup(argv[0]);
} else {
set_nameserver(argv[0]);
check_ra = ISC_FALSE;
check_ra = false;
}
}
}
@@ -980,13 +984,13 @@ int
main(int argc, char **argv) {
isc_result_t result;
interactive = ISC_TF(isatty(0));
interactive = isatty(0);
ISC_LIST_INIT(lookup_list);
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
check_ra = ISC_TRUE;
check_ra = true;
/* setup dighost callbacks */
#ifdef DIG_SIGCHASE
@@ -1003,7 +1007,7 @@ main(int argc, char **argv) {
setup_libs();
progname = argv[0];
setup_system(ISC_FALSE, ISC_FALSE);
setup_system(false, false);
parse_args(argc, argv);
if (keyfile[0] != 0)
setup_file_key();
@@ -1017,7 +1021,7 @@ main(int argc, char **argv) {
else
result = isc_app_onrun(mctx, global_task, getinput, NULL);
check_result(result, "isc_app_onrun");
in_use = ISC_TF(!in_use);
in_use = !in_use;
(void)isc_app_run();
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2004-2007, 2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!--
@@ -67,6 +70,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+8 -5
View File
@@ -1,8 +1,11 @@
# Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# $Id: Makefile.in,v 1.42.332.1 2011/03/16 06:37:51 each Exp $
@@ -108,12 +111,12 @@ installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: ${TARGETS} installdirs
for t in ${TARGETS}; do ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} $$t ${DESTDIR}${sbindir}; done
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
for t in ${TARGETS}; do ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} $$t ${DESTDIR}${sbindir} || exit 1; done
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8 || exit 1; done
uninstall::
for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m ; done
for t in ${TARGETS}; do ${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/$$t ; done
for m in ${MANPAGES}; do rm -f ${DESTDIR}${mandir}/man8/$$m || exit 1; done
for t in ${TARGETS}; do ${LIBTOOL_MODE_UNINSTALL} rm -f ${DESTDIR}${sbindir}/$$t || exit 1; done
clean distclean::
rm -f ${TARGETS}
+2 -2
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")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -178,5 +178,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
+28 -25
View File
@@ -1,15 +1,20 @@
/*
* Copyright (C) 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <isc/buffer.h>
@@ -56,16 +61,15 @@ static dns_rdataclass_t rdclass;
static dns_fixedname_t fixed;
static dns_name_t *name = NULL;
static isc_mem_t *mctx = NULL;
static isc_uint32_t ttl;
static isc_boolean_t emitttl = ISC_FALSE;
static uint32_t ttl;
static bool emitttl = false;
static isc_result_t
initname(char *setname) {
isc_result_t result;
isc_buffer_t buf;
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
isc_buffer_init(&buf, setname, strlen(setname));
isc_buffer_add(&buf, strlen(setname));
@@ -117,7 +121,7 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
isc_result_totext(result));
}
result = dns_db_findnode(db, name, ISC_FALSE, &node);
result = dns_db_findnode(db, name, false, &node);
if (result != ISC_R_SUCCESS)
fatal("can't find %s node in %s", setname, filename);
@@ -158,7 +162,7 @@ loadkeyset(char *dirname, dns_rdataset_t *rdataset) {
return (ISC_R_NOSPACE);
isc_buffer_putstr(&buf, "keyset-");
result = dns_name_tofilenametext(name, ISC_FALSE, &buf);
result = dns_name_tofilenametext(name, false, &buf);
check_result(result, "dns_name_tofilenametext()");
if (isc_buffer_availablelength(&buf) == 0)
return (ISC_R_NOSPACE);
@@ -203,8 +207,7 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
rdclass = dst_key_class(key);
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
result = dns_name_copy(dst_key_name(key), name, NULL);
if (result != ISC_R_SUCCESS)
fatal("can't copy name");
@@ -233,8 +236,8 @@ logkey(dns_rdata_t *rdata)
}
static void
emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
isc_boolean_t cds, dns_rdata_t *rdata)
emit(unsigned int dtype, bool showall, char *lookaside,
bool cds, dns_rdata_t *rdata)
{
isc_result_t result;
unsigned char buf[DNS_DS_BUFFERSIZE];
@@ -263,7 +266,7 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
if (result != ISC_R_SUCCESS)
fatal("can't build record");
result = dns_name_totext(name, ISC_FALSE, &nameb);
result = dns_name_totext(name, false, &nameb);
if (result != ISC_R_SUCCESS)
fatal("can't print name");
@@ -352,10 +355,10 @@ main(int argc, char **argv) {
char *endp;
int ch;
unsigned int dtype = DNS_DSDIGEST_SHA1;
isc_boolean_t cds = ISC_FALSE;
isc_boolean_t both = ISC_TRUE;
isc_boolean_t usekeyset = ISC_FALSE;
isc_boolean_t showall = ISC_FALSE;
bool cds = false;
bool both = true;
bool usekeyset = false;
bool showall = false;
isc_result_t result;
isc_log_t *log = NULL;
isc_entropy_t *ectx = NULL;
@@ -376,31 +379,31 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
#define OPTIONS "12Aa:Cc:d:Ff:K:l:sT:v:hV"
while ((ch = isc_commandline_parse(argc, argv, OPTIONS)) != -1) {
switch (ch) {
case '1':
dtype = DNS_DSDIGEST_SHA1;
both = ISC_FALSE;
both = false;
break;
case '2':
dtype = DNS_DSDIGEST_SHA256;
both = ISC_FALSE;
both = false;
break;
case 'A':
showall = ISC_TRUE;
showall = true;
break;
case 'a':
algname = isc_commandline_argument;
both = ISC_FALSE;
both = false;
break;
case 'C':
if (lookaside != NULL)
fatal("lookaside and CDS are mutually"
" exclusive");
cds = ISC_TRUE;
cds = true;
break;
case 'c':
classname = isc_commandline_argument;
@@ -426,10 +429,10 @@ main(int argc, char **argv) {
fatal("lookaside must be a non-empty string");
break;
case 's':
usekeyset = ISC_TRUE;
usekeyset = true;
break;
case 'T':
emitttl = ISC_TRUE;
emitttl = true;
ttl = atol(isc_commandline_argument);
break;
case 'v':
@@ -485,7 +488,7 @@ main(int argc, char **argv) {
/* When not using -f, -A is implicit */
if (filename == NULL)
showall = ISC_TRUE;
showall = true;
if (argc < isc_commandline_index + 1 && filename == NULL)
fatal("the key file name was not specified");
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2008-2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -37,6 +40,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
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")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -134,5 +134,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
+15 -13
View File
@@ -1,15 +1,19 @@
/*
* Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <isc/buffer.h>
@@ -56,21 +60,20 @@ static dns_rdataclass_t rdclass;
static dns_fixedname_t fixed;
static dns_name_t *name = NULL;
static isc_mem_t *mctx = NULL;
static isc_boolean_t setpub = ISC_FALSE, setdel = ISC_FALSE;
static isc_boolean_t setttl = ISC_FALSE;
static bool setpub = false, setdel = false;
static bool setttl = false;
static isc_stdtime_t pub = 0, del = 0;
static dns_ttl_t ttl = 0;
static isc_stdtime_t syncadd = 0, syncdel = 0;
static isc_boolean_t setsyncadd = ISC_FALSE;
static isc_boolean_t setsyncdel = ISC_FALSE;
static bool setsyncadd = false;
static bool setsyncdel = false;
static isc_result_t
initname(char *setname) {
isc_result_t result;
isc_buffer_t buf;
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
isc_buffer_init(&buf, setname, strlen(setname));
isc_buffer_add(&buf, strlen(setname));
@@ -123,7 +126,7 @@ loadset(const char *filename, dns_rdataset_t *rdataset) {
isc_result_totext(result));
}
result = dns_db_findnode(db, name, ISC_FALSE, &node);
result = dns_db_findnode(db, name, false, &node);
if (result != ISC_R_SUCCESS)
fatal("can't find %s node in %s", setname, filename);
@@ -178,8 +181,7 @@ loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
rdclass = dst_key_class(key);
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
name = dns_fixedname_initname(&fixed);
result = dns_name_copy(dst_key_name(key), name, NULL);
if (result != ISC_R_SUCCESS)
fatal("can't copy name");
@@ -226,7 +228,7 @@ emit(const char *dir, dns_rdata_t *rdata) {
dst_key_free(&tmp);
}
dst_key_setexternal(key, ISC_TRUE);
dst_key_setexternal(key, true);
if (setpub)
dst_key_settime(key, DST_TIME_PUBLISH, pub);
if (setdel)
@@ -316,7 +318,7 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
#define CMDLINE_FLAGS "D:f:hK:L:P:v:V"
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
@@ -347,7 +349,7 @@ main(int argc, char **argv) {
break;
case 'L':
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
setttl = true;
break;
case 'P':
/* -Psync ? */
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2013-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -34,6 +37,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -301,5 +301,5 @@ The PKCS#11 URI Scheme (draft\-pechanec\-pkcs11uri\-13)\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+31 -27
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
@@ -11,6 +14,8 @@
#include <config.h>
#include <ctype.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <isc/buffer.h>
@@ -139,9 +144,9 @@ main(int argc, char **argv) {
dst_key_t *key = NULL;
dns_fixedname_t fname;
dns_name_t *name;
isc_uint16_t flags = 0, kskflag = 0, revflag = 0;
uint16_t flags = 0, kskflag = 0, revflag = 0;
dns_secalg_t alg;
isc_boolean_t oldstyle = ISC_FALSE;
bool oldstyle = false;
isc_mem_t *mctx = NULL;
int ch;
int protocol = -1, signatory = 0;
@@ -159,20 +164,20 @@ main(int argc, char **argv) {
isc_stdtime_t inactive = 0, deltime = 0;
isc_stdtime_t now;
int prepub = -1;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
isc_boolean_t setdel = ISC_FALSE, setttl = ISC_FALSE;
isc_boolean_t unsetpub = ISC_FALSE, unsetact = ISC_FALSE;
isc_boolean_t unsetrev = ISC_FALSE, unsetinact = ISC_FALSE;
isc_boolean_t unsetdel = ISC_FALSE;
isc_boolean_t genonly = ISC_FALSE;
isc_boolean_t use_nsec3 = ISC_FALSE;
isc_boolean_t avoid_collisions = ISC_TRUE;
isc_boolean_t exact;
bool setpub = false, setact = false;
bool setrev = false, setinact = false;
bool setdel = false, setttl = false;
bool unsetpub = false, unsetact = false;
bool unsetrev = false, unsetinact = false;
bool unsetdel = false;
bool genonly = false;
bool use_nsec3 = false;
bool avoid_collisions = true;
bool exact;
unsigned char c;
isc_stdtime_t syncadd = 0, syncdel = 0;
isc_boolean_t unsetsyncadd = ISC_FALSE, setsyncadd = ISC_FALSE;
isc_boolean_t unsetsyncdel = ISC_FALSE, setsyncdel = ISC_FALSE;
bool unsetsyncadd = false, setsyncadd = false;
bool unsetsyncdel = false, setsyncdel = false;
if (argc == 1)
usage();
@@ -184,7 +189,7 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
isc_stdtime_get(&now);
@@ -192,13 +197,13 @@ main(int argc, char **argv) {
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) {
case '3':
use_nsec3 = ISC_TRUE;
use_nsec3 = true;
break;
case 'a':
algname = isc_commandline_argument;
break;
case 'C':
oldstyle = ISC_TRUE;
oldstyle = true;
break;
case 'c':
classname = isc_commandline_argument;
@@ -228,7 +233,7 @@ main(int argc, char **argv) {
break;
case 'L':
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
setttl = true;
break;
case 'l':
label = isc_mem_strdup(mctx, isc_commandline_argument);
@@ -251,10 +256,10 @@ main(int argc, char **argv) {
fatal("-v must be followed by a number");
break;
case 'y':
avoid_collisions = ISC_FALSE;
avoid_collisions = false;
break;
case 'G':
genonly = ISC_TRUE;
genonly = true;
break;
case 'P':
/* -Psync ? */
@@ -369,8 +374,7 @@ main(int argc, char **argv) {
if (argc > isc_commandline_index + 1)
fatal("extraneous arguments");
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
name = dns_fixedname_initname(&fname);
isc_buffer_init(&buf, argv[isc_commandline_index],
strlen(argv[isc_commandline_index]));
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
@@ -465,14 +469,14 @@ main(int argc, char **argv) {
"prepublication interval.");
if (!setpub && !setact) {
setpub = setact = ISC_TRUE;
setpub = setact = true;
publish = now;
activate = now + prepub;
} else if (setpub && !setact) {
setact = ISC_TRUE;
setact = true;
activate = publish + prepub;
} else if (setact && !setpub) {
setpub = ISC_TRUE;
setpub = true;
publish = activate - prepub;
}
@@ -560,7 +564,7 @@ main(int argc, char **argv) {
"You can use dnssec-settime -D to "
"change this.\n", program, keystr);
setpub = setact = ISC_TRUE;
setpub = setact = true;
}
if (nametype == NULL) {
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2008-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -39,6 +42,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -350,5 +350,5 @@ RFC 4034\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+45 -41
View File
@@ -1,11 +1,14 @@
/*
* Portions Copyright (C) 1999-2017 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* 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
@@ -25,6 +28,8 @@
#include <config.h>
#include <ctype.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
@@ -176,9 +181,9 @@ usage(void) {
exit (-1);
}
static isc_boolean_t
static bool
dsa_size_ok(int size) {
return (ISC_TF(size >= 512 && size <= 1024 && size % 64 == 0));
return (size >= 512 && size <= 1024 && size % 64 == 0);
}
static void
@@ -215,10 +220,10 @@ main(int argc, char **argv) {
dst_key_t *key = NULL;
dns_fixedname_t fname;
dns_name_t *name;
isc_uint16_t flags = 0, kskflag = 0, revflag = 0;
uint16_t flags = 0, kskflag = 0, revflag = 0;
dns_secalg_t alg;
isc_boolean_t conflict = ISC_FALSE, null_key = ISC_FALSE;
isc_boolean_t oldstyle = ISC_FALSE;
bool conflict = false, null_key = false;
bool oldstyle = false;
isc_mem_t *mctx = NULL;
int ch, generator = 0, param = 0;
int protocol = -1, size = -1, signatory = 0;
@@ -240,24 +245,24 @@ main(int argc, char **argv) {
int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC;
int dbits = 0;
dns_ttl_t ttl = 0;
isc_boolean_t use_default = ISC_FALSE, use_nsec3 = ISC_FALSE;
bool use_default = false, use_nsec3 = false;
isc_stdtime_t publish = 0, activate = 0, revokekey = 0;
isc_stdtime_t inactive = 0, deltime = 0;
isc_stdtime_t now;
int prepub = -1;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
isc_boolean_t setdel = ISC_FALSE, setttl = ISC_FALSE;
isc_boolean_t unsetpub = ISC_FALSE, unsetact = ISC_FALSE;
isc_boolean_t unsetrev = ISC_FALSE, unsetinact = ISC_FALSE;
isc_boolean_t unsetdel = ISC_FALSE;
isc_boolean_t genonly = ISC_FALSE;
isc_boolean_t quiet = ISC_FALSE;
isc_boolean_t show_progress = ISC_FALSE;
bool setpub = false, setact = false;
bool setrev = false, setinact = false;
bool setdel = false, setttl = false;
bool unsetpub = false, unsetact = false;
bool unsetrev = false, unsetinact = false;
bool unsetdel = false;
bool genonly = false;
bool quiet = false;
bool show_progress = false;
unsigned char c;
isc_stdtime_t syncadd = 0, syncdel = 0;
isc_boolean_t setsyncadd = ISC_FALSE;
isc_boolean_t setsyncdel = ISC_FALSE;
bool setsyncadd = false;
bool setsyncdel = false;
if (argc == 1)
usage();
@@ -267,7 +272,7 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
/*
* Process memory debugging argument first.
@@ -292,7 +297,7 @@ main(int argc, char **argv) {
break;
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_reset = true;
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
@@ -301,7 +306,7 @@ main(int argc, char **argv) {
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) {
case '3':
use_nsec3 = ISC_TRUE;
use_nsec3 = true;
break;
case 'a':
algname = isc_commandline_argument;
@@ -312,7 +317,7 @@ main(int argc, char **argv) {
fatal("-b requires a non-negative number");
break;
case 'C':
oldstyle = ISC_TRUE;
oldstyle = true;
break;
case 'c':
classname = isc_commandline_argument;
@@ -328,7 +333,7 @@ main(int argc, char **argv) {
case 'e':
fprintf(stderr,
"phased-out option -e "
"(was 'use (RSA) large exponent)\n");
"(was 'use (RSA) large exponent')\n");
break;
case 'f':
c = (unsigned char)(isc_commandline_argument[0]);
@@ -360,7 +365,7 @@ main(int argc, char **argv) {
break;
case 'L':
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
setttl = true;
break;
case 'n':
nametype = isc_commandline_argument;
@@ -374,7 +379,7 @@ main(int argc, char **argv) {
"[0..255]");
break;
case 'q':
quiet = ISC_TRUE;
quiet = true;
break;
case 'r':
setup_entropy(mctx, isc_commandline_argument, &ectx);
@@ -410,7 +415,7 @@ main(int argc, char **argv) {
/* already the default */
break;
case 'G':
genonly = ISC_TRUE;
genonly = true;
break;
case 'P':
/* -Psync ? */
@@ -504,7 +509,7 @@ main(int argc, char **argv) {
}
if (!isatty(0))
quiet = ISC_TRUE;
quiet = true;
if (ectx == NULL)
setup_entropy(mctx, NULL, &ectx);
@@ -525,8 +530,7 @@ main(int argc, char **argv) {
if (argc > isc_commandline_index + 1)
fatal("extraneous arguments");
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
name = dns_fixedname_initname(&fname);
isc_buffer_init(&buf, argv[isc_commandline_index],
strlen(argv[isc_commandline_index]));
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
@@ -537,7 +541,7 @@ main(int argc, char **argv) {
isc_result_totext(ret));
if (algname == NULL) {
use_default = ISC_TRUE;
use_default = true;
if (use_nsec3)
algname = strdup(DEFAULT_NSEC3_ALGORITHM);
else
@@ -653,14 +657,14 @@ main(int argc, char **argv) {
"prepublication interval.");
if (!setpub && !setact) {
setpub = setact = ISC_TRUE;
setpub = setact = true;
publish = now;
activate = now + prepub;
} else if (setpub && !setact) {
setact = ISC_TRUE;
setact = true;
activate = publish + prepub;
} else if (setact && !setpub) {
setpub = ISC_TRUE;
setpub = true;
publish = activate - prepub;
}
@@ -746,7 +750,7 @@ main(int argc, char **argv) {
"You can use dnssec-settime -D to "
"change this.\n", program, keystr);
setpub = setact = ISC_TRUE;
setpub = setact = true;
}
switch (alg) {
@@ -906,7 +910,7 @@ main(int argc, char **argv) {
case DNS_KEYALG_NSEC3RSASHA1:
case DNS_KEYALG_RSASHA256:
case DNS_KEYALG_RSASHA512:
show_progress = ISC_TRUE;
show_progress = true;
break;
case DNS_KEYALG_DH:
@@ -920,7 +924,7 @@ main(int argc, char **argv) {
case DST_ALG_ECDSA384:
case DST_ALG_ED25519:
case DST_ALG_ED448:
show_progress = ISC_TRUE;
show_progress = true;
/* fall through */
case DST_ALG_HMACMD5:
@@ -934,12 +938,12 @@ main(int argc, char **argv) {
}
if ((flags & DNS_KEYFLAG_TYPEMASK) == DNS_KEYTYPE_NOKEY)
null_key = ISC_TRUE;
null_key = true;
isc_buffer_init(&buf, filename, sizeof(filename) - 1);
do {
conflict = ISC_FALSE;
conflict = false;
if (!quiet && show_progress) {
fprintf(stderr, "Generating key pair.");
@@ -1062,7 +1066,7 @@ main(int argc, char **argv) {
* or another key being revoked.
*/
if (key_collision(key, name, directory, mctx, NULL)) {
conflict = ISC_TRUE;
conflict = true;
if (null_key) {
dst_key_free(&key);
break;
@@ -1083,7 +1087,7 @@ main(int argc, char **argv) {
dst_key_free(&key);
}
} while (conflict == ISC_TRUE);
} while (conflict == true);
if (conflict)
fatal("cannot generate a null key due to possible key ID "
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -46,6 +49,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2000-2005, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
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")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -99,5 +99,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-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br
+14 -9
View File
@@ -1,15 +1,20 @@
/*
* Copyright (C) 2009-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
@@ -86,11 +91,11 @@ main(int argc, char **argv) {
int ch;
isc_entropy_t *ectx = NULL;
dst_key_t *key = NULL;
isc_uint32_t flags;
uint32_t flags;
isc_buffer_t buf;
isc_boolean_t force = ISC_FALSE;
isc_boolean_t removefile = ISC_FALSE;
isc_boolean_t id = ISC_FALSE;
bool force = false;
bool removefile = false;
bool id = false;
if (argc == 1)
usage();
@@ -104,7 +109,7 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:V")) != -1) {
switch (ch) {
@@ -112,7 +117,7 @@ main(int argc, char **argv) {
engine = isc_commandline_argument;
break;
case 'f':
force = ISC_TRUE;
force = true;
break;
case 'K':
/*
@@ -126,10 +131,10 @@ main(int argc, char **argv) {
}
break;
case 'r':
removefile = ISC_TRUE;
removefile = true;
break;
case 'R':
id = ISC_TRUE;
id = true;
break;
case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0);
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2009, 2011, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -34,6 +37,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009-2011, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -200,5 +200,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2009-2011, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br
+55 -50
View File
@@ -1,15 +1,20 @@
/*
* Copyright (C) 2009-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
@@ -100,7 +105,7 @@ usage(void) {
}
static void
printtime(dst_key_t *key, int type, const char *tag, isc_boolean_t epoch,
printtime(dst_key_t *key, int type, const char *tag, bool epoch,
FILE *stream)
{
isc_result_t result;
@@ -144,29 +149,29 @@ main(int argc, char **argv) {
dns_name_t *name = NULL;
dns_secalg_t alg = 0;
unsigned int size = 0;
isc_uint16_t flags = 0;
uint16_t flags = 0;
int prepub = -1;
dns_ttl_t ttl = 0;
isc_stdtime_t now;
isc_stdtime_t pub = 0, act = 0, rev = 0, inact = 0, del = 0;
isc_stdtime_t prevact = 0, previnact = 0, prevdel = 0;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
isc_boolean_t setdel = ISC_FALSE, setttl = ISC_FALSE;
isc_boolean_t unsetpub = ISC_FALSE, unsetact = ISC_FALSE;
isc_boolean_t unsetrev = ISC_FALSE, unsetinact = ISC_FALSE;
isc_boolean_t unsetdel = ISC_FALSE;
isc_boolean_t printcreate = ISC_FALSE, printpub = ISC_FALSE;
isc_boolean_t printact = ISC_FALSE, printrev = ISC_FALSE;
isc_boolean_t printinact = ISC_FALSE, printdel = ISC_FALSE;
isc_boolean_t force = ISC_FALSE;
isc_boolean_t epoch = ISC_FALSE;
isc_boolean_t changed = ISC_FALSE;
bool setpub = false, setact = false;
bool setrev = false, setinact = false;
bool setdel = false, setttl = false;
bool unsetpub = false, unsetact = false;
bool unsetrev = false, unsetinact = false;
bool unsetdel = false;
bool printcreate = false, printpub = false;
bool printact = false, printrev = false;
bool printinact = false, printdel = false;
bool force = false;
bool epoch = false;
bool changed = false;
isc_log_t *log = NULL;
isc_stdtime_t syncadd = 0, syncdel = 0;
isc_boolean_t unsetsyncadd = ISC_FALSE, setsyncadd = ISC_FALSE;
isc_boolean_t unsetsyncdel = ISC_FALSE, setsyncdel = ISC_FALSE;
isc_boolean_t printsyncadd = ISC_FALSE, printsyncdel = ISC_FALSE;
bool unsetsyncadd = false, setsyncadd = false;
bool unsetsyncdel = false, setsyncdel = false;
bool printsyncadd = false, printsyncdel = false;
if (argc == 1)
usage();
@@ -182,7 +187,7 @@ main(int argc, char **argv) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
isc_stdtime_get(&now);
@@ -193,51 +198,51 @@ main(int argc, char **argv) {
engine = isc_commandline_argument;
break;
case 'f':
force = ISC_TRUE;
force = true;
break;
case 'p':
p = isc_commandline_argument;
if (!strcasecmp(p, "all")) {
printcreate = ISC_TRUE;
printpub = ISC_TRUE;
printact = ISC_TRUE;
printrev = ISC_TRUE;
printinact = ISC_TRUE;
printdel = ISC_TRUE;
printsyncadd = ISC_TRUE;
printsyncdel = ISC_TRUE;
printcreate = true;
printpub = true;
printact = true;
printrev = true;
printinact = true;
printdel = true;
printsyncadd = true;
printsyncdel = true;
break;
}
do {
switch (*p++) {
case 'C':
printcreate = ISC_TRUE;
printcreate = true;
break;
case 'P':
if (!strncmp(p, "sync", 4)) {
p += 4;
printsyncadd = ISC_TRUE;
printsyncadd = true;
break;
}
printpub = ISC_TRUE;
printpub = true;
break;
case 'A':
printact = ISC_TRUE;
printact = true;
break;
case 'R':
printrev = ISC_TRUE;
printrev = true;
break;
case 'I':
printinact = ISC_TRUE;
printinact = true;
break;
case 'D':
if (!strncmp(p, "sync", 4)) {
p += 4;
printsyncdel = ISC_TRUE;
printsyncdel = true;
break;
}
printdel = ISC_TRUE;
printdel = true;
break;
case ' ':
break;
@@ -248,7 +253,7 @@ main(int argc, char **argv) {
} while (*p != '\0');
break;
case 'u':
epoch = ISC_TRUE;
epoch = true;
break;
case 'K':
/*
@@ -264,7 +269,7 @@ main(int argc, char **argv) {
break;
case 'L':
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
setttl = true;
break;
case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0);
@@ -278,7 +283,7 @@ main(int argc, char **argv) {
fatal("-P sync specified more than "
"once");
changed = ISC_TRUE;
changed = true;
syncadd = strtotime(isc_commandline_argument,
now, now, &setsyncadd);
unsetsyncadd = !setsyncadd;
@@ -288,7 +293,7 @@ main(int argc, char **argv) {
if (setpub || unsetpub)
fatal("-P specified more than once");
changed = ISC_TRUE;
changed = true;
pub = strtotime(isc_commandline_argument,
now, now, &setpub);
unsetpub = !setpub;
@@ -297,7 +302,7 @@ main(int argc, char **argv) {
if (setact || unsetact)
fatal("-A specified more than once");
changed = ISC_TRUE;
changed = true;
act = strtotime(isc_commandline_argument,
now, now, &setact);
unsetact = !setact;
@@ -306,7 +311,7 @@ main(int argc, char **argv) {
if (setrev || unsetrev)
fatal("-R specified more than once");
changed = ISC_TRUE;
changed = true;
rev = strtotime(isc_commandline_argument,
now, now, &setrev);
unsetrev = !setrev;
@@ -315,7 +320,7 @@ main(int argc, char **argv) {
if (setinact || unsetinact)
fatal("-I specified more than once");
changed = ISC_TRUE;
changed = true;
inact = strtotime(isc_commandline_argument,
now, now, &setinact);
unsetinact = !setinact;
@@ -327,7 +332,7 @@ main(int argc, char **argv) {
fatal("-D sync specified more than "
"once");
changed = ISC_TRUE;
changed = true;
syncdel = strtotime(isc_commandline_argument,
now, now, &setsyncdel);
unsetsyncdel = !setsyncdel;
@@ -338,7 +343,7 @@ main(int argc, char **argv) {
if (setdel || unsetdel)
fatal("-D specified more than once");
changed = ISC_TRUE;
changed = true;
del = strtotime(isc_commandline_argument,
now, now, &setdel);
unsetdel = !setdel;
@@ -456,7 +461,7 @@ main(int argc, char **argv) {
"before it is scheduled to be "
"inactive.\n", program);
changed = setpub = setact = ISC_TRUE;
changed = setpub = setact = true;
} else {
if (prepub < 0)
prepub = 0;
@@ -468,10 +473,10 @@ main(int argc, char **argv) {
"prepublication interval.");
if (setpub && !setact) {
setact = ISC_TRUE;
setact = true;
act = pub + prepub;
} else if (setact && !setpub) {
setpub = ISC_TRUE;
setpub = true;
pub = act - prepub;
}
@@ -602,11 +607,11 @@ main(int argc, char **argv) {
if (force && !changed) {
dst_key_settime(key, DST_TIME_PUBLISH, now);
dst_key_settime(key, DST_TIME_ACTIVATE, now);
changed = ISC_TRUE;
changed = true;
}
if (!changed && setttl)
changed = ISC_TRUE;
changed = true;
/*
* Print out time values, if -p was used.
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2009-2011, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -36,6 +39,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -476,5 +476,5 @@ RFC 4641\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
.br
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -46,6 +49,7 @@
<year>2015</year>
<year>2016</year>
<year>2017</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2000-2009, 2011-2017 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -113,5 +113,5 @@ RFC 4033\&.
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br
+13 -10
View File
@@ -1,15 +1,19 @@
/*
* Copyright (C) 2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
@@ -76,8 +80,8 @@ static dns_db_t *gdb; /* The database */
static dns_dbversion_t *gversion; /* The database version */
static dns_rdataclass_t gclass; /* The class */
static dns_name_t *gorigin; /* The database origin */
static isc_boolean_t ignore_kskflag = ISC_FALSE;
static isc_boolean_t keyset_kskonly = ISC_FALSE;
static bool ignore_kskflag = false;
static bool keyset_kskonly = false;
/*%
* Load the zone file from disk
@@ -94,8 +98,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
isc_buffer_init(&b, origin, len);
isc_buffer_add(&b, len);
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
name = dns_fixedname_initname(&fname);
result = dns_name_fromtext(name, &b, dns_rootname, 0, NULL);
if (result != ISC_R_SUCCESS)
fatal("failed converting name '%s' to dns format: %s",
@@ -204,7 +207,7 @@ main(int argc, char *argv[]) {
break;
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_reset = true;
check_result(isc_app_start(), "isc_app_start");
result = isc_mem_create(0, 0, &mctx);
@@ -216,7 +219,7 @@ main(int argc, char *argv[]) {
#endif
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
isc_commandline_errprint = false;
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) {
@@ -247,11 +250,11 @@ main(int argc, char *argv[]) {
break;
case 'x':
keyset_kskonly = ISC_TRUE;
keyset_kskonly = true;
break;
case 'z':
ignore_kskflag = ISC_TRUE;
ignore_kskflag = true;
break;
case '?':
@@ -332,7 +335,7 @@ main(int argc, char *argv[]) {
verifyzone(gdb, gversion, gorigin, mctx,
ignore_kskflag, keyset_kskonly);
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
dns_db_closeversion(gdb, &gversion, false);
dns_db_detach(&gdb);
cleanup_logging(&log);
+5 -1
View File
@@ -1,9 +1,12 @@
<!--
- Copyright (C) 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<!-- Converted by db4-upgrade version 1.0 -->
@@ -33,6 +36,7 @@
<year>2014</year>
<year>2015</year>
<year>2016</year>
<year>2018</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
+1 -1
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) 2012, 2014-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
+141 -103
View File
@@ -1,9 +1,12 @@
/*
* Copyright (C) 2000, 2001, 2003-2005, 2007, 2009-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
@@ -14,6 +17,8 @@
#include <config.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stdlib.h>
#ifdef _WIN32
@@ -57,10 +62,10 @@
static isc_heap_t *expected_chains, *found_chains;
struct nsec3_chain_fixed {
isc_uint8_t hash;
isc_uint8_t salt_length;
isc_uint8_t next_length;
isc_uint16_t iterations;
uint8_t hash;
uint8_t salt_length;
uint8_t next_length;
uint16_t iterations;
/* unsigned char salt[0]; */
/* unsigned char owner[0]; */
/* unsigned char next[0]; */
@@ -208,12 +213,14 @@ cleanup_logging(isc_log_t **logp) {
REQUIRE(logp != NULL);
log = *logp;
*logp = NULL;
if (log == NULL)
return;
isc_log_destroy(&log);
isc_log_setcontext(NULL);
dns_log_setcontext(NULL);
logp = NULL;
}
void
@@ -301,10 +308,10 @@ time_units(isc_stdtime_t offset, char *suffix, const char *str) {
return(0); /* silence compiler warning */
}
static inline isc_boolean_t
static inline bool
isnone(const char *str) {
return (ISC_TF((strcasecmp(str, "none") == 0) ||
(strcasecmp(str, "never") == 0)));
return ((strcasecmp(str, "none") == 0) ||
(strcasecmp(str, "never") == 0));
}
dns_ttl_t
@@ -324,10 +331,10 @@ strtottl(const char *str) {
}
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base,
isc_boolean_t *setp)
strtotime(const char *str, int64_t now, int64_t base,
bool *setp)
{
isc_int64_t val, offset;
int64_t val, offset;
isc_result_t result;
const char *orig = str;
char *endp;
@@ -335,12 +342,12 @@ strtotime(const char *str, isc_int64_t now, isc_int64_t base,
if (isnone(str)) {
if (setp != NULL)
*setp = ISC_FALSE;
*setp = false;
return ((isc_stdtime_t) 0);
}
if (setp != NULL)
*setp = ISC_TRUE;
*setp = true;
if ((str[0] == '0' || str[0] == '-') && str[1] == '\0')
return ((isc_stdtime_t) 0);
@@ -458,22 +465,22 @@ set_keyversion(dst_key_t *key) {
}
}
isc_boolean_t
bool
key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
isc_mem_t *mctx, isc_boolean_t *exact)
isc_mem_t *mctx, bool *exact)
{
isc_result_t result;
isc_boolean_t conflict = ISC_FALSE;
bool conflict = false;
dns_dnsseckeylist_t matchkeys;
dns_dnsseckey_t *key = NULL;
isc_uint16_t id, oldid;
isc_uint32_t rid, roldid;
uint16_t id, oldid;
uint32_t rid, roldid;
dns_secalg_t alg;
char filename[ISC_DIR_NAMEMAX];
isc_buffer_t fileb;
if (exact != NULL)
*exact = ISC_FALSE;
*exact = false;
id = dst_key_id(dstkey);
rid = dst_key_rid(dstkey);
@@ -497,14 +504,14 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
result = dst_key_buildfilename(dstkey, DST_TYPE_PRIVATE,
dir, &fileb);
if (result != ISC_R_SUCCESS)
return (ISC_TRUE);
return (true);
return (isc_file_exists(filename));
}
ISC_LIST_INIT(matchkeys);
result = dns_dnssec_findmatchingkeys(name, dir, mctx, &matchkeys);
if (result == ISC_R_NOTFOUND)
return (ISC_FALSE);
return (false);
while (!ISC_LIST_EMPTY(matchkeys) && !conflict) {
key = ISC_LIST_HEAD(matchkeys);
@@ -515,7 +522,7 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
roldid = dst_key_rid(key->key);
if (oldid == rid || roldid == id || id == oldid) {
conflict = ISC_TRUE;
conflict = true;
if (id != oldid) {
if (verbose > 1)
fprintf(stderr, "Key ID %d could "
@@ -523,7 +530,7 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
id, oldid);
} else {
if (exact != NULL)
*exact = ISC_TRUE;
*exact = true;
if (verbose > 1)
fprintf(stderr, "Key ID %d exists\n",
id);
@@ -545,15 +552,15 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
return (conflict);
}
isc_boolean_t
bool
is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_name_t *name, dns_dbnode_t *node, isc_uint32_t *ttlp)
dns_name_t *name, dns_dbnode_t *node, uint32_t *ttlp)
{
dns_rdataset_t nsset;
isc_result_t result;
if (dns_name_equal(name, origin))
return (ISC_FALSE);
return (false);
dns_rdataset_init(&nsset);
result = dns_db_findrdataset(db, node, ver, dns_rdatatype_ns,
@@ -564,10 +571,25 @@ is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_rdataset_disassociate(&nsset);
}
return (ISC_TF(result == ISC_R_SUCCESS));
return (result == ISC_R_SUCCESS);
}
static isc_boolean_t
bool
has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) {
dns_rdataset_t dnameset;
isc_result_t result;
dns_rdataset_init(&dnameset);
result = dns_db_findrdataset(db, node, ver, dns_rdatatype_dname, 0, 0,
&dnameset, NULL);
if (dns_rdataset_isassociated(&dnameset)) {
dns_rdataset_disassociate(&dnameset);
}
return (result == ISC_R_SUCCESS);
}
static bool
goodsig(dns_name_t *origin, dns_rdata_t *sigrdata, dns_name_t *name,
dns_rdataset_t *keyrdataset, dns_rdataset_t *rdataset, isc_mem_t *mctx)
{
@@ -589,20 +611,35 @@ goodsig(dns_name_t *origin, dns_rdata_t *sigrdata, dns_name_t *name,
result = dns_dnssec_keyfromrdata(origin, &rdata, mctx,
&dstkey);
if (result != ISC_R_SUCCESS)
return (ISC_FALSE);
return (false);
if (sig.algorithm != key.algorithm ||
sig.keyid != dst_key_id(dstkey) ||
!dns_name_equal(&sig.signer, origin)) {
dst_key_free(&dstkey);
continue;
}
result = dns_dnssec_verify(name, rdataset, dstkey, ISC_FALSE,
result = dns_dnssec_verify(name, rdataset, dstkey, false,
mctx, sigrdata);
dst_key_free(&dstkey);
if (result == ISC_R_SUCCESS)
return(ISC_TRUE);
return(true);
}
return (ISC_FALSE);
return (false);
}
static bool
nsec_bitmap_equal(dns_rdata_nsec_t *nsec, dns_rdata_t *rdata) {
isc_result_t result;
dns_rdata_nsec_t tmpnsec;
result = dns_rdata_tostruct(rdata, &tmpnsec, NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if (nsec->len != tmpnsec.len ||
memcmp(nsec->typebits, tmpnsec.typebits, nsec->len) != 0) {
return (false);
}
return (true);
}
static isc_result_t
@@ -648,7 +685,7 @@ verifynsec(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
result = dns_nsec_buildrdata(db, ver, node, nextname, buffer,
&tmprdata);
check_result(result, "dns_nsec_buildrdata()");
if (dns_rdata_compare(&rdata, &tmprdata) != 0) {
if (!nsec_bitmap_equal(&nsec, &tmprdata)) {
dns_name_format(name, namebuf, sizeof(namebuf));
fprintf(stderr, "Bad NSEC record for %s, bit map "
"mismatch\n", namebuf);
@@ -702,7 +739,7 @@ check_no_rrsig(dns_db_t *db, dns_dbversion_t *ver, dns_rdataset_t *rdataset,
dns_rdatasetiter_destroy(&rdsiter);
}
static isc_boolean_t
static bool
chain_compare(void *arg1, void *arg2) {
struct nsec3_chain_fixed *e1 = arg1, *e2 = arg2;
size_t len;
@@ -711,43 +748,43 @@ chain_compare(void *arg1, void *arg2) {
* Do each element in turn to get a stable sort.
*/
if (e1->hash < e2->hash)
return (ISC_TRUE);
return (true);
if (e1->hash > e2->hash)
return (ISC_FALSE);
return (false);
if (e1->iterations < e2->iterations)
return (ISC_TRUE);
return (true);
if (e1->iterations > e2->iterations)
return (ISC_FALSE);
return (false);
if (e1->salt_length < e2->salt_length)
return (ISC_TRUE);
return (true);
if (e1->salt_length > e2->salt_length)
return (ISC_FALSE);
return (false);
if (e1->next_length < e2->next_length)
return (ISC_TRUE);
return (true);
if (e1->next_length > e2->next_length)
return (ISC_FALSE);
return (false);
len = e1->salt_length + 2 * e1->next_length;
if (memcmp(e1 + 1, e2 + 1, len) < 0)
return (ISC_TRUE);
return (ISC_FALSE);
return (true);
return (false);
}
static isc_boolean_t
static bool
chain_equal(struct nsec3_chain_fixed *e1, struct nsec3_chain_fixed *e2) {
size_t len;
if (e1->hash != e2->hash)
return (ISC_FALSE);
return (false);
if (e1->iterations != e2->iterations)
return (ISC_FALSE);
return (false);
if (e1->salt_length != e2->salt_length)
return (ISC_FALSE);
return (false);
if (e1->next_length != e2->next_length)
return (ISC_FALSE);
return (false);
len = e1->salt_length + 2 * e1->next_length;
if (memcmp(e1 + 1, e2 + 1, len) != 0)
return (ISC_FALSE);
return (ISC_TRUE);
return (false);
return (true);
}
static isc_result_t
@@ -867,7 +904,7 @@ match_nsec3(dns_name_t *name, isc_mem_t *mctx,
return (result);
}
static isc_boolean_t
static bool
innsec3params(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset) {
dns_rdata_nsec3param_t nsec3param;
isc_result_t result;
@@ -886,9 +923,9 @@ innsec3params(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset) {
nsec3param.salt_length == nsec3->salt_length &&
memcmp(nsec3param.salt, nsec3->salt,
nsec3->salt_length) == 0)
return (ISC_TRUE);
return (true);
}
return (ISC_FALSE);
return (false);
}
static isc_result_t
@@ -947,7 +984,7 @@ record_found(dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx,
return (ISC_R_SUCCESS);
}
static isc_boolean_t
static bool
isoptout(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_rdata_t *nsec3rdata)
{
@@ -961,7 +998,7 @@ isoptout(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_dbnode_t *node = NULL;
unsigned char rawhash[NSEC3_MAX_HASH_LENGTH];
size_t rhsize = sizeof(rawhash);
isc_boolean_t ret;
bool ret;
result = dns_rdata_tostruct(nsec3rdata, &nsec3param, NULL);
check_result(result, "dns_rdata_tostruct()");
@@ -974,12 +1011,12 @@ isoptout(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_rdataset_init(&rdataset);
hashname = dns_fixedname_name(&fixed);
result = dns_db_findnsec3node(db, hashname, ISC_FALSE, &node);
result = dns_db_findnsec3node(db, hashname, false, &node);
if (result == ISC_R_SUCCESS)
result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3,
0, 0, &rdataset, NULL);
if (result != ISC_R_SUCCESS)
return (ISC_FALSE);
return (false);
result = dns_rdataset_first(&rdataset);
check_result(result, "dns_rdataset_first()");
@@ -988,9 +1025,9 @@ isoptout(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
result = dns_rdata_tostruct(&rdata, &nsec3, NULL);
if (result != ISC_R_SUCCESS)
ret = ISC_FALSE;
ret = false;
else
ret = ISC_TF((nsec3.flags & DNS_NSEC3FLAG_OPTOUT) != 0);
ret = (nsec3.flags & DNS_NSEC3FLAG_OPTOUT);
if (dns_rdataset_isassociated(&rdataset))
dns_rdataset_disassociate(&rdataset);
@@ -1003,7 +1040,7 @@ isoptout(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
static isc_result_t
verifynsec3(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
isc_mem_t *mctx, dns_name_t *name, dns_rdata_t *rdata,
isc_boolean_t delegation, isc_boolean_t empty,
bool delegation, bool empty,
unsigned char types[8192], unsigned int maxtype)
{
char namebuf[DNS_NAME_FORMATSIZE];
@@ -1016,7 +1053,7 @@ verifynsec3(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_dbnode_t *node = NULL;
unsigned char rawhash[NSEC3_MAX_HASH_LENGTH];
size_t rhsize = sizeof(rawhash);
isc_boolean_t optout;
bool optout;
result = dns_rdata_tostruct(rdata, &nsec3param, NULL);
check_result(result, "dns_rdata_tostruct()");
@@ -1043,7 +1080,7 @@ verifynsec3(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
*/
dns_rdataset_init(&rdataset);
hashname = dns_fixedname_name(&fixed);
result = dns_db_findnsec3node(db, hashname, ISC_FALSE, &node);
result = dns_db_findnsec3node(db, hashname, false, &node);
if (result == ISC_R_SUCCESS)
result = dns_db_findrdataset(db, node, ver, dns_rdatatype_nsec3,
0, 0, &rdataset, NULL);
@@ -1075,7 +1112,7 @@ verifynsec3(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
static isc_result_t
verifynsec3s(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
isc_mem_t *mctx, dns_name_t *name, dns_rdataset_t *nsec3paramset,
isc_boolean_t delegation, isc_boolean_t empty,
bool delegation, bool empty,
unsigned char types[8192], unsigned int maxtype)
{
isc_result_t result;
@@ -1176,7 +1213,7 @@ verifyset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
static isc_result_t
verifynode(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
isc_mem_t *mctx, dns_name_t *name, dns_dbnode_t *node,
isc_boolean_t delegation, dns_rdataset_t *keyrdataset,
bool delegation, dns_rdataset_t *keyrdataset,
unsigned char *act_algorithms, unsigned char *bad_algorithms,
dns_rdataset_t *nsecset, dns_rdataset_t *nsec3paramset,
dns_name_t *nextname)
@@ -1232,7 +1269,7 @@ verifynode(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
if (nsec3paramset != NULL && dns_rdataset_isassociated(nsec3paramset)) {
tresult = verifynsec3s(db, ver, origin, mctx, name,
nsec3paramset, delegation, ISC_FALSE,
nsec3paramset, delegation, false,
types, maxtype);
if (result == ISC_R_SUCCESS && tresult != ISC_R_SUCCESS)
result = tresult;
@@ -1240,7 +1277,7 @@ verifynode(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
return (result);
}
static isc_boolean_t
static bool
is_empty(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) {
dns_rdatasetiter_t *rdsiter = NULL;
isc_result_t result;
@@ -1250,8 +1287,8 @@ is_empty(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node) {
result = dns_rdatasetiter_first(rdsiter);
dns_rdatasetiter_destroy(&rdsiter);
if (result == ISC_R_NOMORE)
return (ISC_TRUE);
return (ISC_FALSE);
return (true);
return (false);
}
static void
@@ -1274,7 +1311,7 @@ check_no_nsec(dns_name_t *name, dns_dbnode_t *node, dns_db_t *db,
dns_rdataset_disassociate(&rdataset);
}
static isc_boolean_t
static bool
newchain(const struct nsec3_chain_fixed *first,
const struct nsec3_chain_fixed *e)
{
@@ -1283,8 +1320,8 @@ newchain(const struct nsec3_chain_fixed *first,
first->salt_length != e->salt_length ||
first->next_length != e->next_length ||
memcmp(first + 1, e + 1, first->salt_length) != 0)
return (ISC_TRUE);
return (ISC_FALSE);
return (true);
return (false);
}
static void
@@ -1295,7 +1332,7 @@ free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e) {
isc_mem_put(mctx, e, len);
}
static isc_boolean_t
static bool
checknext(const struct nsec3_chain_fixed *first,
const struct nsec3_chain_fixed *e)
{
@@ -1309,7 +1346,7 @@ checknext(const struct nsec3_chain_fixed *first,
d2 += e->salt_length;
if (memcmp(d1, d2, first->next_length) == 0)
return (ISC_TRUE);
return (true);
DE_CONST(d1 - first->next_length, sr.base);
sr.length = first->next_length;
@@ -1331,7 +1368,7 @@ checknext(const struct nsec3_chain_fixed *first,
isc_base32hex_totext(&sr, 1, "", &b);
fprintf(stderr, "Found: %.*s\n", (int) isc_buffer_usedlength(&b), buf);
return (ISC_FALSE);
return (false);
}
#define EXPECTEDANDFOUND "Expected and found NSEC3 chains not equal\n"
@@ -1423,7 +1460,7 @@ verify_nsec3_chains(isc_mem_t *mctx) {
static isc_result_t
verifyemptynodes(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
isc_mem_t *mctx, dns_name_t *name, dns_name_t *prevname,
isc_boolean_t isdelegation, dns_rdataset_t *nsec3paramset)
bool isdelegation, dns_rdataset_t *nsec3paramset)
{
dns_namereln_t reln;
int order;
@@ -1447,7 +1484,7 @@ verifyemptynodes(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_rdataset_isassociated(nsec3paramset)) {
tresult = verifynsec3s(db, ver, origin, mctx,
&suffix, nsec3paramset,
isdelegation, ISC_TRUE,
isdelegation, true,
NULL, 0);
if (result == ISC_R_SUCCESS &&
tresult != ISC_R_SUCCESS)
@@ -1473,7 +1510,7 @@ verifyemptynodes(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
void
verifyzone(dns_db_t *db, dns_dbversion_t *ver,
dns_name_t *origin, isc_mem_t *mctx,
isc_boolean_t ignore_kskflag, isc_boolean_t keyset_kskonly)
bool ignore_kskflag, bool keyset_kskonly)
{
char algbuf[80];
dns_dbiterator_t *dbiter = NULL;
@@ -1487,10 +1524,10 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
dns_rdataset_t nsecset, nsecsigs;
dns_rdataset_t nsec3paramset, nsec3paramsigs;
int i;
isc_boolean_t done = ISC_FALSE;
isc_boolean_t first = ISC_TRUE;
isc_boolean_t goodksk = ISC_FALSE;
isc_boolean_t goodzsk = ISC_FALSE;
bool done = false;
bool first = true;
bool goodksk = false;
bool goodzsk = false;
isc_result_t result, vresult = ISC_R_UNSET;
unsigned char revoked_ksk[256];
unsigned char revoked_zsk[256];
@@ -1508,7 +1545,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
&found_chains);
check_result(result, "isc_heap_create()");
result = dns_db_findnode(db, origin, ISC_FALSE, &node);
result = dns_db_findnode(db, origin, false, &node);
if (result != ISC_R_SUCCESS)
fatal("failed to find the zone's origin: %s",
isc_result_totext(result));
@@ -1587,7 +1624,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) {
if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
!dns_dnssec_selfsigns(&rdata, origin, &keyset,
&keysigs, ISC_FALSE,
&keysigs, false,
mctx)) {
char namebuf[DNS_NAME_FORMATSIZE];
char buffer[1024];
@@ -1610,21 +1647,21 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
revoked_zsk[dnskey.algorithm]++;
} else if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0) {
if (dns_dnssec_selfsigns(&rdata, origin, &keyset,
&keysigs, ISC_FALSE, mctx)) {
&keysigs, false, mctx)) {
if (ksk_algorithms[dnskey.algorithm] != 255)
ksk_algorithms[dnskey.algorithm]++;
goodksk = ISC_TRUE;
goodksk = true;
} else {
if (standby_ksk[dnskey.algorithm] != 255)
standby_ksk[dnskey.algorithm]++;
}
} else if (dns_dnssec_selfsigns(&rdata, origin, &keyset,
&keysigs, ISC_FALSE, mctx)) {
&keysigs, false, mctx)) {
if (zsk_algorithms[dnskey.algorithm] != 255)
zsk_algorithms[dnskey.algorithm]++;
goodzsk = ISC_TRUE;
goodzsk = true;
} else if (dns_dnssec_signs(&rdata, origin, &soaset,
&soasigs, ISC_FALSE, mctx)) {
&soasigs, false, mctx)) {
if (zsk_algorithms[dnskey.algorithm] != 255)
zsk_algorithms[dnskey.algorithm]++;
} else {
@@ -1687,10 +1724,8 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
* present in the DNSKEY RRSET.
*/
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
dns_fixedname_init(&fnextname);
nextname = dns_fixedname_name(&fnextname);
name = dns_fixedname_initname(&fname);
nextname = dns_fixedname_initname(&fnextname);
dns_fixedname_init(&fprevname);
prevname = NULL;
dns_fixedname_init(&fzonecut);
@@ -1703,7 +1738,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
check_result(result, "dns_dbiterator_first()");
while (!done) {
isc_boolean_t isdelegation = ISC_FALSE;
bool isdelegation = false;
result = dns_dbiterator_current(dbiter, &node, name);
check_dns_dbiterator_current(result);
@@ -1712,7 +1747,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
dns_db_detachnode(db, &node);
result = dns_dbiterator_next(dbiter);
if (result == ISC_R_NOMORE)
done = ISC_TRUE;
done = true;
else
check_result(result, "dns_dbiterator_next()");
continue;
@@ -1720,7 +1755,10 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
if (is_delegation(db, ver, origin, name, node, NULL)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
isdelegation = ISC_TRUE;
isdelegation = true;
} else if (has_dname(db, ver, node)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
}
nextnode = NULL;
result = dns_dbiterator_next(dbiter);
@@ -1746,7 +1784,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
break;
}
if (result == ISC_R_NOMORE) {
done = ISC_TRUE;
done = true;
nextname = origin;
} else if (result != ISC_R_SUCCESS)
fatal("iterating through the database failed: %s",
@@ -1782,7 +1820,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
result = dns_dbiterator_current(dbiter, &node, name);
check_dns_dbiterator_current(result);
result = verifynode(db, ver, origin, mctx, name, node,
ISC_FALSE, &keyset, act_algorithms,
false, &keyset, act_algorithms,
bad_algorithms, NULL, NULL, NULL);
check_result(result, "verifynode");
record_found(db, ver, mctx, name, node, &nsec3paramset);
@@ -1815,7 +1853,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
"for the following algorithms:");
dns_secalg_format(i, algbuf, sizeof(algbuf));
fprintf(stderr, " %s", algbuf);
first = ISC_FALSE;
first = false;
}
}
if (!first) {
@@ -1856,7 +1894,7 @@ verifyzone(dns_db_t *db, dns_dbversion_t *ver,
}
}
isc_boolean_t
bool
isoptarg(const char *arg, char **argv, void(*usage)(void)) {
if (!strcasecmp(isc_commandline_argument, arg)) {
if (argv[isc_commandline_index] == NULL) {
@@ -1868,9 +1906,9 @@ isoptarg(const char *arg, char **argv, void(*usage)(void)) {
isc_commandline_argument = argv[isc_commandline_index];
/* skip to next arguement */
isc_commandline_index++;
return (ISC_TRUE);
return (true);
}
return (ISC_FALSE);
return (false);
}
#ifdef _WIN32
+22 -10
View File
@@ -1,16 +1,21 @@
/*
* Copyright (C) 2000, 2001, 2003, 2004, 2007-2012, 2014-2017 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/* $Id: dnssectool.h,v 1.33 2011/10/20 23:46:51 tbox Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
#include <inttypes.h>
#include <stdbool.h>
#include <isc/log.h>
#include <isc/stdtime.h>
#include <dns/rdatastruct.h>
@@ -62,8 +67,8 @@ cleanup_entropy(isc_entropy_t **ectx);
dns_ttl_t strtottl(const char *str);
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base,
isc_boolean_t *setp);
strtotime(const char *str, int64_t now, int64_t base,
bool *setp);
dns_rdataclass_t
strtoclass(const char *str);
@@ -77,20 +82,27 @@ check_keyversion(dst_key_t *key, char *keystr);
void
set_keyversion(dst_key_t *key);
isc_boolean_t
bool
key_collision(dst_key_t *key, dns_name_t *name, const char *dir,
isc_mem_t *mctx, isc_boolean_t *exact);
isc_mem_t *mctx, bool *exact);
isc_boolean_t
bool
is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *origin,
dns_name_t *name, dns_dbnode_t *node, isc_uint32_t *ttlp);
dns_name_t *name, dns_dbnode_t *node, uint32_t *ttlp);
/*%
* Return true if version 'ver' of database 'db' contains a DNAME RRset at
* 'node'; return false otherwise.
*/
bool
has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node);
void
verifyzone(dns_db_t *db, dns_dbversion_t *ver,
dns_name_t *origin, isc_mem_t *mctx,
isc_boolean_t ignore_kskflag, isc_boolean_t keyset_kskonly);
bool ignore_kskflag, bool keyset_kskonly);
isc_boolean_t
bool
isoptarg(const char *arg, char **argv, void (*usage)(void));
#ifdef _WIN32
+4 -1
View File
@@ -1,8 +1,11 @@
# Copyright (C) 1998-2002, 2004-2017 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
srcdir = @srcdir@
VPATH = @srcdir@
+4 -1
View File
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2006-2009, 2012-2016 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) Internet Systems Consortium, Inc. ("ISC")
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- See the COPYRIGHT file distributed with this work for additional
- information regarding copyright ownership.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
+4 -1
View File
@@ -5,11 +5,14 @@
static char xslmsg[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!--\n"
" - Copyright (C) 2006-2009, 2012-2016 Internet Systems Consortium, Inc. (\"ISC\")\n"
" - Copyright (C) Internet Systems Consortium, Inc. (\"ISC\")\n"
" -\n"
" - This Source Code Form is subject to the terms of the Mozilla Public\n"
" - License, v. 2.0. If a copy of the MPL was not distributed with this\n"
" - file, You can obtain one at http://mozilla.org/MPL/2.0/.\n"
" -\n"
" - See the COPYRIGHT file distributed with this work for additional\n"
" - information regarding copyright ownership.\n"
"-->\n"
"\n"
"<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n"

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