Compare commits

...
1898 Commits
Author SHA1 Message Date
Evan Hunt 44bf36c9ab update version 2012-09-26 17:51:04 -07:00
Evan Hunt 3f2bb9f94c fixed an exploitable hang bug
3383.	[security]	A certain combination of records in the RBT could
                        cause named to hang while populating the additional
                        section of a response. [RT #31090]
2012-09-26 17:34:41 -07:00
Mark Andrews 2cc8b1e5bb 9.9.1-P3 2012-08-24 14:43:09 +10:00
Mark Andrews 6722f2f859 3364. [security] Named could die on specially crafted record.
[RT #30416]
2012-08-16 10:37:58 +10:00
Evan Hunt 447a6514e9 fix race in ISC_QUEUE_PUSH 2012-07-12 13:57:58 -07:00
Evan Hunt 1ee98d943f prep for release 2012-07-02 10:17:31 -07:00
Evan Hunt 10b94a2df4 fix bad-cache assert
3346.	[security]	Bad-cache data could be used before it was
			initialized, causing an assert. [RT #30025]
2012-07-02 10:02:36 -07:00
Evan Hunt 2fe496ecc5 addressed possible race in ISC_QUEUE
3345.	[bug]		Addressed race condition when removing the last item
			or inserting the first item in an ISC_QUEUE.
			[RT #29539]
2012-07-02 09:39:09 -07:00
Mark Andrews a529ca0307 3342. [bug] Change #3314 broke saving of stub zones to disk
resulting in excessive cpu usage in some cases.
                        [RT #29952]
2012-06-27 09:29:55 +10:00
Evan Hunt ba3ee3c56b add a test for non-inline slaves 2012-06-01 08:29:52 -07:00
Mark Andrews 0d9818cd53 9.9.1-P1 2012-06-02 00:27:49 +10:00
Mark Andrews f74c1abae1 fix change # 2012-06-02 00:26:35 +10:00
Mark Andrews 25ab4cd777 3331. [security] dns_rdataslab_fromrdataset could produce bad
rdataslabs. [RT #29644]
2012-06-02 00:26:02 +10:00
Mark Andrews f5e44458b8 3318. [tuning] Reduce the amount of work performed while holding a
bucket lock when finshed with a fetch context.
                        [RT #29239]
2012-05-10 08:39:51 +10:00
Tinderbox User 74388cc74e update SRCID 2012-05-09 00:16:14 +00:00
Tinderbox User fa7f486f31 update SRCID 2012-05-08 00:16:01 +00:00
Tinderbox User f2d708c18f update SRCID 2012-05-07 00:16:00 +00:00
Tinderbox User 49a3d1fe55 update SRCID 2012-05-06 00:16:08 +00:00
Tinderbox User 6f9b569ae6 update SRCID 2012-05-05 00:16:13 +00:00
Tinderbox User 97b629e717 update SRCID 2012-05-04 00:16:11 +00:00
Tinderbox User f25aa333df update SRCID 2012-05-03 00:16:20 +00:00
Tinderbox User ac0821c961 update SRCID 2012-05-02 00:16:00 +00:00
Tinderbox User 95cd5cba8e update SRCID 2012-05-01 00:16:07 +00:00
Tinderbox User ab85753c74 update SRCID 2012-04-30 00:16:16 +00:00
Tinderbox User fc91ae2ebd update SRCID 2012-04-29 00:16:06 +00:00
Tinderbox User 1bae5e9ac1 update SRCID 2012-04-28 00:15:55 +00:00
Tinderbox User baf68cd714 update SRCID 2012-04-27 13:16:03 +00:00
Tinderbox User bdbfb728f3 update SRCID 2012-04-27 08:16:09 +00:00
Tinderbox User 5ccc30dcda update SRCID 2012-04-27 07:16:17 +00:00
Mark Andrews 4323895ddf only report different text if not in EXCLUDED 2012-04-27 16:30:10 +10:00
Tinderbox User 1a7a46bd84 update SRCID 2012-04-27 04:16:15 +00:00
Tinderbox User 6860df599d update copyright notice 2012-04-27 04:03:10 +00:00
Mark Andrews 347ec966c5 Merge branch 'v9_9' of repo.isc.org:/proj/git/prod/bind9 into v9_9 2012-04-27 14:01:56 +10:00
Tinderbox User 589d946d04 newcopyrights 2012-04-27 04:01:34 +00:00
Mark Andrews 4b102817cf 9.9.1 2012-04-27 13:58:44 +10:00
Mark Andrews d089b211f6 Merge branch 'v9_9' of repo.isc.org:/proj/git/prod/bind9 into v9_9 2012-04-27 13:55:30 +10:00
Mark Andrews 8decf831dc 9.9.1 2012-04-27 13:53:28 +10:00
Tinderbox User fb19802ccd 9.9.1 2012-04-27 03:36:28 +00:00
Tinderbox User c0b7cbd4e7 update SRCID 2012-04-27 03:16:26 +00:00
Mark Andrews 39497b6d0a 3273. [bug] AAAA responses could be returned in the additional
section even when filter-aaaa-on-v4 was in use.
                        [RT #27292]
2012-04-27 13:03:21 +10:00
Mark Andrews 9a9f67d54b 3273. [bug] AAAA responses could be returned in the additional
section even when filter-aaaa-on-v4 was in use.
                        [RT #27292]
2012-04-27 13:02:03 +10:00
Mark Andrews f93746692a 9.9.1 2012-04-27 12:39:05 +10:00
Mark Andrews 26329dc28a check if the pdf version of the ARM needs to be committed 2012-04-27 12:29:49 +10:00
Tinderbox User 59e133e84a update SRCID 2012-04-27 01:15:50 +00:00
Mark Andrews f56db336a3 sync with master 2012-04-27 10:46:21 +10:00
Tinderbox User f35f5615e6 update SRCID 2012-04-27 00:15:56 +00:00
Tinderbox User 36b371b81f update copyright notice 2012-04-26 23:45:39 +00:00
Tinderbox User dbc1295a06 newcopyrights 2012-04-26 23:30:27 +00:00
Tinderbox User bc67bef164 update SRCID 2012-04-26 05:16:30 +00:00
Mark Andrews 1189f64314 TRUE -> ISC_TRUE 2012-04-26 15:07:53 +10:00
Tinderbox User 454d2c52fb update SRCID 2012-04-26 03:16:28 +00:00
Mark Andrews 038364699c 3314. [bug] The masters list could be updated while refesh_callback
and stub_callback were using it. [RT #26732]
2012-04-26 13:01:04 +10:00
Mark Andrews 07ef11a326 3313. [protocol] Add TLSA record type. [RT #28989] 2012-04-26 12:36:53 +10:00
Tinderbox User 9edd7f4d6a update SRCID 2012-04-26 02:15:40 +00:00
Mark Andrews b58a55c2d9 3312. [bug] named-checkconf didn't detect a bad dns64 clients acl.
[RT #27631]
2012-04-26 11:45:14 +10:00
Mark Andrews b41cfce325 3311. [bug] Abort the zone dump if zone->db is NULL in
zone.c:zone_gotwritehandle. [RT #29028]
2012-04-26 11:26:11 +10:00
Tinderbox User 8a5b631936 update SRCID 2012-04-26 00:16:12 +00:00
Tinderbox User d124119c13 update copyright notice 2012-04-25 23:45:37 +00:00
Tinderbox User 1039c8deae newcopyrights 2012-04-25 23:30:11 +00:00
Tinderbox User fc4357fbee update SRCID 2012-04-25 00:15:58 +00:00
Evan Hunt 825bebde58 increase table size for mutex profiling 2012-04-24 16:52:40 -07:00
Tinderbox User 45cd6c0057 update SRCID 2012-04-24 22:15:57 +00:00
Evan Hunt 4e6be4ae5c Merge branch 'v9_9' of ssh://repo/proj/git/prod/bind9 into v9_9 2012-04-24 14:57:44 -07:00
Evan Hunt 2535471704 fctx_finddone: call fctx_destroy within the bucket lock
Conflicts:

	CHANGES
2012-04-24 14:57:19 -07:00
Tinderbox User f9fdc93bd6 update SRCID 2012-04-24 00:15:57 +00:00
Tinderbox User 482f0ab00b newcopyrights 2012-04-23 23:30:29 +00:00
Tinderbox User 637001aac8 update SRCID 2012-04-23 16:15:53 +00:00
Evan Hunt d171ec4fe4 missed a file in previous commit 2012-04-23 08:57:02 -07:00
Evan Hunt c02c10261c fix .gitignore files 2012-04-23 08:56:12 -07:00
Tinderbox User 56e1e74195 update SRCID 2012-04-23 00:16:13 +00:00
Tinderbox User 5cabb1468c update SRCID 2012-04-22 00:16:13 +00:00
Tinderbox User 0fec430aa6 update SRCID 2012-04-21 00:16:01 +00:00
Tinderbox User 2920bdd36a update SRCID 2012-04-20 00:16:00 +00:00
Tinderbox User d45dc05a73 update SRCID 2012-04-19 14:17:34 +00:00
Scott Mann 856f533150 remove rfc5011.txt from contrib in tarball 2012-04-19 08:03:15 -06:00
Tinderbox User 2c246fcc46 update SRCID 2012-04-19 00:16:13 +00:00
Tinderbox User bb914f2af4 update SRCID 2012-04-18 00:16:29 +00:00
Tinderbox User 297525d38a update SRCID 2012-04-17 00:16:07 +00:00
Tinderbox User d439148dc4 update SRCID 2012-04-16 00:16:15 +00:00
Tinderbox User 8f1d480c01 update SRCID 2012-04-15 00:16:20 +00:00
Tinderbox User a8d5dd0564 update SRCID 2012-04-14 00:16:12 +00:00
Tinderbox User f034acf332 update SRCID 2012-04-13 00:16:16 +00:00
Tinderbox User 92fcedb783 update copyright notice 2012-04-12 23:45:42 +00:00
Tinderbox User 305e4e3438 newcopyrights 2012-04-12 23:30:21 +00:00
Tinderbox User 985026a5f1 update SRCID 2012-04-12 23:15:54 +00:00
Mark Andrews 7a5ab270d3 3307. [bug] Add missing ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS.
[RT #28956]
2012-04-13 08:37:30 +10:00
Tinderbox User 4ae302ebf5 update SRCID 2012-04-12 10:15:51 +00:00
Mark Andrews b5d097b103 3307. [bug] Add missing ISC_LANG_ENDDECLS to <dns/tsec.h>. [RT #28956] 2012-04-12 19:15:39 +10:00
Tinderbox User a740ff5cf5 update SRCID 2012-04-12 00:16:16 +00:00
Tinderbox User 814d92a93b update copyright notice 2012-04-11 23:45:41 +00:00
Tinderbox User 01deb4ae58 newcopyrights 2012-04-11 23:30:21 +00:00
Tinderbox User 7cf08a4c34 update SRCID 2012-04-11 03:16:09 +00:00
Mark Andrews 74ce4de82e 3306. [bug] Improve DNS64 reverse zone performance. [RT #28563]
3305.   [func]          Add wire format lookup method to sdb. [RT #28563]
2012-04-11 12:20:44 +10:00
Tinderbox User e3a1a68c1b update SRCID 2012-04-11 02:15:21 +00:00
Mark Andrews 21a01a2817 Merge branch 'v9_9' of repo.isc.org:/proj/git/prod/bind9 into v9_9 2012-04-11 12:04:14 +10:00
Mark Andrews 52b6c5b386 add the ability to override --remote 2012-04-11 11:28:43 +10:00
Tinderbox User 7507ec564f update SRCID 2012-04-11 01:15:49 +00:00
Mark Andrews 2490e43c67 3304. [bug] Use hmctx, not mctx when freeing rbtdb->heaps. [RT #28571] 2012-04-11 10:44:24 +10:00
Tinderbox User efc5cea15d update SRCID 2012-04-11 00:15:56 +00:00
Tinderbox User 4e243dc6d9 update SRCID 2012-04-10 07:17:15 +00:00
Mark Andrews fa2de2b7b8 use --remote=cvs.isc.org:/proj/git/prod/bind9.git 2012-04-10 16:18:18 +10:00
Tinderbox User 945aa1b106 update SRCID 2012-04-10 00:16:42 +00:00
Tinderbox User e1288dffe5 update SRCID 2012-04-09 00:17:21 +00:00
Tinderbox User ce6b1a3a92 update SRCID 2012-04-08 00:17:19 +00:00
Tinderbox User cfcbd36ba6 update SRCID 2012-04-07 00:17:16 +00:00
Tinderbox User 392c63c92f update SRCID 2012-04-06 00:15:51 +00:00
Tinderbox User 5ce42d6164 update SRCID 2012-04-05 06:17:36 +00:00
Mark Andrews 952739146c 3303. [bug] named could die when reloading. [RT #28606] 2012-04-05 15:52:09 +10:00
Tinderbox User 721bef2aaa update SRCID 2012-04-05 00:16:53 +00:00
Tinderbox User ed326dc311 update SRCID 2012-04-04 00:17:03 +00:00
Tinderbox User 0c1f25d744 update SRCID 2012-04-03 00:16:47 +00:00
Tinderbox User 652dca284d update SRCID 2012-04-02 00:17:23 +00:00
Tinderbox User ca637fb07b update SRCID 2012-04-01 00:16:57 +00:00
Tinderbox User 23632cfbda update SRCID 2012-03-31 00:17:20 +00:00
Tinderbox User 5ee7aefb5f update SRCID 2012-03-30 01:17:07 +00:00
Mark Andrews b2cc45dd7f 3302. [bug] dns_dnssec_findmatchingkeys could fail to find
keys if the zone name contained character that
                        required special mappings. [RT #28600]
2012-03-30 12:07:13 +11:00
Tinderbox User 9e58003ff3 update SRCID 2012-03-30 00:16:55 +00:00
Tinderbox User 448dfc86f0 newcopyrights 2012-03-29 23:30:19 +00:00
Tinderbox User 20e696e63a update SRCID 2012-03-29 00:17:20 +00:00
Mark Andrews 67071d371a 3301. [contrib] Update queryperf to build on darwin. Add -R flag
for non-recursive queries. [RT #28565]
2012-03-29 10:31:03 +11:00
Tinderbox User 80e6a1a651 update SRCID 2012-03-28 23:16:17 +00:00
Mark Andrews 46fbcf04a0 3300. [bug] Named could die if gssapi was enabled in named.conf
but was not compiled in. [RT #28338]
2012-03-29 09:52:44 +11:00
Tinderbox User d7776e1519 update SRCID 2012-03-28 00:16:49 +00:00
Mark Andrews 081fda43c1 3299. [bug] Make SDB handle errors from database drivers better.
[RT #28534]
2012-03-28 10:25:43 +11:00
Tinderbox User af7ddf2901 update SRCID 2012-03-27 00:16:18 +00:00
Tinderbox User 7856b79b2b update SRCID 2012-03-26 00:16:47 +00:00
Tinderbox User 55ea9591fe update SRCID 2012-03-25 00:16:53 +00:00
Tinderbox User 709193a694 update SRCID 2012-03-24 00:17:17 +00:00
Tinderbox User bfaf590064 update SRCID 2012-03-23 00:17:17 +00:00
Tinderbox User 78840394d0 update SRCID 2012-03-22 02:16:44 +00:00
Mark Andrews 0af2c19d5a 3298. [bug] Named could dereference a NULL pointer in
zmgr_start_xfrin_ifquota if the zone was being removed.
                        [RT #28419]
2012-03-22 12:21:41 +11:00
Tinderbox User d71b1b935f update SRCID 2012-03-22 00:17:09 +00:00
Tinderbox User 280f356496 update SRCID 2012-03-21 00:17:13 +00:00
Tinderbox User d56a5e2ace update SRCID 2012-03-20 00:17:12 +00:00
Tinderbox User 16dd4dcc57 update SRCID 2012-03-19 00:16:15 +00:00
Tinderbox User aa2b4f2c8c update SRCID 2012-03-18 00:17:17 +00:00
Tinderbox User 44f2a57294 update SRCID 2012-03-17 00:16:16 +00:00
Tinderbox User 29517d98eb update SRCID 2012-03-16 00:17:13 +00:00
Tinderbox User cadd2123cc update SRCID 2012-03-15 01:16:51 +00:00
Mark Andrews 8b07de94d7 3297. [bug] Named could die on a malformed master file. [RT #28467] 2012-03-15 12:09:01 +11:00
Mark Andrews b1d55de4fa 3296. [bug] Named could die with a INSIST failure in
client.c:exit_check. [RT #28346]
2012-03-15 11:48:57 +11:00
Tinderbox User 5c9f648a93 update SRCID 2012-03-15 00:16:18 +00:00
Tinderbox User 5cca73efaa update copyright notice 2012-03-14 23:45:32 +00:00
Tinderbox User 75eb920ce4 newcopyrights 2012-03-14 23:30:13 +00:00
Tinderbox User 63a42d5449 update SRCID 2012-03-14 05:16:45 +00:00
Mark Andrews ac5871037f properly redirect stderr to stdout 2012-03-14 16:09:41 +11:00
Tinderbox User 597801edb0 update SRCID 2012-03-14 00:17:08 +00:00
Tinderbox User 840bc4127a update SRCID 2012-03-13 00:17:12 +00:00
Tinderbox User db66a29c6a update copyright notice 2012-03-12 23:45:36 +00:00
Tinderbox User 8f9964ca30 update SRCID 2012-03-12 01:16:39 +00:00
Tinderbox User 791a94a22f regen v9_9 2012-03-12 01:16:30 +00:00
Mark Andrews df8f202dd0 copyright cleanup 2012-03-12 11:35:58 +11:00
Tinderbox User 5bdea7b2bc update SRCID 2012-03-12 00:16:21 +00:00
Tinderbox User 0a5497ae0a update SRCID 2012-03-11 00:16:44 +00:00
Tinderbox User 5abefae88a update copyright notice 2012-03-10 23:45:42 +00:00
Tinderbox User 5c984d074d newcopyrights 2012-03-10 23:30:19 +00:00
Tinderbox User f34177f53d update SRCID 2012-03-10 04:29:55 +00:00
Tinderbox User 156783b056 update SRCID 2012-03-10 00:18:21 +00:00
Evan Hunt ddde18cbd3 Merged 'rt28345': new git-based merge_copyrights 2012-03-09 15:58:58 -08:00
Tinderbox User b5ea9b234e regen 2012-03-09 23:30:27 +00:00
Tinderbox User b1ae23f7b4 regen 2012-03-09 23:30:27 +00:00
Tinderbox User c713f209a5 update SRCID 2012-03-09 22:17:40 +00:00
Mark Andrews 27d5d5890f empty directory 2012-03-10 08:46:19 +11:00
Tinderbox User 3fa5ffaf07 update SRCID 2012-03-09 21:17:31 +00:00
Tinderbox User 69abad8df2 update SRCID 2012-03-09 21:02:09 +00:00
Evan Hunt b346f0d0d3 s/cvsignore/gitignore/ 2012-03-08 13:43:46 -08:00
Mark Andrews 89de725058 3295. [bug] Adjust isc_time_secondsastimet range check to be more
portable. [RT # 26542]
2012-03-08 15:32:33 +11:00
Mark Andrews 13de532574 3294. [bug] isccc/cc.c:table_fromwire failed to free alist on
error. [RT #28265]
2012-03-08 14:40:49 +11:00
Mark Andrews 7297e989d0 update .gitignore 2012-03-08 13:47:28 +11:00
Evan Hunt 0cf98a4a3f update copyrights 2012-03-07 15:28:20 -08:00
Evan Hunt d9983afb0c Revert "add .gitattributes (turn on ident)"
This reverts commit 43d8ee6dc4.
2012-03-07 08:46:23 -08:00
Evan Hunt c9481a4625 set $Id$ 2012-03-07 08:18:58 -08:00
Tinderbox User 6d32344d3b regen v9_9 2012-03-07 02:21:06 +00:00
Tinderbox User c201888c2a regen v9_9 2012-03-07 01:59:30 +00:00
Evan Hunt 98c2d04b1f add .gitattributes (turn on ident) 2012-03-06 17:28:35 -08:00
Evan Hunt 8047e7c06f re-remove cvsignore files 2012-03-05 08:29:31 -08:00
Evan Hunt f94af76649 Revert "added gitignore, removed cvsignore"
This reverts commit e8ae173655.
2012-03-05 08:24:17 -08:00
Evan Hunt 1b08bce8c7 kit.sh now uses git 2012-03-04 10:48:33 -08:00
Evan Hunt 6aa2d721fc created 2012-03-03 23:25:21 -08:00
Evan Hunt e8ae173655 added gitignore, removed cvsignore 2012-03-03 23:24:11 -08:00
Automatic Updater 4865bee747 update 2012-03-01 00:16:29 +00:00
Automatic Updater 9fc034d29f update copyright notice 2012-02-29 23:46:55 +00:00
Automatic Updater 9c5502baf9 newcopyrights 2012-02-29 23:30:22 +00:00
Automatic Updater 4f4deb38e5 update 2012-02-29 22:16:19 +00:00
Evan Hunt 3391445e1d revert accidental commit 2012-02-29 21:31:06 +00:00
Evan Hunt 2db6dd26da 3291. [port] Fixed a build error on systems without ENOTSUP.
[RT #28200]
2012-02-29 21:27:47 +00:00
Automatic Updater 058e09abf5 update 2012-02-29 00:16:46 +00:00
Automatic Updater fa776b400e update copyright notice 2012-02-28 23:46:24 +00:00
Automatic Updater e6532f2e09 newcopyrights 2012-02-28 23:30:20 +00:00
Automatic Updater b214301d1d update 2012-02-28 22:16:54 +00:00
Mark Andrews 9590d4bcad 3290. [bug] <isc/hmacsha.h> was not being installed. [RT #28169] 2012-02-28 21:34:52 +00:00
Automatic Updater f1ede06a85 update 2012-02-23 09:16:08 +00:00
Mark Andrews 3514c49b2f 9.9.0 2012-02-23 08:46:54 +00:00
Automatic Updater fde12c209e update 2012-02-23 08:16:09 +00:00
Automatic Updater 6ef023873e update 2012-02-23 07:16:38 +00:00
Mark Andrews 9b5ca4f479 dns_zone_synckeyzone 2012-02-23 07:16:04 +00:00
Automatic Updater 2ded752b75 update copyright notice 2012-02-23 07:09:02 +00:00
Automatic Updater a56e2f5105 newcopyrights 2012-02-23 07:07:26 +00:00
Mark Andrews 2c96b35bbc 9.9.0rc4 2012-02-23 07:06:10 +00:00
Mark Andrews 1032216f5c 3289. [bug] 'rndc retransfer' failed for inline zones. [RT #28036] 2012-02-23 07:02:20 +00:00
Automatic Updater ab6750e81f update 2012-02-23 04:16:54 +00:00
Evan Hunt e4e190acc1 nicer release notes URL 2012-02-23 03:53:30 +00:00
Automatic Updater 88f6e1f92d update 2012-02-23 00:16:17 +00:00
Automatic Updater a4529ff93d update copyright notice 2012-02-22 23:47:08 +00:00
Automatic Updater d6d20a7a25 newcopyrights 2012-02-22 23:30:17 +00:00
Automatic Updater bffa7a825e update 2012-02-22 22:16:15 +00:00
Evan Hunt 48a5af32f8 3288. [bug] dlz_destroy() function wasn't correctly registered
by the DLZ dlopen driver. [RT #28056]
2012-02-22 21:44:52 +00:00
Automatic Updater 663a5318bc update 2012-02-22 15:16:23 +00:00
Mark Andrews fe4f827b46 3287. [port] Update ans.pl to work with Net::DNS 0.68. [RT #28028] 2012-02-22 14:29:38 +00:00
Automatic Updater 996316a067 update 2012-02-22 01:16:53 +00:00
Evan Hunt e2c0d381cf add pointer to release notes (ugly URL; should be updated to a pretty one) 2012-02-22 00:55:40 +00:00
Evan Hunt 95d2619007 3286. [bug] Managed key maintenance timer could fail to start
after 'rndc reconfig'. [RT #26786]
2012-02-22 00:35:53 +00:00
Automatic Updater cede662079 update 2012-02-16 00:16:43 +00:00
Automatic Updater f2cac6cc31 update copyright notice 2012-02-15 23:46:20 +00:00
Automatic Updater afaa271287 update 2012-02-15 21:16:33 +00:00
Automatic Updater 5d94aa0be1 newcopyrights 2012-02-15 21:13:52 +00:00
Mark Andrews c177ca3064 3285. [bug] val-frdataset was incorrectly disassociated in
proveunsecure after calling startfinddlvsep.
                        [RT #27928]
2012-02-15 21:01:50 +00:00
Automatic Updater fd9dcb34b5 update 2012-02-15 13:16:49 +00:00
Mark Andrews a995801606 2x POST(locktype); 2012-02-15 12:29:39 +00:00
Automatic Updater bb33efa5d0 update 2012-02-15 11:17:01 +00:00
Mark Andrews 747e1373b5 9.9.0rc3 2012-02-15 10:57:07 +00:00
Automatic Updater 07b0e87485 update 2012-02-15 02:16:17 +00:00
Mark Andrews 549f13385a 3284. [bug] Address race conditions with the handling of
rbtnode.deadlink. [RT #27738]
2012-02-15 02:02:10 +00:00
Mark Andrews f5db1e08e7 Loop 'I:checking that large rdatasets loaded' in case the zone transfer has not yet completed 2012-02-15 01:22:47 +00:00
Automatic Updater 5908a7d742 update 2012-02-15 00:16:42 +00:00
Automatic Updater 42d1f669cc update copyright notice 2012-02-14 23:46:49 +00:00
Automatic Updater 3d4cb51756 newcopyrights 2012-02-14 23:30:17 +00:00
Automatic Updater 338c1060eb update 2012-02-14 01:16:27 +00:00
Mark Andrews cd34c0b8c7 extend:
3282.   [bug]           Restrict the TTL of NS RRset to no more than that
                        of the old NS RRset when replacing it.
                        [RT #27792] [RT #27884]
2012-02-14 00:24:56 +00:00
Automatic Updater ee5bc0fa2b update 2012-02-14 00:16:27 +00:00
Mark Andrews 960abe12bf 3283. [bug] Raw zones with with more than 512 records in a RRset
failed to load. [RT #27863]
2012-02-13 23:51:51 +00:00
Automatic Updater ea7a62cdab update 2012-02-10 00:16:38 +00:00
Automatic Updater d72ed5a8e7 update copyright notice 2012-02-09 23:46:51 +00:00
Automatic Updater 59b757ea1f newcopyrights 2012-02-09 23:30:27 +00:00
Automatic Updater 9ab62f8666 update 2012-02-09 21:16:14 +00:00
Mark Andrews 0571823964 move keygeneration out of the timing critical section 2012-02-09 21:13:41 +00:00
Mark Andrews 44bb0c393a 3282. [bug] Restrict the TTL of NS RRset to no more than that
of the old NS RRset when replacing it. [RT #27792]
2012-02-09 20:59:42 +00:00
Automatic Updater 03586f6168 update 2012-02-08 00:16:15 +00:00
Automatic Updater 86f561843b update copyright notice 2012-02-07 23:46:57 +00:00
Automatic Updater 1d1fdf48eb newcopyrights 2012-02-07 23:30:18 +00:00
Automatic Updater fdfc052b16 update 2012-02-07 20:17:16 +00:00
Mark Andrews 6980e5df7f 3281. [bug] SOA refresh queries could be treated as cancelled
despite succeeding over the loopback interface.
                        [RT #27782]
2012-02-07 19:51:32 +00:00
Automatic Updater fc0f25d9b0 update 2012-02-07 01:16:11 +00:00
Mark Andrews 1acf745243 3280. [bug] Potential double free of a rdataset on out of memory
with DNS64. [RT #27762]
2012-02-07 01:09:42 +00:00
Evan Hunt 9e281bdde5 3275. [bug] Corrected rndc -h output; the 'rndc sync -clean'
option had been misspelled as '-clear'.  (To avoid
			future confusion, both options now work.) [RT #27173]
2012-02-07 00:58:40 +00:00
Mark Andrews 8ac9d12380 3279. [bug] Hold a internal reference to the zone while performing
a asynchronous load.  Address potential memory leak
                        if the asynchronous is cancelled. [RT #27750]
2012-02-07 00:52:05 +00:00
Evan Hunt 63ed4de0ad fixed a test error that caused autosign to fail on freebsd 2012-02-07 00:33:40 +00:00
Automatic Updater dcc7c7f280 update 2012-02-07 00:21:30 +00:00
Mark Andrews 29141b73e5 rt27739: make ixfr test more robust 2012-02-07 00:20:38 +00:00
Automatic Updater 271512b875 update copyright notice 2012-02-06 23:46:23 +00:00
Automatic Updater 5c53258986 newcopyrights 2012-02-06 23:30:23 +00:00
Mark Andrews 7afa3a5a14 verify server is answering before starting next server 2012-02-06 23:23:18 +00:00
Automatic Updater 04282909ec update 2012-02-06 22:16:35 +00:00
Evan Hunt a1b98b70f9 3277. [bug] Make sure automatic key maintenance is started
when "auto-dnssec maintain" is turned on during
			"rndc reconfig". [RT #26805]
2012-02-06 21:33:08 +00:00
Automatic Updater 8662921e61 update 2012-02-06 05:18:41 +00:00
Mark Andrews 85bc1f1fd8 3276. [bug] win32: isc_socket_dup is not implemented. [RT #27696]
3276.   [bug]           win32: ns_os_openfile failed to return NULL on
                        safe_open failure. [RT #27696]
2012-02-06 04:23:44 +00:00
Automatic Updater 8484895e33 update 2012-02-04 00:16:49 +00:00
Automatic Updater ff416d2c83 update copyright notice 2012-02-03 23:46:31 +00:00
Automatic Updater 6eda13d228 newcopyrights 2012-02-03 23:30:29 +00:00
Automatic Updater a71dd25168 update 2012-02-03 05:18:00 +00:00
Mark Andrews b863b5cf8a I:waiting for nameserver to load, ok'd by Evan 2012-02-03 04:45:54 +00:00
Automatic Updater 1991480d9b update 2012-02-03 00:16:19 +00:00
Automatic Updater 3a8369b4ea update copyright notice 2012-02-02 23:47:06 +00:00
Automatic Updater 7808571e81 newcopyrights 2012-02-02 23:30:22 +00:00
Automatic Updater be0ffcb513 update 2012-02-02 04:16:36 +00:00
Mark Andrews a1f78f4ba2 portable code, ok'd bu Evan 2012-02-02 03:49:18 +00:00
Automatic Updater 4566c8ed9a update 2012-02-02 00:16:35 +00:00
Automatic Updater d5cdbc141a update copyright notice 2012-02-01 23:46:23 +00:00
Automatic Updater 868259fcac newcopyrights 2012-02-01 23:30:21 +00:00
Automatic Updater 7164fad5a6 update 2012-02-01 23:16:19 +00:00
Mark Andrews 834e9a4ba9 more robust I:waiting for transfers to complete 2012-02-01 22:16:21 +00:00
Automatic Updater cb1679a12d update 2012-02-01 00:16:31 +00:00
Automatic Updater 1000049f5a update copyright notice 2012-01-31 23:47:03 +00:00
Automatic Updater c388b611d4 newcopyrights 2012-01-31 23:30:25 +00:00
Automatic Updater acd48b4857 update 2012-01-31 04:16:19 +00:00
Mark Andrews 66a8fa7dc2 3271. [port] darwin: mksymtbl is not always stable, loop several
times before giving up.  mksymtbl was using non
                        portable perl to covert 64 bit hex strings. [RT #27653]
2012-01-31 04:10:45 +00:00
Automatic Updater 1dfc667d91 update 2012-01-31 03:16:48 +00:00
Evan Hunt f9ef8c313d change release number to 9.9.0rc2 2012-01-31 01:16:31 +00:00
Evan Hunt 17e8be7d61 add missing file 2012-01-31 01:12:29 +00:00
Evan Hunt 0ff738279f 3270. [bug] "rndc reload" didn't reuse existing zones correctly
when inline-signing was in use. [RT #27650]
2012-01-31 01:11:55 +00:00
Evan Hunt 13e9b2230d file master3.db.in was added on branch v9_9 on 2012-01-31 01:12:29 +0000 2012-01-31 00:11:59 +00:00
Mark Andrews 9a9f968dab regen 2012-01-30 10:09:37 +00:00
Mark Andrews 25240dd390 3269. [port] darwin 11 and later now built threaded by default. 2012-01-30 07:08:34 +00:00
cvs2git 52007e22c5 This commit was manufactured by cvs2git to create branch 'v9_9'. 2012-01-30 01:16:17 +00:00
Automatic Updater 41dfcdb213 update 2012-01-30 01:16:16 +00:00
Mark Andrews 7d97663b2c remove doc/draft, doc/rfc 2012-01-30 00:47:07 +00:00
Mark Andrews a86310b25a Add comment describing LIBINTERFACE values per branch 2012-01-30 00:23:27 +00:00
Automatic Updater 41a9a543f8 update 2012-01-30 00:16:21 +00:00
Mark Andrews f5dc94b026 whitespace 2012-01-30 00:06:54 +00:00
Mark Andrews 63acb91046 make 'when' isc_stdtime_t in set_key_expiry_warning 2012-01-30 00:06:13 +00:00
Automatic Updater 09091b4f0f newcopyrights 2012-01-29 23:30:17 +00:00
Automatic Updater 4632ba8f89 update 2012-01-29 06:16:10 +00:00
Evan Hunt f8ae0a35d0 fixed api typo 2012-01-29 06:05:10 +00:00
Evan Hunt 313e570601 reworded a changes note 2012-01-29 05:33:18 +00:00
Automatic Updater 153fd1d3b1 update 2012-01-29 05:20:58 +00:00
Automatic Updater 88919fd161 regen 2012-01-29 05:14:58 +00:00
Evan Hunt 12c3204c46 prepare for 9.9.0 final 2012-01-29 05:14:07 +00:00
Automatic Updater 6ecc7c555f update 2012-01-28 00:16:48 +00:00
Automatic Updater 80c7083796 update copyright notice 2012-01-27 23:46:59 +00:00
Automatic Updater 66cf4a4065 newcopyrights 2012-01-27 23:30:35 +00:00
Automatic Updater 0624c5dcd9 update 2012-01-27 02:16:40 +00:00
Mark Andrews bc298cd0f7 3268. [bug] Convert RRSIG expiry times to 64 timestamps to work
out the earliest expiry time. [RT #23311]
2012-01-27 01:43:53 +00:00
Mark Andrews 1bb3831e13 3267. [bug] Memory allocation failures could be mis-reported as
unexpected error.  New ISC_R_UNSET result code.                        [RT #27336]
2012-01-27 01:21:41 +00:00
Automatic Updater 60aecf33e3 update 2012-01-27 01:16:45 +00:00
Mark Andrews ef9f4d0977 3266. [bug] The maximum number of NSEC3 iterations for a
DNSKEY RRset was not being properly computed.
                        [RT #26543]
2012-01-27 00:49:42 +00:00
Automatic Updater 4ec0e6bab0 update 2012-01-26 00:16:44 +00:00
Automatic Updater ee2129ee66 update copyright notice 2012-01-25 23:46:49 +00:00
Automatic Updater 0c4a369f10 newcopyrights 2012-01-25 23:30:13 +00:00
Automatic Updater bd7fdb092c auto update 2012-01-25 23:17:57 +00:00
Automatic Updater 1547b3ffb1 update 2012-01-25 03:16:24 +00:00
cvs2git 3a926c01e1 This commit was manufactured by cvs2git to create branch 'rt27336'. 2012-01-25 02:46:54 +00:00
Mark Andrews 18d208a4a2 3265. [bug] Address lock order reversal with inline-signing
support. [27557]
2012-01-25 02:46:53 +00:00
Automatic Updater aac1b4e940 auto update 2012-01-24 23:17:48 +00:00
Automatic Updater 41421af01c update 2012-01-24 00:16:25 +00:00
cvs2git 931a50f631 This commit was manufactured by cvs2git to create branch 'rt27557'. 2012-01-23 23:46:49 +00:00
Automatic Updater 4a8adb51da update copyright notice 2012-01-23 23:46:48 +00:00
Automatic Updater 27aa770222 newcopyrights 2012-01-23 23:30:20 +00:00
Automatic Updater a12d37d28e auto update 2012-01-23 23:17:37 +00:00
Automatic Updater 4b579ae476 update 2012-01-23 12:16:46 +00:00
Mark Andrews 3f7ad9656c test for Net::DNS 2012-01-23 11:58:12 +00:00
Mark Andrews 736783d082 file prereq.sh was initially added on branch rt23311. 2012-01-23 11:55:52 +00:00
cvs2git 00d8872b05 This commit was manufactured by cvs2git to create branch 'rt23311'. 2012-01-22 05:17:08 +00:00
Automatic Updater 36b389d4b1 update 2012-01-22 05:17:07 +00:00
Mark Andrews 639c1d5617 silence 'Assigned value is always the same as the existing value' warning 2012-01-22 04:56:41 +00:00
Automatic Updater d246d23027 update 2012-01-21 23:17:15 +00:00
Mark Andrews 59162a5b5c silence 'Assigned value is always the same as the existing value' warnings 2012-01-21 22:51:27 +00:00
Automatic Updater 2d0efcab18 update 2012-01-21 20:16:52 +00:00
Evan Hunt a252f66d36 update authors.bind 2012-01-21 19:44:18 +00:00
Automatic Updater 5208880b85 update 2012-01-20 07:16:57 +00:00
Mark Andrews add449ed75 new draft 2012-01-20 06:39:52 +00:00
Automatic Updater 2e9e2e6aea update 2012-01-20 02:17:01 +00:00
Mark Andrews 700ed39d36 remove more bashisms 2012-01-20 01:37:09 +00:00
Automatic Updater 85347d06fa update 2012-01-20 00:16:26 +00:00
Automatic Updater 9876f11b26 newcopyrights 2012-01-19 23:30:15 +00:00
Automatic Updater f23af9a768 auto update 2012-01-19 23:17:39 +00:00
Automatic Updater 78680350bd update 2012-01-19 09:17:08 +00:00
Mark Andrews 5418367da4 quote -csh 2012-01-19 08:41:19 +00:00
Mark Andrews db64120f82 don't use bash syntax 2012-01-19 08:40:10 +00:00
cvs2git 77feec5ca7 This commit was manufactured by cvs2git to create branch 'rt26543'. 2012-01-18 23:17:53 +00:00
Automatic Updater 8832106384 auto update 2012-01-18 23:17:52 +00:00
Automatic Updater 1b33e4e89d auto update 2012-01-17 23:17:46 +00:00
Automatic Updater 6cd2d75f17 update 2012-01-17 09:16:57 +00:00
Mark Andrews bfe720adb5 reverse accidental commit 2012-01-17 08:26:03 +00:00
cvs2git 7a7ac426fc This commit was manufactured by cvs2git to create branch 'rt27497'. 2012-01-17 02:16:51 +00:00
Automatic Updater 097388cd27 update 2012-01-17 02:16:50 +00:00
Automatic Updater 58d69d1777 update 2012-01-17 01:16:32 +00:00
Automatic Updater 37664e68e4 regen HEAD 2012-01-17 01:15:03 +00:00
Automatic Updater db7703ef12 update 2012-01-17 00:16:39 +00:00
Automatic Updater 0d1cf4f5bc update copyright notice 2012-01-16 23:46:46 +00:00
Automatic Updater 08d53af7d5 newcopyrights 2012-01-16 23:30:17 +00:00
Automatic Updater bad02f6c87 auto update 2012-01-16 23:17:43 +00:00
Evan Hunt d47f51b6ac add .cvsignore 2012-01-16 23:17:32 +00:00
Automatic Updater dbc90dea15 update 2012-01-16 23:16:34 +00:00
Evan Hunt 122d2cf43d add section explaining how to build with SoftHSM 2012-01-16 22:50:12 +00:00
Automatic Updater 4ff6e99c3c update 2012-01-16 19:16:21 +00:00
Evan Hunt 73c124421f updated pkcs11 documentation 2012-01-16 19:09:01 +00:00
Evan Hunt edc7636fbe remove Makefile diff from patch files 2012-01-16 18:59:39 +00:00
Evan Hunt 6d6b836417 - add openssl-1.0.0f-patch
- update openssl-0.9.8s-patch to francis's version
2012-01-16 18:57:12 +00:00
Automatic Updater e117e99420 update 2012-01-16 09:16:44 +00:00
Mark Andrews 00164c8db2 fetches in progress/buckets 2012-01-16 08:35:09 +00:00
Automatic Updater d75ee59c5d update 2012-01-16 01:16:27 +00:00
Automatic Updater 3c9cf7efb9 regen HEAD 2012-01-16 01:14:57 +00:00
Automatic Updater df8ff8bdc4 update 2012-01-15 22:17:05 +00:00
Evan Hunt 06dc836ca3 Updated the query log message format example in the ARM, and added a
bit of text explaining that the same format is used for all
log messages related to the same query.  Trivial; not bothering
with a ticket or review.
2012-01-15 21:16:04 +00:00
Automatic Updater 41215cd30c update 2012-01-14 00:16:40 +00:00
Mark Andrews 746a0c6add new draft 2012-01-13 23:33:06 +00:00
Automatic Updater 6fb67ad8e2 update 2012-01-13 00:16:28 +00:00
Automatic Updater 1d75d93ba8 update copyright notice 2012-01-12 23:47:09 +00:00
Automatic Updater dc11390a65 newcopyrights 2012-01-12 23:30:18 +00:00
Automatic Updater b446bdcfd3 auto update 2012-01-12 23:17:43 +00:00
Automatic Updater 78fa4b23b7 update 2012-01-12 02:16:37 +00:00
Automatic Updater 4e7c73d69c update 2012-01-12 01:16:29 +00:00
Automatic Updater d10847ced8 regen HEAD 2012-01-12 01:15:04 +00:00
Evan Hunt a06e0a14cc use test -f; solaris doesn't support test -e 2012-01-12 00:37:18 +00:00
Automatic Updater 4427119900 update 2012-01-12 00:16:28 +00:00
Evan Hunt fa842ac2cb update doc to reflect rebased pkcs11 patch 2012-01-11 23:48:15 +00:00
Evan Hunt 1ca47afdb2 rebase pkcs11 patch to openssl 0.9.8s 2012-01-11 23:43:45 +00:00
Automatic Updater b2726b59e3 auto update 2012-01-11 23:18:03 +00:00
Automatic Updater e8eaba41a4 update 2012-01-11 19:16:45 +00:00
Curtis Blackburn 736cbba952 added myself to the list of authors. 2012-01-11 18:27:45 +00:00
Automatic Updater ed697c1457 update 2012-01-11 00:16:20 +00:00
Automatic Updater edb4393ef5 update copyright notice 2012-01-10 23:46:58 +00:00
Automatic Updater f132a836c4 newcopyrights 2012-01-10 23:30:14 +00:00
Automatic Updater adc040e002 auto update 2012-01-10 23:17:56 +00:00
Automatic Updater 6dbaffb8c7 update 2012-01-10 18:16:44 +00:00
Evan Hunt 9a02019889 3264. [bug] Automatic regeneration of signatures in an
inline-signing zone could stall when the server
			was restarted. [RT #27344]

3263.	[bug]		"rndc sync" did not affect the unsigned side of an
			inline-signing zone. [RT #27337]
2012-01-10 18:13:37 +00:00
Automatic Updater d2b0ea359a update 2012-01-10 00:16:18 +00:00
cvs2git b970bf11d8 This commit was manufactured by cvs2git to create branch 'rt27344'. 2012-01-09 23:45:05 +00:00
Scott Mann 896b39febc added scott mann to author list 2012-01-09 23:45:04 +00:00
Automatic Updater 378bfe5a10 update 2012-01-08 00:16:36 +00:00
Automatic Updater 1b428fd3a7 update copyright notice 2012-01-07 23:46:53 +00:00
Automatic Updater 7349698120 newcopyrights 2012-01-07 23:30:18 +00:00
Automatic Updater d218d33baf auto update 2012-01-07 23:17:42 +00:00
Automatic Updater 6c7bbd3e97 update 2012-01-07 01:16:26 +00:00
Automatic Updater c92c50783e regen HEAD 2012-01-07 01:14:56 +00:00
Evan Hunt c19cfefe7e 3262. [bug] Signed responses were handled incorrectly by RPZ.
[RT #27316]
2012-01-07 00:19:59 +00:00
Automatic Updater 3c84f6fd82 update 2012-01-07 00:16:25 +00:00
Automatic Updater 53c234d9d3 update copyright notice 2012-01-06 23:46:42 +00:00
Automatic Updater c6a0f4ae1d newcopyrights 2012-01-06 23:30:13 +00:00
Automatic Updater efe47a6848 update 2012-01-06 19:16:33 +00:00
Evan Hunt 19c4187e35 3261. [func] RRset ordering now defaults to random. [RT #27174] 2012-01-06 19:00:13 +00:00
Automatic Updater fb6e4a9177 auto update 2012-01-05 23:17:41 +00:00
Automatic Updater 8bd616f332 update 2012-01-05 20:17:00 +00:00
Evan Hunt bddc7537c2 fix incomplete CHANGES note #3170 2012-01-05 19:30:32 +00:00
Automatic Updater df7b0185a2 update 2012-01-05 05:16:55 +00:00
Mark Andrews 82d0bff9c0 rrset-order cyclic fix cleanupt 2012-01-05 05:09:53 +00:00
Automatic Updater 9ae651ea84 update 2012-01-05 00:16:40 +00:00
Automatic Updater f76bddd50b update copyright notice 2012-01-04 23:46:49 +00:00
Automatic Updater 7a2a1b8b14 newcopyrights 2012-01-04 23:30:22 +00:00
Automatic Updater e5cb6c593d auto update 2012-01-04 23:17:23 +00:00
cvs2git 2d34d15048 This commit was manufactured by cvs2git to create branch 'rt27292'. 2012-01-04 04:17:00 +00:00
Automatic Updater 50be7c7876 update 2012-01-04 04:16:59 +00:00
Mark Andrews ace530234c non isc copyright 2012-01-04 04:05:55 +00:00
Automatic Updater fe14cdb5de update 2012-01-04 03:17:07 +00:00
Evan Hunt 56c9fcf075 3260. [bug] "rrset-order cyclic" could appear not to rotate
for some query patterns.  [RT #27170/27185]
2012-01-04 03:06:51 +00:00
Automatic Updater d28a4d8b8f update 2012-01-04 00:16:39 +00:00
Automatic Updater 57367e8dd6 update copyright notice 2012-01-03 23:46:59 +00:00
Automatic Updater 7a42357217 newcopyrights 2012-01-03 23:30:15 +00:00
Automatic Updater d7b8ad2c2a auto update 2012-01-03 23:17:52 +00:00
Automatic Updater f720edabe6 update 2011-12-25 23:17:20 +00:00
Mark Andrews 8f536463f9 mark with X bin/tests/system/tsiggss/ns1/example.nil.db.in 2011-12-25 22:50:30 +00:00
Automatic Updater 39a5ba660e auto update 2011-12-24 23:17:26 +00:00
cvs2git fe6fca3d69 This commit was manufactured by cvs2git to create branch 'rt27185'. 2011-12-24 00:16:44 +00:00
Automatic Updater d85fcddbe8 update 2011-12-24 00:16:43 +00:00
Automatic Updater 045e92d425 update copyright notice 2011-12-23 23:47:13 +00:00
Automatic Updater 975451c389 update 2011-12-23 02:16:43 +00:00
Automatic Updater e6b902eb1b update 2011-12-23 01:35:44 +00:00
Automatic Updater 471ab6c167 update 2011-12-23 01:16:41 +00:00
Mark Andrews 7caaa75cbf --enable-fixed-rrset uses reversed order for cyclic 2011-12-23 01:06:42 +00:00
Mark Andrews 6643b0dd91 3260. [bug] "rrset-order cyclic" could appears to not rotate
for some query patterns.  [RT #27170]
2011-12-23 00:38:23 +00:00
Automatic Updater 8c9dee137d update 2011-12-23 00:16:49 +00:00
Automatic Updater a3c7d21f5c update copyright notice 2011-12-22 23:46:20 +00:00
Mark Andrews 41ca314cc2 3260. [bug] "rrset-order cyclic" could appears to not rotate
for some query patterns.  [RT #27170]
2011-12-22 23:43:52 +00:00
Automatic Updater a560545a31 update 2011-12-22 19:16:29 +00:00
Evan Hunt 53e58ba9fa oops missed one. 2011-12-22 19:14:15 +00:00
Evan Hunt 891c6eb907 add missing symbols 2011-12-22 18:58:50 +00:00
Automatic Updater 4c11797fa7 update 2011-12-22 18:16:31 +00:00
Automatic Updater 78aa361659 regenerate 2011-12-22 18:10:23 +00:00
Automatic Updater 97e74139b1 regen HEAD 2011-12-22 18:10:11 +00:00
Automatic Updater 7a7b2e6d5e regenerate 2011-12-22 17:50:29 +00:00
Evan Hunt 949eefdda4 prep for 9.9.0rc1 release 2011-12-22 17:49:49 +00:00
Evan Hunt 15218d6ed0 3259. [bug] named-compilezone: Suppress "dump zone to <file>"
message when writing to stdout. [RT #27109]
2011-12-22 17:29:22 +00:00
Automatic Updater 6e16acea81 update 2011-12-22 13:17:09 +00:00
Mark Andrews 53e7766f7d remove logit 2011-12-22 12:58:13 +00:00
Mark Andrews 238e0e8438 3258. [test] Add "forcing full sign with unreadable keys" test.
[RT #27153]
2011-12-22 12:22:14 +00:00
Automatic Updater 68076e9452 update 2011-12-22 12:16:28 +00:00
Mark Andrews eacd6ec4e4 use binmode 2011-12-22 12:01:43 +00:00
Mark Andrews 9892bae7b7 forcing full sign with unreadable keys 2011-12-22 11:57:30 +00:00
Mark Andrews 354cb3ea67 use binmode 2011-12-22 11:56:07 +00:00
Automatic Updater f489505185 update 2011-12-22 09:17:08 +00:00
Mark Andrews 9ddf371552 3257. [bug] Do not generate a error message when calling fsync()
in a pipe or socket. [RT #27109]
2011-12-22 08:49:01 +00:00
Mark Andrews 83878aaa47 3256. [bug] Disable empty zones for lwresd -C. [RT #27139]
3255.   [func]          No longer require that a empty zones be explicitly
                        enabled or that a empty zone is disabled for
                        RFC 1918 empty zones to be configured. [RT #27139]
2011-12-22 08:22:18 +00:00
Automatic Updater 90da73f81d update 2011-12-22 08:16:59 +00:00
Mark Andrews 328e0fee6b 3254. [bug] Set isc_socket_ipv6only() on the IPv6 control channels.
[RT #22249]
2011-12-22 08:07:48 +00:00
Mark Andrews a5a30ae7c0 3253. [bug] Return DNS_R_SYNTAX when the input to a text field is
too long. [RT #26956]
2011-12-22 07:41:29 +00:00
Evan Hunt f30785f506 3252. [bug] When master zones using inline-signing were
updated while the server was offline, the source
			zone could fall out of sync with the signed
			copy. They can now resynchronize. [RT #26676]
2011-12-22 07:32:41 +00:00
Mark Andrews dd0d54ff01 3251. [bug] Enforce a upper bound (65535 bytes) on the amount of
memory dns_sdlz_putrr() can allocate per record to
                        prevent run away memory consumption on ISC_R_NOSPACE.
                        [RT #26956]
2011-12-22 07:15:05 +00:00
Automatic Updater d6a767c2de update 2011-12-22 03:17:08 +00:00
Mark Andrews 281a31ad37 +/- 500ms was too small a fudge factor (-582ms seen in testing), raise to +/- 1000ms 2011-12-22 02:15:24 +00:00
Automatic Updater 20a06bb20e auto update 2011-12-21 23:17:32 +00:00
cvs2git 1081c10c5e This commit was manufactured by cvs2git to create branch 'rt27139'. 2011-12-21 00:17:06 +00:00
Automatic Updater 41826029f0 update 2011-12-21 00:17:05 +00:00
Automatic Updater f63cb76be6 update copyright notice 2011-12-20 23:46:29 +00:00
Automatic Updater 3285c22aa1 newcopyrights 2011-12-20 23:30:17 +00:00
Automatic Updater 0ebca42caa update 2011-12-20 06:17:00 +00:00
Mark Andrews 9b79da0e13 configure strips out VPATH. Use ${srcdir} instead so 'make depend' works
in lib/export.
2011-12-20 05:24:18 +00:00
Automatic Updater 44de42a01c update 2011-12-20 05:17:08 +00:00
Mark Andrews e101ec1503 @srdir@ -> @srcdir@ 2011-12-20 05:04:44 +00:00
Automatic Updater b2308a2350 update 2011-12-20 01:16:47 +00:00
Mark Andrews 4a4066453f update slabbed data layout description 2011-12-20 00:55:01 +00:00
Mark Andrews b9848361b9 regen 2011-12-20 00:49:49 +00:00
Mark Andrews 32ebb157b1 3250. [func] 'configure --enable-developer'; turn on various
configure options, normally off by default, that
                        we want developers to build and test with. [RT #27103]
2011-12-20 00:39:06 +00:00
Mark Andrews c31601ae9b add missing s 2011-12-20 00:26:52 +00:00
Automatic Updater d8edc0ae5a update 2011-12-20 00:17:06 +00:00
Mark Andrews 67dc2f0536 3249. [bug] Update log message when saving slave zones files for
analysis after load failures. [RT #27087]

3248.   [bug]           Configure options --enable-fixed-rrset and
                        --enable-exportlib were incompatible with each
                        other. [RT #27087]

3247.   [bug]           'raw' format zones failed to preserve load order
                        breaking 'fixed' sort order. [RT #27087]

3246.   [bug]           Named failed to start with a empty also-notify list.
                        [RT #27087]
2011-12-20 00:06:54 +00:00
Mark Andrews b290d10fc4 3245. [bug] Don't report a error unchanged serials unless there
were other changes when thawing a zone with
                        ixfr-fromdifferences. [RT #26845]
2011-12-19 23:46:13 +00:00
Automatic Updater 6b067655a8 update 2011-12-19 23:17:00 +00:00
Mark Andrews d884e8ee4d set status to 1 on R:FAIL 2011-12-19 23:08:50 +00:00
Automatic Updater d84a00e6ab auto update 2011-12-18 23:17:31 +00:00
cvs2git 8ac30db15f This commit was manufactured by cvs2git to create branch 'rt27087'. 2011-12-17 01:16:54 +00:00
Automatic Updater 8f2923f2e3 update 2011-12-17 01:16:53 +00:00
Automatic Updater ce8ac1bc98 regen HEAD 2011-12-17 01:14:51 +00:00
Automatic Updater f21a6fac8d update 2011-12-17 00:17:10 +00:00
Automatic Updater a9f68291c8 update copyright notice 2011-12-16 23:46:20 +00:00
Automatic Updater 53b4d1cad5 newcopyrights 2011-12-16 23:30:50 +00:00
Automatic Updater ca8893ab54 auto update 2011-12-16 23:17:39 +00:00
Automatic Updater 62bba9a42f update 2011-12-16 23:16:45 +00:00
Automatic Updater 56847f3366 regen 2011-12-16 23:02:20 +00:00
Evan Hunt 1d32b1df37 3244. [func] Added readline support to nslookup and nsupdate.
Also simplified nsupdate syntax to make "update"
			and "prereq" optional. [RT #24659]
2011-12-16 23:01:17 +00:00
cvs2git 8a3a842f41 This commit was manufactured by cvs2git to create branch 'rt27057'. 2011-12-16 02:16:43 +00:00
Automatic Updater 8fee659041 update 2011-12-16 02:16:42 +00:00
Automatic Updater b98da83857 regen HEAD 2011-12-16 01:15:05 +00:00
Automatic Updater 96e6e813d6 update 2011-12-16 00:16:39 +00:00
Mark Andrews ea55a4e469 -l 2011-12-16 00:10:05 +00:00
Mark Andrews 9ca4e2411c 3243. [port] freebsd,netbsd,bsdi: the thread defaults were not
being properly set.
2011-12-15 23:53:35 +00:00
Automatic Updater 646d764082 auto update 2011-12-15 23:17:47 +00:00
Automatic Updater 3e259c2b65 auto update 2011-12-14 23:18:05 +00:00
cvs2git 0665d1de8a This commit was manufactured by cvs2git to create branch 'rt25419a'. 2011-12-12 12:16:43 +00:00
Automatic Updater b0b06c2ba4 update 2011-12-12 12:16:42 +00:00
Mark Andrews 91013b0e19 join line for old awk 2011-12-12 12:08:09 +00:00
Automatic Updater b251320352 update 2011-12-12 07:17:12 +00:00
Mark Andrews 6c1a778723 chech that the final time is within 10 seconds but no greater than the expected interval 2011-12-12 06:51:12 +00:00
Automatic Updater 3cf0012244 update 2011-12-12 01:16:50 +00:00
Mark Andrews b10e0cc96e remove blank line 2011-12-12 01:14:38 +00:00
Automatic Updater 8871f166e8 update 2011-12-10 22:16:23 +00:00
Mark Andrews 97494b99f0 remove accidental commit to head 2011-12-10 22:09:41 +00:00
Automatic Updater c1a903565a update 2011-12-10 01:16:27 +00:00
Automatic Updater 72938578c9 regen HEAD 2011-12-10 01:14:53 +00:00
Automatic Updater 26dc7247f1 update 2011-12-10 00:16:28 +00:00
Automatic Updater 339d2a4d4b update copyright notice 2011-12-09 23:47:05 +00:00
Automatic Updater bbde8dc566 newcopyrights 2011-12-09 23:30:13 +00:00
Automatic Updater 8b75ec7fb6 auto update 2011-12-09 23:17:37 +00:00
Automatic Updater 95b7de32ec update 2011-12-09 22:16:22 +00:00
Mark Andrews e238ebd9b3 Backout accident commit to head 2011-12-09 22:09:26 +00:00
Automatic Updater 6eee9c2571 update 2011-12-09 21:16:52 +00:00
Mark Andrews 0b096436e9 flush both raw zone instance if it exists 2011-12-09 20:47:18 +00:00
Automatic Updater caafd4954e update 2011-12-09 14:16:08 +00:00
Mark Andrews 5ccf5eac0f ixfr-from-differences backup file 2011-12-09 13:32:42 +00:00
cvs2git b5853fb6e3 This commit was manufactured by cvs2git to create branch 'rt26973'. 2011-12-09 03:16:59 +00:00
Automatic Updater 098914344c update 2011-12-09 03:16:58 +00:00
Mark Andrews 108788443c fix changes number 2011-12-09 02:18:38 +00:00
Automatic Updater 66b1b44ee3 update 2011-12-09 02:16:48 +00:00
Mark Andrews 25e771f87e fix typo 2011-12-09 01:52:14 +00:00
Automatic Updater f22069174e update 2011-12-09 01:16:44 +00:00
Mark Andrews 71fc4775d0 update 2011-12-09 00:40:31 +00:00
Automatic Updater e12665bb39 update 2011-12-08 23:48:40 +00:00
Automatic Updater b54ac42f19 update copyright notice 2011-12-08 23:46:49 +00:00
Mark Andrews b11fd36119 move declaration to start of block 2011-12-08 23:45:02 +00:00
Automatic Updater fcc5868956 auto update 2011-12-08 23:17:22 +00:00
cvs2git 32adae39f3 This commit was manufactured by cvs2git to create branch 'rt26676'. 2011-12-08 16:16:42 +00:00
Automatic Updater 4735fc751b update 2011-12-08 16:16:41 +00:00
Evan Hunt b4d8192d21 3241. [func] Extended the header of raw-format master files to
include the serial number of the zone from which
			they were generated, if different (as in the case
			of inline-signing zones).  This is to be used in
			inline-signing zones, to track changes between the
			unsigned and signed versions of the zone, which may
			have different serial numbers.

			(Note: raw zonefiles generated by this version of
			BIND are no longer compatble with prior versions.
			To generate a backward-compatible raw zonefile
			using dnssec-signzone or named-compilezone, specify
			output format "raw=0" instead of simply "raw".)
			[RT #26587]
2011-12-08 16:07:22 +00:00
cvs2git 5bd5d94e8a This commit was manufactured by cvs2git to create branch 'rt26845'. 2011-12-07 23:16:35 +00:00
Automatic Updater 00a4d6a58e update 2011-12-07 23:16:34 +00:00
Mark Andrews e4aac0596c 3241. [bug] Address race conditions in the resolver code.
[RT #26889]
2011-12-07 23:08:42 +00:00
Mark Andrews 71e4c3ee74 3240. [bug] DNSKEY state change events could be missed. [RT #26874] 2011-12-07 22:48:22 +00:00
Mark Andrews 04281728d4 3239. [bug] dns_dnssec_findmatchingkeys needs to use a consistent
timestamp. [RT #26883]
2011-12-07 22:36:25 +00:00
Mark Andrews 9c832595d4 3238. [bug] keyrdata was not being reinitialize in
lib/dns/rbtdb.c:iszonesecure. [RT#26913]
2011-12-07 22:21:05 +00:00
Automatic Updater 13e52b7cf9 update 2011-12-07 18:16:14 +00:00
Evan Hunt 28c2bc2026 3237. [bug] dig -6 didn't work with +trace. [RT #26906] 2011-12-07 17:23:28 +00:00
Automatic Updater 0c36018172 update 2011-12-07 00:16:49 +00:00
Automatic Updater c757fd2e17 update copyright notice 2011-12-06 23:46:32 +00:00
Automatic Updater 3f057f871c auto update 2011-12-06 23:17:31 +00:00
cvs2git e789d7351e This commit was manufactured by cvs2git to create branch 'rt26874'. 2011-12-06 01:16:41 +00:00
cvs2git b2402cef4d This commit was manufactured by cvs2git to create branch 'rt26889'. 2011-12-06 01:16:40 +00:00
Automatic Updater 6b6c613aa2 update 2011-12-06 01:16:39 +00:00
Mark Andrews e080a605c9 update 2011-12-06 00:55:02 +00:00
Automatic Updater 362cbf178f update 2011-12-06 00:16:53 +00:00
Automatic Updater 806956b43b update copyright notice 2011-12-05 23:46:35 +00:00
Automatic Updater 66ed14c6c4 update 2011-12-05 21:16:37 +00:00
Mark Andrews 05556e6c82 #include <dns/db.h> 2011-12-05 20:51:41 +00:00
Automatic Updater f4c5c5ef34 update 2011-12-05 18:16:32 +00:00
Evan Hunt 56d7492b2c missed a line 2011-12-05 17:27:16 +00:00
Automatic Updater bc316d6ee9 update 2011-12-05 17:16:51 +00:00
Evan Hunt 4122abdc3c Back out changes #3182 and #3202 2011-12-05 17:10:51 +00:00
Automatic Updater bd71be982f update 2011-12-05 06:17:02 +00:00
Mark Andrews 2591f13dd3 3235. [func] dns_db_diffx, a extended dns_db_diff which returns
the generated diff and optionally writes it to a
                        journal. [RT #26386]
2011-12-05 06:10:07 +00:00
Automatic Updater 232aecddd4 update 2011-12-05 00:17:02 +00:00
Mark Andrews de52784e45 3235. [func] dns_db_diffx, a extended dns_db_diff which returns
the generated diff and optionally writes it to a
                        journal. [RT #26386]
2011-12-04 23:48:12 +00:00
Automatic Updater 9fd0ab2f6c update 2011-12-03 00:16:42 +00:00
Automatic Updater a09e70c947 update copyright notice 2011-12-02 23:46:56 +00:00
Automatic Updater 9fa6e3bdb4 newcopyrights 2011-12-02 23:30:18 +00:00
Automatic Updater 662576f1dc auto update 2011-12-02 23:17:29 +00:00
cvs2git a318497823 This commit was manufactured by cvs2git to create branch 'rt26587a'. 2011-12-02 08:17:03 +00:00
Automatic Updater b552825b3b update 2011-12-02 08:17:02 +00:00
Automatic Updater 0251d09902 update 2011-12-02 07:16:31 +00:00
Mark Andrews 2c25ca45a4 errno2result now reports caller when unable to convert errno 2011-12-02 07:15:17 +00:00
Mark Andrews b68dc65959 3234. [bug] 'make depend' produced invalid makefiles. [RT #26830] 2011-12-02 07:03:27 +00:00
Evan Hunt bcef2f4fb5 file zone3.data was added on branch rt26587a on 2011-12-03 01:05:57 +0000 2011-12-02 06:16:01 +00:00
Evan Hunt b026aa3c8f file zone2.data was added on branch rt26587a on 2011-12-03 01:05:57 +0000 2011-12-02 06:16:00 +00:00
Evan Hunt 926e4ed50f file zone1.data was added on branch rt26587a on 2011-12-03 01:05:57 +0000 2011-12-02 06:15:58 +00:00
Evan Hunt 22702beab5 file dbdiff_test.c was added on branch rt26587a on 2011-12-03 01:05:57 +0000 2011-12-02 06:15:57 +00:00
Automatic Updater 37d71e4493 update 2011-12-02 04:16:27 +00:00
Mark Andrews f5f868ca4f loop waiting for the zone to transfer 2011-12-02 04:14:33 +00:00
Automatic Updater 5fa4450751 update 2011-12-02 03:16:58 +00:00
Mark Andrews 56dc4c6730 3233. [bug] 'rndc freeze/thaw' didn't work for inline zones.
[RT #26632]
2011-12-02 02:44:01 +00:00
Automatic Updater 9cdd98dc07 update 2011-12-02 00:16:33 +00:00
Automatic Updater 55313f60d8 update copyright notice 2011-12-01 23:46:51 +00:00
Automatic Updater 183b6c7fca newcopyrights 2011-12-01 23:30:19 +00:00
Automatic Updater d3e3681624 auto update 2011-12-01 23:17:48 +00:00
Automatic Updater e30357d152 update 2011-12-01 23:16:34 +00:00
Mark Andrews db604cea5c fix all_events loop terminating condition to stop false positives 2011-12-01 22:30:37 +00:00
Automatic Updater a5426599d7 update 2011-12-01 16:17:00 +00:00
Scott Mann d881a5ad06 Accept patch from RedHat (RT #26732). 2011-12-01 15:58:46 +00:00
Mark Andrews b3871757d5 mark closed branches 2011-12-01 08:48:15 +00:00
Mark Andrews d2c99b4e1c mark closed branches 2011-12-01 08:13:20 +00:00
Automatic Updater f1bdaf92a4 update 2011-12-01 02:16:41 +00:00
Mark Andrews 38f6085062 silence Division by zero warning 2011-12-01 01:33:27 +00:00
Automatic Updater 4b6a810927 update 2011-12-01 01:16:38 +00:00
Mark Andrews 087f83a3b9 [ -> ] 2011-12-01 01:13:45 +00:00
Mark Andrews 553197e288 3231. [bug] named could fail to send a uncompressable zone.
[RT #26796]

3230.   [bug[           'dig axfr' failed to properly handle a multi-message
                        axfr with a serial of 0. [RT #26796]
2011-12-01 00:53:58 +00:00
Automatic Updater 99544c8769 update 2011-12-01 00:16:41 +00:00
Scott Mann 5927944728 Fix problem identified by CLANG: local variable not passed back to struct. 2011-12-01 00:14:11 +00:00
Automatic Updater b9e911c71c update copyright notice 2011-11-30 23:46:25 +00:00
Automatic Updater 35bc7055d1 newcopyrights 2011-11-30 23:30:16 +00:00
Automatic Updater 8d35dd95c7 auto update 2011-11-30 23:17:29 +00:00
cvs2git 26cb554579 This commit was manufactured by cvs2git to create branch 'rt26830'. 2011-11-30 06:16:12 +00:00
Automatic Updater fbdcb16f99 update 2011-11-30 06:16:11 +00:00
Evan Hunt 1a01def943 add print.h 2011-11-30 06:10:44 +00:00
Mark Andrews ed74be8035 #include <isc/print.h> 2011-11-30 06:09:41 +00:00
Mark Andrews 5e3daa58f4 move declaration to start of block 2011-11-30 06:06:33 +00:00
cvs2git 78994030ab This commit was manufactured by cvs2git to create branch 'rt26632'. 2011-11-30 05:17:08 +00:00
Automatic Updater 892d7d1846 update 2011-11-30 05:17:07 +00:00
Evan Hunt 0da3b4a9a7 3228. [tuning] Dynamically grow symbol table to improve zone
loading performance. [RT #26523]
2011-11-30 04:27:17 +00:00
Automatic Updater 7d2e658fdc update 2011-11-30 02:16:42 +00:00
Mark Andrews cae06bceda 3227. [bug] Interim fix to make WKS's use of getprotobyname()
and getservbyname() self thread safe. [RT #26232]
2011-11-30 01:18:11 +00:00
Automatic Updater f7588dc72b update 2011-11-30 01:16:45 +00:00
Mark Andrews 411d2914ad 3226. [bug] Address minor resource leakages. [RT #26624] 2011-11-30 00:48:51 +00:00
cvs2git 46b89fbb62 This commit was manufactured by cvs2git to create branch 'rt26677'. 2011-11-29 23:17:34 +00:00
Automatic Updater 566b6b47f4 auto update 2011-11-29 23:17:33 +00:00
cvs2git 49538e5978 This commit was manufactured by cvs2git to create branch 'rt26796'. 2011-11-29 01:16:36 +00:00
Automatic Updater 0bd902b571 update 2011-11-29 01:16:35 +00:00
Mark Andrews 23daf8948b 3225. [bug] Silence spurious "setsockopt(517, IPV6_V6ONLY) failed"
messages. [RT #26507]
2011-11-29 01:03:47 +00:00
Mark Andrews 9bd876a683 3224. [bug] 'rndc signing' argument parsing was broken. [RT #26684] 2011-11-29 00:49:26 +00:00
Mark Andrews 03e2b1d18d 3223. [bug] 'task_test privilege_drop' generated false positives.
[RT #26766]
2011-11-29 00:41:28 +00:00
Automatic Updater 15b9b824ea auto update 2011-11-28 23:17:41 +00:00
cvs2git 25c597945a This commit was manufactured by cvs2git to create branch 'rt26684'. 2011-11-28 03:17:01 +00:00
Automatic Updater 0eebd4affc update 2011-11-28 03:17:00 +00:00
Mark Andrews 91ed1cc821 3222. [cleanup] Replace dns_journal_{get,set}_bitws with
dns_journal_{get,set}_sourceserial. [RT #26634]
2011-11-28 03:14:59 +00:00
Automatic Updater 90efa6693d update 2011-11-27 12:16:30 +00:00
Mark Andrews 374b677c50 make grep more precise 2011-11-27 12:04:27 +00:00
Automatic Updater 41d4f0e183 update 2011-11-24 01:16:12 +00:00
Automatic Updater bafdc1ebe8 regen HEAD 2011-11-24 01:14:53 +00:00
Automatic Updater c4591e1a15 update 2011-11-23 23:16:23 +00:00
Evan Hunt 69feafa0af 3221. [bug] Fixed a potential coredump on shutdown due to
referencing fetch context after it's been freed.
			[RT #26720]
2011-11-23 22:53:53 +00:00
Automatic Updater 06377e0a6f update 2011-11-23 19:16:12 +00:00
Evan Hunt 7486f4e794 Reworded the "inline-signing" doc slightly to remove what had appeared to
be a typo in the printed ARM.  No CHANGES note.
2011-11-23 18:58:39 +00:00
Automatic Updater f64b293a0c auto update 2011-11-21 23:17:20 +00:00
cvs2git e474ecbe1f This commit was manufactured by cvs2git to create branch 'rt26507'. 2011-11-18 23:17:34 +00:00
Automatic Updater edc6e157e7 auto update 2011-11-18 23:17:33 +00:00
Automatic Updater b4c7deba27 update 2011-11-18 20:16:40 +00:00
Evan Hunt 75c622f53b add regression test for rbtdb.c version-mismatch issue 2011-11-18 19:32:13 +00:00
Automatic Updater 8c5dcdcdbd update 2011-11-18 19:16:50 +00:00
Evan Hunt 08b512b6a0 3220. [bug] Change #3186 was incomplete; dns_db_rpz_findips()
could fail to set the database version correctly,
                        causing an assertion failure. [RT #26180]
2011-11-18 18:40:31 +00:00
cvs2git 7064aed978 This commit was manufactured by cvs2git to create branch 'rt26624'. 2011-11-17 23:17:23 +00:00
Automatic Updater dd8c1f4191 auto update 2011-11-17 23:17:22 +00:00
Automatic Updater 9b2f3d9ab6 auto update 2011-11-16 23:17:22 +00:00
Automatic Updater 8e823ecb02 update 2011-11-16 23:16:34 +00:00
Automatic Updater 57b3c5d02f 9.9.0b2 2011-11-16 22:21:05 +00:00
Mark Andrews 2256c13194 --- 9.9.0b2 released ---
3219.   [bug]           Disable NOEDNS caching following a timeout.
2011-11-16 22:18:53 +00:00
Automatic Updater aeed9c30c8 update 2011-11-16 10:16:24 +00:00
Evan Hunt 7c6a1a11fa 3218. [security] Cache lookup could return RRSIG data associated with
nonexistent records, leading to an assertion
			failure. [RT #26590]
2011-11-16 09:44:32 +00:00
Automatic Updater 57df4a6213 update 2011-11-16 01:16:38 +00:00
Automatic Updater 46ead35d4b regen 2011-11-16 00:43:10 +00:00
Evan Hunt 6fb6f8a226 3217. [cleanup] Fix build problem with --disable-static. [RT #26476] 2011-11-16 00:42:07 +00:00
Automatic Updater 39272481b5 auto update 2011-11-15 23:17:39 +00:00
Automatic Updater c21cad2da2 update 2011-11-15 22:16:24 +00:00
Evan Hunt 3ab9d6435a 3216. [bug] resolver.c:validated() was not thread-safe. [RT #26478] 2011-11-15 21:44:53 +00:00
cvs2git f9b62501e8 This commit was manufactured by cvs2git to create branch 'rt26523'. 2011-11-14 19:16:54 +00:00
Automatic Updater 1c0627e3f1 update 2011-11-14 19:16:53 +00:00
Evan Hunt c79bcf09bf Add clientinfo.h to HEADERS. [RT #26558]
No CHANGES note.
2011-11-14 18:32:34 +00:00
Automatic Updater d502560af1 auto update 2011-11-11 23:17:45 +00:00
cvs2git 5b144fac25 This commit was manufactured by cvs2git to create branch 'rt21751'. 2011-11-11 01:16:36 +00:00
Automatic Updater 5c42e873ff update 2011-11-11 01:16:35 +00:00
Evan Hunt 2db105b04c Add ISC_R_NOMORE to dlz_minimal.h, document its use in findzone() routines.
No CHANGES note.
2011-11-11 01:00:40 +00:00
Automatic Updater 98a0f15878 update 2011-11-10 02:16:41 +00:00
Automatic Updater 2a1d6afad5 regen HEAD 2011-11-10 01:16:02 +00:00
Automatic Updater 91ad0e3744 update 2011-11-10 00:16:53 +00:00
Automatic Updater 2fd58cb8f1 update copyright notice 2011-11-09 23:46:23 +00:00
Automatic Updater cafd3a2b99 newcopyrights 2011-11-09 23:30:17 +00:00
Automatic Updater 14f6df4c1e update 2011-11-09 22:16:17 +00:00
Evan Hunt 77d048b03e 3215. [bug] 'rndc recursing' could cause a core dump. [RT #26495] 2011-11-09 22:05:09 +00:00
Automatic Updater d79f8d0fc2 update 2011-11-09 19:16:53 +00:00
Evan Hunt 5d23a6ac83 3214. [func] Add 'named -U' option to set the number of UDP
listener threads per interface. [RT #26485]
2011-11-09 18:44:04 +00:00
Automatic Updater cb13bb66cb update 2011-11-09 06:16:54 +00:00
Evan Hunt 13790b548c 3213. [doc] Clarify ixfr-from-differences behavior. [RT #25188] 2011-11-09 05:52:42 +00:00
Automatic Updater 427d074b5a auto update 2011-11-08 23:17:54 +00:00
Automatic Updater 492770e45f update 2011-11-08 21:16:30 +00:00
Mark Andrews bbcdc70888 change number 2011-11-08 20:50:06 +00:00
Mark Andrews 2a05d28eb1 3211. [bug] rbtdb.c: failed to remove a node from the deadnodes list
prior to adding a reference to it leading a possible
                        assertion failure. [RT #23219]
2011-11-08 20:49:11 +00:00
cvs2git 8700f5e1b4 This commit was manufactured by cvs2git to create branch 'rt23219'. 2011-11-08 01:16:34 +00:00
Automatic Updater c51539159b update 2011-11-08 01:16:33 +00:00
Automatic Updater 2628293c6e regen HEAD 2011-11-08 01:14:50 +00:00
cvs2git 8478216b5a This commit was manufactured by cvs2git to create branch 'rt26232'. 2011-11-08 00:16:43 +00:00
Automatic Updater 815b77d529 update 2011-11-08 00:16:42 +00:00
Automatic Updater 0237221b8a update copyright notice 2011-11-07 23:46:50 +00:00
Evan Hunt d9eebc0849 3211. [func] dnssec-signzone: "-f -" prints to stdout; "-O full"
option prints in single-line-per-record format.
			[RT #20287]
2011-11-07 23:16:31 +00:00
Automatic Updater 8ce3bf954a update 2011-11-07 23:16:23 +00:00
Evan Hunt 83c0ef8815 3210. [bug] Canceling the oldest query due to recursive-client
overload could trigger an assertion failure. [RT #26463]
2011-11-07 23:03:09 +00:00
Automatic Updater 98c8a5d995 update 2011-11-07 02:16:32 +00:00
Automatic Updater 1b557894c5 update 2011-11-07 01:16:35 +00:00
Automatic Updater 36da16fa31 regen HEAD 2011-11-07 01:15:05 +00:00
Evan Hunt 36a13a94c5 new "dnssec-lookaside" option is "no", not "off" 2011-11-07 00:25:53 +00:00
Automatic Updater 9550d6cf12 update 2011-11-07 00:16:35 +00:00
Mark Andrews ac43690858 3209. [func] Add "dnssec-lookaside 'off'". [RT #24858] 2011-11-07 00:14:11 +00:00
Automatic Updater 2e8694f4db update copyright notice 2011-11-06 23:46:40 +00:00
Automatic Updater 71849a1a0f newcopyrights 2011-11-06 23:30:19 +00:00
Mark Andrews 19ae9cbb28 3208. [bug] 'dig -y' handle unknown tsig alorithm better.
[RT #25522]
2011-11-06 23:18:07 +00:00
Automatic Updater e443425acf update 2011-11-05 06:16:56 +00:00
Automatic Updater 0ee2c4e6d0 update 2011-11-05 05:17:58 +00:00
Automatic Updater 34ee86ad31 regen 2011-11-05 05:16:46 +00:00
Evan Hunt 5584cbf427 3207. [contrib] Fixed build error in Berkeley DB DLZ module. [RT #26444] 2011-11-05 05:14:28 +00:00
Automatic Updater 4627db7019 update 2011-11-05 01:16:20 +00:00
Automatic Updater 77dccf2a5d regen HEAD 2011-11-05 01:14:51 +00:00
Evan Hunt ca45c0bc34 3206. [cleanup] Add ISC information to log at start time. [RT #25484] 2011-11-05 00:45:31 +00:00
Automatic Updater de75090c4b update 2011-11-05 00:16:15 +00:00
Automatic Updater af42579df6 update copyright notice 2011-11-04 23:46:15 +00:00
Automatic Updater d6e92dd079 newcopyrights 2011-11-04 23:31:05 +00:00
Automatic Updater 413ed1ef57 auto update 2011-11-04 23:17:20 +00:00
Automatic Updater 0077bc4d68 update 2011-11-04 23:16:34 +00:00
Evan Hunt b375b22fb0 Added documentation of change types. 2011-11-04 22:27:09 +00:00
cvs2git 73726b08bf This commit was manufactured by cvs2git to create branch 'rt20287'. 2011-11-04 19:16:10 +00:00
Automatic Updater a6db63dbf2 update 2011-11-04 19:16:09 +00:00
cvs2git 212d67894e This commit was manufactured by cvs2git to create branch 'rt24858'. 2011-11-04 18:16:26 +00:00
Evan Hunt 151bab9195 removed the list of new features and known issues from 9.7.0 from
the 9.9.0 README (one release back seems sufficient).
2011-11-04 18:16:25 +00:00
Automatic Updater 89a654e52a update 2011-11-04 17:16:24 +00:00
Evan Hunt 4cac7d0949 fixed RT reference for change #3174 2011-11-04 17:14:54 +00:00
Automatic Updater fc404752b4 update 2011-11-04 15:16:23 +00:00
Evan Hunt 59c79d8cc8 shorten an 81-char line in dig -h 2011-11-04 14:19:17 +00:00
Automatic Updater 1165985fe3 update 2011-11-04 11:16:22 +00:00
Jeremy Reed 2de07361f3 Fix typo within XML tag. 2011-11-04 11:02:50 +00:00
Mark Andrews 3fb5bccf59 3205. [func] Upgrade dig's defaults to better reflect modern
nameserver behaviour.  Enable "dig +adflag" and
                        "dig +edns=0" by default.  Enable "+dnssec" when
                        running "dig +trace". [RT #23497]
2011-11-04 10:41:38 +00:00
Automatic Updater fd94261ec7 update 2011-11-04 06:16:31 +00:00
Evan Hunt 8899393ccd typo 2011-11-04 05:54:33 +00:00
Evan Hunt 90a354ab36 3204. [bug] When a master server that has been marked as
unreachable but sends a NOTIFY, mark it reachable
			again. [RT #25960]
2011-11-04 05:51:02 +00:00
Evan Hunt 25845da41a 3203. [bug] Increase log level to 'info' for validation failures
from expired or not-yet-valid RRSIGs. [RT #21796]
2011-11-04 05:36:28 +00:00
cvs2git a6a28314eb This commit was manufactured by cvs2git to create branch 'rt25690'. 2011-11-04 04:16:32 +00:00
Automatic Updater c4c0b6599a update 2011-11-04 04:16:31 +00:00
Mark Andrews a5166d5fce 3202. [bug] NOEDNS caching on timeout was too agressive.
[RT #26416]
2011-11-04 03:38:44 +00:00
Automatic Updater 2a303cab7c update 2011-11-04 03:16:48 +00:00
Automatic Updater 84bc9a5840 add missing </term> 2011-11-04 02:25:17 +00:00
Automatic Updater d1b4463504 update 2011-11-04 00:16:59 +00:00
Automatic Updater 0b85ae70e9 update copyright notice 2011-11-03 23:46:26 +00:00
Automatic Updater 94d0b4bd41 newcopyrights 2011-11-03 23:30:18 +00:00
Automatic Updater 1ea60859e0 auto update 2011-11-03 23:17:35 +00:00
Automatic Updater 2d89cadead update 2011-11-03 23:17:01 +00:00
Evan Hunt f550b4b104 3201. [func] 'rndc querylog' can now be given an on/off parameter
instead of only being used as a toggle. [RT #18351]
2011-11-03 23:05:31 +00:00
Automatic Updater 962d1c873e update 2011-11-03 22:16:59 +00:00
Evan Hunt 6150d3cb66 3200. [doc] Some rndc functions were undocumented or were
missing from 'rndc -h' output. [RT #25555]
2011-11-03 22:06:21 +00:00
Evan Hunt 8496c276b0 update "known good OS's" list based on recent reports 2011-11-03 21:30:34 +00:00
Automatic Updater 1e945263d5 update 2011-11-03 21:16:29 +00:00
Evan Hunt fd0cb18761 3199. [func] When logging client information, include the name
being queried. [RT #25944]
2011-11-03 21:14:22 +00:00
Evan Hunt d7be2b79ed 3198. [doc] Clarified that dnssec-settime can alter keyfile
permissions. [RT #24866]
2011-11-03 20:21:37 +00:00
Automatic Updater c4f7ba75e7 update 2011-11-03 06:16:48 +00:00
Automatic Updater 51c9097184 update 2011-11-03 05:16:59 +00:00
Evan Hunt 1c1879b7ef 3197. [bug] Don't try to log the filename and line number when
the config parser can't open a file. [RT #22263]
2011-11-03 05:15:09 +00:00
Evan Hunt 2a7ac74960 remove 1/8 and 2/8 from bogusnets example 2011-11-03 04:53:27 +00:00
Evan Hunt 7f2a245b96 3196. [bug] nsupdate: return nonzero exit code when target zone
doesn't exist. [RT #25783]
2011-11-03 04:29:28 +00:00
Automatic Updater 1eaf800c7b update 2011-11-03 04:16:39 +00:00
cvs2git 14ab630b23 This commit was manufactured by cvs2git to create branch 'rt26416'. 2011-11-03 03:26:20 +00:00
Evan Hunt 77b8f02d19 3195. [cleanup] Silence "file not found" warnings when loading
managed-keys zone. [RT #26340]
2011-11-03 03:26:19 +00:00
cvs2git 978e394c54 This commit was manufactured by cvs2git to create branch 'rt25960'. 2011-11-03 03:17:04 +00:00
Automatic Updater c3d046d8b5 update 2011-11-03 03:17:03 +00:00
Evan Hunt 0c25a44aac 3194. [doc] Updated RFC references in the 'empty-zones-enable'
documentation. [RT #25203]
2011-11-03 03:08:33 +00:00
Evan Hunt 8281fd83da 3193. [cleanup] Changed MAXZONEKEYS to DNS_MAXZONEKEYS, moved to
dnssec.h. [RT #26415]
2011-11-03 02:54:47 +00:00
cvs2git 901cf705f5 This commit was manufactured by cvs2git to create branch 'rt25060'. 2011-11-03 00:16:51 +00:00
Automatic Updater 4634ecba29 update 2011-11-03 00:16:50 +00:00
Automatic Updater 1ab9944f6b update copyright notice 2011-11-02 23:46:24 +00:00
Mark Andrews 146057d7e7 3192. [bug] A query structure could be used after being freed.
[RT #22208]
2011-11-02 23:42:33 +00:00
Automatic Updater dfd613f037 newcopyrights 2011-11-02 23:30:26 +00:00
Automatic Updater 4bc0516158 auto update 2011-11-02 23:17:47 +00:00
Automatic Updater b7adda4197 update 2011-11-02 20:16:36 +00:00
Evan Hunt 7a30c8f783 edited a comment for clarity. 2011-11-02 19:41:02 +00:00
cvs2git 0ddaec4692 This commit was manufactured by cvs2git to create branch 'rt25419'. 2011-11-02 14:16:14 +00:00
Automatic Updater 4e3e80f93f update 2011-11-02 14:16:13 +00:00
Mark Andrews 46c7b71b4d improve error diagnostics 2011-11-02 13:59:07 +00:00
Automatic Updater 453d0531b9 update 2011-11-02 09:17:01 +00:00
Mark Andrews e223d4bb26 loop waiting for stub zone to transfer 2011-11-02 08:17:01 +00:00
Automatic Updater bd46bf198d update 2011-11-02 06:16:26 +00:00
Evan Hunt 103250dd47 fix usage message 2011-11-02 06:00:35 +00:00
Automatic Updater 8501249eef update 2011-11-02 03:17:00 +00:00
Evan Hunt 8b04568c80 grammar fix 2011-11-02 02:20:46 +00:00
Automatic Updater f7844121a8 update 2011-11-02 01:16:30 +00:00
Mark Andrews fe3472c80b 3191. [bug] Print NULL records using unknown format. [RT #26392] 2011-11-02 01:01:52 +00:00
Automatic Updater cab7db8d3b update 2011-11-02 00:16:35 +00:00
Automatic Updater 89d1324270 update copyright notice 2011-11-01 23:47:00 +00:00
Automatic Updater f8b9948a41 newcopyrights 2011-11-01 23:30:20 +00:00
Automatic Updater 63e8923c88 auto update 2011-11-01 23:17:32 +00:00
Automatic Updater 05bf9ac814 update 2011-11-01 22:16:32 +00:00
Mark Andrews 3975f627fe 3190. [bug] Underflow in error handling in isc_mutexblock_init.
[RT #26397]
2011-11-01 21:59:56 +00:00
Automatic Updater 84087ba49e update 2011-11-01 19:16:25 +00:00
Evan Hunt e2271ee953 3189. [test] Added a summary report after system tests. [RT #25517] 2011-11-01 18:35:53 +00:00
cvs2git 5c8d35f8f0 This commit was manufactured by cvs2git to create branch 'rt26386'. 2011-11-01 04:16:20 +00:00
Automatic Updater 94a42cf08b update 2011-11-01 04:16:19 +00:00
Evan Hunt 5caf26b168 3188. [bug] zone.c:zone_refreshkeys() could fail to detach
references correctly when errors occurred, causing
			a hang on shutdown. [RT #26372]
2011-11-01 04:00:45 +00:00
Automatic Updater 5d31a59fa1 update 2011-11-01 00:16:39 +00:00
Automatic Updater 53eae9bf3e update copyright notice 2011-10-31 23:46:56 +00:00
Automatic Updater a8a1d4629e newcopyrights 2011-10-31 23:30:15 +00:00
Automatic Updater 3a621e3d12 auto update 2011-10-31 23:17:30 +00:00
Automatic Updater 93c3e6b020 update 2011-10-31 18:16:12 +00:00
Evan Hunt 923ba8158a add note about 'dig +rrcomments' 2011-10-31 18:03:50 +00:00
Automatic Updater 00aba7413e update 2011-10-31 00:16:49 +00:00
Automatic Updater f308b3c2e0 update copyright notice 2011-10-30 23:46:15 +00:00
Mark Andrews 36e97eb661 3187. [port] win32: support for Visual Studio 2008. [RT #26356] 2011-10-30 23:39:39 +00:00
Automatic Updater 6df47a264d newcopyrights 2011-10-30 23:30:13 +00:00
Automatic Updater ab94e3791e update 2011-10-30 23:17:07 +00:00
Evan Hunt 695ccee03b added cvsignore files 2011-10-30 23:14:31 +00:00
Evan Hunt 81443179e5 missing files from clean.sh 2011-10-30 23:14:23 +00:00
Evan Hunt 74c46f605f file missing from clean.sh 2011-10-30 23:11:24 +00:00
Evan Hunt 094672b313 some files were missing from clean.sh 2011-10-30 23:05:13 +00:00
Evan Hunt 3718adf753 some files were missing from clean.sh 2011-10-30 22:59:45 +00:00
Evan Hunt 0422d7c531 Need to clear db-* files in clean.sh. 2011-10-30 22:55:12 +00:00
Automatic Updater 4cc59a7799 auto update 2011-10-29 23:17:43 +00:00
Automatic Updater 553460831d update 2011-10-29 23:16:41 +00:00
Mark Andrews cd56981c8a remove unused parameter from next_origin 2011-10-29 22:26:21 +00:00
Automatic Updater a9bae6c481 update 2011-10-29 07:16:51 +00:00
Mark Andrews 5b7e96d3a7 add if (list) 2011-10-29 06:22:51 +00:00
Automatic Updater a4713d18e5 update 2011-10-29 01:16:19 +00:00
Evan Hunt c5023889ac remove debugging printf that was left in by mistake 2011-10-29 00:15:56 +00:00
Automatic Updater 22f7ca6d4e update 2011-10-28 17:16:54 +00:00
Evan Hunt cb143a725f added a note about locking fixes 2011-10-28 16:54:55 +00:00
Evan Hunt 5f6b9acfe9 imported the list of 9.8.0 new features from the 9.8 README file 2011-10-28 16:37:20 +00:00
Evan Hunt 96b1a311fc updated README with a more complete list of new features (it
hadn't been touched since 9.9.0a1)
2011-10-28 16:30:44 +00:00
Automatic Updater b47fbfc944 update 2011-10-28 14:16:11 +00:00
Mark Andrews 74d7615fc5 9.9.0b1 2011-10-28 13:25:44 +00:00
Automatic Updater c5f45d767e update 2011-10-28 13:16:10 +00:00
Automatic Updater e5045764a4 9.9.0b1 2011-10-28 12:28:33 +00:00
Mark Andrews fbf6fa0e62 initialise result 2011-10-28 12:27:06 +00:00
Automatic Updater 23967fcd6e regen HEAD 2011-10-28 12:23:40 +00:00
Automatic Updater 98a7e53914 update copyright notice 2011-10-28 12:20:31 +00:00
Automatic Updater 9d9d2b1450 newcopyrights 2011-10-28 12:19:47 +00:00
Mark Andrews cbb14fdb1f ./bin/tests/system/rpz/ns3/crash2 2011-10-28 12:18:14 +00:00
Automatic Updater 36afe9a786 update 2011-10-28 12:16:18 +00:00
Automatic Updater d68503046d update copyright notice 2011-10-28 12:08:04 +00:00
Mark Andrews 62a348b15d 9.9.0b1 2011-10-28 12:02:31 +00:00
Mark Andrews 7b4b6f361b 3186. [bug] Version/db mis-match in rpz code. [RT #26180] 2011-10-28 11:46:50 +00:00
Automatic Updater 99d376d65a update 2011-10-28 07:16:57 +00:00
Evan Hunt 9c03f13e18 3185. [func] New 'rndc signing' option for auto-dnssec zones:
- 'rndc signing -list' displays the current
			   state of signing operations
			 - 'rndc signing -clear' clears the signing state
		  	   records for keys that have fully signed the zone
			 - 'rndc signing -nsec3param' sets the NSEC3
			   parameters for the zone
			The 'rndc keydone' syntax is removed. [RT #23729]
2011-10-28 06:20:07 +00:00
Automatic Updater aeef1449b4 update 2011-10-28 05:16:56 +00:00
Mark Andrews f7dfd53301 style, remove redudant assignment 2011-10-28 04:57:34 +00:00
Automatic Updater b5fa3948a6 update 2011-10-28 04:16:31 +00:00
Automatic Updater 70fd63dea8 update 2011-10-28 03:16:52 +00:00
Mark Andrews 30574fa9ad exit 255 for SKIPPED 2011-10-28 03:15:05 +00:00
Scott Mann 376444d40b add test for recent Net::DNS module. 2011-10-28 02:18:56 +00:00
Automatic Updater bf6cf1b25c update 2011-10-28 02:16:44 +00:00
Evan Hunt 36794606b8 add ISC_R_NOPERM to dlz_minimal.h 2011-10-28 01:28:58 +00:00
Mark Andrews c4352fb17e add excessive 2011-10-28 01:23:58 +00:00
Automatic Updater 991adec028 update 2011-10-28 01:16:17 +00:00
Mark Andrews cd22c3e4e4 3184. [bug] named had cpu usage when a redirect zone was
configured. [RT #26013]
2011-10-28 00:36:54 +00:00
Automatic Updater 5ba9b97aa8 update 2011-10-28 00:16:44 +00:00
Automatic Updater 96f5a19c12 update copyright notice 2011-10-27 23:46:31 +00:00
Automatic Updater bea3208b41 newcopyrights 2011-10-27 23:30:15 +00:00
Automatic Updater 60ccbf9e77 auto update 2011-10-27 23:17:13 +00:00
Automatic Updater a4d7cd08a8 update 2011-10-27 23:17:04 +00:00
Scott Mann 0148654d85 added RTLD_GLOBAL to dlopen call (RT #26301). 2011-10-27 23:01:59 +00:00
Automatic Updater 5968d3cf05 update 2011-10-27 22:26:39 +00:00
Mark Andrews 2969f16b07 move declarations to start of block 2011-10-27 22:23:58 +00:00
Automatic Updater bcb68ece5a update 2011-10-27 21:17:00 +00:00
Scott Mann b91b288f92 fix edns0 retry issues (rt #23393/24964). 2011-10-27 20:18:42 +00:00
Automatic Updater 5c7bcd0cee update 2011-10-27 01:16:48 +00:00
Automatic Updater be75fd4f49 regen HEAD 2011-10-27 01:14:50 +00:00
Automatic Updater 5b4db7f134 update 2011-10-27 00:16:51 +00:00
Automatic Updater 8826a72394 update copyright notice 2011-10-26 23:46:15 +00:00
Automatic Updater 24e0e8d17d newcopyrights 2011-10-26 23:30:12 +00:00
Automatic Updater 6a53f1249f auto update 2011-10-26 23:17:41 +00:00
Automatic Updater 26da34d63c update 2011-10-26 21:16:30 +00:00
Mark Andrews 24ef32426d 3181. [func] Inline-signing is now supported for master zones.
[RT #26224]
2011-10-26 20:56:45 +00:00
Automatic Updater 191fed04b2 update 2011-10-26 16:16:34 +00:00
Evan Hunt 9570ddcd41 3180. [func] Local copies of slave zones are now saved in raw
format by default, to improve startup performance.
			'masterfile-format text;' can be used to override
			the default, if desired. [RT #25867]
2011-10-26 15:23:37 +00:00
Automatic Updater f4ee3d9741 update 2011-10-26 06:17:03 +00:00
Mark Andrews aa0777cfb6 spin waiting for zone transfer to complete 2011-10-26 05:32:56 +00:00
Automatic Updater f49f81984a update 2011-10-26 01:16:20 +00:00
Automatic Updater e839bf134f regen HEAD 2011-10-26 01:14:53 +00:00
Automatic Updater 7cf6d62848 update 2011-10-26 00:16:31 +00:00
Automatic Updater 329eb05c12 update copyright notice 2011-10-25 23:46:58 +00:00
Automatic Updater a66012b52c newcopyrights 2011-10-25 23:30:16 +00:00
Automatic Updater 9e1afcc90d auto update 2011-10-25 23:17:28 +00:00
Automatic Updater f413c35f36 update 2011-10-25 22:16:34 +00:00
Mark Andrews 9a8ffb1ac7 3179. [port] kfreebsd: build issues. [RT #26273] 2011-10-25 21:22:09 +00:00
Automatic Updater edf8239975 update 2011-10-25 17:16:23 +00:00
Evan Hunt f704fa0ca6 3178. [bug] A race condition introduced by change #3163 could
cause an assertion failure on shutdown. [RT #26271]
2011-10-25 16:21:21 +00:00
Automatic Updater f0a2633ecb update 2011-10-25 05:16:16 +00:00
Mark Andrews 0f21945e27 remove unused variable 2011-10-25 04:38:14 +00:00
Automatic Updater 77d8f9cef0 update 2011-10-25 04:17:03 +00:00
Mark Andrews ad94465154 improve failure reports 2011-10-25 03:57:08 +00:00
Automatic Updater 986ae9d56e update 2011-10-25 02:16:41 +00:00
Mark Andrews b1c6de5456 3177. [func] 'rndc keydone', remove the indicator record that
named has finished signing the zone with the
                        corresponding key.  [RT #26206]
2011-10-25 01:54:22 +00:00
Automatic Updater 4aa19ee16a update 2011-10-25 00:16:43 +00:00
Automatic Updater 64691d525b update copyright notice 2011-10-24 23:46:14 +00:00
Automatic Updater 89d0ee9d53 newcopyrights 2011-10-24 23:30:16 +00:00
Automatic Updater 6ea977c8ed update 2011-10-24 23:16:33 +00:00
Michael Graff 522222cf93 Correctly invalidate the sha2/hmac2 contexts. This was already done in practice, but this makes it zero out the whole structure rather than just the first 4 bytes + the key. sha2.c did not always zero out the full sha2 state in invalidate, but will now. 2011-10-24 22:51:29 +00:00
Automatic Updater 81c538f913 auto update 2011-10-21 23:17:31 +00:00
Automatic Updater 54d8cdbebc update 2011-10-21 04:16:34 +00:00
Mark Andrews f49d12edf8 remove redundant assignment and variable 2011-10-21 03:55:33 +00:00
Automatic Updater b44f720246 update 2011-10-21 01:16:26 +00:00
Automatic Updater 12bfbed87c regen HEAD 2011-10-21 01:14:51 +00:00
Automatic Updater 7dbff3d522 update 2011-10-21 00:16:31 +00:00
Automatic Updater dfc015bc7e update copyright notice 2011-10-20 23:46:51 +00:00
Automatic Updater 24bf1e02f0 newcopyrights 2011-10-20 23:30:15 +00:00
Automatic Updater 0110c9d936 auto update 2011-10-20 23:17:40 +00:00
Automatic Updater 93ba31ac6c update 2011-10-20 22:16:23 +00:00
Evan Hunt 9336f01769 3176. [doc] Corrected example code and added a README to the
sample external DLZ module in contrib/dlz/example.
			[RT #26215]
2011-10-20 22:01:48 +00:00
Mark Andrews ada40193c8 3175. [bug] Fix how DNSSEC positive wildcard responses from a
NSEC3 signed zone are validated.  Stop sending a
                        unnecessary NSEC3 record when generating such
                        responses. [RT #26200]
2011-10-20 21:42:11 +00:00
Mark Andrews 1946c596b4 3174. [bug] Always compute to revoked key tag from scratch.
[RT #24711]
2011-10-20 21:20:02 +00:00
Automatic Updater 3c95be120f update 2011-10-20 20:16:18 +00:00
Vernon Schryver 48a3b28263 mention RPZ user interface changes 2011-10-20 19:22:41 +00:00
Automatic Updater 5073c7e6dc update 2011-10-20 00:16:31 +00:00
Automatic Updater 7e9d7c58af update copyright notice 2011-10-19 23:46:56 +00:00
Automatic Updater 3b037f97a0 auto update 2011-10-19 23:17:38 +00:00
Automatic Updater 2f870b661d update 2011-10-19 01:16:53 +00:00
Mark Andrews 90863a6f9b update 2011-10-19 01:00:44 +00:00
Automatic Updater 8012530eb8 update 2011-10-18 10:16:55 +00:00
Mark Andrews b9abd78636 new 2011-10-18 09:26:39 +00:00
Automatic Updater 53c69709a6 update 2011-10-18 02:16:24 +00:00
Mark Andrews 37e6ff3f49 initalize set_lock 2011-10-18 02:00:56 +00:00
Automatic Updater 50b08783f9 update 2011-10-18 00:16:45 +00:00
Automatic Updater e87f494810 update copyright notice 2011-10-17 23:46:33 +00:00
Automatic Updater 0c7657e930 newcopyrights 2011-10-17 23:30:18 +00:00
Automatic Updater 86cd366df0 auto update 2011-10-17 23:17:24 +00:00
Automatic Updater e3e6fe9a80 update 2011-10-17 06:17:05 +00:00
Mark Andrews ca890c0aa8 sleep 1 # allow lwresd to finish starting. 2011-10-17 05:40:11 +00:00
Automatic Updater b2f2b7f5a4 update 2011-10-17 02:16:24 +00:00
Mark Andrews 2da036f231 The notify system test was using a dynamic zone for reload testing
so it was just a plain fluke that it ever succeeded.
* use a normal (non-dynamic) zone.
* check that reloads of the master zone actually occur.
* remove example3 test from tests.sh as it wasn't testing notify.
* add a "sleep 1" so that the copied file will have a newer timestamp.
* improve system test logging.
* using seperate output files for each test so that it is possible
  to work out what went wrong if the system test fails.
2011-10-17 01:33:28 +00:00
Automatic Updater 02265237cd auto update 2011-10-16 23:17:37 +00:00
Automatic Updater 5d86a459ab auto update 2011-10-15 23:17:21 +00:00
Automatic Updater 08a5e0f600 update 2011-10-15 05:16:59 +00:00
Mark Andrews 020c4484fe 3173. [port] Correctly validate root DS responses. [RT #25726] 2011-10-15 05:00:15 +00:00
Mark Andrews e94c7d2358 changes number 2011-10-15 04:16:38 +00:00
Automatic Updater 4a213e4136 update 2011-10-15 00:16:38 +00:00
Automatic Updater 2d45eb7acb update copyright notice 2011-10-14 23:46:34 +00:00
Automatic Updater 6fc3902403 newcopyrights 2011-10-14 23:30:11 +00:00
Automatic Updater 7eeaa2309c auto update 2011-10-14 23:17:31 +00:00
Automatic Updater ff7360c55e update 2011-10-14 12:16:23 +00:00
Mark Andrews baabfdc0d9 wait for test zones to have loaded 2011-10-14 12:02:12 +00:00
Automatic Updater af34310238 update 2011-10-14 06:16:49 +00:00
Mark Andrews 30d9cf665d 3171. [port] darwin 10.* and freebsd [89] are now built threaded by
default.
2011-10-14 05:42:52 +00:00
Mark Andrews 0a1009ae64 3171. [bug] Exclusively lock the task when adding a zone using
'rndc addzone'.  [RT #25600]
2011-10-14 05:38:50 +00:00
Automatic Updater b4a5220650 update 2011-10-14 03:16:17 +00:00
Mark Andrews 88a8e5a8d0 3170. [func] RPZ update:
- fix precedence among competing rules
                        - improve ARM text including documenting rule precedence
                        - try to rewrite CNAME chains until first hit
                        - new "rpz" logging channel
2011-10-14 03:05:45 +00:00
Automatic Updater db050def20 update 2011-10-14 01:16:13 +00:00
Mark Andrews 3feb38c1f1 9.9.0a3 2011-10-14 01:12:28 +00:00
Mark Andrews 298452f671 update for clientinfo support 2011-10-14 00:52:32 +00:00
Automatic Updater 29badbf2aa update 2011-10-14 00:16:30 +00:00
Automatic Updater 1f7bae40e4 9.9.0a3 2011-10-14 00:04:49 +00:00
Automatic Updater 6f64d4ab8e regen HEAD 2011-10-14 00:04:24 +00:00
Automatic Updater 87002e151b <command>-><option> 2011-10-13 23:47:10 +00:00
Automatic Updater 085e84f19b add missing </listitems> 2011-10-13 23:44:47 +00:00
Automatic Updater c67fb8053d auto update 2011-10-13 23:17:22 +00:00
Automatic Updater ea2081655b update 2011-10-13 23:17:04 +00:00
Mark Andrews 2801318d3c 9.9.0a3 2011-10-13 22:53:39 +00:00
Automatic Updater 304a539c59 update copyright notice 2011-10-13 22:48:24 +00:00
Automatic Updater e007e3e5b0 newcopyrights 2011-10-13 22:46:39 +00:00
Mark Andrews c28bc44028 waiting for servers to be ready for testing 2011-10-13 22:18:05 +00:00
Automatic Updater 350ccf569c update 2011-10-13 13:16:49 +00:00
Mark Andrews 63b6eac79c handle unchecked assignment 2011-10-13 13:13:52 +00:00
Mark Andrews 88112d5fcb 'test -e' is not portable, use 'test -f' 2011-10-13 13:03:51 +00:00
Automatic Updater 3f36db156d update 2011-10-13 08:16:56 +00:00
Mark Andrews e236b52ce0 #include <stdlib.h> 2011-10-13 07:56:32 +00:00
Automatic Updater af11ded724 update 2011-10-13 05:16:53 +00:00
Mark Andrews abea1710a7 new 2011-10-13 04:53:07 +00:00
Automatic Updater 47cdb263ab update 2011-10-13 04:16:33 +00:00
Mark Andrews 24ae404aca 'grep' -> 'grep -w' when checking for keyids 2011-10-13 03:55:01 +00:00
Mark Andrews 89d7808786 'grep' -> 'grep -w' when checking for keyids 2011-10-13 03:46:41 +00:00
Automatic Updater 4b634d23cd update 2011-10-13 03:16:50 +00:00
Mark Andrews 7c0e21f706 add custom_tata_22992_26038_26044 2011-10-13 02:58:42 +00:00
Automatic Updater ff8645cf2c update 2011-10-13 02:16:49 +00:00
Vernon Schryver 9fee08f655 Commit rt25172 changes to HEAD including
- fix precedence among competing rules
  - improve ARM text including documenting rule precedence
  - try to rewrite CNAME chains until first hit
  - new "rpz" logging channel
  - same fix for "NS ." as in RT 24985
2011-10-13 01:32:34 +00:00
Automatic Updater 2cb1c691ba update 2011-10-13 00:16:13 +00:00
Automatic Updater ea68e8eba9 update copyright notice 2011-10-12 23:46:34 +00:00
Mark Andrews 07d9d0dbcc add 2011-10-12 23:39:11 +00:00
Automatic Updater a2536a03dc auto update 2011-10-12 23:17:29 +00:00
Automatic Updater 81d2b781d1 update 2011-10-12 23:16:19 +00:00
Mark Andrews ebe4f01a8f 3169. [func] Catch db/version mis-matches when call dns_db_*().
[RT #26017]
2011-10-12 23:11:30 +00:00
Mark Andrews af850c4120 3168. [bug] Nxdomain redirection could trigger a assert with
a ANY query. [RT #26017]
2011-10-12 23:09:35 +00:00
Automatic Updater 81a92341ef update 2011-10-12 03:16:20 +00:00
Mark Andrews 5258355c8d silence ccc-analyzer (clang) warnings 2011-10-12 02:17:53 +00:00
Automatic Updater 92ebd38022 update 2011-10-12 01:16:15 +00:00
Mark Andrews dc2e627239 3167. [bug] Negative answers from forwarders were not being
correctly tagged making them appear to not be cached.
                        [RT #25380]
2011-10-12 00:18:11 +00:00
Automatic Updater fcf40603c7 update 2011-10-12 00:16:13 +00:00
Mark Andrews 02286522fb 3166. [bug] Upgrading a zone to support inline-signing failed. [RT #26014] 2011-10-12 00:10:20 +00:00
Automatic Updater 0e11ca0f0b update copyright notice 2011-10-11 23:46:45 +00:00
Automatic Updater 1d4f4d2db2 newcopyrights 2011-10-11 23:30:16 +00:00
Automatic Updater da41cbe43e update 2011-10-11 20:16:11 +00:00
Evan Hunt 653a78de95 3165. [bug] dnssec-signzone could generate new signatures when
resigning, even when valid signatures were already
			present. [RT #26025]
2011-10-11 19:26:06 +00:00
Automatic Updater 4ce95a2463 update 2011-10-11 14:16:07 +00:00
Mark Andrews 25500a1d9f add missing break; 2011-10-11 13:36:12 +00:00
Mark Andrews bdcd748874 add null methods 2011-10-11 13:33:45 +00:00
Automatic Updater 1cff0e025f update 2011-10-11 03:16:42 +00:00
Mark Andrews f730d7bdc2 fix builtin_lookup to match new prototype 2011-10-11 02:39:03 +00:00
Automatic Updater 857e29f5a8 update 2011-10-11 01:16:18 +00:00
Mark Andrews be7772a59c #include <isc/print.h> 2011-10-11 00:53:15 +00:00
Mark Andrews 43b3337ba5 handle named.args 2011-10-11 00:46:46 +00:00
Mark Andrews 4f803dd91d add #include "config.h" 2011-10-11 00:25:12 +00:00
Automatic Updater 5afe875d45 update 2011-10-11 00:16:43 +00:00
Evan Hunt 793814f807 3164. [func] Enable DLZ modules to retrieve client information,
so that responses can be changed depending on the
			source address of the query. [RT #25768]
2011-10-11 00:09:03 +00:00
Scott Mann 07dc62785b Change s/\R//g to chomp(). 2011-10-10 23:18:17 +00:00
Automatic Updater 6851f380b0 update 2011-10-10 23:16:13 +00:00
Evan Hunt b2086d798b 3163. [bug] Use finer-grained locking in client.c to address
concurrency problems with large numbers of threads.
			[RT #26044]
2011-10-10 22:57:14 +00:00
Automatic Updater ab18723ea7 update 2011-10-10 19:16:12 +00:00
Scott Mann db715e6d83 fix directory path for subdirs 2011-10-10 19:06:05 +00:00
Automatic Updater a5bb9db3db update 2011-10-10 03:16:47 +00:00
Mark Andrews 079e4a3d87 isc_app_start needs to be called earlier to ensure that signal handlers are setup before any threads are created 2011-10-10 02:46:16 +00:00
Automatic Updater ce117998dc update 2011-10-10 01:16:07 +00:00
Mark Andrews d60fb3a58c use index rather than match as it is more portable 2011-10-10 00:34:57 +00:00
Automatic Updater 9fd789548f update 2011-10-09 23:16:11 +00:00
Scott Mann 1dacfa0ea8 entry for enhancement to start.pl 2011-10-09 23:03:57 +00:00
Scott Mann aab0b9cd3b added ability to set named params through "named.args" file 2011-10-09 22:47:15 +00:00
Automatic Updater f4b24f3ec3 update 2011-10-07 22:16:06 +00:00
Mark Andrews 17dfbab847 handle getline errors/eof 2011-10-07 21:32:35 +00:00
Automatic Updater 9da37b29ac update 2011-10-07 03:16:56 +00:00
Mark Andrews 2cc56f582c 3161. [bug] zone.c:del_sigs failed to always reset rdata leading
assertion failures. [RT #25880]
2011-10-07 02:55:04 +00:00
Automatic Updater ee4159cc85 update 2011-10-07 01:16:04 +00:00
Automatic Updater 54e57d8ff4 regen HEAD 2011-10-07 01:14:45 +00:00
Automatic Updater 73027dc3e2 auto update 2011-10-06 23:17:28 +00:00
Automatic Updater b93787b16a update 2011-10-06 22:16:06 +00:00
Mark Andrews dc2cbfdafe handle multi-line NSEC3 record better 2011-10-06 22:11:39 +00:00
Automatic Updater 7b6f8c6ce8 update 2011-10-06 12:16:15 +00:00
Mark Andrews 3952b16164 fix default for sig-signing-type 2011-10-06 11:50:20 +00:00
Mark Andrews 6e1b287107 rt21764 session-* fixes 2011-10-06 11:31:57 +00:00
Automatic Updater 0935809ea3 auto update 2011-10-05 23:17:22 +00:00
Automatic Updater b292183220 update 2011-10-05 04:16:12 +00:00
Mark Andrews 8c0f354bdf 3160. [bug] When printing out a NSEC3 record in multiline form
the newline was not being printed causing type codes
                        to be run together. [RT #25873]
2011-10-05 03:48:27 +00:00
Mark Andrews fce049a50f CHANGES 2011-10-05 03:47:59 +00:00
Automatic Updater 33bc796196 auto update 2011-10-04 23:17:12 +00:00
Automatic Updater c1b6a4ae42 update 2011-10-04 16:16:37 +00:00
Evan Hunt a6c74da2b0 3159. [bug] On some platforms, named could assert on startup
when running in a chrooted environment without
			/proc. [RT #25863]

3158.	[bug]		Recursive servers would prefer a particular UDP
			socket instead of using all available sockets.
			[RT #26038]
2011-10-04 16:04:22 +00:00
Automatic Updater e7b337e2ad auto update 2011-10-03 23:17:17 +00:00
Automatic Updater 685aa0335a auto update 2011-09-29 23:17:33 +00:00
Automatic Updater 34f4348213 update 2011-09-23 18:16:07 +00:00
Evan Hunt 1219f8d194 3157. [tuning] Reduce the time spent in "rndc reconfig" by parsing
the config file before pausing the server. [RT #21373]
2011-09-23 18:08:01 +00:00
Automatic Updater 6921f2d4ee update 2011-09-23 01:16:07 +00:00
Evan Hunt 3d5423a484 add placeholder 2011-09-23 00:38:32 +00:00
Automatic Updater e68f9193f4 auto update 2011-09-21 23:17:15 +00:00
Automatic Updater c12ae150eb auto update 2011-09-14 23:17:18 +00:00
Automatic Updater eb74a1f7d7 update 2011-09-13 22:16:10 +00:00
Mark Andrews 56e465314e 9.9.0a2 2011-09-13 22:07:58 +00:00
Automatic Updater 37f74f3b0f 9.9.0a2 2011-09-13 21:41:04 +00:00
Mark Andrews 41ce9f5c27 9.9.0b2 2011-09-13 21:38:50 +00:00
Automatic Updater 6b7ca46656 auto update 2011-09-09 23:17:26 +00:00
Automatic Updater fbbd2429d7 auto update 2011-09-08 23:17:10 +00:00
Automatic Updater 9af6c30f16 update 2011-09-08 00:16:46 +00:00
Automatic Updater 65df0ad698 update copyright notice 2011-09-07 23:46:28 +00:00
Automatic Updater 2fd1e39189 newcopyrights 2011-09-07 23:30:16 +00:00
Automatic Updater b5db581e7e auto update 2011-09-07 23:16:25 +00:00
Automatic Updater ed90aba5b7 update 2011-09-07 21:16:10 +00:00
Evan Hunt 67e3b3b9fc 3155. [bug] Fixed a build failure when using contrib DLZ
drivers (e.g., mysql, postgresql, etc). [RT #25710]
2011-09-07 20:50:08 +00:00
Automatic Updater bd3341d6b2 update 2011-09-07 19:16:13 +00:00
Evan Hunt 84f0bd3bc7 3154. [bug] Attempting to print an empty rdataset could trigger
an assert. [RT #25452]
2011-09-07 19:11:14 +00:00
Automatic Updater 4de77eaae8 update 2011-09-07 12:16:03 +00:00
Scott Mann de382ae91a added RT # to 3153 2011-09-07 11:55:05 +00:00
Automatic Updater 3a2a8ce5eb update 2011-09-07 01:40:11 +00:00
Mark Andrews 35540d8b32 add missing files from request-ixfr test 2011-09-07 01:30:13 +00:00
Automatic Updater c1012becb6 update 2011-09-07 01:16:10 +00:00
Automatic Updater eea6be913f regen HEAD 2011-09-07 01:14:44 +00:00
Mark Andrews 2dbe31b3fd data and function pointers are not interchangable 2011-09-07 00:50:06 +00:00
Automatic Updater 9d98f52e5e update 2011-09-07 00:16:42 +00:00
Automatic Updater cb3168cec7 update copyright notice 2011-09-06 23:46:27 +00:00
Automatic Updater 7c7680a2f1 newcopyrights 2011-09-06 23:30:20 +00:00
Automatic Updater bc7f6a844b auto update 2011-09-06 23:17:12 +00:00
Automatic Updater d2d8fdd71e update 2011-09-06 23:16:13 +00:00
Scott Mann fad5116b3d Remove the ixfr-from-differences side-effect which causes an AXFR and extend
request-ixfr to the zone level.
2011-09-06 22:29:33 +00:00
Automatic Updater 9252f15750 update 2011-09-06 06:16:31 +00:00
Mark Andrews 2dfde9bb09 add depend target 2011-09-06 05:49:51 +00:00
Automatic Updater d7f7810f2b update 2011-09-06 04:16:19 +00:00
Mark Andrews d1f1675156 $ -> 18739 2011-09-06 04:06:37 +00:00
Mark Andrews 4531020621 run unit tests even if system tests fail. Report if either set of tests fail 2011-09-06 03:59:58 +00:00
Automatic Updater 9dc9693af6 update 2011-09-06 00:16:16 +00:00
Automatic Updater b3d6edf7cf update copyright notice 2011-09-05 23:46:54 +00:00
Automatic Updater d6317350b1 newcopyrights 2011-09-05 23:30:23 +00:00
Automatic Updater 76ec00ad40 update 2011-09-05 18:16:14 +00:00
Evan Hunt 76a7d4e152 3152. [cleanup] Some versions of gcc and clang failed due to
incorrect use of __builtin_expect. [RT #25183]
2011-09-05 18:00:22 +00:00
Evan Hunt 6010c10f1f add time.h to silence compiler warning 2011-09-05 17:39:37 +00:00
Automatic Updater eb32f3768c update 2011-09-05 07:16:36 +00:00
Evan Hunt 32016d7a9e made doneloading() static, removed unnecessary startloading() prototype 2011-09-05 06:27:05 +00:00
Automatic Updater 5094877aea update 2011-09-05 04:16:12 +00:00
Evan Hunt cee9d6dc42 fixed a compiler warning due to prototype mismatch between doneloading()
and dns_zt_zoneloaded_t
2011-09-05 03:45:22 +00:00
Automatic Updater c9c36ecb32 update 2011-09-04 12:16:16 +00:00
Mark Andrews df864361fd report R:PASS/FAIL 2011-09-04 12:12:15 +00:00
Automatic Updater 0d9d523ee5 update 2011-09-03 20:16:01 +00:00
Evan Hunt a4668bac4e silence compiler warning 2011-09-03 19:53:15 +00:00
Evan Hunt 6e4fa2e24d include time.h to silence a compiler warning 2011-09-03 19:22:43 +00:00
Automatic Updater 15d35dde03 update 2011-09-03 17:16:04 +00:00
Evan Hunt fd6a83869a silence compiler warning 2011-09-03 16:27:51 +00:00
Evan Hunt fa8427aa63 silence compiler warnings 2011-09-03 16:15:08 +00:00
Automatic Updater 3eb3042563 update 2011-09-03 14:16:05 +00:00
Mark Andrews 15c8cf556d make push_readyq prototype and declaration consistant 2011-09-03 13:54:06 +00:00
Automatic Updater 86a4c59bbb update 2011-09-03 06:16:17 +00:00
Evan Hunt 98c79a7059 silence compiler warning 2011-09-03 06:13:30 +00:00
Evan Hunt ab6c20f978 fix whitespace 2011-09-03 05:51:29 +00:00
Automatic Updater 552b610534 update 2011-09-03 01:16:07 +00:00
Evan Hunt ac7109d68e oops, build was failing with threads disabled 2011-09-03 00:24:27 +00:00
Automatic Updater 3a42fe7ca5 update 2011-09-03 00:16:22 +00:00
Automatic Updater ca894e53b5 update copyright notice 2011-09-02 23:46:33 +00:00
Automatic Updater d630ef2ff7 newcopyrights 2011-09-02 23:30:19 +00:00
Automatic Updater 95dff2dac6 auto update 2011-09-02 23:17:31 +00:00
Automatic Updater 791197bf8a update 2011-09-02 22:16:17 +00:00
Evan Hunt 9e4afc9b39 3151. [bug] Queries for type RRSIG or SIG could be handled
incorrectly.  [RT #21050]
2011-09-02 21:55:16 +00:00
Evan Hunt 8a2ab2b920 3150. [func] Improved startup and reconfiguration time by
enabling zones to load in multiple threads. [RT #25333]
2011-09-02 21:15:39 +00:00
Automatic Updater 541dd4d80f update 2011-09-02 02:46:27 +00:00
Mark Andrews 56a520ef3a don't use a expired slave zone 2011-09-02 02:25:07 +00:00
Automatic Updater ce375ba293 update 2011-09-01 06:16:28 +00:00
Mark Andrews cd49e1ec2f handle flushing of entries just before a second ticks over, speed up priming of the cache 2011-09-01 05:28:14 +00:00
Automatic Updater e79a24b362 update 2011-09-01 00:16:42 +00:00
Automatic Updater a6ab2774bc update copyright notice 2011-08-31 23:46:44 +00:00
Automatic Updater 63654fea53 newcopyrights 2011-08-31 23:30:23 +00:00
Curtis Blackburn f950cb6a0b file rbt_test.c was added on branch rt25419 on 2011-11-30 17:57:52 +0000 2011-08-31 15:20:21 +00:00
Curtis Blackburn 424d89d806 file rbt_test.c was added on branch rt25419a on 2011-12-19 21:39:53 +0000 2011-08-31 15:20:20 +00:00
Automatic Updater fd1429e943 update 2011-08-31 07:16:05 +00:00
Mark Andrews 2c35c68236 3148. [bug] Processing of normal queries could be stalled when
forwarding a UPDATE message. [RT #24711]
2011-08-31 06:49:10 +00:00
Automatic Updater 0bda900707 update 2011-08-31 01:16:14 +00:00
Automatic Updater c978c6cb6e regen HEAD 2011-08-31 01:14:43 +00:00
Automatic Updater e6fed27830 update 2011-08-31 00:16:37 +00:00
Automatic Updater 4e68c7c87c update copyright notice 2011-08-30 23:46:53 +00:00
Automatic Updater 5ecad47f69 newcopyrights 2011-08-30 23:30:20 +00:00
Automatic Updater d278d372da update 2011-08-30 22:16:21 +00:00
Mark Andrews 74f4130f41 report the result of dns_adb_createfind 2011-08-30 21:51:34 +00:00
Mark Andrews 837633db56 report the result of dns_adb_createfind 2011-08-30 21:50:34 +00:00
Automatic Updater 0da2ceec76 update 2011-08-30 21:16:13 +00:00
Mark Andrews 81bbd645c7 dns_view_issecuredomain: check that view->secroots_priv is non NULL before calling dns_keytable_issecuredomaiani otherwise return ISC_R_NOTFOUND 2011-08-30 21:14:50 +00:00
Automatic Updater 91e0d41c70 update 2011-08-30 14:16:17 +00:00
Mark Andrews be239f6147 silence clang warnings 2011-08-30 14:01:53 +00:00
Mark Andrews 0075be5f32 remove unused variables 2011-08-30 13:45:16 +00:00
Automatic Updater ba9fddf8bd update 2011-08-30 13:16:14 +00:00
Mark Andrews 49f385a7ad include dns/diff.h 2011-08-30 13:02:39 +00:00
Mark Andrews 29f4de85ed remove unused variables 2011-08-30 12:45:43 +00:00
Automatic Updater 2d145d3579 update 2011-08-30 06:16:03 +00:00
Mark Andrews 9198ab377b 3147. [func] Initial inline signing support. [RT #23657] 2011-08-30 05:16:15 +00:00
Automatic Updater 880708009b update 2011-08-30 01:16:16 +00:00
Mark Andrews 2ec0852e91 POST(port); POST(addr); 2011-08-30 00:18:43 +00:00
Automatic Updater 9e2bcda9cf update 2011-08-30 00:16:30 +00:00
Automatic Updater d0dce4d839 update copyright notice 2011-08-29 23:46:44 +00:00
Mark Andrews d64e3b29bd check that the result of dns_dbiterator_current is ISC_R_SUCCESS or DNS_R_NEWORIGIN 2011-08-29 23:44:07 +00:00
Automatic Updater 56effd2e3f newcopyrights 2011-08-29 23:30:18 +00:00
Mark Andrews 90306774dc query could be tested uninitialised, check the result of dns_message_create 2011-08-29 23:21:48 +00:00
Automatic Updater e4bca65419 update 2011-08-29 07:16:15 +00:00
Mark Andrews 6ba6ff39c0 check the results of dns_name_toprincipal calls, only use gnamebuf.value when valid 2011-08-29 06:33:25 +00:00
Automatic Updater 3d9d357445 update 2011-08-29 06:16:36 +00:00
Mark Andrews 04ec1e31bf *++tp = 0; -> tp++; *tp = 0; 2011-08-29 05:58:31 +00:00
Automatic Updater ad25dbc7b2 update 2011-08-29 05:16:48 +00:00
Automatic Updater 756f4e70e1 update 2011-08-29 04:16:16 +00:00
Mark Andrews 07a4f0eace POST(p); POST(len); 2011-08-29 04:15:50 +00:00
Mark Andrews 106561b398 INSIST(response); 2011-08-29 04:02:54 +00:00
Mark Andrews 31ad3f3aa4 split out subtests of 'another leaf node, with both positive and negative cache entries' 2011-08-29 03:31:29 +00:00
Automatic Updater 1ed2892857 update 2011-08-29 00:16:17 +00:00
Mark Andrews 787b0c87b7 add POST, len is not needed 2011-08-28 23:53:59 +00:00
Mark Andrews 281c57e2c1 add POST 2011-08-28 23:46:51 +00:00
Automatic Updater b5217f1647 update copyright notice 2011-08-28 23:46:41 +00:00
Mark Andrews 9a770b4476 add missing check_result 2011-08-28 23:35:57 +00:00
Automatic Updater 84a18c72b9 newcopyrights 2011-08-28 23:30:18 +00:00
Automatic Updater e4e827288f update 2011-08-28 10:16:20 +00:00
Mark Andrews a15f930626 silence 'never read' warning 2011-08-28 09:22:45 +00:00
Automatic Updater a3a0d2a646 update 2011-08-28 09:16:15 +00:00
Mark Andrews f6b0ccf76a report if dns_rdata{class,type}_totext failed 2011-08-28 09:10:41 +00:00
Automatic Updater 8f86546694 update 2011-08-28 08:16:45 +00:00
Mark Andrews 9cbad6c4c0 t3 is not used 2011-08-28 08:10:13 +00:00
Automatic Updater 161c652e00 update 2011-08-26 06:16:20 +00:00
Mark Andrews 069182809a remove unnecessary assignment to found_ttl 2011-08-26 05:29:48 +00:00
Automatic Updater 17d816dd95 update 2011-08-26 05:16:54 +00:00
Mark Andrews e1cf6fd20a DNS_R_NEWORIGIN could be accidently returned, clearnode's result was being ignored 2011-08-26 05:12:56 +00:00
Mark Andrews e1d7ec063f mctx is nolonger required 2011-08-26 04:49:14 +00:00
Mark Andrews 4c11a79320 silence 'is never read' warnings 2011-08-26 04:42:24 +00:00
Automatic Updater 591f7faeb1 update 2011-08-26 00:16:37 +00:00
Automatic Updater 6e3afdcced update copyright notice 2011-08-25 23:46:42 +00:00
Automatic Updater 42bee07ebb newcopyrights 2011-08-25 23:30:22 +00:00
Automatic Updater 80275da83b update 2011-08-25 14:16:12 +00:00
Mark Andrews db2a90f6ea simplify flag printing, protect first with #ifdef USEINITALWS 2011-08-25 13:28:00 +00:00
Automatic Updater 8f88486ccd update 2011-08-25 12:16:07 +00:00
Mark Andrews 84e7c0efbf remove isc_os_minprivs call accidently committed 2011-08-25 11:37:13 +00:00
Automatic Updater 1ea08129b6 update 2011-08-25 09:16:15 +00:00
Mark Andrews 32f5f15b58 cltfd is only needed when select is being used 2011-08-25 08:17:54 +00:00
Automatic Updater 00abae4d07 update 2011-08-25 07:16:35 +00:00
Mark Andrews f4a4f6945e silence 'Dereference of undefined pointer value' by assigning to 'sorted' sequentially from zero 2011-08-25 06:28:11 +00:00
Mark Andrews f67bcc9dc6 save the result of is_response(msg) so it can be treated as a invariant by clang 2011-08-25 06:20:07 +00:00
Automatic Updater 87797a8ebf update 2011-08-25 06:16:19 +00:00
Mark Andrews 8f1c29d73f silence null pointer dereference warning by adding INSIST(sibling != NULL); 2011-08-25 05:56:50 +00:00
Automatic Updater 2a26122cdb update 2011-08-25 02:16:08 +00:00
Evan Hunt 5e2704d0ae move release tag 2011-08-25 01:46:51 +00:00
Automatic Updater b42981fd9e update 2011-08-25 00:16:18 +00:00
Mark Andrews 42c81cf2de lib/dns/tests/testdata/dbiterator/zone2.data 2011-08-24 23:52:36 +00:00
Mark Andrews b62c2acf81 add method for isc_socket_getfd 2011-08-24 23:17:52 +00:00
Automatic Updater 8a7bf4a907 update 2011-08-24 20:16:13 +00:00
Scott Mann 45a89e832d Fix compilation failure in ATF due to gcc4.6.0 "improvements." RT #25598. 2011-08-24 19:53:11 +00:00
Automatic Updater e80c4e6b79 update 2011-08-24 00:16:23 +00:00
Automatic Updater 5e965459a6 update copyright notice 2011-08-23 23:54:00 +00:00
Automatic Updater 0519188c8e newcopyrights 2011-08-23 23:53:05 +00:00
Mark Andrews bc5d681a34 manual add 2011-08-23 23:48:43 +00:00
Automatic Updater b0388297e8 update 2011-08-23 23:16:07 +00:00
Evan Hunt 7d6972ff24 Add back the "| cat" so that output files don't get truncated 2011-08-23 22:52:58 +00:00
Automatic Updater 37a915120f update 2011-08-23 19:16:03 +00:00
Evan Hunt 6c18c134c8 add isc_socket_getfd() on win32 side 2011-08-23 18:24:33 +00:00
Automatic Updater cd500de32e update 2011-08-23 17:16:02 +00:00
Evan Hunt 6986290f4e address win32 compile/link problems 2011-08-23 17:02:53 +00:00
Automatic Updater 607b05edfb update 2011-08-23 04:16:16 +00:00
Mark Andrews e7008e7007 #include <stdlib.h> 2011-08-23 03:43:03 +00:00
Automatic Updater 8b35646884 update 2011-08-23 02:16:12 +00:00
Automatic Updater f588331261 regen 2011-08-23 02:08:33 +00:00
Evan Hunt e4c4cf5177 Prepare for release of 9.9.0a1 2011-08-23 02:06:46 +00:00
Evan Hunt 99cbc3d3a4 3145. [test] Capture output of ATF unit tests in "./atf.out" if
there were any errors while running them. [RT #25527]
2011-08-23 01:29:39 +00:00
Automatic Updater 2a83053102 update 2011-08-23 01:16:07 +00:00
Evan Hunt 5a75f61dd4 3144. [bug] dns_dbiterator_seek() could trigger an assert when
used with a nonexistent database node. [RT #25358]
2011-08-23 00:59:23 +00:00
Automatic Updater 773f42ae86 auto update 2011-08-19 23:17:23 +00:00
Automatic Updater 6449b14219 update 2011-08-19 00:18:03 +00:00
Automatic Updater d5c0739351 update copyright notice 2011-08-18 23:46:35 +00:00
Automatic Updater 2d40121c72 newcopyrights 2011-08-18 23:30:21 +00:00
Automatic Updater e3b9bc3f83 update 2011-08-18 18:16:08 +00:00
Mark Andrews 0226bd69cd cast to unsigned 2011-08-18 17:41:54 +00:00
Automatic Updater ea559fe07b update 2011-08-18 06:16:24 +00:00
Mark Andrews ecf809f959 3143. [bug] Silence clang compiler warnings. [RT #25174] 2011-08-18 06:00:07 +00:00
Automatic Updater dde098f1d0 update 2011-08-18 05:16:40 +00:00
Mark Andrews 3a63259484 3143. [bug] Silence clang compiler warnings. [RT #25174] 2011-08-18 04:52:35 +00:00
Automatic Updater 7cbf770e47 update 2011-08-17 00:16:34 +00:00
Automatic Updater 4b21b35cff update copyright notice 2011-08-16 23:46:36 +00:00
Automatic Updater 51f522975d newcopyrights 2011-08-16 23:30:20 +00:00
Automatic Updater fd06034cdf update 2011-08-16 03:16:37 +00:00
Mark Andrews ab8d150e91 3142. [bug] NAPTR is class agnostic. [RT #25429] 2011-08-16 03:00:02 +00:00
Automatic Updater 59609eb0cb update 2011-08-16 00:16:11 +00:00
Mark Andrews 0f97264419 3142. [bug] NAPTR is class agnostic. [RT #25429] 2011-08-16 00:02:38 +00:00
Automatic Updater 7dafc77155 auto update 2011-08-12 23:17:11 +00:00
Automatic Updater cc83869d79 auto update 2011-08-10 23:16:33 +00:00
Automatic Updater 48c56e3b10 update 2011-08-10 00:16:22 +00:00
Automatic Updater 826f2233c9 update copyright notice 2011-08-09 23:46:39 +00:00
Automatic Updater 766fb79bd6 newcopyrights 2011-08-09 23:30:18 +00:00
Automatic Updater 752fd82ed9 auto update 2011-08-09 23:17:09 +00:00
Automatic Updater 6b09cfdf4b update 2011-08-09 11:15:59 +00:00
Francis Dupont f558c8988e spelling 2011-08-09 10:29:23 +00:00
Automatic Updater 0cc4669f7f update 2011-08-09 04:16:49 +00:00
Automatic Updater 17d33346d7 update copyright notice 2011-08-09 04:12:25 +00:00
Automatic Updater 7dd02af3c9 newcopyrights 2011-08-09 04:10:51 +00:00
Automatic Updater 546cafda00 update 2011-08-09 03:16:47 +00:00
Mark Andrews 772dfb90be 3141. [bug] Silence spurious "zone serial (0) unchanged" messages
associated with empty zones. [RT #25079]
2011-08-09 02:24:28 +00:00
Automatic Updater ca4e924d9a update 2011-08-09 01:16:08 +00:00
Automatic Updater cb3c295308 regen HEAD 2011-08-09 01:14:54 +00:00
Automatic Updater a3b509d536 update 2011-08-09 00:16:35 +00:00
Automatic Updater 4fc2b43e69 update copyright notice 2011-08-08 23:46:41 +00:00
Automatic Updater 6fab60452e newcopyrights 2011-08-08 23:30:17 +00:00
Automatic Updater c9e8af43aa update 2011-08-08 04:16:10 +00:00
Mark Andrews f81e8340fc rt25400 s/domainname/filename/ 2011-08-08 03:28:15 +00:00
Automatic Updater 15bea98b5e auto update 2011-08-04 23:17:56 +00:00
Automatic Updater 8ba6f5b1a3 update 2011-08-04 01:17:52 +00:00
Automatic Updater f77c5a1336 regen HEAD 2011-08-04 01:14:44 +00:00
Automatic Updater 4e10b534ac update 2011-08-04 00:17:43 +00:00
Automatic Updater 44931133ff update copyright notice 2011-08-03 23:47:48 +00:00
Automatic Updater 01f91b9cd4 newcopyrights 2011-08-03 23:30:37 +00:00
Automatic Updater a21b420a9e update 2011-08-03 06:17:15 +00:00
Evan Hunt 64c66c801f Missed an added file when merging rt19770. 2011-08-03 05:37:59 +00:00
Automatic Updater 8f5f2832ce update 2011-08-03 02:17:54 +00:00
Mark Andrews ce97ba9c94 unbalance tag <replaceable> x2 2011-08-03 01:19:10 +00:00
Automatic Updater 41433d8f0e update 2011-08-03 00:17:44 +00:00
Automatic Updater adbc177194 update copyright notice 2011-08-02 23:47:52 +00:00
Automatic Updater 3e5b24a74c newcopyrights 2011-08-02 23:30:38 +00:00
Automatic Updater 349cdd61a1 auto update 2011-08-02 23:16:28 +00:00
Automatic Updater 9b4c705da0 update 2011-08-02 21:17:09 +00:00
Evan Hunt 0127993480 3140. [func] New command "rndc flushtree <name>" clears the
specified name from the server cache along with
			all names under it. [RT #19970]
2011-08-02 20:36:13 +00:00
Automatic Updater ea2c704ca2 update 2011-07-30 00:17:53 +00:00
Automatic Updater f71ddcf65f update copyright notice 2011-07-29 23:47:52 +00:00
Automatic Updater fc967607fb newcopyrights 2011-07-29 23:30:35 +00:00
Automatic Updater 075c599714 update 2011-07-29 02:17:53 +00:00
Mark Andrews 9b97400166 6303: Locally Served DNS Zones 2011-07-29 01:57:53 +00:00
Automatic Updater 34065cf7d0 update 2011-07-29 01:18:01 +00:00
Automatic Updater 9d5a84057d regen HEAD 2011-07-29 01:14:31 +00:00
Automatic Updater cac2511906 update 2011-07-29 00:17:50 +00:00
Automatic Updater 2f17ad4545 update copyright notice 2011-07-28 23:47:59 +00:00
Curtis Blackburn b068144e89 Actually adding the hash_test.c file... oops 2011-07-28 23:40:09 +00:00
Automatic Updater e85565067c newcopyrights 2011-07-28 23:30:39 +00:00
Automatic Updater 8d9f248d70 auto update 2011-07-28 23:17:24 +00:00
Automatic Updater 5628f540ee update 2011-07-28 23:17:15 +00:00
Evan Hunt c1e655fe4c punctuation tweak 2011-07-28 22:17:53 +00:00
Automatic Updater b1ad566433 update 2011-07-28 21:17:06 +00:00
Curtis Blackburn 8787b357e6 3139.[test]added tests from RFC6234, RFC2202, and RFC1321 for the 2011-07-28 21:05:09 +00:00
Automatic Updater 17f6dae22f update 2011-07-28 14:17:07 +00:00
Automatic Updater a44bf3209a regen 2011-07-28 13:33:09 +00:00
Automatic Updater e20cfcf30f update 2011-07-28 12:17:35 +00:00
Mark Andrews ea30861fe5 turn isc_socket_dup into a method 2011-07-28 11:42:41 +00:00
Mark Andrews 16f3aeab3c move declaration to start of function 2011-07-28 11:16:04 +00:00
Automatic Updater 8d113b32c7 update 2011-07-28 05:17:22 +00:00
Mark Andrews 31f46f1869 3138. [bug] Address memory leaks and out-of-order operations when
shutting named down. [RT #25210]
2011-07-28 04:27:27 +00:00
Automatic Updater fe34ff3f45 update 2011-07-28 04:17:18 +00:00
Evan Hunt f07b2fccaf 3137. [func] Improve hardware scalability by allowing multiple
worker threads to process incoming UDP packets.
			This can significantly increase query throughput
			on some systems.  [RT #22992]
2011-07-28 04:04:37 +00:00
Automatic Updater 8181aa6228 update 2011-07-28 03:28:10 +00:00
Mark Andrews 011080d64a add ${ISC_INCLUDES} 2011-07-28 03:20:45 +00:00
Evan Hunt cf63d32d55 3136. [func] Add RFC 1918 reverse zones to the list of built-in
empty zones switched on by the 'empty-zones-enable'
			option. [RT #24990]
2011-07-28 03:18:17 +00:00
Automatic Updater f066d90419 update 2011-07-28 02:17:48 +00:00
Mark Andrews 79b273c187 manual 2011-07-28 01:20:24 +00:00
Automatic Updater d966abcd94 update 2011-07-28 00:17:44 +00:00
Mark Andrews 062ddb1981 use UNUSED() 2011-07-27 23:38:21 +00:00
Automatic Updater 41bc9dbdb8 update 2011-07-27 17:17:22 +00:00
Michael Graff bef8fcc7b3 remove csv output so we get a more pretty, human readable output for now. Should we want to change this later, we can change it back, but robie would need to somehow handle the atf output in the first place to make csv useful. Also, put our path first, otherwise it fails on NetBSD. 2011-07-27 16:31:07 +00:00
Automatic Updater 563d5a557e update 2011-07-27 15:17:37 +00:00
Mark Andrews 3bf9602e89 REDIRECT-NOTES 2011-07-27 14:40:06 +00:00
Automatic Updater ff3275a584 update 2011-07-27 08:18:02 +00:00
Mark Andrews 8bd2b6923c silence 'expression result unused' from clang 2011-07-27 07:45:55 +00:00
Automatic Updater dbd59eea1a update 2011-07-27 07:17:32 +00:00
Mark Andrews 56e85a97bb use UNUSED(x) not 'x = x' 2011-07-27 07:02:21 +00:00
Automatic Updater 3b411f3913 auto update 2011-07-26 23:17:27 +00:00
Automatic Updater 63d4c2f1cd update 2011-07-26 22:17:24 +00:00
Michael Graff eef970447c regenerate 2011-07-26 22:07:50 +00:00
Michael Graff ab3aeba682 fix for compiling on OSX Lion. Verified it compiles on Snow Leopard using older XCode as well. 2011-07-26 21:59:13 +00:00
Automatic Updater e6edf80583 update 2011-07-26 05:17:16 +00:00
Mark Andrews f96ba7c746 remove check for oldid as named may have already deleted it 2011-07-26 04:42:20 +00:00
Mark Andrews acf34e66a8 id was not being properly set 2011-07-26 04:28:35 +00:00
Automatic Updater 6e58f5bdb9 auto update 2011-07-22 23:17:51 +00:00
Automatic Updater cac8f93d72 update 2011-07-22 00:17:55 +00:00
Automatic Updater c33e22f65a update copyright notice 2011-07-21 23:47:53 +00:00
Automatic Updater 7993124bd6 update 2011-07-21 07:17:24 +00:00
Mark Andrews 7a4d2ccb62 s/fallbackas/fallback as/ 2011-07-21 06:26:09 +00:00
Automatic Updater c9c1e42450 update 2011-07-21 02:18:00 +00:00
Mark Andrews 6fab2f80c9 3135. [port] FreeBSD: workaround broken IPV6_USE_MIN_MTU processing.
See http://www.freebsd.org/cgi/query-pr.cgi?pr=158307
                        [RT #24950]
2011-07-21 01:40:50 +00:00
Automatic Updater be103586d4 auto update 2011-07-20 23:17:56 +00:00
Automatic Updater ea3d6800de update 2011-07-20 17:17:06 +00:00
Curtis Blackburn 7439c4f402 removed #include <stdlib.h> from lib/dns/zone.c 2011-07-20 16:28:28 +00:00
Automatic Updater c676ec768f update 2011-07-20 15:17:09 +00:00
Curtis Blackburn 6fc85cd749 added #include <stdlib.h> to lib/dns/zone.c 2011-07-20 14:28:24 +00:00
Automatic Updater fea318846e update 2011-07-20 00:17:47 +00:00
Automatic Updater 3d73f493d0 update copyright notice 2011-07-19 23:47:48 +00:00
Automatic Updater ff1da86e37 update 2011-07-19 04:17:22 +00:00
Mark Andrews 96ade2bc52 3134. [bug] Improve the accuracy of dnssec-signzone's signing
statistics. [RT #16030]
2011-07-19 04:09:27 +00:00
Automatic Updater 4a2fa3c54d update 2011-07-18 00:17:46 +00:00
Automatic Updater b86a75e3ad newcopyrights 2011-07-17 23:30:37 +00:00
Automatic Updater a996870537 update 2011-07-17 03:18:23 +00:00
Automatic Updater c59de0f52f update 2011-07-17 02:17:13 +00:00
Automatic Updater 06a430bbb9 update 2011-07-17 01:17:51 +00:00
Automatic Updater 8c2805123d update 2011-07-17 00:17:47 +00:00
Mark Andrews 682a5f6aca manual update 2011-07-16 23:50:59 +00:00
Automatic Updater c764d6e52a auto update 2011-07-16 23:17:35 +00:00
Automatic Updater c2de30debf update 2011-07-16 19:17:21 +00:00
Automatic Updater 59c828dbac auto update 2011-07-13 23:17:40 +00:00
Automatic Updater 2781d76f32 update 2011-07-09 00:17:42 +00:00
Automatic Updater de6d0a4a36 update copyright notice 2011-07-08 23:47:54 +00:00
Automatic Updater 60d5d17479 newcopyrights 2011-07-08 23:30:39 +00:00
Automatic Updater 10c1aa75eb update 2011-07-08 22:17:09 +00:00
Scott Mann 632e44d19e changed "func" to "tuning" for CHANGES #3131 2011-07-08 21:21:25 +00:00
Automatic Updater 4fbd7f6380 update 2011-07-08 02:17:19 +00:00
Evan Hunt b47c020d5c 3133. [bug] Change #3114 was incomplete. [RT #24577] 2011-07-08 01:43:26 +00:00
Automatic Updater c324478d8d update 2011-07-08 00:17:46 +00:00
Automatic Updater 2a36d8ca40 update copyright notice 2011-07-07 23:47:50 +00:00
Automatic Updater cc5a9ce75a newcopyrights 2011-07-07 23:30:39 +00:00
Automatic Updater 062cc764b1 auto update 2011-07-07 23:18:04 +00:00
Automatic Updater 2e0c6c0e45 update 2011-07-07 01:17:41 +00:00
Mark Andrews 1fdd584450 manual additions 2011-07-07 00:43:55 +00:00
Automatic Updater 9eda315458 update 2011-07-07 00:17:32 +00:00
Automatic Updater 69f5c36b39 update copyright notice 2011-07-06 23:47:43 +00:00
Automatic Updater 5bd20c4b1f auto update 2011-07-06 23:17:14 +00:00
Automatic Updater 1118d3f6d3 update 2011-07-06 19:17:10 +00:00
Evan Hunt 4b08de9499 3132. [placeholder] 2011-07-06 19:03:19 +00:00
Automatic Updater 14adcc3dc4 update 2011-07-06 18:17:08 +00:00
Evan Hunt 67be612120 *** empty log message *** 2011-07-06 18:13:22 +00:00
Evan Hunt 29f6e3e4f9 update cvsignore 2011-07-06 18:12:25 +00:00
Evan Hunt 2a749b3535 oops, missed updating the signature of dns_test_begin() when I merged
update_test.c
2011-07-06 18:11:35 +00:00
Automatic Updater d03846f6d8 update 2011-07-06 05:17:05 +00:00
Evan Hunt c46ce2d79b 3131. [func] Improve scalability by allocating one zone task
per 100 zones at startup time, rather than using a
			fixed-size task table. [RT #24406]
2011-07-06 05:05:52 +00:00
Automatic Updater b5b6bddcd9 regen 2011-07-06 05:02:47 +00:00
Automatic Updater 52f427490e update 2011-07-06 02:17:17 +00:00
Evan Hunt 42cf2ff7ba 3131. [func] Improve scalability by allocating one zone task
per 100 zones at startup time, rather than using a
			fixed-size task table. [RT #24406]
2011-07-06 01:36:32 +00:00
Automatic Updater 007eafcd07 update 2011-07-02 01:17:45 +00:00
Automatic Updater 06ac94d81a regen HEAD 2011-07-02 01:14:42 +00:00
Automatic Updater 6f5b5f27e1 update 2011-07-02 00:17:44 +00:00
Automatic Updater 122230159d update copyright notice 2011-07-01 23:47:44 +00:00
Automatic Updater f22980c16f newcopyrights 2011-07-01 23:30:35 +00:00
Automatic Updater e750d9564c update 2011-07-01 08:17:31 +00:00
Evan Hunt d3b9eefd1c 3130. [func] Support alternate methods for managing a dynamic
zone's serial number. Two methods are currently
			defined using serial-update-method, "increment"
			(default) and "unixtime". [RT #23849]
2011-07-01 07:15:19 +00:00
Automatic Updater 21cdffb453 update 2011-07-01 03:18:20 +00:00
Mark Andrews a69070d8fa 3130. [func] Support alternate methods for managing a dynamic
zone's serial number.  Two methods are currently
                        defined using serial-update-method, "increment"
                        (default) and "unixtime".  [RT #23849]
2011-07-01 02:25:48 +00:00
Automatic Updater 923fba44d3 auto update 2011-06-30 23:17:26 +00:00
Automatic Updater 7150c9ba77 auto update 2011-06-28 23:17:36 +00:00
Automatic Updater 57f81c14ac auto update 2011-06-27 23:17:15 +00:00
Automatic Updater 2c212cc8ca auto update 2011-06-25 23:17:15 +00:00
Automatic Updater 2e62922c48 update 2011-06-22 01:17:34 +00:00
Automatic Updater 71abcecb3b regen HEAD 2011-06-22 01:14:38 +00:00
Automatic Updater 8c13a83459 update 2011-06-21 23:17:06 +00:00
Evan Hunt cba23be7ba Add the newly discovered PoD to the nsupdate test. (No CHANGES note.) 2011-06-21 22:15:05 +00:00
Automatic Updater a4e4c9b50d update 2011-06-21 06:17:10 +00:00
Mark Andrews 0fc9a7b571 9.9 not 9.7 2011-06-21 05:33:21 +00:00
Automatic Updater 169bdcaddf auto update 2011-06-20 23:17:20 +00:00
Automatic Updater a192b898c9 update 2011-06-20 16:17:06 +00:00
Paul Ebersman 4939b6c7df corrected RT ticket typo in 3126, should be 24766 2011-06-20 15:42:45 +00:00
Automatic Updater 446e649aa8 update 2011-06-18 00:17:44 +00:00
Automatic Updater 313b4dc3b2 update copyright notice 2011-06-17 23:47:49 +00:00
Automatic Updater 9c446b7206 newcopyrights 2011-06-17 23:30:37 +00:00
Automatic Updater 6c8506ff21 update 2011-06-17 08:17:12 +00:00
Mark Andrews b4eaa17e82 update for api changes 2011-06-17 07:28:33 +00:00
Mark Andrews 53d308d83b typo 2011-06-17 07:21:12 +00:00
Automatic Updater 7900f23007 update 2011-06-17 07:17:10 +00:00
Evan Hunt e7220c9b84 3129. [bug] Named could crash on 'rndc reconfig' when
allow-new-zones was set to yes and named ACLs
			were used, [RT #22739]
2011-06-17 07:05:02 +00:00
Automatic Updater df3b71f74d auto update 2011-06-16 23:17:04 +00:00
Automatic Updater 275b0e219a auto update 2011-06-15 23:17:14 +00:00
Automatic Updater 8e5d595dca update 2011-06-11 01:17:34 +00:00
Automatic Updater aa801d4cc3 regen HEAD 2011-06-11 01:14:45 +00:00
Automatic Updater 1bc40761a6 update 2011-06-11 00:17:33 +00:00
Automatic Updater 0f467ed4d4 update copyright notice 2011-06-10 23:47:32 +00:00
Automatic Updater 4ea3649f02 newcopyrights 2011-06-10 23:30:35 +00:00
Automatic Updater 6353dba50d update 2011-06-10 02:17:05 +00:00
Evan Hunt 79ce3a9e82 3128. [func] Inserting an NSEC3PARAM via dynamic update in an
auto-dnssec zone that has not been signed yet
			will cause it to be signed with the specified NSEC3
			parameters when keys are activated.  The
			NSEC3PARAM record will not appear in the zone until
			it is signed, but the parameters will be stored.
			[RT #23684]
2011-06-10 01:51:09 +00:00
Evan Hunt 5e3affc6a0 3127. [bug] 'rndc thaw' will now remove a zone's journal file
if the zone serial number has been changed and
			ixfr-from-differences is not in use.  [RT #24687]
2011-06-10 01:32:38 +00:00
Automatic Updater 67d9642fc3 update 2011-06-10 01:17:42 +00:00
Automatic Updater f0da471019 regen HEAD 2011-06-10 01:14:39 +00:00
Automatic Updater 4269ba424c update 2011-06-09 03:17:47 +00:00
Mark Andrews 475b1ed9cc 3126. [security] Using DNAME record to generate replacements caused
RPZ to exit with a assertion failure. [RT #23766]
2011-06-09 03:10:17 +00:00
Automatic Updater 3b2040fb15 update 2011-06-09 01:17:42 +00:00
Mark Andrews b64e3b8358 3125. [security] Using wildcard CNAME records as a replacement with
RPZ caused named to exit with a assertion failure.
                        [RT #24715]
2011-06-09 00:42:51 +00:00
Evan Hunt 2a6d60615c Fixed an nsupdate test error 2011-06-09 00:15:05 +00:00
Automatic Updater 0983323154 auto update 2011-06-08 23:16:55 +00:00
Automatic Updater 29ced409ab update 2011-06-08 22:17:02 +00:00
Evan Hunt 6de9744cf9 3124. [bug] Use an rdataset attribute flag to indicate
negative-cache records rather than using rrtype 0;
			this will prevent problems when that rrtype is
			used in actual DNS packets. [RT #24777]

3123.	[security]	Change #2912 exposed a latent flaw in
			dns_rdataset_totext() that could cause named to
			crash with an assertion failure. [RT #24777]
2011-06-08 22:13:51 +00:00
Automatic Updater 46a8315efe auto update 2011-06-07 23:17:33 +00:00
Automatic Updater b833cfffdd update 2011-06-07 02:17:20 +00:00
Scott Mann 07797bfb1f fix RT 24561 2011-06-07 01:45:38 +00:00
Automatic Updater 3c7e88868a auto update 2011-06-06 23:16:59 +00:00
Automatic Updater ba260b39f8 update 2011-06-06 02:18:02 +00:00
Automatic Updater 9dc3f9c95f cleanup removed files 2011-06-06 01:28:54 +00:00
Automatic Updater 52d4a52c60 auto update 2011-06-03 23:17:51 +00:00
Automatic Updater 5e5d5f393e auto update 2011-06-02 23:17:04 +00:00
Automatic Updater 89f0136bdf update 2011-06-02 21:17:27 +00:00
Evan Hunt 6b95b91c61 3122. [cleanup] dnssec-settime: corrected usage message. [RT #24664] 2011-06-02 20:24:45 +00:00
Automatic Updater 9b97f0ede6 auto update 2011-06-01 23:17:41 +00:00
Automatic Updater 035c378036 update 2011-05-31 14:17:47 +00:00
Mark Andrews ec564e401a add debugging output on test failure 2011-05-31 13:52:06 +00:00
Automatic Updater a22e1c4e70 update 2011-05-30 23:18:11 +00:00
Mark Andrews ae0691566a date +%s is not portable, use perl -e 'print time();', Adjust messages 2011-05-30 22:32:06 +00:00
Automatic Updater 4e3be43e8a update 2011-05-30 15:17:59 +00:00
Scott Mann 5588b32695 This is a workaround fix for a problem in Solaris 10 (specifically on thing1)
for which a root cause has not yet been found. RT #24561.
2011-05-30 15:13:49 +00:00
Automatic Updater 1f69914bc4 update 2011-05-30 08:18:25 +00:00
Mark Andrews fe8572e116 The old active key could be deleted before the "former standby key has now
signed fully" ran causing it to fail.  Delay the deletion by 10 seconds.
2011-05-30 07:25:19 +00:00
Automatic Updater 7b1b9e7163 auto update 2011-05-27 23:27:45 +00:00
Automatic Updater e6290b4d1b update 2011-05-27 00:17:17 +00:00
Automatic Updater 6406d6507a update copyright notice 2011-05-26 23:47:28 +00:00
Automatic Updater 7f814b8b16 newcopyrights 2011-05-26 23:37:02 +00:00
Automatic Updater b1050011bf update 2011-05-26 23:17:21 +00:00
Automatic Updater 0977de5e55 auto update 2011-05-26 23:16:10 +00:00
Evan Hunt fbe2cff19f 3121. [security] An authoritative name server sending a negative
response containing a very large RRset could
                        trigger an off-by-one error in the ncache code
                        and crash named. [RT #24650]
2011-05-26 23:11:15 +00:00
Automatic Updater df4193696f update 2011-05-26 08:17:37 +00:00
Mark Andrews 4100ae5109 move dns_trust_totext from masterdump.c to rdataset.c so that exportlib will build 2011-05-26 07:56:39 +00:00
Automatic Updater 37c7dfe92c update 2011-05-26 05:17:01 +00:00
Mark Andrews e482a4a340 list -> listed 2011-05-26 04:57:25 +00:00
Mark Andrews ea82782532 3120. [bug] Named could fail to validate zones list in a DLV
that validated insecure without using DLV and had
                        DS records in the parent zone. [RT #24631]
2011-05-26 04:35:02 +00:00
Evan Hunt 0245f7725c 3118. [bug] When rolling to a new DNSSEC key, a private-type
record could be created and never marked complete.
			[RT #23253]
2011-05-26 04:25:47 +00:00
Automatic Updater 798ecee049 update 2011-05-26 00:17:37 +00:00
Automatic Updater 00678e367d update copyright notice 2011-05-25 23:47:16 +00:00
Automatic Updater 88d58d79c5 newcopyrights 2011-05-25 23:31:27 +00:00
Automatic Updater adb6daf322 auto update 2011-05-25 23:17:41 +00:00
Automatic Updater a07664121a update 2011-05-25 01:17:16 +00:00
Mark Andrews 021bc5b3cc add DRUZ zone with DS records 2011-05-25 01:06:56 +00:00
Automatic Updater 3980c6081a update 2011-05-24 01:17:39 +00:00
Automatic Updater 9ce6056d52 regen HEAD 2011-05-24 01:14:44 +00:00
Automatic Updater 6671e343b8 newcopyrights 2011-05-23 23:25:44 +00:00
Automatic Updater dad1c7db57 update 2011-05-23 23:17:17 +00:00
Evan Hunt 47e70d820e 3118. [bug] nsupdate could dump core on shutdown when using
SIG(0) keys. [RT #24604]
2011-05-23 22:25:32 +00:00
Automatic Updater d72f90e8a3 update 2011-05-23 21:17:03 +00:00
Evan Hunt eee7f742ea 3117. [cleanup] Remove doc and parser references to the
never-implemented 'auto-dnssec create' option.
			[RT #24533]
2011-05-23 21:10:26 +00:00
Automatic Updater f582b779fa update 2011-05-23 20:17:01 +00:00
Evan Hunt c5660d514b grammar repair 2011-05-23 20:11:14 +00:00
Evan Hunt bfe32d08c5 3116. [func] New 'dnssec-update-mode' option controls updates
of DNSSEC records in signed dynamic zones.  Set to
			'no-resign' to disable automatic RRSIG regeneration
			while retaining the ability to sign new or changed
			data. [RT #24533]
2011-05-23 20:10:03 +00:00
Automatic Updater 86e92d6a9a update 2011-05-22 00:17:35 +00:00
Automatic Updater 4461317255 newcopyrights 2011-05-21 23:31:17 +00:00
Automatic Updater 34be68dbcc update 2011-05-21 15:17:02 +00:00
Evan Hunt fc6364bf24 expiring.example.db.in was left out when committing rt23136 to HEAD 2011-05-21 15:07:10 +00:00
Automatic Updater 6a89283e3a auto update 2011-05-20 23:17:01 +00:00
Automatic Updater c62606c547 update 2011-05-20 15:17:04 +00:00
Paul Ebersman 722fa6417b corrected RT bug number from 2445 to 24455. 2011-05-20 14:22:21 +00:00
Automatic Updater f5cabd37a1 update 2011-05-20 05:17:29 +00:00
Mark Andrews c0984ac8bd 3115. [bug] Named could fail to return requested data when
following a CNAME that points into the same zone.
                        [RT #2445]
2011-05-20 05:09:30 +00:00
Automatic Updater 23465021dd update 2011-05-20 00:17:44 +00:00
Automatic Updater b1b37b61da update copyright notice 2011-05-19 23:47:17 +00:00
Automatic Updater c97a42f7d4 auto update 2011-05-19 23:17:41 +00:00
Automatic Updater 3bcda8df81 update 2011-05-19 22:17:04 +00:00
Evan Hunt ff330a6273 another post-commit fix for change 3114: call dns_db_resigned()/
dns_db_setsigningtime() only when incrementally resigning, not other
times.
2011-05-19 21:29:07 +00:00
Automatic Updater 3ca23628d6 update 2011-05-19 05:17:13 +00:00
Evan Hunt 276f9fac3e another post-commit bugfix for change 3114: need to take rndc freeze into
account in determining whether zone is dynamic
2011-05-19 04:44:58 +00:00
Evan Hunt d9343d917a minor code simplification 2011-05-19 04:33:17 +00:00
Evan Hunt 2a4f494565 Change 3114 wasn't complete--needed to remove another call to
dns_db_resigned().
2011-05-19 04:28:33 +00:00
Automatic Updater 20d318b517 update 2011-05-19 01:17:42 +00:00
Scott Mann a50ce0f80b Fix for RT #23136 task 1. 2011-05-19 00:31:57 +00:00
Automatic Updater 8513ad9a35 auto update 2011-05-18 23:17:53 +00:00
Automatic Updater 27497355a5 update 2011-05-18 01:17:26 +00:00
Automatic Updater 6100dfd774 regen HEAD 2011-05-18 01:14:43 +00:00
Automatic Updater c2cf09a52b update 2011-05-17 05:17:05 +00:00
Mark Andrews 7609e973f5 3113. [doc] Document the relationship between serial-query-rate
and NOTIFY messages.
2011-05-17 04:48:51 +00:00
Automatic Updater 609003da03 update 2011-05-17 02:17:10 +00:00
Evan Hunt ab77e813ea add dns_dnssec_signs 2011-05-17 01:48:24 +00:00
Automatic Updater 77301ae599 update 2011-05-17 01:17:39 +00:00
Automatic Updater 93a5136c2b regen HEAD 2011-05-17 01:14:37 +00:00
Automatic Updater 0258e39da3 update 2011-05-17 00:17:48 +00:00
Automatic Updater 687d47f6c9 update copyright notice 2011-05-16 23:47:41 +00:00
Automatic Updater 8a063f40c3 newcopyrights 2011-05-16 23:31:06 +00:00
Automatic Updater 8a9879437d update 2011-05-16 23:17:14 +00:00
Evan Hunt 5c8ec4d5ea "make install" was failing when building with both exportlibs and libtool.
(trivial makefile fix, no CHANGES note.) [RT #24425]
2011-05-16 22:58:05 +00:00
Automatic Updater 31c50ce581 update 2011-05-16 04:17:00 +00:00
Mark Andrews 0268e42b4e 3112. [doc] Add missing descriptions of the update policy name
types "ms-self", "ms-subdomain", "krb5-self" and
                        "krb5-subdomain", which allow machines to update
                        their own records, to the BIND 9 ARM.
2011-05-16 04:09:34 +00:00
Automatic Updater 4f3779176a update 2011-05-09 01:17:22 +00:00
Automatic Updater d9c707589a regen HEAD 2011-05-09 01:14:47 +00:00
Automatic Updater 421c940d1b update 2011-05-08 07:17:04 +00:00
Mark Andrews 789875a1bd named.conf copyrights 2011-05-08 07:12:48 +00:00
Mark Andrews aeea801711 fix also-notify 2011-05-08 06:49:18 +00:00
Automatic Updater 81b0936b5f update 2011-05-08 00:17:48 +00:00
Automatic Updater 25db028666 update copyright notice 2011-05-07 23:47:28 +00:00
Automatic Updater 80af59ad4d newcopyrights 2011-05-07 23:31:14 +00:00
Automatic Updater 267113ba53 update 2011-05-07 15:17:04 +00:00
Mark Andrews db334bba24 <command> -> </command> 2011-05-07 14:39:17 +00:00
Automatic Updater 1f6f78165d update 2011-05-07 06:17:51 +00:00
Evan Hunt de7df3e56f 3111. [bug] Improved consistency checks for dnssec-enable and
dnssec-validation, added test cases to the
                        checkconf system test. [RT #24398]
2011-05-07 05:55:17 +00:00
Automatic Updater d00e9bccd8 update 2011-05-07 01:17:53 +00:00
Evan Hunt be84733145 3110. [bug] dnssec-signzone: Wrong error message could appear
when attempting to sign with no KSK. [RT #24369]
2011-05-07 00:31:13 +00:00
Automatic Updater 822f6ba100 update 2011-05-07 00:17:47 +00:00
Automatic Updater 40717638fa update copyright notice 2011-05-06 23:47:29 +00:00
Automatic Updater 55f7099aad newcopyrights 2011-05-06 23:31:29 +00:00
Automatic Updater 48898affe6 update 2011-05-06 22:17:03 +00:00
Evan Hunt 0c3acefdc1 Additional documentation for change #3109 (forgot to mention named masters
lists in the ARM).  Reviewed by Scott.
2011-05-06 21:41:43 +00:00
Evan Hunt ac21f918f2 3109. [func] The also-notify option now uses the same syntax
as a zone's masters clause.  This means it is
			now possible to specify a TSIG key to use when
			sending notifies to a given server, or to include
			an explicit named masters list in an also-notfiy
			statement.  [RT #23508]
2011-05-06 21:23:51 +00:00
Automatic Updater 8fcfce399c update 2011-05-06 21:17:08 +00:00
Evan Hunt 485522d7e1 3108. [cleanup] dnssec-signzone: Clarified some error and
warning messages; removed #ifdef ALLOW_KSKLESS_ZONES
			code (use -P instead). [RT #20852]

3107.	[bug]		dnssec-signzone: Report the correct number of ZSKs
			when using -x. [RT #20852]
2011-05-06 21:08:33 +00:00
Automatic Updater be62d18065 update 2011-05-06 00:17:41 +00:00
Automatic Updater a30e1b26b4 update copyright notice 2011-05-05 23:47:17 +00:00
Mark Andrews fe646be4b7 set/reset client->signer. change 3106 used it before it was set 2011-05-05 23:44:52 +00:00
Automatic Updater 5f4db4a664 newcopyrights 2011-05-05 23:31:22 +00:00
Automatic Updater 1958e01cbc update 2011-05-05 23:17:14 +00:00
Automatic Updater ed54d3e114 auto update 2011-05-05 23:16:59 +00:00
Scott Mann b2b3209149 added g 2011-05-05 23:15:56 +00:00
Scott Mann 101e493844 remove trailing whitespace from pid (RT 24388) 2011-05-05 23:10:24 +00:00
Scott Mann 58d7c91b65 remove trailing newline from pid (RT #24388) 2011-05-05 22:56:55 +00:00
Automatic Updater 15c6789025 update 2011-05-05 20:17:12 +00:00
Evan Hunt 9eea4c5cbd 3106. [func] When logging client requests, include the name of
the TSIG key if any. [RT #23619]
2011-05-05 20:04:24 +00:00
Automatic Updater e993d64530 regen 2011-05-05 19:20:11 +00:00
Automatic Updater bc91159763 update 2011-05-05 18:17:04 +00:00
Evan Hunt 85a79fa7eb 3105. [bug] GOST support can be suppressed by "configure
--without-gost" [RT #24367]

3104.   [bug]           Better support for cross-compiling. [RT #24367]
2011-05-05 18:09:39 +00:00
Evan Hunt 989fb50178 fixed an error in prior commit 2011-05-05 18:04:01 +00:00
Automatic Updater 50c87858d4 update 2011-05-05 16:17:07 +00:00
Evan Hunt d454a60f56 3103. [bug] Configuring 'dnssec-validation auto' in a view
instead of in the options statement could trigger
			an assertion failure in named-checkconf. [RT #24382]
2011-05-05 16:13:35 +00:00
Automatic Updater cecfa999b5 update 2011-05-05 05:17:17 +00:00
Mark Andrews 83bf223210 explictly kill the process if the server fails to start, check for a non zero length pid file 2011-05-05 04:47:45 +00:00
Automatic Updater 38c0ea1339 auto update 2011-05-04 23:17:10 +00:00
Automatic Updater 3d0f1b9756 update 2011-05-03 16:16:59 +00:00
Mark Andrews 46d3c6cf40 grep was not precise enough leading to test failure 2011-05-03 16:07:44 +00:00
Automatic Updater e67d104619 update 2011-05-03 00:17:40 +00:00
Mark Andrews f1d4986b83 treat asb(x) < 500ms as 0 2011-05-02 23:56:59 +00:00
Automatic Updater 2ca3a2b6c3 update 2011-05-02 05:17:05 +00:00
Mark Andrews 65043f48f2 force numeric comparision 2011-05-02 05:05:05 +00:00
Automatic Updater c45b7e1660 update 2011-05-02 02:17:05 +00:00
Mark Andrews 07907fa31a handle end of day 2011-05-02 01:35:04 +00:00
Automatic Updater 23b45d70e6 update 2011-05-01 21:47:17 +00:00
Mark Andrews bbf46f1aa2 fix expression 2011-05-01 21:36:33 +00:00
Automatic Updater 8791b17f4f update 2011-05-01 12:17:05 +00:00
Mark Andrews f83682f368 awk -v is not portable, add floating point arithmetic effects 2011-05-01 11:29:20 +00:00
Automatic Updater 0965226c06 update 2011-04-30 01:17:33 +00:00
Automatic Updater db6353c9b8 regen HEAD 2011-04-30 01:14:43 +00:00
Automatic Updater fa5637ce27 update 2011-04-30 00:17:40 +00:00
Automatic Updater 54968ae88e update copyright notice 2011-04-29 23:47:18 +00:00
Automatic Updater 75333ed9bf newcopyrights 2011-04-29 23:31:17 +00:00
Automatic Updater 1976d2f12e update 2011-04-29 22:17:06 +00:00
Evan Hunt 39f2d1a96a 3102. [func] New 'dnssec-loadkeys-interval' option configures
how often, in minutes, to check the key repository
			for updates when using automatic key maintenance.
			Default is every 60 minutes (formerly hard-coded
			to 12 hours). [RT #23744]

3101.	[bug]		Zones using automatic key maintenance could fail
			to check the key repository for updates. [RT #23744]
2011-04-29 21:37:15 +00:00
Automatic Updater a1813ce2c3 update 2011-04-28 00:17:39 +00:00
Automatic Updater 46ce2f7b60 update copyright notice 2011-04-27 23:47:26 +00:00
Automatic Updater a2869c18ef auto update 2011-04-27 23:17:00 +00:00
Automatic Updater 99ee63ceda update 2011-04-27 18:17:06 +00:00
Evan Hunt 76db58eb81 3100. [security] Certain response policy zone configurations could
trigger an INSIST when receiving a query of type
			RRSIG. [RT #24280]
2011-04-27 17:46:47 +00:00
Automatic Updater 76c2a4e3b5 auto update 2011-04-26 23:16:56 +00:00
Automatic Updater 2d0ba1fe1c auto update 2011-04-25 23:17:07 +00:00
Automatic Updater 4d646548ec update 2011-04-20 00:17:42 +00:00
Automatic Updater 7021f2faa0 update copyright notice 2011-04-19 23:47:52 +00:00
Automatic Updater 6e26c3b134 newcopyrights 2011-04-19 23:30:51 +00:00
Automatic Updater 9cc53fdae1 update 2011-04-19 23:17:24 +00:00
Automatic Updater 9c0d50a26e regen 2011-04-19 22:32:47 +00:00
Evan Hunt 7a2173839c 3099. [test] "dlz" system test now runs but gives R:SKIPPED if
not compiled with --with-dlz-filesystem.  [RT #24146]

3098.	[bug]		DLZ zones were answering without setting the AA bit.
			[RT #24146]
2011-04-19 22:30:52 +00:00
Automatic Updater 7c831a33f9 auto update 2011-04-18 23:17:27 +00:00
Automatic Updater d5c6235244 update 2011-04-16 00:17:49 +00:00
Automatic Updater 9ee40883ee newcopyrights 2011-04-15 23:31:15 +00:00
Automatic Updater 81769a0844 update 2011-04-15 01:17:21 +00:00
Evan Hunt c92122485d 3097. [test] Add a tool to test handling of malformed packets.
[RT #24096]
2011-04-15 01:02:08 +00:00
edmonds d9d81d3cc6 update 2011-04-13 23:23:09 +00:00
Automatic Updater 0bac0179cd update 2011-04-08 06:17:26 +00:00
Mark Andrews 1aaedde67b whitespace 2011-04-08 05:37:18 +00:00
Mark Andrews 1b9a5fa77f isc_file_isplainfile 2011-04-08 05:36:15 +00:00
Automatic Updater 18d734fb78 update 2011-04-08 05:17:04 +00:00
Mark Andrews 53c1e5f991 dns_cache_create3 2011-04-08 04:45:03 +00:00
Automatic Updater a66f4e6d88 update 2011-04-07 23:17:21 +00:00
Mark Andrews 2b3bcbce23 3096. [bug] Set KRB5_KTNAME before calling log_cred() in
dst_gssapi_acceptctx(). [RT #24004]
2011-04-07 23:03:22 +00:00
Automatic Updater 8662040076 update 2011-04-07 01:17:38 +00:00
Automatic Updater b287974d18 regen HEAD 2011-04-07 01:14:32 +00:00
Automatic Updater fd68f4963c update 2011-04-06 22:16:59 +00:00
Automatic Updater 03d5834b14 missling \ 2011-04-06 21:21:03 +00:00
Scott Mann fbcc480b6c missing \ 2011-04-06 21:18:13 +00:00
Automatic Updater 630084bc06 update 2011-04-06 11:17:11 +00:00
Mark Andrews 9cf04a12ec 3095. [bug] Handle isolated reserved ports in the port range.
[RT #23957]
2011-04-06 10:27:16 +00:00
Automatic Updater e2c9eed7ff update 2011-04-06 05:17:21 +00:00
Mark Andrews 9f36aef24c 3094. [doc] Expand dns64 documentation. 2011-04-06 04:20:58 +00:00
Automatic Updater adc8d87b27 update 2011-04-05 20:16:56 +00:00
Automatic Updater b22a3ac2b9 fixes for default --with-gssapi 2011-04-05 19:20:21 +00:00
Scott Mann c7e1812d02 a few more "--with-gssapi" as default fixes to correct problems on test
systems
2011-04-05 19:16:54 +00:00
Automatic Updater b3dd65553f update 2011-04-05 16:17:11 +00:00
Scott Mann 80593d9802 one character typo. 2011-04-05 16:10:39 +00:00
Automatic Updater a0ef11263a update 2011-04-05 07:17:13 +00:00
Mark Andrews 6b89a2c905 format portability: cast socklen_t -> long and use %ld 2011-04-05 06:33:50 +00:00
Automatic Updater 5c9e212049 auto update 2011-04-04 23:16:44 +00:00
Automatic Updater 0459baf222 update 2011-04-04 11:17:07 +00:00
Mark Andrews 60821a4c33 1 -> 1U 2011-04-04 11:09:11 +00:00
Automatic Updater a4e779389e auto update 2011-04-01 23:17:21 +00:00
Automatic Updater 7dbb11b49a update 2011-03-31 16:17:04 +00:00
Evan Hunt 4e5fc672bc Corrected a bug in the dnssec test introduced in change #3046. 2011-03-31 15:58:51 +00:00
Automatic Updater 37f8ce0362 update 2011-03-31 00:17:34 +00:00
Automatic Updater e2d4cd0ae4 update copyright notice 2011-03-30 23:47:12 +00:00
Automatic Updater 879391501e newcopyrights 2011-03-30 23:31:16 +00:00
Automatic Updater c2f8145da3 update 2011-03-30 16:16:58 +00:00
Automatic Updater aca313aa41 fix up configure for RT #23836 2011-03-30 15:49:28 +00:00
Scott Mann 761fa7d770 Fixes for various OS/environs for RT #23836 (--with-gssapi as default). 2011-03-30 15:48:41 +00:00
Automatic Updater 18a401ef0b update 2011-03-29 21:17:05 +00:00
Paul Ebersman e1234be3ad corrected RT ticket number for changes number 3091 to 22911. 2011-03-29 20:22:38 +00:00
Automatic Updater 8c6eb84587 update 2011-03-28 23:17:09 +00:00
Automatic Updater 3444542bf5 auto update 2011-03-28 23:16:41 +00:00
Automatic Updater a858b8734a Generating configure for fix to RT #23836. 2011-03-28 22:49:25 +00:00
Scott Mann 30f888cbd4 Fix gssapi/kerberos dependencies in configure (RT #23836) 2011-03-28 22:48:12 +00:00
Automatic Updater 719e1d626c update 2011-03-28 06:17:10 +00:00
Mark Andrews 64abedd85a unsigned constants 2011-03-28 05:32:16 +00:00
Mark Andrews fade3b5f91 unsigned constants 2011-03-28 05:20:08 +00:00
Automatic Updater ddf3032710 update 2011-03-28 05:17:37 +00:00
Mark Andrews 779c84fb32 style 2011-03-28 05:14:51 +00:00
Mark Andrews 4768c1d9a4 while (1) -> for (;;) 2011-03-28 05:11:43 +00:00
Automatic Updater 283addf25e update 2011-03-28 04:17:49 +00:00
Mark Andrews d97637ce11 unsigned constants 2011-03-28 03:41:55 +00:00
Automatic Updater 84451febdb update 2011-03-28 01:17:26 +00:00
Automatic Updater 795a316ec5 regen HEAD 2011-03-28 01:14:35 +00:00
Automatic Updater 17a5ad2313 update 2011-03-28 00:17:36 +00:00
Automatic Updater 8a50411a00 newcopyrights 2011-03-27 23:31:05 +00:00
Automatic Updater 8b13511900 update 2011-03-27 07:17:02 +00:00
Mark Andrews 2ae23f7fc6 </para> -> <para> 2011-03-27 06:39:59 +00:00
Mark Andrews 6cf447fbe3 remove removed files 2011-03-27 06:36:41 +00:00
Automatic Updater 7f2c06b03a update 2011-03-27 00:17:39 +00:00
Automatic Updater 40072ce70b newcopyrights 2011-03-26 23:31:04 +00:00
Automatic Updater fce2a3a3df auto update 2011-03-26 23:17:24 +00:00
Automatic Updater 8197c463a3 update 2011-03-26 02:17:02 +00:00
Evan Hunt eb08f01b96 Forgot to add a data file for the autosign test. 2011-03-26 01:19:03 +00:00
Automatic Updater ac104983c3 update 2011-03-26 00:17:36 +00:00
Evan Hunt 319b8a1488 3092. [bug] Signatures for records at the zone apex could go
stale due to an incorrect timer setting. [RT #23769]

3091.	[bug]		Fixed a bug in which zone keys that were published
			and then subsequently activated could fail to trigger
			automatic signing. [RT #22991]
2011-03-25 23:53:02 +00:00
Automatic Updater 796710bf10 update 2011-03-25 03:18:08 +00:00
Mark Andrews fdc2d31c00 </para>-><para> 2011-03-25 03:08:44 +00:00
Automatic Updater f3ef9637bd update 2011-03-25 00:17:29 +00:00
Automatic Updater 06140f733a update copyright notice 2011-03-24 23:47:48 +00:00
Automatic Updater 11af78f7dc newcopyrights 2011-03-24 23:30:50 +00:00
Automatic Updater 0ea1ad51f2 auto update 2011-03-24 23:16:28 +00:00
Automatic Updater bf7342d576 update 2011-03-24 22:16:58 +00:00
Mark Andrews be046d6923 9.9.0a1 2011-03-24 21:37:27 +00:00
Automatic Updater b7da47f20c update 2011-03-24 19:17:04 +00:00
Automatic Updater 5b53caa7a0 regen 2011-03-24 18:17:29 +00:00
Automatic Updater 13d4da105b update 2011-03-24 18:17:04 +00:00
Scott Mann 4fc55db699 Make --with-gssapi default (RT #23738) 2011-03-24 18:08:21 +00:00
Automatic Updater 2deae6ddd8 update 2011-03-24 02:17:01 +00:00
Mark Andrews 0a82492610 3089. [func] dnssec-dsfromkey now supports reading keys from
standard input "dnssec-dsfromkey -f -". [RT# 20662]
2011-03-24 02:10:23 +00:00
Automatic Updater 1a4753fd04 auto update 2011-03-23 23:16:35 +00:00
Automatic Updater 82a879ec47 update 2011-03-23 00:17:44 +00:00
Automatic Updater 4f06155c8f update copyright notice 2011-03-22 23:47:30 +00:00
Automatic Updater 95f0d3f642 auto update 2011-03-22 23:17:51 +00:00
Automatic Updater 570e571faf update 2011-03-22 20:17:37 +00:00
Scott Mann 792b362aef fixup for RT #23687 2011-03-22 19:32:43 +00:00
Automatic Updater 8795da3797 update 2011-03-22 18:17:04 +00:00
Scott Mann 1760d5e5f2 For some reason, this didn't get removed before (RT #23687) 2011-03-22 17:20:03 +00:00
Automatic Updater 3be9c949a9 update 2011-03-22 17:17:06 +00:00
Scott Mann 95759de490 Remove bin/tests/system/logfileconfig/ns1/named.conf and add setup.sh
in order to resolve changing named.conf issue.  [RT #23687]
2011-03-22 16:51:50 +00:00
Automatic Updater e373527fba update 2011-03-22 04:17:46 +00:00
Evan Hunt c2255e8614 Fixed a bug that was exposed by change #3085. 2011-03-22 03:19:38 +00:00
Automatic Updater d72ac59bf2 update 2011-03-22 01:17:21 +00:00
Automatic Updater 7717ec7a6a regen HEAD 2011-03-22 01:14:27 +00:00
Mark Andrews e706901292 add test numbers 2011-03-22 00:41:53 +00:00
Automatic Updater adec4ddecc update 2011-03-22 00:17:25 +00:00
Automatic Updater 6333ba02a5 update copyright notice 2011-03-21 23:47:21 +00:00
Automatic Updater da82e23216 newcopyrights 2011-03-21 23:32:00 +00:00
Automatic Updater a171cbe30c auto update 2011-03-21 23:17:35 +00:00
Automatic Updater fd5521456a update 2011-03-21 21:17:11 +00:00
Mark Andrews c2265bd341 adjust rt23702 test to take less time 2011-03-21 20:31:22 +00:00
Automatic Updater 70f42b7e47 update 2011-03-21 20:17:10 +00:00
Evan Hunt 0994d3a21b 3087. [bug] DDNS updates using SIG(0) with update-policy match
type "external" could cause a crash. [RT #23735]
2011-03-21 19:54:03 +00:00
Automatic Updater 8a56f1b353 update 2011-03-21 19:17:04 +00:00
Evan Hunt 1063914c30 Fixed some problems from change #3084 that turned up after committing it;
"freeze" and "thaw" weren't working quite right when used without a
specific zone name.
2011-03-21 18:38:40 +00:00
Automatic Updater 39876b7880 update 2011-03-21 18:18:31 +00:00
Evan Hunt cf0d508b1e Forgot to add rndc test dir when committing "rndc sync" change to HEAD 2011-03-21 18:06:07 +00:00
Automatic Updater f345c0c0e0 update 2011-03-21 17:17:03 +00:00
Evan Hunt 36b2d5f93c use "rndc sync" instead of freeze/thaw cycle to dump zones, now that it's
available.
2011-03-21 16:53:44 +00:00
Evan Hunt dff7e38491 initialize delset 2011-03-21 16:17:57 +00:00
Automatic Updater 5e252d37d2 update 2011-03-21 16:17:10 +00:00
Evan Hunt 10a759cee6 3086. [bug] Running dnssec-settime -f on an old-style key will
now force an update to the new key format even if no
			other change has been specified, using "-P now -A now"
			as default values.  [RT #22474]
2011-03-21 15:56:35 +00:00
Evan Hunt d965c91f95 clarify "rndc sync" logging, add it to "rndc -h" output, per francis
review comments in rt22473.
2011-03-21 15:39:05 +00:00
Automatic Updater f3381d8368 update 2011-03-21 08:17:01 +00:00
Evan Hunt 35f1a4fc93 3085. [func] New '-R' option in dnssec-signzone forces removal
of signatures which have not yet expired but
			were generated by a key that no longer exists.
			[RT #22471]
2011-03-21 07:26:47 +00:00
Evan Hunt 7cb226ec34 3084. [func] A new command "rndc sync" dumps pending changes in
a dynamic zone to disk; "rndc sync -clean" also
			removes the journal file after syncing.  Also,
			"rndc freeze" no longer removes journal files.
			[RT #22473]
2011-03-21 07:22:14 +00:00
Automatic Updater 99bab541ab update 2011-03-21 04:17:42 +00:00
Mark Andrews 5f49da42fe wait longer for the nsec3chain generation to complete 2011-03-21 03:30:48 +00:00
Automatic Updater db632b0543 update 2011-03-21 01:18:08 +00:00
Mark Andrews 5095e72ac3 3083. [bug] NOTIFY messages were not being sent when generating
a NSEC3 chain incrementally. [RT #23702]
2011-03-21 01:02:39 +00:00
Mark Andrews 653cad790b 3082. [port] strtok_r is threads only. [RT #23747] 2011-03-21 00:30:18 +00:00
Automatic Updater c783bc8968 auto update 2011-03-20 23:16:50 +00:00
Automatic Updater 3d8e46aef2 update 2011-03-20 09:16:57 +00:00
Mark Andrews 7dc5273a3e skip not untested 2011-03-20 09:03:47 +00:00
Automatic Updater 6ca68b2a52 update 2011-03-20 03:18:10 +00:00
Mark Andrews b76715a02f Use UINT_MAX to initialise split_width (unsigned int) instead of -1. 2011-03-20 02:31:54 +00:00
Automatic Updater 468ebd4062 auto update 2011-03-19 23:17:12 +00:00
Automatic Updater f85b7cdb07 update 2011-03-19 00:17:46 +00:00
Automatic Updater 7885190562 update copyright notice 2011-03-18 23:47:36 +00:00
Automatic Updater 4dca64bb89 newcopyrights 2011-03-18 23:31:07 +00:00
Automatic Updater 16224f2811 auto update 2011-03-18 23:17:09 +00:00
Automatic Updater 67888234bd update 2011-03-18 22:17:07 +00:00
Francis Dupont e5bf83fe0b add new dname test files 2011-03-18 21:21:22 +00:00
Automatic Updater f27ec26d50 update 2011-03-18 21:17:21 +00:00
Francis Dupont cb240b0676 3081. [bug] Failure of DNAME substitution did not return
YXDOMAIN. [RT #23591]
2011-03-18 21:17:08 +00:00
Francis Dupont f3bb08a519 add 23591 no-regression 2011-03-18 21:14:20 +00:00
Francis Dupont a8e6a8cd6c fix too long with dname error 2011-03-18 21:12:19 +00:00
Automatic Updater 6217799f6b update 2011-03-18 09:17:13 +00:00
Francis Dupont e41de66a12 3080. [cleanup] Replaced compile time constant by STDTIME_ON_32BITS.
[RT #23587]
2011-03-18 09:04:02 +00:00
Francis Dupont d99d0c19b2 introduce STDTIME_ON_32BITS 2011-03-18 09:00:45 +00:00
Automatic Updater 3638313399 update 2011-03-18 08:17:21 +00:00
Mark Andrews cbf59e5887 3079. [bug] Handle isc_event_allocate failures in t_tasks.
[RT #23572]
2011-03-18 07:40:25 +00:00
Automatic Updater b941939c0b update 2011-03-18 05:17:31 +00:00
Evan Hunt 1853c5eaf7 ignore SIGPIPE in ans.pl; this is needed for debian. 2011-03-18 04:41:15 +00:00
Automatic Updater 9b8e8f1565 update 2011-03-18 03:18:03 +00:00
Automatic Updater 9073e83c59 update 2011-03-18 02:17:01 +00:00
Mark Andrews f79a36eeed silence: 'ttl' might be used uninitialized 2011-03-18 02:16:43 +00:00
Evan Hunt ea5334a36e fixed a missing / in /dev/null 2011-03-18 02:08:45 +00:00
Automatic Updater a46de461ff update 2011-03-18 01:17:28 +00:00
Automatic Updater a3f8c8e207 regen HEAD 2011-03-18 01:14:34 +00:00
Automatic Updater fb4be8a17a update 2011-03-18 00:17:37 +00:00
Automatic Updater 207cee019e update copyright notice 2011-03-17 23:47:30 +00:00
Automatic Updater a308b69ac6 newcopyrights 2011-03-17 23:31:05 +00:00
Automatic Updater 4d33f99dee update 2011-03-17 10:17:06 +00:00
Francis Dupont 9e102ef969 3078. [func] Added a new include file with function typedefs
for the DLZ "dlopen" driver. [RT #23629]
2011-03-17 09:30:45 +00:00
Francis Dupont 50f64cf0e5 silent compiler warnings for DLZ exernal driver support and example 2011-03-17 09:25:54 +00:00
Automatic Updater dfb3e77e52 update 2011-03-17 06:17:25 +00:00
Mark Andrews ed53ec0b06 3077. [bug] zone.c:zone_refreshkeys() incorrectly called
dns_zone_attach(), use zone->irefs instead. [RT #23303]
2011-03-17 05:21:50 +00:00
Automatic Updater 2d43d85fff update 2011-03-17 02:17:10 +00:00
Evan Hunt 61bcc23203 3076. [func] New '-L' option in dnssec-keygen, dnsset-settime, and
dnssec-keyfromlabel sets the default TTL of the
			key.  When possible, automatic signing will use that
			TTL when the key is published.  [RT #23304]
2011-03-17 01:40:40 +00:00
Mark Andrews 0e095727ff 3075. [bug] dns_dnssec_findzonekeys{2} used a inconsistant
timestamp when determining which keys are active.
                        [RT #23642]
2011-03-17 01:17:21 +00:00
Automatic Updater 8f46af8525 auto update 2011-03-16 23:17:36 +00:00
Automatic Updater d988275243 auto update 2011-03-15 23:17:33 +00:00
Automatic Updater 9decf572c4 auto update 2011-03-14 23:16:48 +00:00
Automatic Updater 76102ead2a update 2011-03-14 14:17:37 +00:00
Francis Dupont 92f2688155 silent clang analyzer 2011-03-14 14:13:10 +00:00
Francis Dupont 0a25550b46 remove extra space 2011-03-14 13:40:52 +00:00
Francis Dupont 52c3f66536 isc_mutex_destroy() returns a value 2011-03-14 13:39:17 +00:00
Automatic Updater fc739bf608 update 2011-03-14 00:18:15 +00:00
Automatic Updater 71d0d898fb update copyright notice 2011-03-13 23:47:36 +00:00
Automatic Updater f42fc714ed newcopyrights 2011-03-13 23:31:11 +00:00
Automatic Updater b1331547c3 update 2011-03-13 03:18:11 +00:00
Mark Andrews 26b49e8459 3074. [bug] Make the adb cache read through for zone data and
glue learn for zone named is authoritative for.
                        [RT #22842]
2011-03-13 02:49:28 +00:00
Automatic Updater 6d4c706219 update 2011-03-13 00:18:24 +00:00
Automatic Updater 8ac903147f update copyright notice 2011-03-12 23:47:42 +00:00
Automatic Updater 7be29b99f8 newcopyrights 2011-03-12 23:31:03 +00:00
Automatic Updater 87f0efc52b auto update 2011-03-12 23:16:38 +00:00
Automatic Updater 440cceb827 update 2011-03-12 22:17:49 +00:00
Mark Andrews 69e617cf88 test for Net::DNS 2011-03-12 21:24:52 +00:00
Automatic Updater 057d2bf271 update 2011-03-12 05:18:17 +00:00
Automatic Updater c1aef54e14 update copyright notice 2011-03-12 04:59:49 +00:00
Automatic Updater e130ab53e9 newcopyrights 2011-03-12 04:56:21 +00:00
Automatic Updater b229350908 update 2011-03-12 04:53:42 +00:00
Mark Andrews d57f1ade2d s/(/[/ 2011-03-12 04:31:01 +00:00
Automatic Updater 48d7a333ed update 2011-03-12 03:19:11 +00:00
Mark Andrews d9f94d668f bin/tests/system/common/rndc.key 2011-03-12 03:09:18 +00:00
Automatic Updater 456dad5dc6 auto update 2011-03-11 23:16:58 +00:00
Automatic Updater 74b14b9280 update 2011-03-11 18:24:40 +00:00
Evan Hunt f563fcf124 Forgot to initialize a fixedname, which made it a brokenname. 2011-03-11 17:19:05 +00:00
Automatic Updater f2100b37bc update 2011-03-11 14:17:39 +00:00
Mark Andrews 2415f36f79 3073. [bug] managed-keys changes were not properly being recorded.
[RT #20256]
2011-03-11 13:20:43 +00:00
Automatic Updater d168ca1500 update 2011-03-11 13:17:51 +00:00
Mark Andrews cf4ceeee5f 3072. [bug] dns_dns64_aaaaok() potential NULL pointer dereference.
[RT #20256]
2011-03-11 13:02:33 +00:00
Mark Andrews 4f587beb8e 3071. [bug] has_nsec could be used unintialised in
update.c:next_active. [RT #20256]
2011-03-11 12:51:40 +00:00
Mark Andrews 6494526350 3070. [bug] dnssec-signzone potential NULL pointer dereference.
[RT #20256]
2011-03-11 12:37:01 +00:00
Automatic Updater 3da31ab0e7 update 2011-03-11 07:17:43 +00:00
Evan Hunt 4fbaf0202b link driver.so from the .o file instead of the .lo file when building
with libtool.
2011-03-11 07:11:07 +00:00
Automatic Updater e391f3ac34 update 2011-03-11 06:17:40 +00:00
Mark Andrews 0874abad14 3069. [cleanup] Silence warnings messages from clang static analysis.
[RT #20256]
2011-03-11 06:11:27 +00:00
Automatic Updater 6c77f40015 update 2011-03-11 03:19:02 +00:00
Mark Andrews 8473cd921e pkey is only used if USE_ENGINE is defined or USE_EVP is 1 2011-03-11 02:59:37 +00:00
Automatic Updater 5f5503af60 update 2011-03-11 02:19:39 +00:00
Evan Hunt a7acfb05df Reversing prior change, turns out not to be legal on all compilers. 2011-03-11 01:28:10 +00:00
Evan Hunt f2f2d20990 Silence a compiler warning by using #if comparison instead of if. No
CHANGES note because it's trivial. [RT #23587]
2011-03-11 01:20:39 +00:00
Automatic Updater a0861f830d update 2011-03-11 01:18:04 +00:00
Mark Andrews 19f4b069dc 3068. [bug] Named failed to build with a OpenSSL without engine
support. [RT #23473]
2011-03-11 01:11:54 +00:00
Mark Andrews 2d96b63d31 3067. [bug] ixfr-from-differences {master|slave}; failed to
select the master/slave zones.  [RT #23580]
2011-03-11 00:43:54 +00:00
Automatic Updater c219c842b8 update 2011-03-11 00:21:51 +00:00
Automatic Updater cf786a52ce update copyright notice 2011-03-10 23:47:50 +00:00
Automatic Updater 8711e5c73c newcopyrights 2011-03-10 23:30:53 +00:00
Automatic Updater 6691e6f211 auto update 2011-03-10 23:16:26 +00:00
Automatic Updater 2c05d76db4 update 2011-03-10 22:17:38 +00:00
Mark Andrews b80dcf4e03 new draft 2011-03-10 21:57:45 +00:00
Automatic Updater 5ece054d14 update 2011-03-10 14:17:33 +00:00
Francis Dupont cf39976b89 while(1) -> for(;;) (cf 23588) 2011-03-10 13:37:21 +00:00
Automatic Updater b0c1dce23f update 2011-03-10 07:17:38 +00:00
Automatic Updater 2dfd5615dc regen 2011-03-10 06:34:57 +00:00
Automatic Updater 14858d0505 update 2011-03-10 05:18:02 +00:00
Evan Hunt 422009fe5b 3066. [func] The DLZ "dlopen" driver is now built by default,
no longer requiring a configure option.  To
			disable it, use "configure --without-dlopen".
                        Driver also supported on win32.  [RT #23467]
2011-03-10 04:36:16 +00:00
Automatic Updater b53bd951f9 update 2011-03-10 00:18:21 +00:00
Automatic Updater 50d79c1309 update copyright notice 2011-03-09 23:47:17 +00:00
Automatic Updater 361ef0a3e2 newcopyrights 2011-03-09 23:31:30 +00:00
Automatic Updater f94ce60f4d auto update 2011-03-09 23:16:43 +00:00
Automatic Updater 8644eb52e5 update 2011-03-09 08:17:59 +00:00
Mark Andrews 215ef83bbe 3065. [bug] RRSIG could have time stamps too far in the future.
[RT #23356]
2011-03-09 07:22:32 +00:00
Automatic Updater 9c1ec5aca2 update 2011-03-09 01:18:20 +00:00
Automatic Updater 87ff79ee66 regen HEAD 2011-03-09 01:14:23 +00:00
Mark Andrews 4c0e434f67 remove removed files 2011-03-09 00:59:19 +00:00
Paul Ebersman 112a82e52a corrected edns-udp-size min size to 512. 2011-03-09 00:48:17 +00:00
Automatic Updater 675ae0458e update 2011-03-08 01:18:21 +00:00
Mark Andrews 345d37dbb6 add 'sync' to ISC_PLATFORM_USEMACASM build as well 2011-03-08 00:52:42 +00:00
Mark Andrews 35efe74edb DNAME not DS 2011-03-08 00:36:56 +00:00
Automatic Updater 82a14e410f update 2011-03-08 00:18:26 +00:00
Mark Andrews 4dbae79cf5 new draft 2011-03-08 00:10:41 +00:00
Automatic Updater 5eee264bfa update copyright notice 2011-03-07 23:47:37 +00:00
Automatic Updater aa620c4f3a newcopyrights 2011-03-07 23:31:08 +00:00
Automatic Updater f16e2d1a49 auto update 2011-03-07 23:16:36 +00:00
Automatic Updater f844798059 update 2011-03-07 22:17:50 +00:00
Evan Hunt 5d35a7a2fb Style cleanup in DLZ LDAP driver. No functional change, no CHANGES note. 2011-03-07 22:01:05 +00:00
Automatic Updater c85677097d update 2011-03-07 16:17:37 +00:00
Francis Dupont 228bddfc12 update do_authors_lookup() 2011-03-07 15:29:32 +00:00
Automatic Updater f09fa70e2b update 2011-03-07 14:17:46 +00:00
Mark Andrews 198be130e2 remove exit 2011-03-07 14:03:49 +00:00
Mark Andrews 4b583f0193 only reset first in multi-line mode 2011-03-07 13:42:11 +00:00
Automatic Updater 60ec11ed90 update 2011-03-07 01:18:20 +00:00
Mark Andrews fea04b0ffe 3064. [bug] powerpc: add sync instructions to the end of atomic
operations. [RT #23469]
2011-03-07 00:17:08 +00:00
Automatic Updater 2b43274572 auto update 2011-03-06 23:16:48 +00:00
Automatic Updater e1eda51595 update 2011-03-06 01:18:15 +00:00
Automatic Updater be6c1c5061 regen HEAD 2011-03-06 01:14:21 +00:00
Automatic Updater 7f3cef2eb3 update 2011-03-06 00:18:12 +00:00
Automatic Updater 0e27506ce3 update copyright notice 2011-03-05 23:52:31 +00:00
Automatic Updater 8e9f3b6991 newcopyrights 2011-03-05 23:31:16 +00:00
Automatic Updater 357b35064d update 2011-03-05 23:17:54 +00:00
Evan Hunt f02b5d87a5 3063. [contrib] More verbose error reporting from DLZ LDAP. [RT #23402] 2011-03-05 23:11:21 +00:00
Automatic Updater e8dbc3ffcc update 2011-03-05 20:17:58 +00:00
Evan Hunt 9a859983d7 3062. [func] Made several changes to enhance human readability
of DNSSEC data in dig output and in generated
			zone files:
			 - DNSKEY record comments are more verbose, no
			   longer used in multiline mode only
			 - multiline RRSIG records reformatted
			 - multiline output mode for NSEC3PARAM records
			 - "dig +norrcomments" suppresses DNSKEY comments
			 - "dig +split=X" breaks hex/base64 records into
			   fields of width X; "dig +nosplit" disables this.
			[RT #22820]
2011-03-05 19:39:07 +00:00
Automatic Updater 59563d2a5d update 2011-03-05 07:17:39 +00:00
Mark Andrews eff7f78bc6 3061. [func] New option "dnssec-signzone -D", only write out
generated DNSSEC records. [RT #22896]
2011-03-05 06:35:41 +00:00
Automatic Updater 3c618c6eaf update 2011-03-05 03:18:29 +00:00
Mark Andrews 7d09a0190b add #include <isc/file.h> 2011-03-05 03:03:57 +00:00
Automatic Updater 82447d835d update 2011-03-05 02:38:35 +00:00
Automatic Updater d38126a85f update 2011-03-05 01:18:19 +00:00
Automatic Updater 60a900e83b regen HEAD 2011-03-05 01:14:22 +00:00
Automatic Updater 217653a5c3 update 2011-03-05 00:18:18 +00:00
Automatic Updater 26a7306397 update copyright notice 2011-03-04 23:47:47 +00:00
Automatic Updater 2b189d7bf5 update 2011-03-04 23:17:46 +00:00
Evan Hunt 61271cdee6 3060. [func] New option "dnssec-signzone -X <date>" allows
specification of a separate expiration date
			for DNSKEY RRSIGs and other RRSIGs. [RT #22141]
2011-03-04 22:20:21 +00:00
Automatic Updater 122e8dba8b update 2011-03-04 22:17:48 +00:00
Evan Hunt c2f051aaaa 3059. [test] Added a regression test for change #3023. 2011-03-04 22:01:01 +00:00
Francis Dupont 13d1b15b18 export dns_ncache_current and dns_resolver_settimeout 2011-03-04 21:36:51 +00:00
Automatic Updater 9af3be2492 update 2011-03-04 15:17:44 +00:00
Scott Mann be59d1eb72 Adding missing files for RT22771. 2011-03-04 14:43:58 +00:00
Automatic Updater b467780aa0 update 2011-03-04 14:17:40 +00:00
Scott Mann 32babe43eb Ensure that log files are plain files. (RT #22771) 2011-03-04 14:07:03 +00:00
Automatic Updater 15852f1a77 update 2011-03-04 02:18:18 +00:00
Mark Andrews 990743075c update 2011-03-04 01:19:39 +00:00
Automatic Updater 7f9a323a55 update 2011-03-04 00:18:22 +00:00
Automatic Updater 7d9d170dbb update copyright notice 2011-03-03 23:47:32 +00:00
Automatic Updater 79cea03ba8 newcopyrights 2011-03-03 23:31:19 +00:00
Automatic Updater ed4f4c721e auto update 2011-03-03 23:17:25 +00:00
Automatic Updater b51f208552 update 2011-03-03 17:17:36 +00:00
Evan Hunt 020a733707 needed [placeholder] for change #3055. 2011-03-03 16:18:51 +00:00
Evan Hunt f385bac3b9 3057. [bug] "rndc secroots" would abort after the first error
and so could miss some views. [RT #23488]
2011-03-03 16:16:47 +00:00
Automatic Updater 5a742faf60 update 2011-03-03 15:17:39 +00:00
Francis Dupont 2410a655d8 regen 2011-03-03 14:48:42 +00:00
Automatic Updater 7bcb075af1 update 2011-03-03 14:17:44 +00:00
Francis Dupont 11c282d8a4 3056. [func] Added support for URI resource record. [RT #23386] 2011-03-03 14:13:49 +00:00
Francis Dupont 2188d48d2d add URI support files 2011-03-03 14:12:04 +00:00
Francis Dupont 9fe8cca065 add URI support 2011-03-03 14:10:27 +00:00
Francis Dupont d54394cbef 3054. [bug] Added elliptic curve support check in
GOST OpenSSL engine detection. [RT #23485]
2011-03-03 13:49:16 +00:00
Francis Dupont 8d32644639 add EC check for GOST 2011-03-03 13:42:49 +00:00
Automatic Updater ad55b39b4f update 2011-03-03 12:17:42 +00:00
Mark Andrews 8e6ecf7d60 cat the output as atf-report truncates stdout 2011-03-03 11:22:40 +00:00
Automatic Updater be6e465b1d update 2011-03-03 08:17:45 +00:00
Mark Andrews 90d75412b5 use csv output format. ticker not suitable for robie 2011-03-03 08:00:41 +00:00
Automatic Updater 29a2340b2c update 2011-03-03 05:18:05 +00:00
Evan Hunt 70c7f4fb4f 3053. [bug] Under a sustained high query load with a finite
max-cache-size, it was possible for cache memory
			to be exhausted and not recovered. [RT #23371]
2011-03-03 04:42:25 +00:00
Automatic Updater 7da206e578 update 2011-03-03 00:18:17 +00:00
Automatic Updater ff62ab3c2e newcopyrights 2011-03-02 23:31:02 +00:00
Automatic Updater f887ee4a1a auto update 2011-03-02 23:16:45 +00:00
Automatic Updater a193996dd5 update 2011-03-02 16:17:43 +00:00
Automatic Updater 99c2f298e7 regen 2011-03-02 15:22:42 +00:00
Automatic Updater ef2ad8043e update 2011-03-02 09:17:51 +00:00
Francis Dupont 624664e504 Fixed last autosign test report [RT #23256] 2011-03-02 09:03:45 +00:00
Automatic Updater 1a6b634428 update 2011-03-02 07:17:44 +00:00
Evan Hunt dcfe99c905 add MISSING=: to ATF configure arguments to suppress checks for
missing autotools files
2011-03-02 06:40:01 +00:00
Automatic Updater 676e5f5db9 update 2011-03-02 05:17:55 +00:00
Mark Andrews be789bc7eb 3045. [removed] Replaced by change #3050. 2011-03-02 04:52:25 +00:00
Mark Andrews d819823fee 3051. [bug] NS records obsure DS records at the bottom of the
zone if both are present. [RT #23035]
2011-03-02 04:49:05 +00:00
Mark Andrews c1ced49662 3051. [bug] NS records obsure DS records at the bottom of the
zone if both are present. [RT #23035]
2011-03-02 04:20:34 +00:00
Automatic Updater 1f614cf40b update 2011-03-02 04:18:17 +00:00
Mark Andrews ba88bcf08b 3050. [bug] The autosign system test was timing dependent.
Wait for the initial autosigning to complete
                        before running the rest of the test. [RT #23035]
2011-03-02 04:08:58 +00:00
Automatic Updater f594a53081 update 2011-03-02 03:18:27 +00:00
Mark Andrews 21d349b612 s/3039/3049/ 2011-03-02 02:52:07 +00:00
Automatic Updater 9dd73cfab0 update 2011-03-02 00:17:51 +00:00
Mark Andrews 88c63fe9c7 3039. [bug] Save and restore the gid when creating creating
named.pid at startup. [RT #23290]
2011-03-02 00:02:54 +00:00
Automatic Updater c8175ece69 update copyright notice 2011-03-01 23:48:07 +00:00
Mark Andrews e9ab17d95e update 2011-03-01 23:46:00 +00:00
Automatic Updater 1959fd489a newcopyrights 2011-03-01 23:30:55 +00:00
Automatic Updater 22b494dfe2 update 2011-03-01 23:18:20 +00:00
Automatic Updater 31564d6f70 auto update 2011-03-01 23:16:36 +00:00
Mark Andrews 4c05f9a6a3 3048. [bug] Fully seperate view key mangement. [RT #23419] 2011-03-01 22:44:04 +00:00
Automatic Updater 2e1000c331 update 2011-03-01 15:18:07 +00:00
Scott Mann d31740ce28 Fixed DNSKEY NODATA responses not cached (RT #22908). 2011-03-01 14:40:39 +00:00
Automatic Updater c2113136d2 update 2011-03-01 01:17:44 +00:00
Automatic Updater 6fe48fb46e update 2011-03-01 00:53:30 +00:00
Automatic Updater b93ff2b310 update 2011-03-01 00:18:02 +00:00
Automatic Updater bc171df6ca update copyright notice 2011-02-28 23:47:39 +00:00
Automatic Updater ddc163d532 regen 2011-02-28 23:31:05 +00:00
Automatic Updater b71564cdee auto update 2011-02-28 23:16:35 +00:00
Automatic Updater a33f018b6a update 2011-02-28 17:17:56 +00:00
Automatic Updater 37fef4ce36 autoreconf in hopes of silencing robie warnings 2011-02-28 16:44:15 +00:00
Automatic Updater c43c6d48ef update 2011-02-28 15:17:44 +00:00
Francis Dupont 664917beda Use RRSIG original TTL in validated RRset TTL [RT #23332] 2011-02-28 14:21:35 +00:00
Automatic Updater 5ba6059616 update 2011-02-28 14:17:43 +00:00
Francis Dupont 17bc56e321 ove the testsock.pl sleep to autosign test suite [RT #23400] 2011-02-28 14:08:36 +00:00
Automatic Updater f41c298280 update 2011-02-28 13:17:51 +00:00
Mark Andrews d3e3d7846d 3044. [bug] Hold the socket manager lock while freeing the socket.
[RT #23333]
2011-02-28 12:48:30 +00:00
Automatic Updater eb6d3717e4 update 2011-02-28 04:57:56 +00:00
Mark Andrews 5a07c0eb26 timestampe 2011-02-28 04:12:29 +00:00
Automatic Updater 3a03c4d1c1 update 2011-02-28 01:16:21 +00:00
Mark Andrews 12a3ab37fe elseif -> elsif 2011-02-28 01:09:45 +00:00
Mark Andrews f5cfcbf2f7 atf source maintains it's own copyright 2011-02-28 01:03:12 +00:00
Automatic Updater cc9166285b update 2011-02-28 00:17:12 +00:00
Automatic Updater 1c743aa176 regen 2011-02-27 23:30:42 +00:00
Automatic Updater 848b3e73cc update 2011-02-27 14:16:00 +00:00
Mark Andrews 8e917272a9 only run test if ATFBIN defined 2011-02-27 14:13:51 +00:00
Mark Andrews 6c90d1f0d9 regen 2011-02-27 13:29:32 +00:00
Mark Andrews a5ee263bea remove space between -L path 2011-02-27 13:29:11 +00:00
Automatic Updater 9298c45a55 update 2011-02-27 10:46:37 +00:00
Automatic Updater bc7bded20d update 2011-02-27 10:33:41 +00:00
Mark Andrews 4417904b15 regen 2011-02-27 06:21:53 +00:00
Evan Hunt fa1ebc6b4b use 'sh ./configure' since configure might not be executable 2011-02-26 02:53:42 +00:00
1114 changed files with 88193 additions and 30600 deletions
-9
View File
@@ -1,9 +0,0 @@
Makefile
config.log
config.h
config.cache
config.status
libtool
isc-config.sh
configure.lineno
autom4te.cache
+51
View File
@@ -0,0 +1,51 @@
Makefile
config.log
config.h
config.cache
config.status
libtool
isc-config.sh
configure.lineno
autom4te.cache
*.o
*.lo
*.so
*.a
*.la
*_test
timestamp
named.run
gen.dSYM/
.libs/
.deps/
.dirstamp
unit/atf-src/atf-c++/atf-c++.pc
unit/atf-src/atf-c/atf-c.pc
unit/atf-src/atf-c/defs.h
unit/atf-src/atf-c/detail/process_helpers
unit/atf-src/atf-config/atf-config
unit/atf-src/atf-report/atf-report
unit/atf-src/atf-report/fail_helper
unit/atf-src/atf-report/misc_helpers
unit/atf-src/atf-report/pass_helper
unit/atf-src/atf-run/atf-run
unit/atf-src/atf-run/bad_metadata_helper
unit/atf-src/atf-run/expect_helpers
unit/atf-src/atf-run/misc_helpers
unit/atf-src/atf-run/pass_helper
unit/atf-src/atf-run/several_tcs_helper
unit/atf-src/atf-run/zero_tcs_helper
unit/atf-src/atf-sh/atf-check
unit/atf-src/atf-sh/atf-sh
unit/atf-src/atf-sh/misc_helpers
unit/atf-src/atf-version/atf-version
unit/atf-src/atf-version/revision.h
unit/atf-src/atf-version/revision.h.stamp
unit/atf-src/bconfig.h
unit/atf-src/bootstrap/atconfig
unit/atf-src/doc/atf.7
unit/atf-src/stamp-h1
unit/atf-src/test-programs/c_helpers
unit/atf-src/test-programs/cpp_helpers
unit/atf-src/test-programs/sh_helpers
bin/named/named
+986 -40
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,4 +1,4 @@
Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2003 Internet Software Consortium.
Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
$Id: COPYRIGHT,v 1.18 2011/02/22 06:29:42 marka Exp $
$Id: COPYRIGHT,v 1.19 2012/01/03 23:46:59 tbox Exp $
Portions of this code release fall under one or more of the
following Copyright notices. Please see individual source
+6 -4
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.59 2011/02/26 02:26:10 each Exp $
# $Id: Makefile.in,v 1.62 2011/09/06 04:06:37 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -64,8 +64,10 @@ tags:
check: test
test:
(cd bin/tests && ${MAKE} ${MAKEDEFS} test)
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh)
status=0; \
(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
exit $$status
FAQ: FAQ.xml
${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
+119 -70
View File
@@ -48,75 +48,81 @@ BIND 9
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
BIND 9.9.1
BIND 9.9.1 is a maintenance release.
BIND 9.9.0
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
releases. New features include:
- Inline signing, allowing automatic DNSSEC signing of
master zones without modification of the zonefile, or
"bump in the wire" signing in slaves.
- NXDOMAIN redirection.
- New 'rndc flushtree' command clears all data under a given
name from the DNS cache.
- New 'rndc sync' command dumps pending changes in a dynamic
zone to disk without a freeze/thaw cycle.
- New 'rndc signing' command displays or clears signing status
records in 'auto-dnssec' zones.
- NSEC3 parameters for 'auto-dnssec' zones can now be set prior
to signing, eliminating the need to initially sign with NSEC.
- Startup time improvements on large authoritative servers.
- Slave zones are now saved in raw format by default.
- Several improvements to response policy zones (RPZ).
- Improved hardware scalability by using multiple threads
to listen for queries and using finer-grained client locking
- The 'also-notify' option now takes the same syntax as
'masters', so it can used named masterlists and TSIG keys.
- 'dnssec-signzone -D' writes an output file containing only DNSSEC
data, which can be included by the primary zone file.
- 'dnssec-signzone -R' forces removal of signatures that are
not expired but were created by a key which no longer exists.
- 'dnssec-signzone -X' allows a separate expiration date to
be specified for DNSKEY signatures from other signatures.
- New '-L' option to dnssec-keygen, dnssec-settime, and
dnssec-keyfromlabel sets the default TTL for the key.
- dnssec-dsfromkey now supports reading from standard input,
to make it easier to convert DNSKEY to DS.
- RFC 1918 reverse zones have been added to the empty-zones
table per RFC 6303.
- Dynamic updates can now optionally set the zone's SOA serial
number to the current UNIX time.
- DLZ modules can now retrieve the source IP address of
the querying client.
- 'request-ixfr' option can now be set at the per-zone level.
- 'dig +rrcomments' turns on comments about DNSKEY records,
indicating their key ID, algorithm and function
- Simplified nsupdate syntax and added readline support
BIND 9.8.0
DNS64 support (AAAA synthesis only initially).
BIND 9.8.0 includes a number of changes from BIND 9.7 and earlier
releases. New features include:
BIND 9.7.0
- Built-in trust anchor for the root zone, which can be
switched on via "dnssec-validation auto;"
- Support for DNS64.
- Support for response policy zones (RPZ).
- Support for writable DLZ zones.
- Improved ease of configuration of GSS/TSIG for
interoperability with Active Directory
- Support for GOST signing algorithm for DNSSEC.
- Removed RTT Banding from server selection algorithm.
- New "static-stub" zone type.
- Allow configuration of resolver timeouts via
"resolver-query-timeout" option.
- The DLZ "dlopen" driver is now built by default.
- Added a new include file with function typedefs
for the DLZ "dlopen" driver.
- Made "--with-gssapi" default.
- More verbose error reporting from DLZ LDAP.
BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier
releases. Most are intended to simplify DNSSEC configuration.
New features include:
- Fully automatic signing of zones by "named".
- Simplified configuration of DNSSEC Lookaside Validation (DLV).
- Simplified configuration of Dynamic DNS, using the "ddns-confgen"
command line tool or the "local" update-policy option. (As a side
effect, this also makes it easier to configure automatic zone
re-signing.)
- New named option "attach-cache" that allows multiple views to
share a single cache.
- DNS rebinding attack prevention.
- New default values for dnssec-keygen parameters.
- Support for RFC 5011 automated trust anchor maintenance
- Smart signing: simplified tools for zone signing and key
maintenance.
- The "statistics-channels" option is now available on Windows.
- A new DNSSEC-aware libdns API for use by non-BIND9 applications
- On some platforms, named and other binaries can now print out
a stack backtrace on assertion failure, to aid in debugging.
- A "tools only" installation mode on Windows, which only installs
dig, host, nslookup and nsupdate.
- Improved PKCS#11 support, including Keyper support and explicit
OpenSSL engine selection.
Known issues in this release:
- In rare cases, DNSSEC validation can leak memory. When this
happens, it will cause an assertion failure when named exits,
but is otherwise harmless. A fix exists, but was too late for
this release; it will be included in BIND 9.7.1.
Compatibility notes:
- If you had built BIND 9.6 with any of ALLOW_NSEC3PARAM_UPDATE,
ALLOW_SECURE_TO_INSECURE or ALLOW_INSECURE_TO_SECURE defined, then
you should ensure that all changes that are in progress have
completed prior to upgrading to BIND 9.7. BIND 9.7 implements
those features in a way which is not backwards compatible.
- Prior releases had a bug which caused HMAC-SHA* keys with long
secrets to be used incorrectly. Fixing this bug means that older
versions of BIND 9 may fail to interoperate with this version
when using TSIG keys. If this occurs, the new "isc-hmac-fixup"
tool will convert a key with a long secret into a form that works
correctly with all versions of BIND 9. See the "isc-hmac-fixup"
man page for additional details.
- Revoking a DNSSEC key with "dnssec-revoke" changes its key ID.
It is possible for the new key ID to collide with that of a
different key. Newly generated keys will not have this problem,
as "dnssec-keygen" looks for potential collisions before
generating keys, but exercise caution if using key revokation
with keys that were generated by older versions of BIND 9. See
the Administrator's Reference Manual, section 4.10 ("Dynamic
Trust Anchor Management") for more details.
- A bug was fixed in which a key's scheduled inactivity date was
stored incorectly. Users who participated in the 9.7.0 BETA test
and had DNSSEC keys with scheduled inactivity dates will need to
reset those keys' dates using "dnssec-settime -I".
Building
@@ -146,12 +152,12 @@ Building
AIX 4.3, 5L
CentOS 4, 4.5, 5
Darwin 9.0.0d1/ARM
Debian 4
Fedora Core 5, 7
FreeBSD 6.1
Debian 4, 5, 6
Fedora Core 5, 7, 8
FreeBSD 6, 7, 8
HP-UX 11.23 PA
MacOS X 10.4, 10.5
Red Hat Enterprise Linux 4, 5
MacOS X 10.5, 10.6, 10.7
Red Hat Enterprise Linux 4, 5, 6
SCO OpenServer 5.0.6
Slackware 9, 10
SuSE 9, 10
@@ -289,6 +295,7 @@ Building
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
Documentation
The BIND 9 Administrator Reference Manual is included with the
@@ -311,6 +318,48 @@ Documentation
in the other README files.
Change Log
A detailed list of all changes to BIND 9 is included in the
file CHANGES, with the most recent changes listed first.
Change notes include tags indicating the category of the
change that was made; these categories are:
[func] New feature
[bug] General bug fix
[security] Fix for a significant security flaw
[experimental] Used for new features when the syntax
or other aspects of the design are still
in flux and may change
[port] Portability enhancement
[maint] Updates to built-in data such as root
server addresses and keys
[tuning] Changes to built-in configuration defaults
and constants to improve performanceo
[protocol] Updates to the DNS protocol such as new
RR types
[test] Changes to the automatic tests, not
affecting server functionality
[cleanup] Minor corrections and refactoring
[doc] Documentation
In general, [func] and [experimental] tags will only appear
in new-feature releases (i.e., those with version numbers
ending in zero). Some new functionality may be backported to
older releases on a case-by-case basis. All other change
types may be applied to all currently-supported releases.
Bug Reports and Mailing Lists
Bugs reports should be sent to
+35
View File
@@ -0,0 +1,35 @@
Redirect zones are used to find answers to queries when normal resolution
would result in NXDOMAIN being returned. Only one redirect zone per view
is currently supported.
To redirect to 100.100.100.2 and 2001:ffff:ffff::100.100.100.2 on NXDOMAIN
one would configure the redirect zone like this.
zone "." {
type redirect;
file "redirect.db";
};
redirect.db:
$TTL 300
@ IN SOA ns.example.net hostmaster.example.net 0 0 0 0 0
@ IN NS ns.example.net
;
; NS records do not need address records in this zone as it is not in the
; normal namespace.
;
*. IN A 100.100.100.2
*. IN AAAA 2001:ffff:ffff::100.100.100.2
To redirect all Spanish names (under .ES) one would use entries like these:
*.ES. IN A 100.100.100.3
*.ES. IN AAAA 2001:ffff:ffff::100.100.100.3
To redirect all commercial Spanish names (under COM.ES) one would use
entries like these:
*.COM.ES. IN A 100.100.100.4
*.COM.ES. IN AAAA 2001:ffff:ffff::100.100.100.4
The redirect zone supports all possible types. It is not limited to
A and AAAA record.
-1
View File
@@ -1 +0,0 @@
Makefile
@@ -1,6 +1,3 @@
Makefile
.libs
*.la
*.lo
named-checkconf
named-checkzone
+6 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.c,v 1.41 2010/09/07 23:46:59 tbox Exp $ */
/* $Id: check-tool.c,v 1.44 2011/12/22 07:32:39 each Exp $ */
/*! \file */
@@ -635,7 +635,8 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
/*% dump the zone */
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style)
dns_masterformat_t fileformat, const dns_master_style_t *style,
const isc_uint32_t rawversion)
{
isc_result_t result;
FILE *output = stdout;
@@ -658,8 +659,8 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
}
}
result = dns_zone_dumptostream2(zone, output, fileformat, style);
result = dns_zone_dumptostream3(zone, output, fileformat, style,
rawversion);
if (output != stdout)
(void)isc_stdio_close(output);
+4 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.h,v 1.16 2010/09/07 23:46:59 tbox Exp $ */
/* $Id: check-tool.h,v 1.18 2011/12/09 23:47:02 tbox Exp $ */
#ifndef CHECK_TOOL_H
#define CHECK_TOOL_H
@@ -41,7 +41,8 @@ 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);
dns_masterformat_t fileformat, const dns_master_style_t *style,
const isc_uint32_t rawversion);
#ifdef _WIN32
void InitSockets(void);
+1 -1
View File
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkconf.8,v 1.33 2009/12/29 01:14:03 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+3 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkconf.c,v 1.54 2010/09/07 01:49:08 marka Exp $ */
/* $Id: named-checkconf.c,v 1.56 2011/03/12 04:59:46 tbox Exp $ */
/*! \file */
@@ -190,7 +190,7 @@ configure_zone(const char *vclass, const char *view,
if (obj != NULL)
maps[i++] = obj;
}
maps[i++] = NULL;
maps[i] = NULL;
cfg_map_get(zoptions, "type", &typeobj);
if (typeobj == NULL)
+6 -6
View File
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkconf.html,v 1.33 2009/12/29 01:14:03 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-p</code>] [<code class="option">-z</code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543395"></a><h2>DESCRIPTION</h2>
<a name="id2543396"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkconf</strong></span>
checks the syntax, but not the semantics, of a
<span><strong class="command">named</strong></span> configuration file. The file is parsed
@@ -52,7 +52,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543444"></a><h2>OPTIONS</h2>
<a name="id2543445"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -91,21 +91,21 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543568"></a><h2>RETURN VALUES</h2>
<a name="id2543569"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkconf</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543579"></a><h2>SEE ALSO</h2>
<a name="id2543580"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543609"></a><h2>AUTHOR</h2>
<a name="id2543610"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+21 -8
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkzone.8,v 1.47 2010/01/17 01:14:02 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -33,9 +33,9 @@
named\-checkzone, named\-compilezone \- zone file validity checking or converting tool
.SH "SYNOPSIS"
.HP 16
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
.HP 18
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkzone\fR
@@ -139,11 +139,19 @@ Specify the format of the zone file. Possible formats are
.PP
\-F \fIformat\fR
.RS 4
Specify the format of the output file specified. Possible formats are
Specify the format of the output file specified. For
\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents.
.sp
Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR. For
\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents.
\fB"raw"\fR
or
\fB"raw=N"\fR, which store the zone in a binary format for rapid loading by
\fBnamed\fR.
\fB"raw=N"\fR
specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of
\fBnamed\fR; if N is 1, the file can be read by release 9.9.0 or higher. The default is 1.
.RE
.PP
\-k \fImode\fR
@@ -160,6 +168,11 @@ checks with the specified failure mode. Possible modes are
\fB"ignore"\fR.
.RE
.PP
\-L \fIserial\fR
.RS 4
When compiling a zone to 'raw' format, set the "source serial" value in the header to the specified serial number. (This is expected to be used primarily for testing purposes.)
.RE
.PP
\-m \fImode\fR
.RS 4
Specify whether MX records should be checked to see if they are addresses. Possible modes are
@@ -281,7 +294,7 @@ BIND 9 Administrator Reference Manual.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2007, 2009\-2011 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2002 Internet Software Consortium.
.br
+53 -11
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkzone.c,v 1.61 2010/09/07 23:46:59 tbox Exp $ */
/* $Id: named-checkzone.c,v 1.65 2011/12/22 17:29:22 each Exp $ */
/*! \file */
@@ -39,6 +39,7 @@
#include <dns/db.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/master.h>
#include <dns/masterdump.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
@@ -112,7 +113,12 @@ main(int argc, char **argv) {
const char *outputformatstr = NULL;
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;
isc_boolean_t snset = ISC_FALSE;
isc_boolean_t logdump = ISC_FALSE;
FILE *errout = stdout;
char *endp;
outputstyle = &dns_master_style_full;
@@ -156,7 +162,7 @@ main(int argc, char **argv) {
isc_commandline_errprint = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv,
"c:df:hi:jk:m:n:qr:s:t:o:vw:DF:M:S:W:"))
"c:df:hi:jk:L:m:n:qr:s:t:o:vw:DF:M:S:W:"))
!= EOF) {
switch (c) {
case 'c':
@@ -234,6 +240,17 @@ main(int argc, char **argv) {
}
break;
case 'L':
snset = ISC_TRUE;
endp = NULL;
serialnum = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0') {
fprintf(stderr, "source serial number "
"must be numeric");
exit(1);
}
break;
case 'n':
if (ARGCMP("ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKNS|
@@ -397,7 +414,11 @@ main(int argc, char **argv) {
inputformat = dns_masterformat_text;
else if (strcasecmp(inputformatstr, "raw") == 0)
inputformat = dns_masterformat_raw;
else {
else if (strncasecmp(inputformatstr, "raw=", 4) == 0) {
inputformat = dns_masterformat_raw;
fprintf(stderr,
"WARNING: input format raw, version ignored\n");
} else {
fprintf(stderr, "unknown file format: %s\n",
inputformatstr);
exit(1);
@@ -405,11 +426,22 @@ main(int argc, char **argv) {
}
if (outputformatstr != NULL) {
if (strcasecmp(outputformatstr, "text") == 0)
if (strcasecmp(outputformatstr, "text") == 0) {
outputformat = dns_masterformat_text;
else if (strcasecmp(outputformatstr, "raw") == 0)
} else if (strcasecmp(outputformatstr, "raw") == 0) {
outputformat = dns_masterformat_raw;
else {
} else if (strncasecmp(outputformatstr, "raw=", 4) == 0) {
char *end;
outputformat = dns_masterformat_raw;
rawversion = strtol(outputformatstr + 4, &end, 10);
if (end == outputformatstr + 4 || *end != '\0' ||
rawversion > 1U) {
fprintf(stderr,
"unknown raw format version\n");
exit(1);
}
} else {
fprintf(stderr, "unknown file format: %s\n",
outputformatstr);
exit(1);
@@ -418,6 +450,7 @@ main(int argc, char **argv) {
if (progmode == progmode_compile) {
dumpzone = 1; /* always dump */
logdump = !quiet;
if (output_filename == NULL) {
fprintf(stderr,
"output file required, but not specified\n");
@@ -436,8 +469,10 @@ main(int argc, char **argv) {
(output_filename == NULL ||
strcmp(output_filename, "-") == 0 ||
strcmp(output_filename, "/dev/fd/1") == 0 ||
strcmp(output_filename, "/dev/stdout") == 0))
strcmp(output_filename, "/dev/stdout") == 0)) {
errout = stderr;
logdump = ISC_FALSE;
}
if (isc_commandline_index + 2 != argc)
usage();
@@ -461,14 +496,21 @@ main(int argc, char **argv) {
result = load_zone(mctx, origin, filename, inputformat, classname,
&zone);
if (snset) {
dns_master_initrawheader(&header);
header.flags = DNS_MASTERRAW_SOURCESERIALSET;
header.sourceserial = serialnum;
dns_zone_setrawdata(zone, &header);
}
if (result == ISC_R_SUCCESS && dumpzone) {
if (!quiet && progmode == progmode_compile) {
if (logdump) {
fprintf(errout, "dump zone to %s...", output_filename);
fflush(errout);
}
result = dump_zone(origin, zone, output_filename,
outputformat, outputstyle);
if (!quiet && progmode == progmode_compile)
outputformat, outputstyle, rawversion);
if (logdump)
fprintf(errout, "done\n");
}
+26 -4
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.docbook,v 1.40 2010/01/16 23:48:15 tbox Exp $ -->
<!-- $Id: named-checkzone.docbook,v 1.44 2011/12/22 07:32:39 each Exp $ -->
<refentry id="man.named-checkzone">
<refentryinfo>
<date>June 13, 2000</date>
@@ -38,6 +38,7 @@
<year>2007</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -70,6 +71,7 @@
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">serial</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
@@ -95,6 +97,7 @@
<arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">serial</replaceable></option></arg>
<arg><option>-r <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
@@ -247,12 +250,20 @@
<listitem>
<para>
Specify the format of the output file specified.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
For <command>named-checkzone</command>,
this does not cause any effects unless it dumps the zone
contents.
</para>
<para>
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command> or <command>"raw=N"</command>,
which store the zone in a binary format for rapid loading
by <command>named</command>. <command>"raw=N"</command>
specifies the format version of the raw zone file: if N
is 0, the raw file can be read by any version of
<command>named</command>; if N is 1, the file can be read
by release 9.9.0 or higher. The default is 1.
</para>
</listitem>
</varlistentry>
@@ -271,6 +282,17 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">serial</replaceable></term>
<listitem>
<para>
When compiling a zone to 'raw' format, set the "source serial"
value in the header to the specified serial number. (This is
expected to be used primarily for testing purposes.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-m <replaceable class="parameter">mode</replaceable></term>
<listitem>
+29 -13
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.html,v 1.47 2010/01/17 01:14:02 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,11 +29,11 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543694"></a><h2>DESCRIPTION</h2>
<a name="id2543716"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the
same checks as <span><strong class="command">named</strong></span> does when loading a
@@ -53,7 +53,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543730"></a><h2>OPTIONS</h2>
<a name="id2543751"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
@@ -128,14 +128,24 @@
and <span><strong class="command">"raw"</strong></span>.
</p></dd>
<dt><span class="term">-F <em class="replaceable"><code>format</code></em></span></dt>
<dd><p>
<dd>
<p>
Specify the format of the output file specified.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
For <span><strong class="command">named-checkzone</strong></span>,
this does not cause any effects unless it dumps the zone
contents.
</p></dd>
</p>
<p>
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span> or <span><strong class="command">"raw=N"</strong></span>,
which store the zone in a binary format for rapid loading
by <span><strong class="command">named</strong></span>. <span><strong class="command">"raw=N"</strong></span>
specifies the format version of the raw zone file: if N
is 0, the raw file can be read by any version of
<span><strong class="command">named</strong></span>; if N is 1, the file can be read
by release 9.9.0 or higher. The default is 1.
</p>
</dd>
<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Perform <span><strong class="command">"check-names"</strong></span> checks with the
@@ -146,6 +156,12 @@
(default for <span><strong class="command">named-checkzone</strong></span>) and
<span><strong class="command">"ignore"</strong></span>.
</p></dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
<dd><p>
When compiling a zone to 'raw' format, set the "source serial"
value in the header to the specified serial number. (This is
expected to be used primarily for testing purposes.)
</p></dd>
<dt><span class="term">-m <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Specify whether MX records should be checked to see if they
@@ -247,14 +263,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544377"></a><h2>RETURN VALUES</h2>
<a name="id2544568"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkzone</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544389"></a><h2>SEE ALSO</h2>
<a name="id2544580"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<em class="citetitle">RFC 1035</em>,
@@ -262,7 +278,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544422"></a><h2>AUTHOR</h2>
<a name="id2544613"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -1,3 +1,2 @@
Makefile
ddns-confgen
rndc-confgen
+1 -1
View File
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: ddns-confgen.8,v 1.10 2009/09/19 01:14:52 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+3 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: ddns-confgen.c,v 1.9 2009/09/29 15:06:05 fdupont Exp $ */
/* $Id: ddns-confgen.c,v 1.11 2011/03/12 04:59:46 tbox Exp $ */
/*! \file */
@@ -160,6 +160,7 @@ main(int argc, char **argv) {
argc -= isc_commandline_index;
argv += isc_commandline_index;
POST(argv);
if (self_domain != NULL && zone != NULL)
usage(1); /* -s and -z cannot coexist */
+5 -5
View File
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: ddns-confgen.html,v 1.10 2009/09/19 01:14:52 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ] [<code class="option">-q</code>] [name]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543395"></a><h2>DESCRIPTION</h2>
<a name="id2543396"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">ddns-confgen</strong></span>
generates a key for use by <span><strong class="command">nsupdate</strong></span>
and <span><strong class="command">named</strong></span>. It simplifies configuration
@@ -58,7 +58,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543454"></a><h2>OPTIONS</h2>
<a name="id2543456"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd><p>
@@ -125,7 +125,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543642"></a><h2>SEE ALSO</h2>
<a name="id2543643"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@@ -133,7 +133,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543681"></a><h2>AUTHOR</h2>
<a name="id2543682"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+1 -1
View File
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: rndc-confgen.8,v 1.7 2009/07/11 01:12:45 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+3 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc-confgen.c,v 1.5 2009/09/29 15:06:05 fdupont Exp $ */
/* $Id: rndc-confgen.c,v 1.7 2011/03/12 04:59:46 tbox Exp $ */
/*! \file */
@@ -200,6 +200,7 @@ main(int argc, char **argv) {
argc -= isc_commandline_index;
argv += isc_commandline_index;
POST(argv);
if (argc > 0)
usage(1);
+6 -6
View File
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: rndc-confgen.html,v 1.7 2009/07/11 01:12:45 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543432"></a><h2>DESCRIPTION</h2>
<a name="id2543433"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc-confgen</strong></span>
generates configuration files
for <span><strong class="command">rndc</strong></span>. It can be used as a
@@ -48,7 +48,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543477"></a><h2>OPTIONS</h2>
<a name="id2543478"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd>
@@ -155,7 +155,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543790"></a><h2>EXAMPLES</h2>
<a name="id2543792"></a><h2>EXAMPLES</h2>
<p>
To allow <span><strong class="command">rndc</strong></span> to be used with
no manual configuration, run
@@ -172,7 +172,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543832"></a><h2>SEE ALSO</h2>
<a name="id2543833"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@@ -180,7 +180,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543870"></a><h2>AUTHOR</h2>
<a name="id2543872"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
-1
View File
@@ -1 +0,0 @@
Makefile
@@ -1,6 +1,4 @@
Makefile
dig
host
nslookup
*.lo
.libs
+26 -5
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dig.1,v 1.54 2010/03/05 01:14:15 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -291,7 +291,7 @@ A synonym for
.PP
\fB+[no]adflag\fR
.RS 4
Set [do not set] the AD (authentic data) bit in the query. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range. AD=0 indicate that some part of the answer was insecure or not validated.
Set [do not set] the AD (authentic data) bit in the query. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range. AD=0 indicate that some part of the answer was insecure or not validated. This bit is set by default.
.RE
.PP
\fB+[no]cdflag\fR
@@ -332,6 +332,9 @@ attempts to find the authoritative name servers for the zone containing the name
Toggle tracing of the delegation path from the root name servers for the name being looked up. Tracing is disabled by default. When tracing is enabled,
\fBdig\fR
makes iterative queries to resolve the name being looked up. It will follow referrals from the root servers, showing the answer from each server that was used to resolve the lookup.
.sp
\fB+dnssec\fR
is also set when +trace is set to better emulate the default queries from a nameserver.
.RE
.PP
\fB+[no]cmd\fR
@@ -358,6 +361,24 @@ option is enabled. If short form answers are requested, the default is not to sh
Toggle the display of comment lines in the output. The default is to print comments.
.RE
.PP
\fB+[no]rrcomments\fR
.RS 4
Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records). The default is not to print record comments unless multiline mode is active.
.RE
.PP
\fB+split=W\fR
.RS 4
Split long hex\- or base64\-formatted fields in resource records into chunks of
\fIW\fR
characters (where
\fIW\fR
is rounded up to the nearest multiple of 4).
\fI+nosplit\fR
or
\fI+split=0\fR
causes fields not to be split at all. The default is 56 characters, or 44 characters when multiline mode is active.
.RE
.PP
\fB+[no]stats\fR
.RS 4
This query option toggles the printing of statistics: when the query was made, the size of the reply and so on. The default behavior is to print the query statistics.
@@ -445,7 +466,7 @@ bytes. The maximum and minimum sizes of this buffer are 65535 and 0 respectively
.RS 4
Specify the EDNS version to query with. Valid values are 0 to 255. Setting the EDNS version will cause a EDNS query to be sent.
\fB+noedns\fR
clears the remembered EDNS version.
clears the remembered EDNS version. EDNS is set to 0 by default.
.RE
.PP
\fB+[no]multiline\fR
@@ -567,7 +588,7 @@ RFC1035.
.PP
There are probably too many query options.
.SH "COPYRIGHT"
Copyright \(co 2004\-2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2011 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+78 -22
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.c,v 1.238 2011/02/25 23:11:13 each Exp $ */
/* $Id: dig.c,v 1.245 2011/12/07 17:23:28 each Exp $ */
/*! \file */
@@ -67,7 +67,8 @@ static char domainopt[DNS_NAME_MAXTEXT];
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;
onesoa = ISC_FALSE, rrcomments = ISC_FALSE;
static isc_uint32_t splitwidth = 0xffffffff;
/*% opcode text */
static const char * const opcodetext[] = {
@@ -186,7 +187,7 @@ help(void) {
" +domain=### (Set default domainname)\n"
" +bufsize=### (Set EDNS0 Max UDP packet size)\n"
" +ndots=### (Set NDOTS value)\n"
" +edns=### (Set EDNS version)\n"
" +edns=### (Set EDNS version) [0]\n"
" +[no]search (Set whether to use searchlist)\n"
" +[no]showsearch (Search with intermediate results)\n"
" +[no]defname (Ditto)\n"
@@ -201,6 +202,8 @@ help(void) {
" +[no]cl (Control display of class in records)\n"
" +[no]cmd (Control display of command line)\n"
" +[no]comments (Control display of comment lines)\n"
" +[no]rrcomments (Control display of per-record "
"comments)\n"
" +[no]question (Control display of question)\n"
" +[no]answer (Control display of answer)\n"
" +[no]authority (Control display of authority)\n"
@@ -213,7 +216,7 @@ help(void) {
" +[no]qr (Print question before sending)\n"
" +[no]nssearch (Search all authoritative nameservers)\n"
" +[no]identify (ID responders in short answers)\n"
" +[no]trace (Trace delegation down from root)\n"
" +[no]trace (Trace delegation down from root [+dnssec])\n"
" +[no]dnssec (Request DNSSEC records)\n"
" +[no]nsid (Request Name Server ID)\n"
#ifdef DIG_SIGCHASE
@@ -223,6 +226,7 @@ help(void) {
" +[no]topdown (Do DNSSEC validation top down mode)\n"
#endif
#endif
" +[no]split=## (Split hex/base64 fields into chunks)\n"
" +[no]multiline (Print records in an expanded format)\n"
" +[no]onesoa (AXFR prints only one soa record)\n"
" global d-opts and servers (before host name) affect all queries.\n"
@@ -391,6 +395,8 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
styleflags |= DNS_STYLEFLAG_NO_TTL;
if (noclass)
styleflags |= DNS_STYLEFLAG_NO_CLASS;
if (rrcomments)
styleflags |= DNS_STYLEFLAG_RRCOMMENT;
if (multiline) {
styleflags |= DNS_STYLEFLAG_OMIT_OWNER;
styleflags |= DNS_STYLEFLAG_OMIT_CLASS;
@@ -399,16 +405,21 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
styleflags |= DNS_STYLEFLAG_TTL;
styleflags |= DNS_STYLEFLAG_MULTILINE;
styleflags |= DNS_STYLEFLAG_COMMENT;
styleflags |= DNS_STYLEFLAG_RRCOMMENT;
}
if (multiline || (nottl && noclass))
result = dns_master_stylecreate(&style, styleflags,
24, 24, 24, 32, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 24, 24, 32, 80, 8,
splitwidth, mctx);
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 24, 32, 40, 80, 8,
splitwidth, mctx);
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 32, 40, 48, 80, 8,
splitwidth, mctx);
check_result(result, "dns_master_stylecreate");
result = dns_master_rdatasettotext(owner_name, rdataset, style, target);
@@ -433,6 +444,10 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
unsigned int styleflags = 0;
styleflags |= DNS_STYLEFLAG_REL_OWNER;
if (query->lookup->comments)
styleflags |= DNS_STYLEFLAG_COMMENT;
if (rrcomments)
styleflags |= DNS_STYLEFLAG_RRCOMMENT;
if (nottl)
styleflags |= DNS_STYLEFLAG_NO_TTL;
if (noclass)
@@ -444,17 +459,20 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
styleflags |= DNS_STYLEFLAG_OMIT_TTL;
styleflags |= DNS_STYLEFLAG_TTL;
styleflags |= DNS_STYLEFLAG_MULTILINE;
styleflags |= DNS_STYLEFLAG_COMMENT;
styleflags |= DNS_STYLEFLAG_RRCOMMENT;
}
if (multiline || (nottl && noclass))
result = dns_master_stylecreate(&style, styleflags,
24, 24, 24, 32, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 24, 24, 32, 80, 8,
splitwidth, mctx);
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 24, 32, 40, 80, 8,
splitwidth, mctx);
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
result = dns_master_stylecreate2(&style, styleflags,
24, 32, 40, 48, 80, 8,
splitwidth, mctx);
check_result(result, "dns_master_stylecreate");
if (query->lookup->cmdline[0] != 0) {
@@ -477,8 +495,6 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (!query->lookup->comments)
flags |= DNS_MESSAGETEXTFLAG_NOCOMMENTS;
result = ISC_R_SUCCESS;
result = isc_buffer_allocate(mctx, &buf, len);
check_result(result, "isc_buffer_allocate");
@@ -756,6 +772,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->section_answer = state;
lookup->section_additional = state;
lookup->comments = state;
rrcomments = state;
lookup->stats = state;
printcmd = state;
break;
@@ -914,6 +931,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->identify = ISC_TRUE;
lookup->stats = ISC_FALSE;
lookup->comments = ISC_FALSE;
rrcomments = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
@@ -974,6 +992,10 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto invalid_option;
}
break;
case 'r': /* rrcomments */
FULLCHECK("rrcomments");
rrcomments = state;
break;
default:
goto invalid_option;
}
@@ -1000,6 +1022,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
lookup->comments = ISC_FALSE;
rrcomments = ISC_FALSE;
lookup->stats = ISC_FALSE;
}
break;
@@ -1022,6 +1045,36 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->dnssec = ISC_TRUE;
break;
#endif
case 'p': /* split */
FULLCHECK("split");
if (value != NULL && !state)
goto invalid_option;
if (!state) {
splitwidth = 0;
break;
} else if (value == NULL)
break;
result = parse_uint(&splitwidth, value,
1023, "split");
if (splitwidth % 4 != 0) {
splitwidth = ((splitwidth + 3) / 4) * 4;
fprintf(stderr, ";; Warning, split must be "
"a multiple of 4; adjusting "
"to %d\n", splitwidth);
}
/*
* There is an adjustment done in the
* totext_<rrtype>() functions which causes
* splitwidth to shrink. This is okay when we're
* using the default width but incorrect in this
* case, so we correct for it
*/
if (splitwidth)
splitwidth += 3;
if (result != ISC_R_SUCCESS)
fatal("Couldn't parse retries");
break;
case 't': /* stats */
FULLCHECK("stats");
lookup->stats = state;
@@ -1066,10 +1119,12 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->recurse = ISC_FALSE;
lookup->identify = ISC_TRUE;
lookup->comments = ISC_FALSE;
rrcomments = ISC_FALSE;
lookup->stats = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_authority = ISC_TRUE;
lookup->section_question = ISC_FALSE;
lookup->dnssec = ISC_TRUE;
usesearch = ISC_FALSE;
}
break;
@@ -1473,6 +1528,8 @@ 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->edns = 0;
#ifndef NOPOSIX
/*
@@ -1529,7 +1586,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (strncmp(rv[0], "%", 1) == 0)
break;
if (strncmp(rv[0], "@", 1) == 0) {
addresscount = getaddresses(lookup, &rv[0][1]);
addresscount = getaddresses(lookup, &rv[0][1], NULL);
} else if (rv[0][0] == '+') {
plus_option(&rv[0][1], is_batchfile,
lookup);
@@ -1566,7 +1623,6 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS &&
rdtype == dns_rdatatype_ixfr) {
result = DNS_R_UNKNOWN;
fprintf(stderr, ";; Warning, "
"ixfr requires a "
"serial number\n");
+64 -35
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.docbook,v 1.47 2010/03/04 23:50:34 tbox Exp $ -->
<!-- $Id: dig.docbook,v 1.51 2011/11/04 11:02:50 jreed Exp $ -->
<refentry id="man.dig">
<refentryinfo>
@@ -45,6 +45,7 @@
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -460,7 +461,8 @@
policy of the server. AD=1 indicates that all records
have been validated as secure and the answer is not
from a OPT-OUT range. AD=0 indicate that some part
of the answer was insecure or not validated.
of the answer was insecure or not validated. This
bit is set by default.
</para>
</listitem>
</varlistentry>
@@ -497,19 +499,17 @@
<varlistentry>
<term><option>+[no]recurse</option></term>
<listitem>
<para>
Toggle the setting of the RD (recursion desired) bit in the
query.
This bit is set by default, which means <command>dig</command>
normally sends recursive queries. Recursion is automatically
disabled
when the <parameter>+nssearch</parameter> or
<parameter>+trace</parameter> query options are
used.
</para>
</listitem>
</varlistentry>
<listitem>
<para>
Toggle the setting of the RD (recursion desired) bit
in the query. This bit is set by default, which means
<command>dig</command> normally sends recursive
queries. Recursion is automatically disabled when
the <parameter>+nssearch</parameter> or
<parameter>+trace</parameter> query options are used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]nssearch</option></term>
@@ -529,20 +529,21 @@
<varlistentry>
<term><option>+[no]trace</option></term>
<listitem>
<para>
Toggle tracing of the delegation path from the root name servers
for
the name being looked up. Tracing is disabled by default. When
tracing is enabled, <command>dig</command> makes
iterative queries to
resolve the name being looked up. It will follow referrals from
the
root servers, showing the answer from each server that was used
to
resolve the lookup.
</para>
</listitem>
</varlistentry>
<para>
Toggle tracing of the delegation path from the root
name servers for the name being looked up. Tracing
is disabled by default. When tracing is enabled,
<command>dig</command> makes iterative queries to
resolve the name being looked up. It will follow
referrals from the root servers, showing the answer
from each server that was used to resolve the lookup.
</para>
<para>
<command>+dnssec</command> is also set when +trace is
set to better emulate the default queries from a nameserver.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]cmd</option></term>
@@ -587,8 +588,35 @@
<listitem>
<para>
Toggle the display of comment lines in the output. The default
is to
print comments.
is to print comments.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+[no]rrcomments</option></term>
<listitem>
<para>
Toggle the display of per-record comments in the output (for
example, human-readable key information about DNSKEY records).
The default is not to print record comments unless multiline
mode is active.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>+split=W</option></term>
<listitem>
<para>
Split long hex- or base64-formatted fields in resource
records into chunks of <parameter>W</parameter> characters
(where <parameter>W</parameter> is rounded up to the nearest
multiple of 4).
<parameter>+nosplit</parameter> or
<parameter>+split=0</parameter> causes fields not to be
split at all. The default is 56 characters, or 44 characters
when multiline mode is active.
</para>
</listitem>
</varlistentry>
@@ -748,9 +776,10 @@
<listitem>
<para>
Specify the EDNS version to query with. Valid values
are 0 to 255. Setting the EDNS version will cause a
EDNS query to be sent. <option>+noedns</option> clears the
remembered EDNS version.
are 0 to 255. Setting the EDNS version will cause
a EDNS query to be sent. <option>+noedns</option>
clears the remembered EDNS version. EDNS is set to
0 by default.
</para>
</listitem>
</varlistentry>
+58 -38
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.html,v 1.49 2010/03/05 01:14:15 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -34,7 +34,7 @@
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543522"></a><h2>DESCRIPTION</h2>
<a name="id2543527"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
@@ -80,7 +80,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543595"></a><h2>SIMPLE USAGE</h2>
<a name="id2543601"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -126,7 +126,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543686"></a><h2>OPTIONS</h2>
<a name="id2543691"></a><h2>OPTIONS</h2>
<p>
The <code class="option">-b</code> option sets the source IP address of the query
to <em class="parameter"><code>address</code></em>. This must be a valid
@@ -230,7 +230,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544035"></a><h2>QUERY OPTIONS</h2>
<a name="id2544040"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
@@ -315,7 +315,8 @@
policy of the server. AD=1 indicates that all records
have been validated as secure and the answer is not
from a OPT-OUT range. AD=0 indicate that some part
of the answer was insecure or not validated.
of the answer was insecure or not validated. This
bit is set by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
<dd><p>
@@ -334,15 +335,13 @@
</p></dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
<dd><p>
Toggle the setting of the RD (recursion desired) bit in the
query.
This bit is set by default, which means <span><strong class="command">dig</strong></span>
normally sends recursive queries. Recursion is automatically
disabled
when the <em class="parameter"><code>+nssearch</code></em> or
<em class="parameter"><code>+trace</code></em> query options are
used.
</p></dd>
Toggle the setting of the RD (recursion desired) bit
in the query. This bit is set by default, which means
<span><strong class="command">dig</strong></span> normally sends recursive
queries. Recursion is automatically disabled when
the <em class="parameter"><code>+nssearch</code></em> or
<em class="parameter"><code>+trace</code></em> query options are used.
</p></dd>
<dt><span class="term"><code class="option">+[no]nssearch</code></span></dt>
<dd><p>
When this option is set, <span><strong class="command">dig</strong></span>
@@ -354,18 +353,21 @@
zone.
</p></dd>
<dt><span class="term"><code class="option">+[no]trace</code></span></dt>
<dd><p>
Toggle tracing of the delegation path from the root name servers
for
the name being looked up. Tracing is disabled by default. When
tracing is enabled, <span><strong class="command">dig</strong></span> makes
iterative queries to
resolve the name being looked up. It will follow referrals from
the
root servers, showing the answer from each server that was used
to
resolve the lookup.
</p></dd>
<dd>
<p>
Toggle tracing of the delegation path from the root
name servers for the name being looked up. Tracing
is disabled by default. When tracing is enabled,
<span><strong class="command">dig</strong></span> makes iterative queries to
resolve the name being looked up. It will follow
referrals from the root servers, showing the answer
from each server that was used to resolve the lookup.
</p>
<p>
<span><strong class="command">+dnssec</strong></span> is also set when +trace is
set to better emulate the default queries from a nameserver.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]cmd</code></span></dt>
<dd><p>
Toggles the printing of the initial comment in the output
@@ -392,8 +394,25 @@
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
<dd><p>
Toggle the display of comment lines in the output. The default
is to
print comments.
is to print comments.
</p></dd>
<dt><span class="term"><code class="option">+[no]rrcomments</code></span></dt>
<dd><p>
Toggle the display of per-record comments in the output (for
example, human-readable key information about DNSKEY records).
The default is not to print record comments unless multiline
mode is active.
</p></dd>
<dt><span class="term"><code class="option">+split=W</code></span></dt>
<dd><p>
Split long hex- or base64-formatted fields in resource
records into chunks of <em class="parameter"><code>W</code></em> characters
(where <em class="parameter"><code>W</code></em> is rounded up to the nearest
multiple of 4).
<em class="parameter"><code>+nosplit</code></em> or
<em class="parameter"><code>+split=0</code></em> causes fields not to be
split at all. The default is 56 characters, or 44 characters
when multiline mode is active.
</p></dd>
<dt><span class="term"><code class="option">+[no]stats</code></span></dt>
<dd><p>
@@ -488,9 +507,10 @@
<dt><span class="term"><code class="option">+edns=#</code></span></dt>
<dd><p>
Specify the EDNS version to query with. Valid values
are 0 to 255. Setting the EDNS version will cause a
EDNS query to be sent. <code class="option">+noedns</code> clears the
remembered EDNS version.
are 0 to 255. Setting the EDNS version will cause
a EDNS query to be sent. <code class="option">+noedns</code>
clears the remembered EDNS version. EDNS is set to
0 by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
<dd><p>
@@ -561,7 +581,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545184"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2545303"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -607,7 +627,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545245"></a><h2>IDN SUPPORT</h2>
<a name="id2545365"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -621,14 +641,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545336"></a><h2>FILES</h2>
<a name="id2545387"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545353"></a><h2>SEE ALSO</h2>
<a name="id2545404"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
@@ -636,7 +656,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545390"></a><h2>BUGS</h2>
<a name="id2545442"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
+68 -36
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dighost.c,v 1.339 2011/02/25 23:11:13 each Exp $ */
/* $Id: dighost.c,v 1.345 2011/12/07 17:23:28 each Exp $ */
/*! \file
* \note
@@ -66,6 +66,7 @@
#include <dns/tsig.h>
#include <dst/dst.h>
#include <dst/result.h>
#include <isc/app.h>
#include <isc/base64.h>
@@ -81,6 +82,7 @@
#include <isc/print.h>
#include <isc/random.h>
#include <isc/result.h>
#include <isc/serial.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/timer.h>
@@ -742,7 +744,7 @@ make_empty_lookup(void) {
looknew->xfr_q = NULL;
looknew->current_query = NULL;
looknew->doing_xfr = ISC_FALSE;
looknew->ixfr_serial = ISC_FALSE;
looknew->ixfr_serial = 0;
looknew->trace = ISC_FALSE;
looknew->trace_root = ISC_FALSE;
looknew->identify = ISC_FALSE;
@@ -925,6 +927,11 @@ setup_text_key(void) {
secretsize = isc_buffer_usedlength(&secretbuf);
if (hmacname == NULL) {
result = DST_R_UNSUPPORTEDALG;
goto failure;
}
result = dns_name_fromtext(&keyname, namebuf, dns_rootname, 0, namebuf);
if (result != ISC_R_SUCCESS)
goto failure;
@@ -1698,6 +1705,9 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
isc_result_t result;
isc_boolean_t success = ISC_FALSE;
int numLookups = 0;
int num;
isc_result_t lresult, addresses_result;
char bad_namestr[DNS_NAME_FORMATSIZE];
dns_name_t *domain;
isc_boolean_t horizontal = ISC_FALSE, bad = ISC_FALSE;
@@ -1705,6 +1715,8 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
debug("following up %s", query->lookup->textname);
addresses_result = ISC_R_SUCCESS;
bad_namestr[0] = '\0';
for (result = dns_message_firstname(msg, section);
result == ISC_R_SUCCESS;
result = dns_message_nextname(msg, section)) {
@@ -1788,10 +1800,23 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
dns_name_copy(name, domain, NULL);
}
debug("adding server %s", namestr);
numLookups += getaddresses(lookup, namestr);
num = getaddresses(lookup, namestr, &lresult);
if (lresult != ISC_R_SUCCESS) {
debug("couldn't get address for '%s': %s",
namestr, isc_result_totext(lresult));
if (addresses_result == ISC_R_SUCCESS) {
addresses_result = lresult;
strcpy(bad_namestr, namestr);
}
}
numLookups += num;
dns_rdata_reset(&rdata);
}
}
if (numLookups == 0 && addresses_result != ISC_R_SUCCESS) {
fatal("couldn't get address for '%s': %s",
bad_namestr, isc_result_totext(result));
}
if (lookup == NULL &&
section == DNS_SECTION_ANSWER &&
@@ -1804,17 +1829,25 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
if (numLookups > 1) {
isc_uint32_t i, j;
dig_serverlist_t my_server_list;
dig_server_t *next;
ISC_LIST_INIT(my_server_list);
for (i = numLookups; i > 0; i--) {
i = numLookups;
for (srv = ISC_LIST_HEAD(lookup->my_server_list);
srv != NULL;
srv = ISC_LIST_HEAD(lookup->my_server_list)) {
INSIST(i > 0);
isc_random_get(&j);
j %= i;
srv = ISC_LIST_HEAD(lookup->my_server_list);
while (j-- > 0)
srv = ISC_LIST_NEXT(srv, link);
next = ISC_LIST_NEXT(srv, link);
while (j-- > 0 && next != NULL) {
srv = next;
next = ISC_LIST_NEXT(srv, link);
}
ISC_LIST_DEQUEUE(lookup->my_server_list, srv, link);
ISC_LIST_APPEND(my_server_list, srv, link);
i--;
}
ISC_LIST_APPENDLIST(lookup->my_server_list,
my_server_list, link);
@@ -1830,12 +1863,10 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
* Return ISC_TRUE iff there was another searchlist entry.
*/
static isc_boolean_t
next_origin(dns_message_t *msg, dig_query_t *query) {
next_origin(dig_query_t *query) {
dig_lookup_t *lookup;
dig_searchlist_t *search;
UNUSED(msg);
INSIST(!free_now);
debug("next_origin()");
@@ -2857,8 +2888,10 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
dns_rdataset_t *rdataset = NULL;
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdata_soa_t soa;
isc_uint32_t serial;
isc_uint32_t ixfr_serial = query->lookup->ixfr_serial, serial;
isc_result_t result;
isc_boolean_t ixfr = query->lookup->rdtype == dns_rdatatype_ixfr;
isc_boolean_t axfr = query->lookup->rdtype == dns_rdatatype_axfr;
debug("check_for_more_data()");
@@ -2908,6 +2941,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
query->second_rr_rcvd = ISC_TRUE;
query->second_rr_serial = 0;
debug("got the second rr as nonsoa");
axfr = ISC_TRUE;
goto next_rdata;
}
@@ -2917,6 +2951,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
*/
if (rdata.type != dns_rdatatype_soa)
goto next_rdata;
/* Now we have an SOA. Work with it. */
debug("got an SOA");
result = dns_rdata_tostruct(&rdata, &soa, NULL);
@@ -2926,15 +2961,17 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
if (!query->first_soa_rcvd) {
query->first_soa_rcvd = ISC_TRUE;
query->first_rr_serial = serial;
debug("this is the first %d",
query->lookup->ixfr_serial);
if (query->lookup->ixfr_serial >=
serial)
debug("this is the first serial %u",
serial);
if (ixfr && isc_serial_ge(ixfr_serial,
serial)) {
debug("got up to date "
"response");
goto doexit;
}
goto next_rdata;
}
if (query->lookup->rdtype ==
dns_rdatatype_axfr) {
if (axfr) {
debug("doing axfr, got second SOA");
goto doexit;
}
@@ -2944,22 +2981,12 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
"empty zone");
goto doexit;
}
debug("this is the second %d",
query->lookup->ixfr_serial);
debug("this is the second serial %u",
serial);
query->second_rr_rcvd = ISC_TRUE;
query->second_rr_serial = serial;
goto next_rdata;
}
if (query->second_rr_serial == 0) {
/*
* If the second RR was a non-SOA
* record, and we're getting any
* other SOA, then this is an
* AXFR, and we're done.
*/
debug("done, since axfr");
goto doexit;
}
/*
* If we get to this point, we're doing an
* IXFR and have to start really looking
@@ -2975,7 +3002,7 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
debug("done with ixfr");
goto doexit;
}
debug("meaningless soa %d", serial);
debug("meaningless soa %u", serial);
next_rdata:
result = dns_rdataset_next(rdataset);
} while (result == ISC_R_SUCCESS);
@@ -3352,7 +3379,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (!l->doing_xfr || l->xfr_q == query) {
if (msg->rcode != dns_rcode_noerror &&
(l->origin != NULL || l->need_search)) {
if (!next_origin(msg, query) || showsearch) {
if (!next_origin(query) || showsearch) {
printmessage(query, msg, ISC_TRUE);
received(b->used, &sevent->address, query);
}
@@ -3538,7 +3565,7 @@ get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr) {
}
int
getaddresses(dig_lookup_t *lookup, const char *host) {
getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) {
isc_result_t result;
isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES];
isc_netaddr_t netaddr;
@@ -3548,9 +3575,14 @@ getaddresses(dig_lookup_t *lookup, const char *host) {
result = bind9_getaddresses(host, 0, sockaddrs,
DIG_MAX_ADDRESSES, &count);
if (result != ISC_R_SUCCESS)
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
if (resultp != NULL)
*resultp = result;
if (result != ISC_R_SUCCESS) {
if (resultp == NULL)
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
return 0;
}
for (i = 0; i < count; i++) {
isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
@@ -4200,7 +4232,6 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
return (result);
}
isc_result_t
get_trusted_key(isc_mem_t *mctx)
{
@@ -4262,6 +4293,7 @@ get_trusted_key(isc_mem_t *mctx)
if (key != NULL)
dst_key_free(&key);
}
fclose(fp);
return (ISC_R_SUCCESS);
}
+1 -1
View File
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: host.1,v 1.31 2009/07/11 01:12:45 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+2 -1
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: host.c,v 1.126 2011/02/21 23:47:44 tbox Exp $ */
/* $Id: host.c,v 1.127 2011/03/11 06:11:20 marka Exp $ */
/*! \file */
@@ -521,6 +521,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
printf("%scd", did_flag ? " " : "");
did_flag = ISC_TRUE;
POST(did_flag);
}
printf("; QUERY: %u, ANSWER: %u, "
"AUTHORITY: %u, ADDITIONAL: %u\n",
+5 -5
View File
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.html,v 1.30 2009/07/11 01:12:45 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543434"></a><h2>DESCRIPTION</h2>
<a name="id2543436"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
@@ -184,7 +184,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543800"></a><h2>IDN SUPPORT</h2>
<a name="id2543802"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -198,12 +198,12 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543822"></a><h2>FILES</h2>
<a name="id2543825"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543834"></a><h2>SEE ALSO</h2>
<a name="id2543836"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
+3 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.h,v 1.112 2011/02/25 23:11:13 each Exp $ */
/* $Id: dig.h,v 1.114 2011/12/07 17:23:28 each Exp $ */
#ifndef DIG_H
#define DIG_H
@@ -289,7 +289,7 @@ isc_result_t
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
int
getaddresses(dig_lookup_t *lookup, const char *host);
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,
+1 -1
View File
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: nslookup.1,v 1.16 2010/02/23 01:14:31 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+45 -23
View File
@@ -15,11 +15,12 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nslookup.c,v 1.129 2011/02/21 23:47:44 tbox Exp $ */
/* $Id: nslookup.c,v 1.130 2011/12/16 23:01:16 each Exp $ */
#include <config.h>
#include <stdlib.h>
#include <unistd.h>
#include <isc/app.h>
#include <isc/buffer.h>
@@ -45,6 +46,11 @@
#include <dig/dig.h>
#if defined(HAVE_READLINE)
#include <readline/readline.h>
#include <readline/history.h>
#endif
static isc_boolean_t short_form = ISC_TRUE,
tcpmode = ISC_FALSE,
identify = ISC_FALSE, stats = ISC_TRUE,
@@ -53,6 +59,8 @@ static isc_boolean_t short_form = ISC_TRUE,
section_additional = ISC_TRUE, recurse = ISC_TRUE,
aaonly = ISC_FALSE, nofail = ISC_TRUE;
static isc_boolean_t interactive;
static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
@@ -708,28 +716,12 @@ addlookup(char *opt) {
}
static void
get_next_command(void) {
char *buf;
do_next_command(char *input) {
char *ptr, *arg;
char *input;
fflush(stdout);
buf = isc_mem_allocate(mctx, COMMSIZE);
if (buf == NULL)
fatal("memory allocation failure");
fputs("> ", stderr);
fflush(stderr);
isc_app_block();
ptr = fgets(buf, COMMSIZE, stdin);
isc_app_unblock();
if (ptr == NULL) {
in_use = ISC_FALSE;
goto cleanup;
}
input = buf;
ptr = next_token(&input, " \t\r\n");
if (ptr == NULL)
goto cleanup;
return;
arg = next_token(&input, " \t\r\n");
if ((strcasecmp(ptr, "set") == 0) &&
(arg != NULL))
@@ -743,20 +735,48 @@ get_next_command(void) {
show_settings(ISC_TRUE, ISC_TRUE);
} else if (strcasecmp(ptr, "exit") == 0) {
in_use = ISC_FALSE;
goto cleanup;
} else if (strcasecmp(ptr, "help") == 0 ||
strcasecmp(ptr, "?") == 0) {
printf("The '%s' command is not yet implemented.\n", ptr);
goto cleanup;
} else if (strcasecmp(ptr, "finger") == 0 ||
strcasecmp(ptr, "root") == 0 ||
strcasecmp(ptr, "ls") == 0 ||
strcasecmp(ptr, "view") == 0) {
printf("The '%s' command is not implemented.\n", ptr);
goto cleanup;
} else
addlookup(ptr);
cleanup:
}
static void
get_next_command(void) {
char *buf;
char *ptr;
fflush(stdout);
buf = isc_mem_allocate(mctx, COMMSIZE);
if (buf == NULL)
fatal("memory allocation failure");
isc_app_block();
if (interactive) {
#ifdef HAVE_READLINE
ptr = readline("> ");
add_history(ptr);
#else
fputs("> ", stderr);
fflush(stderr);
ptr = fgets(buf, COMMSIZE, stdin);
#endif
} else
ptr = fgets(buf, COMMSIZE, stdin);
isc_app_unblock();
if (ptr == NULL) {
in_use = ISC_FALSE;
} else
do_next_command(ptr);
#ifdef HAVE_READLINE
if (interactive)
free(ptr);
#endif
isc_mem_free(mctx, buf);
}
@@ -852,6 +872,8 @@ int
main(int argc, char **argv) {
isc_result_t result;
interactive = ISC_TF(isatty(0));
ISC_LIST_INIT(lookup_list);
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
+8 -8
View File
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nslookup.html,v 1.23 2010/02/23 01:14:31 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -21,7 +21,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2476276"></a><div class="titlepage"></div>
<a name="id2476277"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>nslookup &#8212; query Internet name servers interactively</p>
@@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">nslookup</code> [<code class="option">-option</code>] [name | -] [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543358"></a><h2>DESCRIPTION</h2>
<a name="id2543361"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">Nslookup</strong></span>
is a program to query Internet domain name servers. <span><strong class="command">Nslookup</strong></span>
has two modes: interactive and non-interactive. Interactive mode allows
@@ -43,7 +43,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543374"></a><h2>ARGUMENTS</h2>
<a name="id2543377"></a><h2>ARGUMENTS</h2>
<p>
Interactive mode is entered in the following cases:
</p>
@@ -78,7 +78,7 @@ nslookup -query=hinfo -timeout=10
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543418"></a><h2>INTERACTIVE COMMANDS</h2>
<a name="id2543420"></a><h2>INTERACTIVE COMMANDS</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">host</code> [<span class="optional">server</span>]</span></dt>
<dd>
@@ -288,19 +288,19 @@ nslookup -query=hinfo -timeout=10
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2546284"></a><h2>FILES</h2>
<a name="id2546286"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2546296"></a><h2>SEE ALSO</h2>
<a name="id2546298"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2546330"></a><h2>Author</h2>
<a name="id2546332"></a><h2>Author</h2>
<p>
Andrew Cherenson
</p>
@@ -1,4 +1,3 @@
Makefile
dnssec-dsfromkey
dnssec-keyfromlabel
dnssec-keygen
@@ -7,5 +6,4 @@ dnssec-revoke
dnssec-settime
dnssec-signkey
dnssec-signzone
*.lo
.libs
+19 -5
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-dsfromkey.8,v 1.13 2010/12/24 01:14:20 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -32,9 +32,9 @@
dnssec\-dsfromkey \- DNSSEC DS RR generation tool
.SH "SYNOPSIS"
.HP 17
\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] {keyfile}
\fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] {keyfile}
.HP 17
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-A\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {dnsname}
\fBdnssec\-dsfromkey\fR {\-s} [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-A\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {dnsname}
.SH "DESCRIPTION"
.PP
\fBdnssec\-dsfromkey\fR
@@ -58,6 +58,11 @@ Select the digest algorithm. The value of
must be one of SHA\-1 (SHA1), SHA\-256 (SHA256) or GOST. These values are case insensitive.
.RE
.PP
\-T \fITTL\fR
.RS 4
Specifies the TTL of the DS records.
.RE
.PP
\-K \fIdirectory\fR
.RS 4
Look for key files (or, in keyset mode,
@@ -71,6 +76,15 @@ files) in
Zone file mode: in place of the keyfile name, the argument is the DNS domain name of a zone master file, which can be read from
\fBfile\fR. If the zone name is the same as
\fBfile\fR, then it may be omitted.
.sp
If
\fBfile\fR
is set to
"\-", then the zone data is read from the standard input. This makes it possible to use the output of the
\fBdig\fR
command as input, as in:
.sp
\fBdig dnskey example.com | dnssec\-dsfromkey \-f \- example.com\fR
.RE
.PP
\-A
@@ -139,5 +153,5 @@ RFC 4509.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2008\-2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC")
.br
+47 -15
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-dsfromkey.c,v 1.19 2010/12/23 04:07:59 marka Exp $ */
/* $Id: dnssec-dsfromkey.c,v 1.24 2011/10/25 01:54:18 marka Exp $ */
/*! \file */
@@ -31,12 +31,13 @@
#include <isc/string.h>
#include <isc/util.h>
#include <dns/callbacks.h>
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/ds.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/keyvalues.h>
#include <dns/log.h>
#include <dns/master.h>
#include <dns/name.h>
#include <dns/rdata.h>
@@ -61,6 +62,7 @@ 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_result_t
initname(char *setname) {
@@ -76,8 +78,28 @@ initname(char *setname) {
return (result);
}
static void
db_load_from_stream(dns_db_t *db, FILE *fp) {
isc_result_t result;
dns_rdatacallbacks_t callbacks;
dns_rdatacallbacks_init(&callbacks);
result = dns_db_beginload(db, &callbacks.add, &callbacks.add_private);
if (result != ISC_R_SUCCESS)
fatal("dns_db_beginload failed: %s", isc_result_totext(result));
result = dns_master_loadstream(fp, name, name, rdclass, 0,
&callbacks, mctx);
if (result != ISC_R_SUCCESS)
fatal("can't load from input: %s", isc_result_totext(result));
result = dns_db_endload(db, &callbacks.add_private);
if (result != ISC_R_SUCCESS)
fatal("dns_db_endload failed: %s", isc_result_totext(result));
}
static isc_result_t
loadsetfromfile(char *filename, dns_rdataset_t *rdataset) {
loadset(const char *filename, dns_rdataset_t *rdataset) {
isc_result_t result;
dns_db_t *db = NULL;
dns_dbnode_t *node = NULL;
@@ -90,9 +112,15 @@ loadsetfromfile(char *filename, dns_rdataset_t *rdataset) {
if (result != ISC_R_SUCCESS)
fatal("can't create database");
result = dns_db_load(db, filename);
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
fatal("can't load %s: %s", filename, isc_result_totext(result));
if (strcmp(filename, "-") == 0) {
db_load_from_stream(db, stdin);
filename = "input";
} else {
result = dns_db_load(db, filename);
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
fatal("can't load %s: %s", filename,
isc_result_totext(result));
}
result = dns_db_findnode(db, name, ISC_FALSE, &node);
if (result != ISC_R_SUCCESS)
@@ -141,7 +169,7 @@ loadkeyset(char *dirname, dns_rdataset_t *rdataset) {
return (ISC_R_NOSPACE);
isc_buffer_putuint8(&buf, 0);
return (loadsetfromfile(filename, rdataset));
return (loadset(filename, rdataset));
}
static void
@@ -265,12 +293,13 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
fatal("can't print class");
isc_buffer_usedregion(&nameb, &r);
isc_util_fwrite(r.base, 1, r.length, stdout);
printf("%.*s ", (int)r.length, r.base);
putchar(' ');
if (ttl != 0U)
printf("%u ", ttl);
isc_buffer_usedregion(&classb, &r);
isc_util_fwrite(r.base, 1, r.length, stdout);
printf("%.*s", (int)r.length, r.base);
if (lookaside == NULL)
printf(" DS ");
@@ -278,8 +307,7 @@ emit(unsigned int dtype, isc_boolean_t showall, char *lookaside,
printf(" DLV ");
isc_buffer_usedregion(&textb, &r);
isc_util_fwrite(r.base, 1, r.length, stdout);
putchar('\n');
printf("%.*s\n", (int)r.length, r.base);
}
ISC_PLATFORM_NORETURN_PRE static void
@@ -305,6 +333,7 @@ usage(void) {
fprintf(stderr, " -l: add lookaside zone and print DLV records\n");
fprintf(stderr, " -s: read keyset from keyset-<dnsname> file\n");
fprintf(stderr, " -c class: rdata class for DS set (default: IN)\n");
fprintf(stderr, " -T TTL\n");
fprintf(stderr, " -f file: read keyset from zone file\n");
fprintf(stderr, " -A: when used with -f, "
"include all keys in DS set, not just KSKs\n");
@@ -344,7 +373,7 @@ main(int argc, char **argv) {
isc_commandline_errprint = ISC_FALSE;
while ((ch = isc_commandline_parse(argc, argv,
"12Aa:c:d:Ff:K:l:sv:h")) != -1) {
"12Aa:c:d:Ff:K:l:sT:v:h")) != -1) {
switch (ch) {
case '1':
dtype = DNS_DSDIGEST_SHA1;
@@ -384,6 +413,9 @@ main(int argc, char **argv) {
case 's':
usekeyset = ISC_TRUE;
break;
case 'T':
ttl = atol(isc_commandline_argument);
break;
case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
@@ -466,7 +498,7 @@ main(int argc, char **argv) {
if (usekeyset)
result = loadkeyset(dir, &rdataset);
else
result = loadsetfromfile(filename, &rdataset);
result = loadset(filename, &rdataset);
if (result != ISC_R_SUCCESS)
fatal("could not load DNSKEY set: %s\n",
+23 -2
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-dsfromkey.docbook,v 1.12 2010/12/23 23:47:08 tbox Exp $ -->
<!-- $Id: dnssec-dsfromkey.docbook,v 1.17 2011/10/25 01:54:18 marka Exp $ -->
<refentry id="man.dnssec-dsfromkey">
<refentryinfo>
<date>August 26, 2009</date>
@@ -39,6 +39,7 @@
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -51,6 +52,7 @@
<arg><option>-2</option></arg>
<arg><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="req">keyfile</arg>
</cmdsynopsis>
<cmdsynopsis>
@@ -63,6 +65,7 @@
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg><option>-s</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">file</replaceable></option></arg>
<arg><option>-A</option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
@@ -112,6 +115,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-T <replaceable class="parameter">TTL</replaceable></term>
<listitem>
<para>
Specifies the TTL of the DS records.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-K <replaceable class="parameter">directory</replaceable></term>
<listitem>
@@ -132,6 +144,15 @@
from <option>file</option>. If the zone name is the same as
<option>file</option>, then it may be omitted.
</para>
<para>
If <option>file</option> is set to <literal>"-"</literal>, then
the zone data is read from the standard input. This makes it
possible to use the output of the <command>dig</command>
command as input, as in:
</para>
<para>
<userinput>dig dnskey example.com | dnssec-dsfromkey -f - example.com</userinput>
</para>
</listitem>
</varlistentry>
+28 -13
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-dsfromkey.html,v 1.13 2010/12/24 01:14:19 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -28,18 +28,18 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543464"></a><h2>DESCRIPTION</h2>
<a name="id2543485"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-dsfromkey</strong></span>
outputs the Delegation Signer (DS) resource record (RR), as defined in
RFC 3658 and RFC 4509, for the given key(s).
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543476"></a><h2>OPTIONS</h2>
<a name="id2543497"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -56,6 +56,10 @@
<code class="option">algorithm</code> must be one of SHA-1 (SHA1),
SHA-256 (SHA256) or GOST. These values are case insensitive.
</p></dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd><p>
Specifies the TTL of the DS records.
</p></dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
Look for key files (or, in keyset mode,
@@ -63,12 +67,23 @@
<code class="option">directory</code>.
</p></dd>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
<dd><p>
<dd>
<p>
Zone file mode: in place of the keyfile name, the argument is
the DNS domain name of a zone master file, which can be read
from <code class="option">file</code>. If the zone name is the same as
<code class="option">file</code>, then it may be omitted.
</p></dd>
</p>
<p>
If <code class="option">file</code> is set to <code class="literal">"-"</code>, then
the zone data is read from the standard input. This makes it
possible to use the output of the <span><strong class="command">dig</strong></span>
command as input, as in:
</p>
<p>
<strong class="userinput"><code>dig dnskey example.com | dnssec-dsfromkey -f - example.com</code></strong>
</p>
</dd>
<dt><span class="term">-A</span></dt>
<dd><p>
Include ZSK's when generating DS records. Without this option,
@@ -100,7 +115,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543662"></a><h2>EXAMPLE</h2>
<a name="id2543723"></a><h2>EXAMPLE</h2>
<p>
To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@@ -115,7 +130,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543692"></a><h2>FILES</h2>
<a name="id2543753"></a><h2>FILES</h2>
<p>
The keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
@@ -129,13 +144,13 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543728"></a><h2>CAVEAT</h2>
<a name="id2543788"></a><h2>CAVEAT</h2>
<p>
A keyfile error can give a "file not found" even if the file exists.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543737"></a><h2>SEE ALSO</h2>
<a name="id2543798"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -145,7 +160,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543777"></a><h2>AUTHOR</h2>
<a name="id2543837"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+11 -2
View File
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keyfromlabel.8,v 1.19 2011/02/04 01:14:14 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -32,7 +32,7 @@
dnssec\-keyfromlabel \- DNSSEC key generation tool
.SH "SYNOPSIS"
.HP 20
\fBdnssec\-keyfromlabel\fR {\-l\ \fIlabel\fR} [\fB\-3\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-k\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-y\fR] {name}
\fBdnssec\-keyfromlabel\fR {\-l\ \fIlabel\fR} [\fB\-3\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-k\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-y\fR] {name}
.SH "DESCRIPTION"
.PP
\fBdnssec\-keyfromlabel\fR
@@ -122,6 +122,15 @@ Sets the directory in which the key files are to be written.
Generate KEY records rather than DNSKEY records.
.RE
.PP
\-L \fIttl\fR
.RS 4
Sets the default TTL to use for this key when it is converted into a DNSKEY RR. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence. Setting the default TTL to
0
or
none
removes it.
.RE
.PP
\-p \fIprotocol\fR
.RS 4
Sets the protocol value for the key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
+32 -7
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2007-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2007-2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-keyfromlabel.c,v 1.32 2010/12/23 04:07:59 marka Exp $ */
/* $Id: dnssec-keyfromlabel.c,v 1.38 2011/11/30 00:48:51 marka Exp $ */
/*! \file */
@@ -84,6 +84,7 @@ usage(void) {
fprintf(stderr, " -K directory: directory in which to place "
"key files\n");
fprintf(stderr, " -k: generate a TYPE=KEY key\n");
fprintf(stderr, " -L ttl: default key TTL\n");
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | OTHER\n");
fprintf(stderr, " (DNSKEY generation defaults to ZONE\n");
fprintf(stderr, " -p protocol: default: 3 [dnssec]\n");
@@ -110,7 +111,8 @@ usage(void) {
int
main(int argc, char **argv) {
char *algname = NULL, *nametype = NULL, *type = NULL;
char *algname = NULL, *freeit = NULL;
char *nametype = NULL, *type = NULL;
const char *directory = NULL;
#ifdef USE_PKCS11
const char *engine = "pkcs11";
@@ -137,12 +139,13 @@ main(int argc, char **argv) {
dns_rdataclass_t rdclass;
int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC;
char *label = NULL;
dns_ttl_t ttl = 0;
isc_stdtime_t publish = 0, activate = 0, revoke = 0;
isc_stdtime_t inactive = 0, delete = 0;
isc_stdtime_t now;
isc_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
isc_boolean_t setdel = 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;
@@ -164,7 +167,7 @@ main(int argc, char **argv) {
isc_stdtime_get(&now);
while ((ch = isc_commandline_parse(argc, argv,
"3a:Cc:E:f:K:kl:n:p:t:v:yFhGP:A:R:I:D:")) != -1)
"3a:Cc:E:f:K:kl:L:n:p:t:v:yFhGP:A:R:I:D:")) != -1)
{
switch (ch) {
case '3':
@@ -202,6 +205,13 @@ main(int argc, char **argv) {
case 'k':
options |= DST_TYPE_KEY;
break;
case 'L':
if (strcmp(isc_commandline_argument, "none") == 0)
ttl = 0;
else
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
break;
case 'l':
label = isc_mem_strdup(mctx, isc_commandline_argument);
break;
@@ -342,6 +352,9 @@ main(int argc, char **argv) {
algname = strdup(DEFAULT_NSEC3_ALGORITHM);
else
algname = strdup(DEFAULT_ALGORITHM);
if (algname == NULL)
fatal("strdup failed");
freeit = algname;
if (verbose > 0)
fprintf(stderr, "no algorithm specified; "
"defaulting to %s\n", algname);
@@ -509,15 +522,21 @@ main(int argc, char **argv) {
dst_key_setprivateformat(key, 1, 2);
}
/* Set default key TTL */
if (setttl)
dst_key_setttl(key, ttl);
/*
* Do not overwrite an existing key. Warn LOUDLY if there
* is a risk of ID collision due to this key or another key
* being revoked.
*/
if (key_collision(dst_key_id(key), name, directory, alg, mctx, &exact))
{
if (key_collision(key, name, directory, mctx, &exact)) {
isc_buffer_clear(&buf);
ret = dst_key_buildfilename(key, 0, directory, &buf);
if (ret != ISC_R_SUCCESS)
fatal("dst_key_buildfilename returned: %s\n",
isc_result_totext(ret));
if (exact)
fatal("%s: %s already exists\n", program, filename);
@@ -542,6 +561,9 @@ main(int argc, char **argv) {
isc_buffer_clear(&buf);
ret = dst_key_buildfilename(key, 0, NULL, &buf);
if (ret != ISC_R_SUCCESS)
fatal("dst_key_buildfilename returned: %s\n",
isc_result_totext(ret));
printf("%s\n", filename);
dst_key_free(&key);
@@ -554,5 +576,8 @@ main(int argc, char **argv) {
isc_mem_free(mctx, label);
isc_mem_destroy(&mctx);
if (freeit != NULL)
free(freeit);
return (0);
}
+16 -1
View File
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.20 2011/02/03 12:18:10 tbox Exp $ -->
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.21 2011/03/17 01:40:34 each Exp $ -->
<refentry id="man.dnssec-keyfromlabel">
<refentryinfo>
<date>February 8, 2008</date>
@@ -59,6 +59,7 @@
<arg><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-k</option></arg>
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">ttl</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
<arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
@@ -234,6 +235,20 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<literal>0</literal> or <literal>none</literal> removes it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable class="parameter">protocol</replaceable></term>
<listitem>
+17 -8
View File
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keyfromlabel.html,v 1.18 2011/02/04 01:14:14 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -28,10 +28,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543494"></a><h2>DESCRIPTION</h2>
<a name="id2543504"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span>
gets keys with the given label from a crypto hardware and builds
key files for DNSSEC (Secure DNS), as defined in RFC 2535
@@ -44,7 +44,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543512"></a><h2>OPTIONS</h2>
<a name="id2543522"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -134,6 +134,15 @@
<dd><p>
Generate KEY records rather than DNSKEY records.
</p></dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<code class="literal">0</code> or <code class="literal">none</code> removes it.
</p></dd>
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
<dd><p>
Sets the protocol value for the key. The protocol
@@ -163,7 +172,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543876"></a><h2>TIMING OPTIONS</h2>
<a name="id2543977"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -210,7 +219,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544042"></a><h2>GENERATED KEY FILES</h2>
<a name="id2543051"></a><h2>GENERATED KEY FILES</h2>
<p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully,
@@ -249,7 +258,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544115"></a><h2>SEE ALSO</h2>
<a name="id2543124"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -257,7 +266,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544148"></a><h2>AUTHOR</h2>
<a name="id2543157"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+13 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keygen.8,v 1.55 2010/12/24 01:14:19 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
dnssec\-keygen \- DNSSEC key generation tool
.SH "SYNOPSIS"
.HP 14
\fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
\fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-k\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
.SH "DESCRIPTION"
.PP
\fBdnssec\-keygen\fR
@@ -139,6 +139,15 @@ Sets the directory in which the key files are to be written.
Deprecated in favor of \-T KEY.
.RE
.PP
\-L \fIttl\fR
.RS 4
Sets the default TTL to use for this key when it is converted into a DNSKEY RR. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence. Setting the default TTL to
0
or
none
removes it.
.RE
.PP
\-p \fIprotocol\fR
.RS 4
Sets the protocol value for the generated key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
@@ -298,7 +307,7 @@ RFC 4034.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007\-2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007\-2011 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+39 -15
View File
@@ -1,5 +1,5 @@
/*
* Portions Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,7 +29,7 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-keygen.c,v 1.115 2010/12/23 04:07:59 marka Exp $ */
/* $Id: dnssec-keygen.c,v 1.120 2011/11/30 00:48:51 marka Exp $ */
/*! \file */
@@ -125,7 +125,9 @@ usage(void) {
fprintf(stderr, " -f <keyflag>: KSK | REVOKE\n");
fprintf(stderr, " -g <generator>: use specified generator "
"(DH only)\n");
fprintf(stderr, " -L <ttl>: default key TTL\n");
fprintf(stderr, " -p <protocol>: (default: 3 [dnssec])\n");
fprintf(stderr, " -r <randomdev>: a file containing random data\n");
fprintf(stderr, " -s <strength>: strength value this key signs DNS "
"records with (default: 0)\n");
fprintf(stderr, " -T <rrtype>: DNSKEY | KEY (default: DNSKEY; "
@@ -134,8 +136,6 @@ usage(void) {
fprintf(stderr, " -t <type>: "
"AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF "
"(default: AUTHCONF)\n");
fprintf(stderr, " -r <randomdev>: a file containing random data\n");
fprintf(stderr, " -h: print usage and exit\n");
fprintf(stderr, " -m <memory debugging mode>:\n");
fprintf(stderr, " usage | trace | record | size | mctx\n");
@@ -197,7 +197,8 @@ progress(int p)
int
main(int argc, char **argv) {
char *algname = NULL, *nametype = NULL, *type = NULL;
char *algname = NULL, *freeit = NULL;
char *nametype = NULL, *type = NULL;
char *classname = NULL;
char *endp;
dst_key_t *key = NULL;
@@ -227,6 +228,7 @@ main(int argc, char **argv) {
dns_rdataclass_t rdclass;
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;
isc_stdtime_t publish = 0, activate = 0, revoke = 0;
isc_stdtime_t inactive = 0, delete = 0;
@@ -234,7 +236,7 @@ main(int argc, char **argv) {
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;
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;
@@ -253,7 +255,7 @@ main(int argc, char **argv) {
/*
* Process memory debugging argument first.
*/
#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:km:n:P:p:qR:r:S:s:T:t:v:"
#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:kL:m:n:P:p:qR:r:S:s:T:t:v:"
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) {
case 'm':
@@ -336,6 +338,13 @@ main(int argc, char **argv) {
"To generate a key-signing key, use -f KSK.\n"
"To generate a key with TYPE=KEY, use -T KEY.\n");
break;
case 'L':
if (strcmp(isc_commandline_argument, "none") == 0)
ttl = 0;
else
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
break;
case 'n':
nametype = isc_commandline_argument;
break;
@@ -509,6 +518,9 @@ main(int argc, char **argv) {
algname = strdup(DEFAULT_NSEC3_ALGORITHM);
else
algname = strdup(DEFAULT_ALGORITHM);
if (algname == NULL)
fatal("strdup failed");
freeit = algname;
if (verbose > 0)
fprintf(stderr, "no algorithm specified; "
"defaulting to %s\n", algname);
@@ -960,13 +972,16 @@ main(int argc, char **argv) {
dst_key_setprivateformat(key, 1, 2);
}
/* Set the default key TTL */
if (setttl)
dst_key_setttl(key, ttl);
/*
* Do not overwrite an existing key, or create a key
* if there is a risk of ID collision due to this key
* or another key being revoked.
*/
if (key_collision(dst_key_id(key), name, directory,
alg, mctx, NULL)) {
if (key_collision(key, name, directory, mctx, NULL)) {
conflict = ISC_TRUE;
if (null_key) {
dst_key_free(&key);
@@ -975,12 +990,15 @@ main(int argc, char **argv) {
if (verbose > 0) {
isc_buffer_clear(&buf);
dst_key_buildfilename(key, 0, directory, &buf);
fprintf(stderr,
"%s: %s already exists, or might "
"collide with another key upon "
"revokation. Generating a new key\n",
program, filename);
ret = dst_key_buildfilename(key, 0,
directory, &buf);
if (ret == ISC_R_SUCCESS)
fprintf(stderr,
"%s: %s already exists, or "
"might collide with another "
"key upon revokation. "
"Generating a new key\n",
program, filename);
}
dst_key_free(&key);
@@ -1001,6 +1019,9 @@ main(int argc, char **argv) {
isc_buffer_clear(&buf);
ret = dst_key_buildfilename(key, 0, NULL, &buf);
if (ret != ISC_R_SUCCESS)
fatal("dst_key_buildfilename returned: %s\n",
isc_result_totext(ret));
printf("%s\n", filename);
dst_key_free(&key);
if (prevkey != NULL)
@@ -1014,5 +1035,8 @@ main(int argc, char **argv) {
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
if (freeit != NULL)
free(freeit);
return (0);
}
+18 -2
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.docbook,v 1.36 2010/12/23 04:07:59 marka Exp $ -->
<!-- $Id: dnssec-keygen.docbook,v 1.38 2011/03/17 23:47:29 tbox Exp $ -->
<refentry id="man.dnssec-keygen">
<refentryinfo>
<date>June 30, 2000</date>
@@ -43,6 +43,7 @@
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -74,6 +75,7 @@
<arg><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">ttl</replaceable></option></arg>
<arg><option>-k</option></arg>
<arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
@@ -296,6 +298,20 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<literal>0</literal> or <literal>none</literal> removes it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable class="parameter">protocol</replaceable></term>
<listitem>
+19 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.html,v 1.47 2010/12/24 01:14:20 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543578"></a><h2>DESCRIPTION</h2>
<a name="id2543591"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
@@ -46,7 +46,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543596"></a><h2>OPTIONS</h2>
<a name="id2543609"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -170,6 +170,15 @@
<dd><p>
Deprecated in favor of -T KEY.
</p></dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<code class="literal">0</code> or <code class="literal">none</code> removes it.
</p></dd>
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
<dd><p>
Sets the protocol value for the generated key. The protocol
@@ -248,7 +257,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544301"></a><h2>TIMING OPTIONS</h2>
<a name="id2544201"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -319,7 +328,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544491"></a><h2>GENERATED KEYS</h2>
<a name="id2544391"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -365,7 +374,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544642"></a><h2>EXAMPLE</h2>
<a name="id2544473"></a><h2>EXAMPLE</h2>
<p>
To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be
@@ -386,7 +395,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544685"></a><h2>SEE ALSO</h2>
<a name="id2544585"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2539</em>,
@@ -395,7 +404,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544716"></a><h2>AUTHOR</h2>
<a name="id2544616"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+9 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-revoke.8,v 1.9 2010/05/19 01:14:14 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -32,7 +32,7 @@
dnssec\-revoke \- Set the REVOKED bit on a DNSSEC key
.SH "SYNOPSIS"
.HP 14
\fBdnssec\-revoke\fR [\fB\-hr\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\fR] {keyfile}
\fBdnssec\-revoke\fR [\fB\-hr\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\fR] [\fB\-R\fR] {keyfile}
.SH "DESCRIPTION"
.PP
\fBdnssec\-revoke\fR
@@ -70,6 +70,11 @@ Force overwrite: Causes
\fBdnssec\-revoke\fR
to write the new key pair even if a file already exists matching the algorithm and key ID of the revoked key.
.RE
.PP
\-R
.RS 4
Print the key tag of the key with the REVOKE bit set but do not revoke the key.
.RE
.SH "SEE ALSO"
.PP
\fBdnssec\-keygen\fR(8),
@@ -79,5 +84,5 @@ RFC 5011.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2009 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.br
+11 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-revoke.c,v 1.22 2010/05/06 23:50:56 tbox Exp $ */
/* $Id: dnssec-revoke.c,v 1.24 2011/10/20 23:46:51 tbox Exp $ */
/*! \file */
@@ -92,6 +92,7 @@ main(int argc, char **argv) {
isc_buffer_t buf;
isc_boolean_t force = ISC_FALSE;
isc_boolean_t remove = ISC_FALSE;
isc_boolean_t id = ISC_FALSE;
if (argc == 1)
usage();
@@ -104,7 +105,7 @@ main(int argc, char **argv) {
isc_commandline_errprint = ISC_FALSE;
while ((ch = isc_commandline_parse(argc, argv, "E:fK:rhv:")) != -1) {
while ((ch = isc_commandline_parse(argc, argv, "E:fK:rRhv:")) != -1) {
switch (ch) {
case 'E':
engine = isc_commandline_argument;
@@ -126,6 +127,9 @@ main(int argc, char **argv) {
case 'r':
remove = ISC_TRUE;
break;
case 'R':
id = ISC_TRUE;
break;
case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
@@ -186,6 +190,10 @@ main(int argc, char **argv) {
fatal("Invalid keyfile name %s: %s",
filename, isc_result_totext(result));
if (id) {
fprintf(stdout, "%u\n", dst_key_rid(key));
goto cleanup;
}
dst_key_format(key, keystr, sizeof(keystr));
if (verbose > 2)
+14 -2
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-revoke.docbook,v 1.7 2009/11/03 21:44:46 each Exp $ -->
<!-- $Id: dnssec-revoke.docbook,v 1.9 2011/10/20 23:46:51 tbox Exp $ -->
<refentry id="man.dnssec-revoke">
<refentryinfo>
<date>June 1, 2009</date>
@@ -37,6 +37,7 @@
<docinfo>
<copyright>
<year>2009</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -49,6 +50,7 @@
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
<arg><option>-f</option></arg>
<arg><option>-R</option></arg>
<arg choice="req">keyfile</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -123,6 +125,16 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-R</term>
<listitem>
<para>
Print the key tag of the key with the REVOKE bit set but do
not revoke the key.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
+12 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-revoke.html,v 1.9 2010/05/19 01:14:14 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -28,10 +28,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543373"></a><h2>DESCRIPTION</h2>
<a name="id2543382"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-revoke</strong></span>
reads a DNSSEC key file, sets the REVOKED bit on the key as defined
in RFC 5011, and creates a new pair of key files containing the
@@ -39,7 +39,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543385"></a><h2>OPTIONS</h2>
<a name="id2543394"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -69,17 +69,22 @@
write the new key pair even if a file already exists matching
the algorithm and key ID of the revoked key.
</p></dd>
<dt><span class="term">-R</span></dt>
<dd><p>
Print the key tag of the key with the REVOKE bit set but do
not revoke the key.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543491"></a><h2>SEE ALSO</h2>
<a name="id2543512"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5011</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543515"></a><h2>AUTHOR</h2>
<a name="id2543537"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+15 -6
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-settime.8,v 1.14 2010/08/17 01:15:26 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -32,7 +32,7 @@
dnssec\-settime \- Set the key timing metadata for a DNSSEC key
.SH "SYNOPSIS"
.HP 15
\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile}
\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile}
.SH "DESCRIPTION"
.PP
\fBdnssec\-settime\fR
@@ -52,14 +52,14 @@ simply prints the key timing metadata already stored in the key.
.PP
When key metadata fields are changed, both files of a key pair (\fIKnnnn.+aaa+iiiii.key\fR
and
\fIKnnnn.+aaa+iiiii.private\fR) are regenerated. Metadata fields are stored in the private file. A human\-readable description of the metadata is also placed in comments in the key file.
\fIKnnnn.+aaa+iiiii.private\fR) are regenerated. Metadata fields are stored in the private file. A human\-readable description of the metadata is also placed in comments in the key file. The private file's permissions are always set to be inaccessible to anyone other than the owner (mode 0600).
.SH "OPTIONS"
.PP
\-f
.RS 4
Force an update of an old\-format key with no metadata fields. Without this option,
\fBdnssec\-settime\fR
will fail when attempting to update a legacy key. With this option, the key will be recreated in the new format, but with the original key data retained. The key's creation date will be set to the present time.
will fail when attempting to update a legacy key. With this option, the key will be recreated in the new format, but with the original key data retained. The key's creation date will be set to the present time. If no other values are specified, then the key's publication and activation dates will also be set to the present time.
.RE
.PP
\-K \fIdirectory\fR
@@ -67,6 +67,15 @@ will fail when attempting to update a legacy key. With this option, the key will
Sets the directory in which the key files are to reside.
.RE
.PP
\-L \fIttl\fR
.RS 4
Sets the default TTL to use for this key when it is converted into a DNSKEY RR. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence. Setting the default TTL to
0
or
none
removes it.
.RE
.PP
\-h
.RS 4
Emit usage message and exit.
@@ -162,5 +171,5 @@ RFC 5011.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2009\-2011 Internet Systems Consortium, Inc. ("ISC")
.br
+30 -6
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-settime.c,v 1.28 2010/12/19 07:29:36 each Exp $ */
/* $Id: dnssec-settime.c,v 1.32 2011/06/02 20:24:45 each Exp $ */
/*! \file */
@@ -66,6 +66,7 @@ usage(void) {
fprintf(stderr, " -f: force update of old-style "
"keys\n");
fprintf(stderr, " -K directory: set key file location\n");
fprintf(stderr, " -L ttl: set default key TTL\n");
fprintf(stderr, " -v level: set level of verbosity\n");
fprintf(stderr, " -h: help\n");
fprintf(stderr, "Timing options:\n");
@@ -81,8 +82,7 @@ usage(void) {
"deletion date\n");
fprintf(stderr, "Printing options:\n");
fprintf(stderr, " -p C/P/A/R/I/D/all: print a particular time "
"value or values "
"[default: all]\n");
"value or values\n");
fprintf(stderr, " -u: print times in unix epoch "
"format\n");
fprintf(stderr, "Output:\n");
@@ -138,11 +138,12 @@ main(int argc, char **argv) {
unsigned int size = 0;
isc_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_boolean_t setpub = ISC_FALSE, setact = ISC_FALSE;
isc_boolean_t setrev = ISC_FALSE, setinact = ISC_FALSE;
isc_boolean_t setdel = 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;
@@ -166,7 +167,7 @@ main(int argc, char **argv) {
isc_stdtime_get(&now);
#define CMDLINE_FLAGS "A:D:E:fhI:i:K:P:p:R:S:uv:"
#define CMDLINE_FLAGS "A:D:E:fhI:i:K:L:P:p:R:S:uv:"
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) {
case 'E':
@@ -230,6 +231,13 @@ main(int argc, char **argv) {
"directory");
}
break;
case 'L':
if (strcmp(isc_commandline_argument, "none") == 0)
ttl = 0;
else
ttl = strtottl(isc_commandline_argument);
setttl = ISC_TRUE;
break;
case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
@@ -513,6 +521,22 @@ main(int argc, char **argv) {
else if (unsetdel)
dst_key_unsettime(key, DST_TIME_DELETE);
if (setttl)
dst_key_setttl(key, ttl);
/*
* No metadata changes were made but we're forcing an upgrade
* to the new format anyway: use "-P now -A now" as the default
*/
if (force && !changed) {
dst_key_settime(key, DST_TIME_PUBLISH, now);
dst_key_settime(key, DST_TIME_ACTIVATE, now);
changed = ISC_TRUE;
}
if (!changed && setttl)
changed = ISC_TRUE;
/*
* Print out time values, if -p was used.
*/
+23 -4
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-settime.docbook,v 1.11 2010/08/16 22:21:06 marka Exp $ -->
<!-- $Id: dnssec-settime.docbook,v 1.15 2011/11/03 20:21:37 each Exp $ -->
<refentry id="man.dnssec-settime">
<refentryinfo>
<date>July 15, 2009</date>
@@ -38,6 +38,7 @@
<copyright>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -47,6 +48,7 @@
<command>dnssec-settime</command>
<arg><option>-f</option></arg>
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">ttl</replaceable></option></arg>
<arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
@@ -81,7 +83,8 @@
<filename>Knnnn.+aaa+iiiii.private</filename>) are regenerated.
Metadata fields are stored in the private file. A human-readable
description of the metadata is also placed in comments in the key
file.
file. The private file's permissions are always set to be
inaccessible to anyone other than the owner (mode 0600).
</para>
</refsect1>
@@ -98,7 +101,9 @@
fail when attempting to update a legacy key. With this option,
the key will be recreated in the new format, but with the
original key data retained. The key's creation date will be
set to the present time.
set to the present time. If no other values are specified,
then the key's publication and activation dates will also
be set to the present time.
</para>
</listitem>
</varlistentry>
@@ -112,6 +117,20 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<literal>0</literal> or <literal>none</literal> removes it.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
+23 -11
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-settime.html,v 1.14 2010/08/17 01:15:26 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -28,10 +28,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543419"></a><h2>DESCRIPTION</h2>
<a name="id2543432"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-settime</strong></span>
reads a DNSSEC private key file and sets the key timing metadata
as specified by the <code class="option">-P</code>, <code class="option">-A</code>,
@@ -52,11 +52,12 @@
<code class="filename">Knnnn.+aaa+iiiii.private</code>) are regenerated.
Metadata fields are stored in the private file. A human-readable
description of the metadata is also placed in comments in the key
file.
file. The private file's permissions are always set to be
inaccessible to anyone other than the owner (mode 0600).
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543467"></a><h2>OPTIONS</h2>
<a name="id2543480"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-f</span></dt>
<dd><p>
@@ -65,12 +66,23 @@
fail when attempting to update a legacy key. With this option,
the key will be recreated in the new format, but with the
original key data retained. The key's creation date will be
set to the present time.
set to the present time. If no other values are specified,
then the key's publication and activation dates will also
be set to the present time.
</p></dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
Sets the directory in which the key files are to reside.
</p></dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Sets the default TTL to use for this key when it is converted
into a DNSKEY RR. If the key is imported into a zone,
this is the TTL that will be used for it, unless there was
already a DNSKEY RRset in place, in which case the existing TTL
would take precedence. Setting the default TTL to
<code class="literal">0</code> or <code class="literal">none</code> removes it.
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
Emit usage message and exit.
@@ -87,7 +99,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543559"></a><h2>TIMING OPTIONS</h2>
<a name="id2543664"></a><h2>TIMING OPTIONS</h2>
<p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as
@@ -166,7 +178,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543698"></a><h2>PRINTING OPTIONS</h2>
<a name="id2543802"></a><h2>PRINTING OPTIONS</h2>
<p>
<span><strong class="command">dnssec-settime</strong></span> can also be used to print the
timing metadata associated with a key.
@@ -192,7 +204,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543912"></a><h2>SEE ALSO</h2>
<a name="id2543880"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@@ -200,7 +212,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543945"></a><h2>AUTHOR</h2>
<a name="id2542138"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+59 -9
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-signzone.8,v 1.59 2009/12/04 01:13:44 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
dnssec\-signzone \- DNSSEC zone signing tool
.SH "SYNOPSIS"
.HP 16
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-P\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-T\ \fR\fB\fIttl\fR\fR] [\fB\-t\fR] [\fB\-u\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-x\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-P\fR] [\fB\-p\fR] [\fB\-R\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-T\ \fR\fB\fIttl\fR\fR] [\fB\-t\fR] [\fB\-u\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-X\ \fR\fB\fIextended\ end\-time\fR\fR] [\fB\-x\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...]
.SH "DESCRIPTION"
.PP
\fBdnssec\-signzone\fR
@@ -72,6 +72,15 @@ files in
\fBdirectory\fR.
.RE
.PP
\-D
.RS 4
Output only those record types automatically managed by
\fBdnssec\-signzone\fR, i.e. RRSIG, NSEC, NSEC3 and NSEC3PARAM records. If smart signing (\fB\-S\fR) is used, DNSKEY records are also included. The resulting file can be included in the original zone file with
\fB$INCLUDE\fR. This option cannot be combined with
\fB\-O raw\fR
or serial number updating.
.RE
.PP
\-E \fIengine\fR
.RS 4
Uses a crypto hardware (OpenSSL engine) for the crypto operations it supports, for instance signing with private keys from a secure key store. When compiled with PKCS#11 support it defaults to pkcs11; the empty name resets it to no engine.
@@ -119,11 +128,29 @@ must be later than
\fBstart\-time\fR.
.RE
.PP
\-X \fIextended end\-time\fR
.RS 4
Specify the date and time when the generated RRSIG records for the DNSKEY RRset will expire. This is to be used in cases when the DNSKEY signatures need to persist longer than signatures on other records; e.g., when the private component of the KSK is kept offline and the KSK signature is to be refreshed manually.
.sp
As with
\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation. A time relative to the start time is indicated with +N, which is N seconds from the start time. A time relative to the current time is indicated with now+N. If no
\fBextended end\-time\fR
is specified, the value of
\fBend\-time\fR
is used as the default. (\fBend\-time\fR, in turn, defaults to 30 days from the start time.)
\fBextended end\-time\fR
must be later than
\fBstart\-time\fR.
.RE
.PP
\-f \fIoutput\-file\fR
.RS 4
The name of the output file containing the signed zone. The default is to append
\fI.signed\fR
to the input filename.
to the input filename. If
\fBoutput\-file\fR
is set to
"\-", then the signed zone is written to the standard output, with a default output format of "full".
.RE
.PP
\-h
@@ -164,6 +191,11 @@ option specifies a jitter window that will be used to randomize the signature ex
Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time.
.RE
.PP
\-L \fIserial\fR
.RS 4
When writing a signed zone to 'raw' format, set the "source serial" value in the header to the specified serial number. (This is expected to be used primarily for testing purposes.)
.RE
.PP
\-n \fIncpus\fR
.RS 4
Specifies the number of threads to use. By default, one thread is started for each detected CPU.
@@ -205,8 +237,15 @@ The zone origin. If not specified, the name of the zone file is assumed to be th
.RS 4
The format of the output file containing the signed zone. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR.
(default)
\fB"full"\fR, which is text output in a format suitable for processing by external scripts, and
\fB"raw"\fR
or
\fB"raw=N"\fR, which store the zone in a binary format for rapid loading by
\fBnamed\fR.
\fB"raw=N"\fR
specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of
\fBnamed\fR; if N is 1, the file can be read by release 9.9.0 or higher. The default is 1.
.RE
.PP
\-p
@@ -221,6 +260,17 @@ Disable post sign verification tests.
The post sign verification test ensures that for each algorithm in use there is at least one non revoked self signed KSK key, that all revoked KSK keys are self signed, and that all records in the zone are signed by the algorithm. This option skips these tests.
.RE
.PP
\-R
.RS 4
Remove signatures from keys that no longer exist.
.sp
Normally, when a previously\-signed zone is passed as input to the signer, and a DNSKEY record has been removed and replaced with a new one, signatures from the old key that are still within their validity period are retained. This allows the zone to continue to validate with cached copies of the old DNSKEY RRset. The
\fB\-R\fR
forces
\fBdnssec\-signzone\fR
to remove all orphaned signatures.
.RE
.PP
\-r \fIrandomdev\fR
.RS 4
Specifies the source of randomness. If the operating system does not provide a
@@ -265,8 +315,8 @@ If either of the key's unpublication or deletion dates are set and in the past,
.PP
\-T \fIttl\fR
.RS 4
Specifies the TTL to be used for new DNSKEY records imported into the zone from the key repository. If not specified, the default is the minimum TTL value from the zone's SOA record. This option is ignored when signing without
\fB\-S\fR, since DNSKEY records are not imported from the key repository in that case. It is also ignored if there are any pre\-existing DNSKEY records at the zone apex, in which case new records' TTL values will be set to match them.
Specifies a TTL to be used for new DNSKEY records imported into the zone from the key repository. If not specified, the default is the TTL value from the zone's SOA record. This option is ignored when signing without
\fB\-S\fR, since DNSKEY records are not imported from the key repository in that case. It is also ignored if there are any pre\-existing DNSKEY records at the zone apex, in which case new records' TTL values will be set to match them, or if any of the imported DNSKEY records had a default TTL value. In the event of a a conflict between TTL values in imported keys, the shortest one is used.
.RE
.PP
\-t
@@ -378,7 +428,7 @@ RFC 4033.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+321 -153
View File
@@ -1,5 +1,5 @@
/*
* Portions Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -29,7 +29,7 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-signzone.c,v 1.263 2011/02/24 03:04:43 marka Exp $ */
/* $Id: dnssec-signzone.c,v 1.285 2011/12/22 07:32:39 each Exp $ */
/*! \file */
@@ -37,6 +37,7 @@
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <isc/app.h>
#include <isc/base32.h>
@@ -124,7 +125,7 @@ struct signer_event {
static dns_dnsseckeylist_t keylist;
static unsigned int keycount = 0;
isc_rwlock_t keylist_lock;
static isc_stdtime_t starttime = 0, endtime = 0, now;
static isc_stdtime_t starttime = 0, endtime = 0, dnskey_endtime = 0, now;
static int cycle = -1;
static int jitter = 0;
static isc_boolean_t tryverify = ISC_FALSE;
@@ -133,11 +134,13 @@ static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL;
static dns_ttl_t zone_soa_min_ttl;
static dns_ttl_t soa_ttl;
static FILE *fp;
static FILE *fp = NULL;
static char *tempfile = NULL;
static const dns_master_style_t *masterstyle;
static dns_masterformat_t inputformat = dns_masterformat_text;
static dns_masterformat_t outputformat = dns_masterformat_text;
static isc_uint32_t rawversion = 1, serialnum = 0;
static isc_boolean_t snset = ISC_FALSE;
static unsigned int nsigned = 0, nretained = 0, ndropped = 0;
static unsigned int nverified = 0, nverifyfailed = 0;
static const char *directory = NULL, *dsdir = NULL;
@@ -171,6 +174,10 @@ static isc_boolean_t disable_zone_check = ISC_FALSE;
static isc_boolean_t update_chain = ISC_FALSE;
static isc_boolean_t set_keyttl = ISC_FALSE;
static dns_ttl_t keyttl;
static isc_boolean_t smartsign = ISC_FALSE;
static isc_boolean_t remove_orphans = ISC_FALSE;
static isc_boolean_t output_dnssec_only = ISC_FALSE;
static isc_boolean_t output_stdout = ISC_FALSE;
#define INCSTAT(counter) \
if (printstats) { \
@@ -188,13 +195,69 @@ sign(isc_task_t *task, isc_event_t *event);
static void
dumpnode(dns_name_t *name, dns_dbnode_t *node) {
dns_rdataset_t rds;
dns_rdatasetiter_t *iter = NULL;
isc_buffer_t *buffer = NULL;
isc_region_t r;
isc_result_t result;
unsigned bufsize = 4096;
if (outputformat != dns_masterformat_text)
return;
result = dns_master_dumpnodetostream(mctx, gdb, gversion, node, name,
masterstyle, fp);
check_result(result, "dns_master_dumpnodetostream");
if (!output_dnssec_only) {
result = dns_master_dumpnodetostream(mctx, gdb, gversion, node,
name, masterstyle, fp);
check_result(result, "dns_master_dumpnodetostream");
return;
}
result = dns_db_allrdatasets(gdb, node, gversion, 0, &iter);
check_result(result, "dns_db_allrdatasets");
dns_rdataset_init(&rds);
result = isc_buffer_allocate(mctx, &buffer, bufsize);
check_result(result, "isc_buffer_allocate");
for (result = dns_rdatasetiter_first(iter);
result == ISC_R_SUCCESS;
result = dns_rdatasetiter_next(iter)) {
dns_rdatasetiter_current(iter, &rds);
if (rds.type != dns_rdatatype_rrsig &&
rds.type != dns_rdatatype_nsec &&
rds.type != dns_rdatatype_nsec3 &&
rds.type != dns_rdatatype_nsec3param &&
(!smartsign || rds.type != dns_rdatatype_dnskey)) {
dns_rdataset_disassociate(&rds);
continue;
}
for (;;) {
result = dns_master_rdatasettotext(name, &rds,
masterstyle, buffer);
if (result != ISC_R_NOSPACE)
break;
bufsize <<= 1;
isc_buffer_free(&buffer);
result = isc_buffer_allocate(mctx, &buffer, bufsize);
check_result(result, "isc_buffer_allocate");
}
check_result(result, "dns_master_rdatasettotext");
isc_buffer_usedregion(buffer, &r);
result = isc_stdio_write(r.base, 1, r.length, fp, NULL);
check_result(result, "isc_stdio_write");
isc_buffer_clear(buffer);
dns_rdataset_disassociate(&rds);
}
isc_buffer_free(&buffer);
dns_rdatasetiter_destroy(&iter);
}
/*%
@@ -206,7 +269,7 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key,
dns_ttl_t ttl, dns_diff_t *add, const char *logmsg)
{
isc_result_t result;
isc_stdtime_t jendtime;
isc_stdtime_t jendtime, expiry;
char keystr[DST_KEY_FORMATSIZE];
dns_rdata_t trdata = DNS_RDATA_INIT;
unsigned char array[BUFSIZE];
@@ -216,7 +279,12 @@ signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t *key,
dst_key_format(key, keystr, sizeof(keystr));
vbprintf(1, "\t%s %s\n", logmsg, keystr);
jendtime = (jitter != 0) ? isc_random_jitter(endtime, jitter) : endtime;
if (rdataset->type == dns_rdatatype_dnskey)
expiry = dnskey_endtime;
else
expiry = endtime;
jendtime = (jitter != 0) ? isc_random_jitter(expiry, jitter) : expiry;
isc_buffer_init(&b, array, sizeof(array));
result = dns_dnssec_sign(name, rdataset, key, &starttime, &jendtime,
mctx, &b, &trdata);
@@ -253,6 +321,12 @@ issigningkey(dns_dnsseckey_t *key) {
return (key->force_sign || key->hint_sign);
}
static inline isc_boolean_t
ispublishedkey(dns_dnsseckey_t *key) {
return ((key->force_publish || key->hint_publish) &&
!key->hint_remove);
}
static inline isc_boolean_t
iszonekey(dns_dnsseckey_t *key) {
return (ISC_TF(dns_name_equal(dst_key_name(key->key), gorigin) &&
@@ -334,13 +408,16 @@ keythatsigned(dns_rdata_rrsig_t *rrsig) {
directory, mctx, &privkey);
if (result == ISC_R_SUCCESS) {
dst_key_free(&pubkey);
dns_dnsseckey_create(mctx, &privkey, &key);
} else {
dns_dnsseckey_create(mctx, &pubkey, &key);
result = dns_dnsseckey_create(mctx, &privkey, &key);
} else
result = dns_dnsseckey_create(mctx, &pubkey, &key);
if (result == ISC_R_SUCCESS) {
key->force_publish = ISC_FALSE;
key->force_sign = ISC_FALSE;
key->index = keycount++;
ISC_LIST_APPEND(keylist, key, link);
}
key->force_publish = ISC_TRUE;
key->force_sign = ISC_FALSE;
ISC_LIST_APPEND(keylist, key, link);
isc_rwlock_unlock(&keylist_lock, isc_rwlocktype_write);
return (key);
@@ -481,38 +558,38 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
"private dnskey not found\n",
sigstr);
} else if (key == NULL || future) {
keep = (!expired && !remove_orphans);
vbprintf(2, "\trrsig by %s %s - dnskey not found\n",
expired ? "retained" : "dropped", sigstr);
if (!expired)
keep = ISC_TRUE;
keep ? "retained" : "dropped", sigstr);
} else if (issigningkey(key)) {
wassignedby[key->index] = ISC_TRUE;
if (!expired && rrsig.originalttl == set->ttl &&
setverifies(name, set, key->key, &sigrdata)) {
vbprintf(2, "\trrsig by %s retained\n", sigstr);
keep = ISC_TRUE;
wassignedby[key->index] = ISC_TRUE;
nowsignedby[key->index] = ISC_TRUE;
} else {
vbprintf(2, "\trrsig by %s dropped - %s\n",
sigstr, expired ? "expired" :
rrsig.originalttl != set->ttl ?
"ttl change" : "failed to verify");
wassignedby[key->index] = ISC_TRUE;
resign = ISC_TRUE;
}
} else if (!ispublishedkey(key) && remove_orphans) {
vbprintf(2, "\trrsig by %s dropped - dnskey removed\n",
sigstr);
} else if (iszonekey(key)) {
wassignedby[key->index] = ISC_TRUE;
if (!expired && rrsig.originalttl == set->ttl &&
setverifies(name, set, key->key, &sigrdata)) {
vbprintf(2, "\trrsig by %s retained\n", sigstr);
keep = ISC_TRUE;
wassignedby[key->index] = ISC_TRUE;
nowsignedby[key->index] = ISC_TRUE;
} else {
vbprintf(2, "\trrsig by %s dropped - %s\n",
sigstr, expired ? "expired" :
rrsig.originalttl != set->ttl ?
"ttl change" : "failed to verify");
wassignedby[key->index] = ISC_TRUE;
}
} else if (!expired) {
vbprintf(2, "\trrsig by %s retained\n", sigstr);
@@ -522,7 +599,8 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
}
if (keep) {
nowsignedby[key->index] = ISC_TRUE;
if (key != NULL)
nowsignedby[key->index] = ISC_TRUE;
INCSTAT(nretained);
if (sigset.ttl != ttl) {
vbprintf(2, "\tfixing ttl %s\n", sigstr);
@@ -544,6 +622,7 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
}
} else {
tuple = NULL;
vbprintf(2, "removing signature by %s\n", sigstr);
result = dns_difftuple_create(mctx, DNS_DIFFOP_DEL,
name, sigset.ttl,
&sigrdata, &tuple);
@@ -1450,14 +1529,14 @@ verifynode(dns_name_t *name, dns_dbnode_t *node, isc_boolean_t delegation,
/*%
* Verify that certain things are sane:
*
* The apex has a DNSKEY record with at least one KSK, and at least
* The apex has a DNSKEY RRset with at least one KSK, and at least
* one ZSK if the -x flag was not used.
*
* The DNSKEY record was signed with at least one of the KSKs in this
* set.
* The DNSKEY record was signed with at least one of the KSKs in
* the DNSKEY RRset.
*
* The rest of the zone was signed with at least one of the ZSKs
* present in the DNSKEY RRSET.
* present in the DNSKEY RRset.
*/
static void
verifyzone(void) {
@@ -1468,13 +1547,12 @@ verifyzone(void) {
dns_name_t *name, *nextname, *zonecut;
dns_rdata_dnskey_t dnskey;
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdataset_t rdataset;
dns_rdataset_t sigrdataset;
dns_rdataset_t keyset, soaset;
dns_rdataset_t keysigs, soasigs;
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;
isc_result_t result;
unsigned char revoked_ksk[256];
unsigned char revoked_zsk[256];
@@ -1483,10 +1561,6 @@ verifyzone(void) {
unsigned char ksk_algorithms[256];
unsigned char zsk_algorithms[256];
unsigned char bad_algorithms[256];
#ifdef ALLOW_KSKLESS_ZONES
isc_boolean_t allzsksigned = ISC_TRUE;
unsigned char self_algorithms[256];
#endif
if (disable_zone_check)
return;
@@ -1496,17 +1570,29 @@ verifyzone(void) {
fatal("failed to find the zone's origin: %s",
isc_result_totext(result));
dns_rdataset_init(&rdataset);
dns_rdataset_init(&sigrdataset);
dns_rdataset_init(&keyset);
dns_rdataset_init(&keysigs);
dns_rdataset_init(&soaset);
dns_rdataset_init(&soasigs);
result = dns_db_findrdataset(gdb, node, gversion,
dns_rdatatype_dnskey,
0, 0, &rdataset, &sigrdataset);
0, 0, &keyset, &keysigs);
if (result != ISC_R_SUCCESS)
fatal("Zone contains no DNSSEC keys\n");
result = dns_db_findrdataset(gdb, node, gversion,
dns_rdatatype_soa,
0, 0, &soaset, &soasigs);
dns_db_detachnode(gdb, &node);
if (result != ISC_R_SUCCESS)
fatal("cannot find DNSKEY rrset\n");
fatal("Zone contains no SOA record\n");
if (!dns_rdataset_isassociated(&sigrdataset))
fatal("cannot find DNSKEY RRSIGs\n");
if (!dns_rdataset_isassociated(&keysigs))
fatal("DNSKEY is not signed (keys offline or inactive?)\n");
if (!dns_rdataset_isassociated(&soasigs))
fatal("SOA is not signed (keys offline or inactive?)\n");
memset(revoked_ksk, 0, sizeof(revoked_ksk));
memset(revoked_zsk, 0, sizeof(revoked_zsk));
@@ -1515,19 +1601,16 @@ verifyzone(void) {
memset(ksk_algorithms, 0, sizeof(ksk_algorithms));
memset(zsk_algorithms, 0, sizeof(zsk_algorithms));
memset(bad_algorithms, 0, sizeof(bad_algorithms));
#ifdef ALLOW_KSKLESS_ZONES
memset(self_algorithms, 0, sizeof(self_algorithms));
#endif
/*
* Check that the DNSKEY RR has at least one self signing KSK
* and one ZSK per algorithm in it (or, if -x was used, one
* self-signing KSK).
*/
for (result = dns_rdataset_first(&rdataset);
for (result = dns_rdataset_first(&keyset);
result == ISC_R_SUCCESS;
result = dns_rdataset_next(&rdataset)) {
dns_rdataset_current(&rdataset, &rdata);
result = dns_rdataset_next(&keyset)) {
dns_rdataset_current(&keyset, &rdata);
result = dns_rdata_tostruct(&rdata, &dnskey, NULL);
check_result(result, "dns_rdata_tostruct");
@@ -1535,8 +1618,8 @@ verifyzone(void) {
;
else if ((dnskey.flags & DNS_KEYFLAG_REVOKE) != 0) {
if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0 &&
!dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
&sigrdataset, ISC_FALSE,
!dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
&keysigs, ISC_FALSE,
mctx)) {
char namebuf[DNS_NAME_FORMATSIZE];
char buffer[1024];
@@ -1558,8 +1641,8 @@ verifyzone(void) {
revoked_zsk[dnskey.algorithm] != 255)
revoked_zsk[dnskey.algorithm]++;
} else if ((dnskey.flags & DNS_KEYFLAG_KSK) != 0) {
if (dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
&sigrdataset, ISC_FALSE, mctx)) {
if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
&keysigs, ISC_FALSE, mctx)) {
if (ksk_algorithms[dnskey.algorithm] != 255)
ksk_algorithms[dnskey.algorithm]++;
goodksk = ISC_TRUE;
@@ -1567,53 +1650,33 @@ verifyzone(void) {
if (standby_ksk[dnskey.algorithm] != 255)
standby_ksk[dnskey.algorithm]++;
}
} else if (dns_dnssec_selfsigns(&rdata, gorigin, &rdataset,
&sigrdataset, ISC_FALSE,
} else if (dns_dnssec_selfsigns(&rdata, gorigin, &keyset,
&keysigs, ISC_FALSE,
mctx)) {
#ifdef ALLOW_KSKLESS_ZONES
if (self_algorithms[dnskey.algorithm] != 255)
self_algorithms[dnskey.algorithm]++;
#endif
if (zsk_algorithms[dnskey.algorithm] != 255)
zsk_algorithms[dnskey.algorithm]++;
goodzsk = ISC_TRUE;
} else if (dns_dnssec_signs(&rdata, gorigin, &soaset,
&soasigs, ISC_FALSE, mctx)) {
if (zsk_algorithms[dnskey.algorithm] != 255)
zsk_algorithms[dnskey.algorithm]++;
} else {
if (standby_zsk[dnskey.algorithm] != 255)
standby_zsk[dnskey.algorithm]++;
#ifdef ALLOW_KSKLESS_ZONES
allzsksigned = ISC_FALSE;
#endif
}
dns_rdata_freestruct(&dnskey);
dns_rdata_reset(&rdata);
}
dns_rdataset_disassociate(&sigrdataset);
dns_rdataset_disassociate(&keysigs);
dns_rdataset_disassociate(&soaset);
dns_rdataset_disassociate(&soasigs);
#ifdef ALLOW_KSKLESS_ZONES
if (!goodksk) {
if (!ignore_kskflag)
fprintf(stderr, "No self signing KSK found. Using "
"self signed ZSK's for active "
"algorithm list.\n");
memcpy(ksk_algorithms, self_algorithms, sizeof(ksk_algorithms));
if (!allzsksigned)
fprintf(stderr, "warning: not all ZSK's are self "
"signed.\n");
}
#else
if (!goodksk) {
fatal("no self signed KSK's found");
}
#endif
if (!goodksk)
fatal("No self-signed KSK DNSKEY found. Supply an active\n"
"key with the KSK flag set, or use '-P'.");
fprintf(stderr, "Verifying the zone using the following algorithms:");
for (i = 0; i < 256; i++) {
#ifdef ALLOW_KSKLESS_ZONES
if (ksk_algorithms[i] != 0 || zsk_algorithms[i] != 0)
#else
if (ksk_algorithms[i] != 0)
#endif
{
if (ksk_algorithms[i] != 0) {
dns_secalg_format(i, algbuf, sizeof(algbuf));
fprintf(stderr, " %s", algbuf);
}
@@ -1676,7 +1739,7 @@ verifyzone(void) {
dns_name_copy(name, zonecut, NULL);
isdelegation = ISC_TRUE;
}
verifynode(name, node, isdelegation, &rdataset,
verifynode(name, node, isdelegation, &keyset,
ksk_algorithms, bad_algorithms);
result = dns_dbiterator_next(dbiter);
nextnode = NULL;
@@ -1713,13 +1776,13 @@ verifyzone(void) {
result = dns_dbiterator_next(dbiter) ) {
result = dns_dbiterator_current(dbiter, &node, name);
check_dns_dbiterator_current(result);
verifynode(name, node, ISC_FALSE, &rdataset,
verifynode(name, node, ISC_FALSE, &keyset,
ksk_algorithms, bad_algorithms);
dns_db_detachnode(gdb, &node);
}
dns_dbiterator_destroy(&dbiter);
dns_rdataset_disassociate(&rdataset);
dns_rdataset_disassociate(&keyset);
/*
* If we made it this far, we have what we consider a properly signed
@@ -2199,6 +2262,7 @@ addnsec3param(const unsigned char *salt, size_t salt_length,
result = dns_rdata_fromstruct(&rdata, gclass,
dns_rdatatype_nsec3param,
&nsec3param, &b);
check_result(result, "dns_rdata_fromstruct()");
rdatalist.rdclass = rdata.rdclass;
rdatalist.type = rdata.type;
rdatalist.covers = 0;
@@ -2808,7 +2872,7 @@ loadzonekeys(isc_boolean_t preserve_keys, isc_boolean_t load_public) {
}
keyttl = rdataset.ttl;
/* Load keys corresponding to the existing DNSKEY RRset */
/* Load keys corresponding to the existing DNSKEY RRset. */
result = dns_dnssec_keylistfromrdataset(gorigin, directory, mctx,
&rdataset, &keysigs, &soasigs,
preserve_keys, load_public,
@@ -3259,10 +3323,16 @@ usage(void) {
fprintf(stderr, "update DS records based on child zones' "
"dsset-* files\n");
fprintf(stderr, "\t-s [YYYYMMDDHHMMSS|+offset]:\n");
fprintf(stderr, "\t\tRRSIG start time - absolute|offset (now - 1 hour)\n");
fprintf(stderr, "\t\tRRSIG start time "
"- absolute|offset (now - 1 hour)\n");
fprintf(stderr, "\t-e [YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n");
fprintf(stderr, "\t\tRRSIG end time - absolute|from start|from now "
fprintf(stderr, "\t\tRRSIG end time "
"- absolute|from start|from now "
"(now + 30 days)\n");
fprintf(stderr, "\t-X [YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n");
fprintf(stderr, "\t\tDNSKEY RRSIG end "
"- absolute|from start|from now "
"(matches -e)\n");
fprintf(stderr, "\t-i interval:\n");
fprintf(stderr, "\t\tcycle interval - resign "
"if < interval from end ( (end-start)/4 )\n");
@@ -3280,6 +3350,8 @@ usage(void) {
fprintf(stderr, "\t\tfile format of signed zone file (text)\n");
fprintf(stderr, "\t-N format:\n");
fprintf(stderr, "\t\tsoa serial format of signed zone file (keep)\n");
fprintf(stderr, "\t-D:\n");
fprintf(stderr, "\t\toutput only DNSSEC-related records\n");
fprintf(stderr, "\t-r randomdev:\n");
fprintf(stderr, "\t\ta file containing random data\n");
fprintf(stderr, "\t-a:\t");
@@ -3296,6 +3368,8 @@ usage(void) {
fprintf(stderr, "use pseudorandom data (faster but less secure)\n");
fprintf(stderr, "\t-P:\t");
fprintf(stderr, "disable post-sign verification\n");
fprintf(stderr, "\t-R:\t");
fprintf(stderr, "remove signatures from keys that no longer exist\n");
fprintf(stderr, "\t-T TTL:\tTTL for newly added DNSKEYs\n");
fprintf(stderr, "\t-t:\t");
fprintf(stderr, "print statistics\n");
@@ -3327,34 +3401,45 @@ removetempfile(void) {
}
static void
print_stats(isc_time_t *timer_start, isc_time_t *timer_finish) {
isc_uint64_t runtime_us; /* Runtime in microseconds */
isc_uint64_t runtime_ms; /* Runtime in milliseconds */
print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,
isc_time_t *sign_start, isc_time_t *sign_finish)
{
isc_uint64_t time_us; /* Time in microseconds */
isc_uint64_t time_ms; /* Time in milliseconds */
isc_uint64_t sig_ms; /* Signatures per millisecond */
FILE *out = output_stdout ? stderr : stdout;
runtime_us = isc_time_microdiff(timer_finish, timer_start);
fprintf(out, "Signatures generated: %10d\n", nsigned);
fprintf(out, "Signatures retained: %10d\n", nretained);
fprintf(out, "Signatures dropped: %10d\n", ndropped);
fprintf(out, "Signatures successfully verified: %10d\n", nverified);
fprintf(out, "Signatures unsuccessfully "
"verified: %10d\n", nverifyfailed);
printf("Signatures generated: %10d\n", nsigned);
printf("Signatures retained: %10d\n", nretained);
printf("Signatures dropped: %10d\n", ndropped);
printf("Signatures successfully verified: %10d\n", nverified);
printf("Signatures unsuccessfully verified: %10d\n", nverifyfailed);
runtime_ms = runtime_us / 1000;
printf("Runtime in seconds: %7u.%03u\n",
(unsigned int) (runtime_ms / 1000),
(unsigned int) (runtime_ms % 1000));
if (runtime_us > 0) {
sig_ms = ((isc_uint64_t)nsigned * 1000000000) / runtime_us;
printf("Signatures per second: %7u.%03u\n",
(unsigned int) sig_ms / 1000,
(unsigned int) sig_ms % 1000);
time_us = isc_time_microdiff(sign_finish, sign_start);
time_ms = time_us / 1000;
fprintf(out, "Signing time in seconds: %7u.%03u\n",
(unsigned int) (time_ms / 1000),
(unsigned int) (time_ms % 1000));
if (time_us > 0) {
sig_ms = ((isc_uint64_t)nsigned * 1000000000) / time_us;
fprintf(out, "Signatures per second: %7u.%03u\n",
(unsigned int) sig_ms / 1000,
(unsigned int) sig_ms % 1000);
}
time_us = isc_time_microdiff(timer_finish, timer_start);
time_ms = time_us / 1000;
fprintf(out, "Runtime in seconds: %7u.%03u\n",
(unsigned int) (time_ms / 1000),
(unsigned int) (time_ms % 1000));
}
int
main(int argc, char *argv[]) {
int i, ch;
char *startstr = NULL, *endstr = NULL, *classname = NULL;
char *dnskey_endstr = NULL;
char *origin = NULL, *file = NULL, *output = NULL;
char *inputformatstr = NULL, *outputformatstr = NULL;
char *serialformatstr = NULL;
@@ -3362,6 +3447,7 @@ main(int argc, char *argv[]) {
int ndskeys = 0;
char *endp;
isc_time_t timer_start, timer_finish;
isc_time_t sign_start, sign_finish;
dns_dnsseckey_t *key;
isc_result_t result;
isc_log_t *log = NULL;
@@ -3373,20 +3459,19 @@ main(int argc, char *argv[]) {
#endif
unsigned int eflags;
isc_boolean_t free_output = ISC_FALSE;
int tempfilelen;
int tempfilelen = 0;
dns_rdataclass_t rdclass;
isc_task_t **tasks = NULL;
isc_buffer_t b;
int len;
hashlist_t hashlist;
isc_boolean_t smartsign = ISC_FALSE;
isc_boolean_t make_keyset = ISC_FALSE;
isc_boolean_t set_salt = ISC_FALSE;
isc_boolean_t set_optout = ISC_FALSE;
isc_boolean_t set_iter = ISC_FALSE;
#define CMDLINE_FLAGS \
"3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:l:m:n:N:o:O:pPr:s:ST:tuUv:xz"
"3:AaCc:Dd:E:e:f:FghH:i:I:j:K:k:L:l:m:n:N:o:O:PpRr:s:ST:tuUv:X:xz"
/*
* Process memory debugging argument first.
@@ -3472,6 +3557,10 @@ main(int argc, char *argv[]) {
dsdir, isc_result_totext(result));
break;
case 'D':
output_dnssec_only = ISC_TRUE;
break;
case 'E':
engine = isc_commandline_argument;
break;
@@ -3482,6 +3571,8 @@ main(int argc, char *argv[]) {
case 'f':
output = isc_commandline_argument;
if (strcmp(output, "-") == 0)
output_stdout = ISC_TRUE;
break;
case 'g':
@@ -3530,6 +3621,17 @@ main(int argc, char *argv[]) {
dskeyfile[ndskeys++] = isc_commandline_argument;
break;
case 'L':
snset = ISC_TRUE;
endp = NULL;
serialnum = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0') {
fprintf(stderr, "source serial number "
"must be numeric");
exit(1);
}
break;
case 'l':
len = strlen(isc_commandline_argument);
isc_buffer_init(&b, isc_commandline_argument, len);
@@ -3572,6 +3674,10 @@ main(int argc, char *argv[]) {
pseudorandom = ISC_TRUE;
break;
case 'R':
remove_orphans = ISC_TRUE;
break;
case 'r':
setup_entropy(mctx, isc_commandline_argument, &ectx);
break;
@@ -3609,6 +3715,10 @@ main(int argc, char *argv[]) {
fatal("verbose level must be numeric");
break;
case 'X':
dnskey_endstr = isc_commandline_argument;
break;
case 'x':
keyset_kskonly = ISC_TRUE;
break;
@@ -3656,11 +3766,19 @@ main(int argc, char *argv[]) {
} else
starttime = now - 3600; /* Allow for some clock skew. */
if (endstr != NULL) {
if (endstr != NULL)
endtime = strtotime(endstr, now, starttime);
} else
else
endtime = starttime + (30 * 24 * 60 * 60);
if (dnskey_endstr != NULL) {
dnskey_endtime = strtotime(dnskey_endstr, now, starttime);
if (endstr != NULL && dnskey_endtime == endtime)
fprintf(stderr, "WARNING: -e and -X were both set, "
"but have identical values.\n");
} else
dnskey_endtime = endtime;
if (cycle == -1)
cycle = (endtime - starttime) / 4;
@@ -3703,16 +3821,36 @@ main(int argc, char *argv[]) {
inputformat = dns_masterformat_text;
else if (strcasecmp(inputformatstr, "raw") == 0)
inputformat = dns_masterformat_raw;
else
fatal("unknown file format: %s\n", inputformatstr);
else if (strncasecmp(inputformatstr, "raw=", 4) == 0) {
inputformat = dns_masterformat_raw;
fprintf(stderr,
"WARNING: input format version ignored\n");
} else
fatal("unknown file format: %s", inputformatstr);
}
if (outputformatstr != NULL) {
if (strcasecmp(outputformatstr, "text") == 0)
if (strcasecmp(outputformatstr, "text") == 0) {
outputformat = dns_masterformat_text;
else if (strcasecmp(outputformatstr, "raw") == 0)
} else if (strcasecmp(outputformatstr, "full") == 0) {
outputformat = dns_masterformat_text;
masterstyle = &dns_master_style_full;
} else if (strcasecmp(outputformatstr, "raw") == 0) {
outputformat = dns_masterformat_raw;
else
} else if (strncasecmp(outputformatstr, "raw=", 4) == 0) {
char *end;
outputformat = dns_masterformat_raw;
outputformat = dns_masterformat_raw;
rawversion = strtol(outputformatstr + 4, &end, 10);
if (end == outputformatstr + 4 || *end != '\0' ||
rawversion > 1U) {
fprintf(stderr,
"unknown raw format version\n");
exit(1);
}
} else
fatal("unknown file format: %s\n", outputformatstr);
}
@@ -3729,6 +3867,12 @@ main(int argc, char *argv[]) {
serialformatstr);
}
if (output_dnssec_only && outputformat != dns_masterformat_text)
fatal("option -D can only be used with \"-O text\"\n");
if (output_dnssec_only && serialformat != SOA_SERIAL_KEEP)
fatal("option -D can only be used with \"-N keep\"\n");
result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL,
0, 24, 0, 0, 0, 8, mctx);
check_result(result, "dns_master_stylecreate");
@@ -3758,10 +3902,15 @@ main(int argc, char *argv[]) {
hashlist_init(&hashlist, dns_db_nodecount(gdb) * 2,
hash_length);
result = dns_nsec_nseconly(gdb, gversion, &answer);
check_result(result, "dns_nsec_nseconly");
if (answer)
if (result == ISC_R_NOTFOUND)
fprintf(stderr, "%s: warning: NSEC3 generation "
"requested with no DNSKEY; ignoring\n",
program);
else if (result != ISC_R_SUCCESS)
check_result(result, "dns_nsec_nseconly");
else if (answer)
fatal("NSEC3 generation requested with "
"NSEC only DNSKEY");
"NSEC-only DNSKEY");
}
/*
@@ -3812,6 +3961,8 @@ main(int argc, char *argv[]) {
nokeys = ISC_TRUE;
}
warnifallksk(gdb);
if (IS_NSEC3) {
unsigned int max;
result = dns_nsec3_maxiterations(gdb, NULL, mctx, &max);
@@ -3821,8 +3972,6 @@ main(int argc, char *argv[]) {
"strength. Maximum iterations allowed %u.", max);
}
warnifallksk(gdb);
gversion = NULL;
result = dns_db_newversion(gdb, &gversion);
check_result(result, "dns_db_newversion()");
@@ -3857,21 +4006,26 @@ main(int argc, char *argv[]) {
}
}
tempfilelen = strlen(output) + 20;
tempfile = isc_mem_get(mctx, tempfilelen);
if (tempfile == NULL)
fatal("out of memory");
if (output_stdout) {
fp = stdout;
if (outputformatstr == NULL)
masterstyle = &dns_master_style_full;
} else {
tempfilelen = strlen(output) + 20;
tempfile = isc_mem_get(mctx, tempfilelen);
if (tempfile == NULL)
fatal("out of memory");
result = isc_file_mktemplate(output, tempfile, tempfilelen);
check_result(result, "isc_file_mktemplate");
result = isc_file_mktemplate(output, tempfile, tempfilelen);
check_result(result, "isc_file_mktemplate");
fp = NULL;
result = isc_file_openunique(tempfile, &fp);
if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s",
isc_result_totext(result));
removefile = ISC_TRUE;
setfatalcallback(&removetempfile);
result = isc_file_openunique(tempfile, &fp);
if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s",
isc_result_totext(result));
removefile = ISC_TRUE;
setfatalcallback(&removetempfile);
}
print_time(fp);
print_version(fp);
@@ -3902,6 +4056,7 @@ main(int argc, char *argv[]) {
RUNTIME_CHECK(isc_mutex_init(&statslock) == ISC_R_SUCCESS);
presign();
TIME_NOW(&sign_start);
signapex();
if (!finished) {
/*
@@ -3926,29 +4081,40 @@ main(int argc, char *argv[]) {
isc_taskmgr_destroy(&taskmgr);
isc_mem_put(mctx, tasks, ntasks * sizeof(isc_task_t *));
postsign();
TIME_NOW(&sign_finish);
verifyzone();
if (outputformat != dns_masterformat_text) {
result = dns_master_dumptostream2(mctx, gdb, gversion,
if (outputformat == dns_masterformat_raw) {
dns_masterrawheader_t header;
dns_master_initrawheader(&header);
if (rawversion == 0U)
header.flags = DNS_MASTERRAW_COMPAT;
else if (snset) {
header.flags = DNS_MASTERRAW_SOURCESERIALSET;
header.sourceserial = serialnum;
}
result = dns_master_dumptostream3(mctx, gdb, gversion,
masterstyle, outputformat,
fp);
check_result(result, "dns_master_dumptostream2");
&header, fp);
check_result(result, "dns_master_dumptostream3");
}
result = isc_stdio_close(fp);
check_result(result, "isc_stdio_close");
removefile = ISC_FALSE;
result = isc_file_rename(tempfile, output);
if (result != ISC_R_SUCCESS)
fatal("failed to rename temp file to %s: %s\n",
output, isc_result_totext(result));
DESTROYLOCK(&namelock);
if (printstats)
DESTROYLOCK(&statslock);
printf("%s\n", output);
if (!output_stdout) {
result = isc_stdio_close(fp);
check_result(result, "isc_stdio_close");
removefile = ISC_FALSE;
result = isc_file_rename(tempfile, output);
if (result != ISC_R_SUCCESS)
fatal("failed to rename temp file to %s: %s\n",
output, isc_result_totext(result));
printf("%s\n", output);
}
dns_db_closeversion(gdb, &gversion, ISC_FALSE);
dns_db_detach(&gdb);
@@ -3959,7 +4125,8 @@ main(int argc, char *argv[]) {
dns_dnsseckey_destroy(mctx, &key);
}
isc_mem_put(mctx, tempfile, tempfilelen);
if (tempfilelen != 0)
isc_mem_put(mctx, tempfile, tempfilelen);
if (free_output)
isc_mem_free(mctx, output);
@@ -3979,7 +4146,8 @@ main(int argc, char *argv[]) {
if (printstats) {
TIME_NOW(&timer_finish);
print_stats(&timer_start, &timer_finish);
print_stats(&timer_start, &timer_finish,
&sign_start, &sign_finish);
}
return (0);
+97 -10
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.docbook,v 1.44 2009/12/03 23:18:16 each Exp $ -->
<!-- $Id: dnssec-signzone.docbook,v 1.52 2011/12/22 07:32:40 each Exp $ -->
<refentry id="man.dnssec-signzone">
<refentryinfo>
<date>June 05, 2009</date>
@@ -43,6 +43,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -60,6 +61,7 @@
<arg><option>-a</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-d <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-D</option></arg>
<arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
<arg><option>-e <replaceable class="parameter">end-time</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">output-file</replaceable></option></arg>
@@ -67,6 +69,7 @@
<arg><option>-h</option></arg>
<arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">key</replaceable></option></arg>
<arg><option>-L <replaceable class="parameter">serial</replaceable></option></arg>
<arg><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
<arg><option>-I <replaceable class="parameter">input-format</replaceable></option></arg>
@@ -74,8 +77,9 @@
<arg><option>-N <replaceable class="parameter">soa-serial-format</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">origin</replaceable></option></arg>
<arg><option>-O <replaceable class="parameter">output-format</replaceable></option></arg>
<arg><option>-p</option></arg>
<arg><option>-P</option></arg>
<arg><option>-p</option></arg>
<arg><option>-R</option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-S</option></arg>
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
@@ -83,6 +87,7 @@
<arg><option>-t</option></arg>
<arg><option>-u</option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg><option>-X <replaceable class="parameter">extended end-time</replaceable></option></arg>
<arg><option>-x</option></arg>
<arg><option>-z</option></arg>
<arg><option>-3 <replaceable class="parameter">salt</replaceable></option></arg>
@@ -151,6 +156,22 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-D</term>
<listitem>
<para>
Output only those record types automatically managed by
<command>dnssec-signzone</command>, i.e. RRSIG, NSEC,
NSEC3 and NSEC3PARAM records. If smart signing
(<option>-S</option>) is used, DNSKEY records are also
included. The resulting file can be included in the original
zone file with <command>$INCLUDE</command>. This option
cannot be combined with <option>-O raw</option> or serial
number updating.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-E <replaceable class="parameter">engine</replaceable></term>
<listitem>
@@ -237,14 +258,41 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-X <replaceable class="parameter">extended end-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated RRSIG records
for the DNSKEY RRset will expire. This is to be used in cases
when the DNSKEY signatures need to persist longer than
signatures on other records; e.g., when the private component
of the KSK is kept offline and the KSK signature is to be
refreshed manually.
</para>
<para>
As with <option>start-time</option>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
the start time. A time relative to the current time is
indicated with now+N. If no <option>extended end-time</option> is
specified, the value of <option>end-time</option> is used as
the default. (<option>end-time</option>, in turn, defaults to
30 days from the start time.) <option>extended end-time</option>
must be later than <option>start-time</option>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable class="parameter">output-file</replaceable></term>
<listitem>
<para>
The name of the output file containing the signed zone. The
default is to append <filename>.signed</filename> to
the
input filename.
the input filename. If <option>output-file</option> is
set to <literal>"-"</literal>, then the signed zone is
written to the standard output, with a default output
format of "full".
</para>
</listitem>
</varlistentry>
@@ -324,6 +372,17 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-L <replaceable class="parameter">serial</replaceable></term>
<listitem>
<para>
When writing a signed zone to 'raw' format, set the "source serial"
value in the header to the specified serial number. (This is
expected to be used primarily for testing purposes.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">ncpus</replaceable></term>
<listitem>
@@ -388,7 +447,15 @@
<para>
The format of the output file containing the signed zone.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
<command>"full"</command>, which is text output in a
format suitable for processing by external scripts,
and <command>"raw"</command> or <command>"raw=N"</command>,
which store the zone in a binary format for rapid loading
by <command>named</command>. <command>"raw=N"</command>
specifies the format version of the raw zone file: if N
is 0, the raw file can be read by any version of
<command>named</command>; if N is 1, the file can be
read by release 9.9.0 or higher. The default is 1.
</para>
</listitem>
</varlistentry>
@@ -421,6 +488,24 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-R</term>
<listitem>
<para>
Remove signatures from keys that no longer exist.
</para>
<para>
Normally, when a previously-signed zone is passed as input
to the signer, and a DNSKEY record has been removed and
replaced with a new one, signatures from the old key
that are still within their validity period are retained.
This allows the zone to continue to validate with cached
copies of the old DNSKEY RRset. The <option>-R</option> forces
<command>dnssec-signzone</command> to remove all orphaned
signatures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
<listitem>
@@ -508,15 +593,17 @@
<term>-T <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Specifies the TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not specified,
the default is the minimum TTL value from the zone's SOA
Specifies a TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not
specified, the default is the TTL value from the zone's SOA
record. This option is ignored when signing without
<option>-S</option>, since DNSKEY records are not imported
from the key repository in that case. It is also ignored if
there are any pre-existing DNSKEY records at the zone apex,
in which case new records' TTL values will be set to match
them.
them, or if any of the imported DNSKEY records had a default
TTL value. In the event of a a conflict between TTL values in
imported keys, the shortest one is used.
</para>
</listitem>
</varlistentry>
+82 -15
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.html,v 1.45 2009/12/04 01:13:44 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-P</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-P</code>] [<code class="option">-p</code>] [<code class="option">-R</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543596"></a><h2>DESCRIPTION</h2>
<a name="id2543626"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-signzone</strong></span>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
@@ -43,7 +43,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543611"></a><h2>OPTIONS</h2>
<a name="id2543641"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -67,6 +67,17 @@
Look for <code class="filename">dsset-</code> or
<code class="filename">keyset-</code> files in <code class="option">directory</code>.
</p></dd>
<dt><span class="term">-D</span></dt>
<dd><p>
Output only those record types automatically managed by
<span><strong class="command">dnssec-signzone</strong></span>, i.e. RRSIG, NSEC,
NSEC3 and NSEC3PARAM records. If smart signing
(<code class="option">-S</code>) is used, DNSKEY records are also
included. The resulting file can be included in the original
zone file with <span><strong class="command">$INCLUDE</strong></span>. This option
cannot be combined with <code class="option">-O raw</code> or serial
number updating.
</p></dd>
<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
<dd><p>
Uses a crypto hardware (OpenSSL engine) for the crypto operations
@@ -118,12 +129,36 @@
<code class="option">end-time</code> must be later than
<code class="option">start-time</code>.
</p></dd>
<dt><span class="term">-X <em class="replaceable"><code>extended end-time</code></em></span></dt>
<dd>
<p>
Specify the date and time when the generated RRSIG records
for the DNSKEY RRset will expire. This is to be used in cases
when the DNSKEY signatures need to persist longer than
signatures on other records; e.g., when the private component
of the KSK is kept offline and the KSK signature is to be
refreshed manually.
</p>
<p>
As with <code class="option">start-time</code>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
the start time. A time relative to the current time is
indicated with now+N. If no <code class="option">extended end-time</code> is
specified, the value of <code class="option">end-time</code> is used as
the default. (<code class="option">end-time</code>, in turn, defaults to
30 days from the start time.) <code class="option">extended end-time</code>
must be later than <code class="option">start-time</code>.
</p>
</dd>
<dt><span class="term">-f <em class="replaceable"><code>output-file</code></em></span></dt>
<dd><p>
The name of the output file containing the signed zone. The
default is to append <code class="filename">.signed</code> to
the
input filename.
the input filename. If <code class="option">output-file</code> is
set to <code class="literal">"-"</code>, then the signed zone is
written to the standard output, with a default output
format of "full".
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
@@ -184,6 +219,12 @@
validators need to refetch at mostly the same time.
</p>
</dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
<dd><p>
When writing a signed zone to 'raw' format, set the "source serial"
value in the header to the specified serial number. (This is
expected to be used primarily for testing purposes.)
</p></dd>
<dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
<dd><p>
Specifies the number of threads to use. By default, one
@@ -217,7 +258,15 @@
<dd><p>
The format of the output file containing the signed zone.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
<span><strong class="command">"full"</strong></span>, which is text output in a
format suitable for processing by external scripts,
and <span><strong class="command">"raw"</strong></span> or <span><strong class="command">"raw=N"</strong></span>,
which store the zone in a binary format for rapid loading
by <span><strong class="command">named</strong></span>. <span><strong class="command">"raw=N"</strong></span>
specifies the format version of the raw zone file: if N
is 0, the raw file can be read by any version of
<span><strong class="command">named</strong></span>; if N is 1, the file can be
read by release 9.9.0 or higher. The default is 1.
</p></dd>
<dt><span class="term">-p</span></dt>
<dd><p>
@@ -239,6 +288,22 @@
This option skips these tests.
</p>
</dd>
<dt><span class="term">-R</span></dt>
<dd>
<p>
Remove signatures from keys that no longer exist.
</p>
<p>
Normally, when a previously-signed zone is passed as input
to the signer, and a DNSKEY record has been removed and
replaced with a new one, signatures from the old key
that are still within their validity period are retained.
This allows the zone to continue to validate with cached
copies of the old DNSKEY RRset. The <code class="option">-R</code> forces
<span><strong class="command">dnssec-signzone</strong></span> to remove all orphaned
signatures.
</p>
</dd>
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
<dd><p>
Specifies the source of randomness. If the operating
@@ -297,15 +362,17 @@
</dd>
<dt><span class="term">-T <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Specifies the TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not specified,
the default is the minimum TTL value from the zone's SOA
Specifies a TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not
specified, the default is the TTL value from the zone's SOA
record. This option is ignored when signing without
<code class="option">-S</code>, since DNSKEY records are not imported
from the key repository in that case. It is also ignored if
there are any pre-existing DNSKEY records at the zone apex,
in which case new records' TTL values will be set to match
them.
them, or if any of the imported DNSKEY records had a default
TTL value. In the event of a a conflict between TTL values in
imported keys, the shortest one is used.
</p></dd>
<dt><span class="term">-t</span></dt>
<dd><p>
@@ -379,7 +446,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544896"></a><h2>EXAMPLE</h2>
<a name="id2545127"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
@@ -409,14 +476,14 @@ db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2545019"></a><h2>SEE ALSO</h2>
<a name="id2545182"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4033</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545044"></a><h2>AUTHOR</h2>
<a name="id2545207"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+15 -10
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.c,v 1.60 2010/01/19 23:48:56 tbox Exp $ */
/* $Id: dnssectool.c,v 1.63 2011/10/21 03:55:33 marka Exp $ */
/*! \file */
@@ -406,19 +406,24 @@ set_keyversion(dst_key_t *key) {
}
isc_boolean_t
key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
dns_secalg_t alg, isc_mem_t *mctx, isc_boolean_t *exact)
key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
isc_mem_t *mctx, isc_boolean_t *exact)
{
isc_result_t result;
isc_boolean_t conflict = ISC_FALSE;
dns_dnsseckeylist_t matchkeys;
dns_dnsseckey_t *key = NULL;
isc_uint16_t oldid, diff;
isc_uint16_t bits = DNS_KEYFLAG_REVOKE; /* flag bits to look for */
isc_uint16_t id, oldid;
isc_uint32_t rid, roldid;
dns_secalg_t alg;
if (exact != NULL)
*exact = ISC_FALSE;
id = dst_key_id(dstkey);
rid = dst_key_rid(dstkey);
alg = dst_key_alg(dstkey);
ISC_LIST_INIT(matchkeys);
result = dns_dnssec_findmatchingkeys(name, dir, mctx, &matchkeys);
if (result == ISC_R_NOTFOUND)
@@ -430,10 +435,11 @@ key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
goto next;
oldid = dst_key_id(key->key);
diff = (oldid > id) ? (oldid - id) : (id - oldid);
if ((diff & ~bits) == 0) {
roldid = dst_key_rid(key->key);
if (oldid == rid || roldid == id || id == oldid) {
conflict = ISC_TRUE;
if (diff != 0) {
if (id != oldid) {
if (verbose > 1)
fprintf(stderr, "Key ID %d could "
"collide with %d\n",
@@ -461,4 +467,3 @@ key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
return (conflict);
}
+5 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2007-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2007-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.h,v 1.31 2010/01/19 23:48:56 tbox Exp $ */
/* $Id: dnssectool.h,v 1.33 2011/10/20 23:46:51 tbox Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
@@ -78,6 +78,7 @@ void
set_keyversion(dst_key_t *key);
isc_boolean_t
key_collision(isc_uint16_t id, dns_name_t *name, const char *dir,
dns_secalg_t alg, isc_mem_t *mctx, isc_boolean_t *exact);
key_collision(dst_key_t *key, dns_name_t *name, const char *dir,
isc_mem_t *mctx, isc_boolean_t *exact);
#endif /* DNSSEC_DNSSECTOOL_H */
@@ -1,7 +1,3 @@
Makefile
.libs
*.la
*.lo
named
named-symtbl.c
lwresd
+4 -4
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.114 2010/12/22 09:00:40 marka Exp $
# $Id: Makefile.in,v 1.116 2011/03/10 23:47:49 tbox Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -45,7 +45,7 @@ CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include -I. \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES} @DST_OPENSSL_INC@
CDEFINES = @USE_DLZ@ @USE_PKCS11@ @USE_OPENSSL@
CDEFINES = @CONTRIB_DLZ@ @USE_PKCS11@ @USE_OPENSSL@
CWARNINGS =
@@ -89,7 +89,7 @@ OBJS = builtin.@O@ client.@O@ config.@O@ control.@O@ \
lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ \
${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
UOBJS = unix/os.@O@
UOBJS = unix/os.@O@ unix/dlz_dlopen_driver.@O@
SYMOBJS = symtbl.@O@
+2 -2
View File
@@ -1,6 +1,6 @@
/*
* Generated by bindkeys.pl 1.7 2011-01-04 23:47:13 tbox Exp
* From bind.keys 1.7 2011-01-03 23:45:07 each Exp
* Generated by bindkeys.pl 1.7 2011/01/04 23:47:13 tbox Exp
* From bind.keys 1.7 2011/01/03 23:45:07 each Exp
*/
#define TRUSTED_KEYS "\
# The bind.keys file is used to override the built-in DNSSEC trust anchors\n\
+157 -80
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: builtin.c,v 1.20 2011/01/07 23:47:07 tbox Exp $ */
/* $Id: builtin.c,v 1.26 2012/01/21 19:44:18 each Exp $ */
/*! \file
* \brief
@@ -69,35 +69,79 @@ static builtin_t empty_builtin = { do_empty_lookup, NULL, NULL };
static builtin_t dns64_builtin = { do_dns64_lookup, NULL, NULL };
static dns_sdbimplementation_t *builtin_impl;
static dns_sdbimplementation_t *dns64_impl;
static const char hex[] = "0123456789abcdef";
static const char HEX[] = "0123456789ABCDEF";
/*
* Pre computed HEX * 16 or 1 table.
*/
static const unsigned char hex16[256] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*00*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*10*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*20*/
0, 16, 32, 48, 64, 80, 96,112,128,144, 1, 1, 1, 1, 1, 1, /*30*/
1,160,176,192,208,224,240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*40*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*50*/
1,160,176,192,208,224,240, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*60*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*70*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*80*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*90*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*A0*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*B0*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*C0*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*D0*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*E0*/
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /*F0*/
};
const unsigned char decimal[] = "0123456789";
static size_t
dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) {
size_t i, j = 0;
for (i = 0; i < 4; i++) {
unsigned char c = v[start++];
if (start == 7)
start++;
if (c > 99) {
rdata[j++] = 3;
rdata[j++] = decimal[c/100]; c = c % 100;
rdata[j++] = decimal[c/10]; c = c % 10;
rdata[j++] = decimal[c];
} else if (c > 9) {
rdata[j++] = 2;
rdata[j++] = decimal[c/10]; c = c % 10;
rdata[j++] = decimal[c];
} else {
rdata[j++] = 1;
rdata[j++] = decimal[c];
}
}
memcpy(&rdata[j], "\07in-addr\04arpa", 14);
return (j + 14);
}
static isc_result_t
dns64_cname(const char *zone, const char *name, dns_sdblookup_t *lookup) {
size_t zlen, nlen, j;
const char *s;
unsigned char v[16];
dns64_cname(const dns_name_t *zone, const dns_name_t *name,
dns_sdblookup_t *lookup)
{
size_t zlen, nlen, j, len;
unsigned char v[16], n;
unsigned int i;
char reverse[sizeof("123.123.123.123.in-addr.arpa.")];
unsigned char rdata[sizeof("123.123.123.123.in-addr.arpa.")];
unsigned char *ndata;
/*
* The sum the length of the relative name and the length of the zone
* name for a IPv6 reverse lookup comes to 71.
* The combined length of the zone and name is 74.
*
* The reverse of 2001::10.0.0.1 (dns64 2001::/96) has a zone of
* "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.2.ip6.arpa"
* and a name of "1.0.0.0.0.0.a.0". The sum of the lengths of these
* two strings is 71.
* The minimum zone length is 10 ((3)ip6(4)arpa(0)).
*
* The minimum length for a ip6.arpa zone name is 8.
*
* The length of name should always be odd as we are expecting
* The length of name should always be even as we are expecting
* a series of nibbles.
*/
zlen = strlen(zone);
nlen = strlen(name);
if ((zlen + nlen) > 71U || zlen < 8U || (nlen % 2) != 1U)
zlen = zone->length;
nlen = name->length;
if ((zlen + nlen) > 74U || zlen < 10U || (nlen % 2) != 0U)
return (ISC_R_NOTFOUND);
/*
@@ -116,25 +160,20 @@ dns64_cname(const char *zone, const char *name, dns_sdblookup_t *lookup) {
* are byte aligned and we correctly return ISC_R_NOTFOUND or
* ISC_R_SUCCESS. We will not generate a CNAME in this case.
*/
i = (nlen % 4) == 1U ? 1 : 0;
ndata = name->ndata;
i = (nlen % 4) == 2U ? 1 : 0;
j = nlen;
memset(v, 0, sizeof(v));
while (j >= 1U) {
while (j != 0) {
INSIST((i/2) < sizeof(v));
if (j > 1U && name[1] != '.')
if (ndata[0] != 1)
return (ISC_R_NOTFOUND);
v[i/2] >>= 4;
if ((s = strchr(hex, name[0])) != NULL)
v[i/2] |= (s - hex) << 4;
else if ((s = strchr(HEX, name[0])) != NULL)
v[i/2] |= (s - HEX) << 4;
else
n = hex16[ndata[1]&0xff];
if (n == 1)
return (ISC_R_NOTFOUND);
if (j > 1U)
j -= 2;
else
j -= 1;
name += 2;
v[i/2] = n | (v[i/2]>>4);
j -= 2;
ndata += 2;
i++;
}
@@ -144,90 +183,91 @@ dns64_cname(const char *zone, const char *name, dns_sdblookup_t *lookup) {
* it corresponds to a empty node in the zone or there should be
* a CNAME.
*/
#define ZLEN(x) (10 + (x)/2)
switch (zlen) {
case 24: /* prefix len 32 */
/*
* If the total length is not 71 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[8], v[9], v[10], v[11]);
break;
case 28: /* prefix len 40 */
case ZLEN(32): /* prefix len 32 */
/*
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (nlen > 11U && v[nlen/4 - 3] != 0)
if (nlen > 16U && v[(nlen-1)/4 - 4] != 0)
return (ISC_R_NOTFOUND);
/*
* If the total length is not 71 then this is a empty node
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[6], v[8], v[9], v[10]);
len = dns64_rdata(v, 8, rdata);
break;
case 32: /* prefix len 48 */
case ZLEN(40): /* prefix len 40 */
/*
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (nlen > 7U && v[nlen/4 - 2] != 0)
if (nlen > 12U && v[(nlen-1)/4 - 3] != 0)
return (ISC_R_NOTFOUND);
/*
* If the total length is not 71 then this is a empty node
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[5], v[6], v[8], v[9]);
len = dns64_rdata(v, 6, rdata);
break;
case 36: /* prefix len 56 */
case ZLEN(48): /* prefix len 48 */
/*
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (nlen > 3U && v[nlen/4 - 1] != 0)
if (nlen > 8U && v[(nlen-1)/4 - 2] != 0)
return (ISC_R_NOTFOUND);
/*
* If the total length is not 71 then this is a empty node
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[4], v[5], v[6], v[8]);
len = dns64_rdata(v, 5, rdata);
break;
case 40: /* prefix len 64 */
case ZLEN(56): /* prefix len 56 */
/*
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (v[nlen/4] != 0)
if (nlen > 4U && v[(nlen-1)/4 - 1] != 0)
return (ISC_R_NOTFOUND);
/*
* If the total length is not 71 then this is a empty node
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[3], v[4], v[5], v[6]);
len = dns64_rdata(v, 4, rdata);
break;
case 56: /* prefix len 96 */
case ZLEN(64): /* prefix len 64 */
/*
* If the total length is not 71 then this is a empty node
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (v[(nlen-1)/4] != 0)
return (ISC_R_NOTFOUND);
/*
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 71U)
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
snprintf(reverse, sizeof(reverse), "%u.%u.%u.%u.in-addr.arpa.",
v[0], v[1], v[2], v[3]);
len = dns64_rdata(v, 3, rdata);
break;
case ZLEN(96): /* prefix len 96 */
/*
* If the total length is not 74 then this is a empty node
* so return success.
*/
if (nlen + zlen != 74U)
return (ISC_R_SUCCESS);
len = dns64_rdata(v, 0, rdata);
break;
default:
/*
@@ -236,25 +276,42 @@ dns64_cname(const char *zone, const char *name, dns_sdblookup_t *lookup) {
*/
return (ISC_R_NOTFOUND);
}
return (dns_sdb_putrr(lookup, "CNAME", 600, reverse));
return (dns_sdb_putrdata(lookup, dns_rdatatype_cname, 600, rdata, len));
}
static isc_result_t
builtin_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo)
{
builtin_t *b = (builtin_t *) dbdata;
UNUSED(zone);
UNUSED(methods);
UNUSED(clientinfo);
if (strcmp(name, "@") == 0)
return (b->do_lookup(lookup));
else if (b->do_lookup == do_dns64_lookup)
return (dns64_cname(zone, name, lookup));
else
return (ISC_R_NOTFOUND);
}
static isc_result_t
dns64_lookup(const dns_name_t *zone, const dns_name_t *name, void *dbdata,
dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo)
{
builtin_t *b = (builtin_t *) dbdata;
UNUSED(methods);
UNUSED(clientinfo);
if (name->labels == 0 && name->length == 0)
return (b->do_lookup(lookup));
else
return (dns64_cname(zone, name, lookup));
}
static isc_result_t
put_txt(dns_sdblookup_t *lookup, const char *text) {
unsigned char buf[256];
@@ -300,14 +357,18 @@ do_authors_lookup(dns_sdblookup_t *lookup) {
const char **p;
static const char *authors[] = {
"Mark Andrews",
"Curtis Blackburn",
"James Brister",
"Ben Cottrell",
"John H. DuBois III",
"Francis Dupont",
"Michael Graff",
"Andreas Gustafsson",
"Bob Halley",
"Evan Hunt",
"JINMEI Tatuya",
"David Lawrence",
"Scott Mann",
"Danny Mayer",
"Damien Neil",
"Matt Nelson",
@@ -479,7 +540,17 @@ static dns_sdbmethods_t builtin_methods = {
builtin_authority,
NULL, /* allnodes */
builtin_create,
builtin_destroy
builtin_destroy,
NULL
};
static dns_sdbmethods_t dns64_methods = {
NULL,
builtin_authority,
NULL, /* allnodes */
builtin_create,
builtin_destroy,
dns64_lookup,
};
isc_result_t
@@ -489,11 +560,17 @@ ns_builtin_init(void) {
DNS_SDBFLAG_RELATIVERDATA,
ns_g_mctx, &builtin_impl)
== ISC_R_SUCCESS);
RUNTIME_CHECK(dns_sdb_register("_dns64", &dns64_methods, NULL,
DNS_SDBFLAG_RELATIVEOWNER |
DNS_SDBFLAG_RELATIVERDATA |
DNS_SDBFLAG_DNS64,
ns_g_mctx, &dns64_impl)
== ISC_R_SUCCESS);
return (ISC_R_SUCCESS);
}
void
ns_builtin_deinit(void) {
dns_sdb_unregister(&builtin_impl);
dns_sdb_unregister(&dns64_impl);
}
+293 -234
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.c,v 1.271 2011/01/11 23:47:12 tbox Exp $ */
/* $Id$ */
#include <config.h>
@@ -24,6 +24,7 @@
#include <isc/once.h>
#include <isc/platform.h>
#include <isc/print.h>
#include <isc/queue.h>
#include <isc/stats.h>
#include <isc/stdio.h>
#include <isc/string.h>
@@ -116,15 +117,26 @@
struct ns_clientmgr {
/* Unlocked. */
unsigned int magic;
/* The queue object has its own locks */
client_queue_t inactive; /*%< To be recycled */
isc_mem_t * mctx;
isc_taskmgr_t * taskmgr;
isc_timermgr_t * timermgr;
/* Lock covers manager state. */
isc_mutex_t lock;
/* Locked by lock. */
isc_boolean_t exiting;
client_list_t active; /*%< Active clients */
client_list_t recursing; /*%< Recursing clients */
client_list_t inactive; /*%< To be recycled */
/* Lock covers the clients list */
isc_mutex_t listlock;
client_list_t clients; /*%< All active clients */
/* Lock covers the recursing list */
isc_mutex_t reclock;
client_list_t recursing; /*%< Recursing clients */
#if NMCTXS > 0
/*%< mctx pool for clients. */
unsigned int nextmctx;
@@ -188,6 +200,12 @@ struct ns_clientmgr {
* recursion quota, and an outstanding write request.
*/
#define NS_CLIENTSTATE_RECURSING 5
/*%<
* The client object is recursing. It will be on the 'recursing'
* list.
*/
#define NS_CLIENTSTATE_MAX 9
/*%<
* Sentinel value used to indicate "no state". When client->newstate
@@ -210,20 +228,21 @@ static void client_udprecv(ns_client_t *client);
static void clientmgr_destroy(ns_clientmgr_t *manager);
static isc_boolean_t exit_check(ns_client_t *client);
static void ns_client_endrequest(ns_client_t *client);
static void ns_client_checkactive(ns_client_t *client);
static void client_start(isc_task_t *task, isc_event_t *event);
static void client_request(isc_task_t *task, isc_event_t *event);
static void ns_client_dumpmessage(ns_client_t *client, const char *reason);
static isc_result_t get_client(ns_clientmgr_t *manager, ns_interface_t *ifp,
dns_dispatch_t *disp, isc_boolean_t tcp);
void
ns_client_recursing(ns_client_t *client) {
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(client->state == NS_CLIENTSTATE_WORKING);
LOCK(&client->manager->lock);
ISC_LIST_UNLINK(*client->list, client, link);
ISC_LIST_APPEND(client->manager->recursing, client, link);
client->list = &client->manager->recursing;
UNLOCK(&client->manager->lock);
LOCK(&client->manager->reclock);
client->newstate = client->state = NS_CLIENTSTATE_RECURSING;
ISC_LIST_APPEND(client->manager->recursing, client, rlink);
UNLOCK(&client->manager->reclock);
}
void
@@ -231,15 +250,14 @@ ns_client_killoldestquery(ns_client_t *client) {
ns_client_t *oldest;
REQUIRE(NS_CLIENT_VALID(client));
LOCK(&client->manager->lock);
LOCK(&client->manager->reclock);
oldest = ISC_LIST_HEAD(client->manager->recursing);
if (oldest != NULL) {
ISC_LIST_UNLINK(client->manager->recursing, oldest, rlink);
UNLOCK(&client->manager->reclock);
ns_query_cancel(oldest);
ISC_LIST_UNLINK(*oldest->list, oldest, link);
ISC_LIST_APPEND(client->manager->active, oldest, link);
oldest->list = &client->manager->active;
}
UNLOCK(&client->manager->lock);
} else
UNLOCK(&client->manager->reclock);
}
void
@@ -268,15 +286,16 @@ ns_client_settimeout(ns_client_t *client, unsigned int seconds) {
*/
static isc_boolean_t
exit_check(ns_client_t *client) {
ns_clientmgr_t *locked_manager = NULL;
ns_clientmgr_t *destroy_manager = NULL;
isc_boolean_t destroy_manager = ISC_FALSE;
ns_clientmgr_t *manager = NULL;
REQUIRE(NS_CLIENT_VALID(client));
manager = client->manager;
if (client->state <= client->newstate)
return (ISC_FALSE); /* Business as usual. */
INSIST(client->newstate < NS_CLIENTSTATE_WORKING);
INSIST(client->newstate < NS_CLIENTSTATE_RECURSING);
/*
* We need to detach from the view early when shutting down
@@ -293,13 +312,16 @@ exit_check(ns_client_t *client) {
client->newstate == NS_CLIENTSTATE_FREED && client->view != NULL)
dns_view_detach(&client->view);
if (client->state == NS_CLIENTSTATE_WORKING) {
if (client->state == NS_CLIENTSTATE_WORKING ||
client->state == NS_CLIENTSTATE_RECURSING)
{
INSIST(client->newstate <= NS_CLIENTSTATE_READING);
/*
* Let the update processing complete.
*/
if (client->nupdates > 0)
return (ISC_TRUE);
/*
* We are trying to abort request processing.
*/
@@ -322,23 +344,28 @@ exit_check(ns_client_t *client) {
*/
return (ISC_TRUE);
}
/*
* I/O cancel is complete. Burn down all state
* related to the current request. Ensure that
* the client is on the active list and not the
* recursing list.
* the client is no longer on the recursing list.
*
* We need to check whether the client is still linked,
* because it may already have been removed from the
* recursing list by ns_client_killoldestquery()
*/
LOCK(&client->manager->lock);
if (client->list == &client->manager->recursing) {
ISC_LIST_UNLINK(*client->list, client, link);
ISC_LIST_APPEND(client->manager->active, client, link);
client->list = &client->manager->active;
if (client->state == NS_CLIENTSTATE_RECURSING) {
LOCK(&manager->reclock);
if (ISC_LINK_LINKED(client, rlink))
ISC_LIST_UNLINK(manager->recursing,
client, rlink);
UNLOCK(&manager->reclock);
}
UNLOCK(&client->manager->lock);
ns_client_endrequest(client);
client->state = NS_CLIENTSTATE_READING;
INSIST(client->recursionquota == NULL);
if (NS_CLIENTSTATE_READING == client->newstate) {
client_read(client);
client->newstate = NS_CLIENTSTATE_MAX;
@@ -389,8 +416,27 @@ exit_check(ns_client_t *client) {
* or UDP request, but we may have enough clients doing
* that already. Check whether this client needs to remain
* active and force it to go inactive if not.
*
* UDP clients go inactive at this point, but TCP clients
* may remain active if we have fewer active TCP client
* objects than desired due to an earlier quota exhaustion.
*/
ns_client_checkactive(client);
if (client->mortal && TCP_CLIENT(client) && !ns_g_clienttest) {
LOCK(&client->interface->lock);
if (client->interface->ntcpcurrent <
client->interface->ntcptarget)
client->mortal = ISC_FALSE;
UNLOCK(&client->interface->lock);
}
/*
* We don't need the client; send it to the inactive
* queue for recycling.
*/
if (client->mortal) {
if (client->newstate > NS_CLIENTSTATE_INACTIVE)
client->newstate = NS_CLIENTSTATE_INACTIVE;
}
if (NS_CLIENTSTATE_READY == client->newstate) {
if (TCP_CLIENT(client)) {
@@ -404,6 +450,7 @@ exit_check(ns_client_t *client) {
if (client->state == NS_CLIENTSTATE_READY) {
INSIST(client->newstate <= NS_CLIENTSTATE_INACTIVE);
/*
* We are trying to enter the inactive state.
*/
@@ -411,25 +458,22 @@ exit_check(ns_client_t *client) {
isc_socket_cancel(client->tcplistener, client->task,
ISC_SOCKCANCEL_ACCEPT);
if (! (client->naccepts == 0)) {
/* Still waiting for accept cancel completion. */
/* Still waiting for accept cancel completion. */
if (! (client->naccepts == 0))
return (ISC_TRUE);
}
/* Accept cancel is complete. */
/* Accept cancel is complete. */
if (client->nrecvs > 0)
isc_socket_cancel(client->udpsocket, client->task,
ISC_SOCKCANCEL_RECV);
if (! (client->nrecvs == 0)) {
/* Still waiting for recv cancel completion. */
return (ISC_TRUE);
}
/* Recv cancel is complete. */
if (client->nctls > 0) {
/* Still waiting for control event to be delivered */
/* Still waiting for recv cancel completion. */
if (! (client->nrecvs == 0))
return (ISC_TRUE);
/* Still waiting for control event to be delivered */
if (client->nctls > 0)
return (ISC_TRUE);
}
/* Deactivate the client. */
if (client->interface)
@@ -449,7 +493,6 @@ exit_check(ns_client_t *client) {
client->attributes = 0;
client->mortal = ISC_FALSE;
LOCK(&client->manager->lock);
/*
* Put the client on the inactive list. If we are aiming for
* the "freed" state, it will be removed from the inactive
@@ -457,18 +500,16 @@ exit_check(ns_client_t *client) {
* that has been done, lest the manager decide to reactivate
* the dying client inbetween.
*/
locked_manager = client->manager;
ISC_LIST_UNLINK(*client->list, client, link);
ISC_LIST_APPEND(client->manager->inactive, client, link);
client->list = &client->manager->inactive;
client->state = NS_CLIENTSTATE_INACTIVE;
if (!ns_g_clienttest)
ISC_QUEUE_PUSH(manager->inactive, client, ilink);
INSIST(client->recursionquota == NULL);
if (client->state == client->newstate) {
client->newstate = NS_CLIENTSTATE_MAX;
if (client->needshutdown)
isc_task_shutdown(client->task);
goto unlock;
return (ISC_TRUE);
}
}
@@ -493,27 +534,27 @@ exit_check(ns_client_t *client) {
isc_timer_detach(&client->timer);
if (client->tcpbuf != NULL)
isc_mem_put(client->mctx, client->tcpbuf, TCP_BUFFER_SIZE);
isc_mem_put(client->mctx, client->tcpbuf,
TCP_BUFFER_SIZE);
if (client->opt != NULL) {
INSIST(dns_rdataset_isassociated(client->opt));
dns_rdataset_disassociate(client->opt);
dns_message_puttemprdataset(client->message, &client->opt);
dns_message_puttemprdataset(client->message,
&client->opt);
}
dns_message_destroy(&client->message);
if (client->manager != NULL) {
ns_clientmgr_t *manager = client->manager;
if (locked_manager == NULL) {
LOCK(&manager->lock);
locked_manager = manager;
}
ISC_LIST_UNLINK(*client->list, client, link);
client->list = NULL;
if (manager != NULL) {
LOCK(&manager->listlock);
ISC_LIST_UNLINK(manager->clients, client, link);
LOCK(&manager->lock);
if (manager->exiting &&
ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive) &&
ISC_LIST_EMPTY(manager->recursing))
destroy_manager = manager;
ISC_LIST_EMPTY(manager->clients))
destroy_manager = ISC_TRUE;
UNLOCK(&manager->lock);
UNLOCK(&manager->listlock);
}
/*
* Detaching the task must be done after unlinking from
* the manager's lists because the manager accesses
@@ -524,6 +565,7 @@ exit_check(ns_client_t *client) {
CTRACE("free");
client->magic = 0;
/*
* Check that there are no other external references to
* the memory context.
@@ -533,22 +575,10 @@ exit_check(ns_client_t *client) {
INSIST(0);
}
isc_mem_putanddetach(&client->mctx, client, sizeof(*client));
goto unlock;
}
unlock:
if (locked_manager != NULL) {
UNLOCK(&locked_manager->lock);
locked_manager = NULL;
}
/*
* Only now is it safe to destroy the client manager (if needed),
* because we have accessed its lock for the last time.
*/
if (destroy_manager != NULL)
clientmgr_destroy(destroy_manager);
if (destroy_manager && manager != NULL)
clientmgr_destroy(manager);
return (ISC_TRUE);
}
@@ -616,7 +646,8 @@ ns_client_endrequest(ns_client_t *client) {
INSIST(client->nsends == 0);
INSIST(client->nrecvs == 0);
INSIST(client->nupdates == 0);
INSIST(client->state == NS_CLIENTSTATE_WORKING);
INSIST(client->state == NS_CLIENTSTATE_WORKING ||
client->state == NS_CLIENTSTATE_RECURSING);
CTRACE("endrequest");
@@ -633,6 +664,7 @@ ns_client_endrequest(ns_client_t *client) {
dns_message_puttemprdataset(client->message, &client->opt);
}
client->signer = NULL;
client->udpsize = 512;
client->extflags = 0;
client->ednsversion = -1;
@@ -648,46 +680,13 @@ ns_client_endrequest(ns_client_t *client) {
client->attributes &= NS_CLIENTATTR_TCP;
}
static void
ns_client_checkactive(ns_client_t *client) {
if (client->mortal) {
/*
* This client object should normally go inactive
* at this point, but if we have fewer active client
* objects than desired due to earlier quota exhaustion,
* keep it active to make up for the shortage.
*/
isc_boolean_t need_another_client = ISC_FALSE;
if (TCP_CLIENT(client) && !ns_g_clienttest) {
LOCK(&client->interface->lock);
if (client->interface->ntcpcurrent <
client->interface->ntcptarget)
need_another_client = ISC_TRUE;
UNLOCK(&client->interface->lock);
} else {
/*
* The UDP client quota is enforced by making
* requests fail rather than by not listening
* for new ones. Therefore, there is always a
* full set of UDP clients listening.
*/
}
if (! need_another_client) {
/*
* We don't need this client object. Recycle it.
*/
if (client->newstate >= NS_CLIENTSTATE_INACTIVE)
client->newstate = NS_CLIENTSTATE_INACTIVE;
}
}
}
void
ns_client_next(ns_client_t *client, isc_result_t result) {
int newstate;
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(client->state == NS_CLIENTSTATE_WORKING ||
client->state == NS_CLIENTSTATE_RECURSING ||
client->state == NS_CLIENTSTATE_READING);
CTRACE("next");
@@ -744,9 +743,6 @@ client_senddone(isc_task_t *task, isc_event_t *event) {
client->tcpbuf = NULL;
}
if (exit_check(client))
return;
ns_client_next(client, ISC_R_SUCCESS);
}
@@ -933,6 +929,15 @@ ns_client_send(ns_client_t *client) {
render_opts = 0;
else
render_opts = DNS_MESSAGERENDER_OMITDNSSEC;
preferred_glue = 0;
if (client->view != NULL) {
if (client->view->preferred_glue == dns_rdatatype_a)
preferred_glue = DNS_MESSAGERENDER_PREFER_A;
else if (client->view->preferred_glue == dns_rdatatype_aaaa)
preferred_glue = DNS_MESSAGERENDER_PREFER_AAAA;
}
#ifdef ALLOW_FILTER_AAAA_ON_V4
/*
* filter-aaaa-on-v4 yes or break-dnssec option to suppress
@@ -941,17 +946,15 @@ ns_client_send(ns_client_t *client) {
* that we have both AAAA and A records,
* and that we either have no signatures that the client wants
* or we are supposed to break DNSSEC.
*
* Override preferred glue if necessary.
*/
if ((client->attributes & NS_CLIENTATTR_FILTER_AAAA) != 0)
if ((client->attributes & NS_CLIENTATTR_FILTER_AAAA) != 0) {
render_opts |= DNS_MESSAGERENDER_FILTER_AAAA;
#endif
preferred_glue = 0;
if (client->view != NULL) {
if (client->view->preferred_glue == dns_rdatatype_a)
if (preferred_glue == DNS_MESSAGERENDER_PREFER_AAAA)
preferred_glue = DNS_MESSAGERENDER_PREFER_A;
else if (client->view->preferred_glue == dns_rdatatype_aaaa)
preferred_glue = DNS_MESSAGERENDER_PREFER_AAAA;
}
#endif
/*
* XXXRTH The following doesn't deal with TCP buffer resizing.
@@ -1312,6 +1315,12 @@ ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
UNUSED(arg);
/*
* ns_g_server->interfacemgr is task exclusive locked.
*/
if (ns_g_server->interfacemgr == NULL)
return (ISC_TRUE);
if (!ns_interfacemgr_listeningon(ns_g_server->interfacemgr, dstaddr))
return (ISC_FALSE);
@@ -1380,10 +1389,9 @@ client_request(isc_task_t *task, isc_event_t *event) {
INSIST(client->recursionquota == NULL);
INSIST(client->state ==
TCP_CLIENT(client) ?
NS_CLIENTSTATE_READING :
NS_CLIENTSTATE_READY);
INSIST(client->state == TCP_CLIENT(client) ?
NS_CLIENTSTATE_READING :
NS_CLIENTSTATE_READY);
ns_client_requests++;
@@ -1961,6 +1969,11 @@ static isc_result_t
get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) {
isc_mem_t *clientmctx;
isc_result_t result;
#if NMCTXS > 0
unsigned int nextmctx;
#endif
MTRACE("clientmctx");
/*
* Caller must be holding the manager lock.
@@ -1972,19 +1985,21 @@ get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) {
return (result);
}
#if NMCTXS > 0
INSIST(manager->nextmctx < NMCTXS);
clientmctx = manager->mctxpool[manager->nextmctx];
nextmctx = manager->nextmctx++;
if (manager->nextmctx == NMCTXS)
manager->nextmctx = 0;
INSIST(nextmctx < NMCTXS);
clientmctx = manager->mctxpool[nextmctx];
if (clientmctx == NULL) {
result = isc_mem_create(0, 0, &clientmctx);
if (result != ISC_R_SUCCESS)
return (result);
isc_mem_setname(clientmctx, "client", NULL);
manager->mctxpool[manager->nextmctx] = clientmctx;
manager->mctxpool[nextmctx] = clientmctx;
}
manager->nextmctx++;
if (manager->nextmctx == NMCTXS)
manager->nextmctx = 0;
#else
clientmctx = manager->mctx;
#endif
@@ -2095,12 +2110,16 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
client->next = NULL;
client->shutdown = NULL;
client->shutdown_arg = NULL;
client->signer = NULL;
dns_name_init(&client->signername, NULL);
client->mortal = ISC_FALSE;
client->tcpquota = NULL;
client->recursionquota = NULL;
client->interface = NULL;
client->peeraddr_valid = ISC_FALSE;
#ifdef ALLOW_FILTER_AAAA_ON_V4
client->filter_aaaa = dns_v4_aaaa_ok;
#endif
ISC_EVENT_INIT(&client->ctlevent, sizeof(client->ctlevent), 0, NULL,
NS_EVENT_CLIENTCONTROL, client_start, client, client,
NULL, NULL);
@@ -2112,7 +2131,8 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
client->formerrcache.time = 0;
client->formerrcache.id = 0;
ISC_LINK_INIT(client, link);
client->list = NULL;
ISC_LINK_INIT(client, rlink);
ISC_QLINK_INIT(client, ilink);
/*
* We call the init routines for the various kinds of client here,
@@ -2390,10 +2410,8 @@ ns_client_replace(ns_client_t *client) {
CTRACE("replace");
result = ns_clientmgr_createclients(client->manager,
1, client->interface,
(TCP_CLIENT(client) ?
ISC_TRUE : ISC_FALSE));
result = get_client(client->manager, client->interface,
client->dispatch, TCP_CLIENT(client));
if (result != ISC_R_SUCCESS)
return (result);
@@ -2417,9 +2435,7 @@ clientmgr_destroy(ns_clientmgr_t *manager) {
int i;
#endif
REQUIRE(ISC_LIST_EMPTY(manager->active));
REQUIRE(ISC_LIST_EMPTY(manager->inactive));
REQUIRE(ISC_LIST_EMPTY(manager->recursing));
REQUIRE(ISC_LIST_EMPTY(manager->clients));
MTRACE("clientmgr_destroy");
@@ -2430,7 +2446,10 @@ clientmgr_destroy(ns_clientmgr_t *manager) {
}
#endif
ISC_QUEUE_DESTROY(manager->inactive);
DESTROYLOCK(&manager->lock);
DESTROYLOCK(&manager->listlock);
DESTROYLOCK(&manager->reclock);
manager->magic = 0;
isc_mem_put(manager->mctx, manager, sizeof(*manager));
}
@@ -2453,13 +2472,21 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
if (result != ISC_R_SUCCESS)
goto cleanup_manager;
result = isc_mutex_init(&manager->listlock);
if (result != ISC_R_SUCCESS)
goto cleanup_lock;
result = isc_mutex_init(&manager->reclock);
if (result != ISC_R_SUCCESS)
goto cleanup_listlock;
manager->mctx = mctx;
manager->taskmgr = taskmgr;
manager->timermgr = timermgr;
manager->exiting = ISC_FALSE;
ISC_LIST_INIT(manager->active);
ISC_LIST_INIT(manager->inactive);
ISC_LIST_INIT(manager->clients);
ISC_LIST_INIT(manager->recursing);
ISC_QUEUE_INIT(manager->inactive, ilink);
#if NMCTXS > 0
manager->nextmctx = 0;
for (i = 0; i < NMCTXS; i++)
@@ -2473,6 +2500,12 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
return (ISC_R_SUCCESS);
cleanup_listlock:
isc_mutex_destroy(&manager->listlock);
cleanup_lock:
isc_mutex_destroy(&manager->lock);
cleanup_manager:
isc_mem_put(manager->mctx, manager, sizeof(*manager));
@@ -2491,31 +2524,21 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
MTRACE("destroy");
LOCK(&manager->listlock);
LOCK(&manager->lock);
manager->exiting = ISC_TRUE;
UNLOCK(&manager->lock);
for (client = ISC_LIST_HEAD(manager->recursing);
for (client = ISC_LIST_HEAD(manager->clients);
client != NULL;
client = ISC_LIST_NEXT(client, link))
isc_task_shutdown(client->task);
for (client = ISC_LIST_HEAD(manager->active);
client != NULL;
client = ISC_LIST_NEXT(client, link))
isc_task_shutdown(client->task);
for (client = ISC_LIST_HEAD(manager->inactive);
client != NULL;
client = ISC_LIST_NEXT(client, link))
isc_task_shutdown(client->task);
if (ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive) &&
ISC_LIST_EMPTY(manager->recursing))
if (ISC_LIST_EMPTY(manager->clients))
need_destroy = ISC_TRUE;
UNLOCK(&manager->lock);
UNLOCK(&manager->listlock);
if (need_destroy)
clientmgr_destroy(manager);
@@ -2523,81 +2546,81 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
*managerp = NULL;
}
static isc_result_t
get_client(ns_clientmgr_t *manager, ns_interface_t *ifp,
dns_dispatch_t *disp, isc_boolean_t tcp)
{
isc_result_t result = ISC_R_SUCCESS;
isc_event_t *ev;
ns_client_t *client;
MTRACE("get client");
/*
* Allocate a client. First try to get a recycled one;
* if that fails, make a new one.
*/
client = NULL;
if (!ns_g_clienttest)
ISC_QUEUE_POP(manager->inactive, ilink, client);
if (client != NULL)
MTRACE("recycle");
else {
MTRACE("create new");
LOCK(&manager->lock);
result = client_create(manager, &client);
UNLOCK(&manager->lock);
if (result != ISC_R_SUCCESS)
return (result);
LOCK(&manager->listlock);
ISC_LIST_APPEND(manager->clients, client, link);
UNLOCK(&manager->listlock);
}
client->manager = manager;
ns_interface_attach(ifp, &client->interface);
client->state = NS_CLIENTSTATE_READY;
INSIST(client->recursionquota == NULL);
if (tcp) {
client->attributes |= NS_CLIENTATTR_TCP;
isc_socket_attach(ifp->tcpsocket,
&client->tcplistener);
} else {
isc_socket_t *sock;
dns_dispatch_attach(disp, &client->dispatch);
sock = dns_dispatch_getsocket(client->dispatch);
isc_socket_attach(sock, &client->udpsocket);
}
INSIST(client->nctls == 0);
client->nctls++;
ev = &client->ctlevent;
isc_task_send(client->task, &ev);
return (ISC_R_SUCCESS);
}
isc_result_t
ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
ns_interface_t *ifp, isc_boolean_t tcp)
{
isc_result_t result = ISC_R_SUCCESS;
unsigned int i;
ns_client_t *client;
unsigned int disp;
REQUIRE(VALID_MANAGER(manager));
REQUIRE(n > 0);
MTRACE("createclients");
/*
* We MUST lock the manager lock for the entire client creation
* process. If we didn't do this, then a client could get a
* shutdown event and disappear out from under us.
*/
LOCK(&manager->lock);
for (i = 0; i < n; i++) {
isc_event_t *ev;
/*
* Allocate a client. First try to get a recycled one;
* if that fails, make a new one.
*/
client = NULL;
if (!ns_g_clienttest)
client = ISC_LIST_HEAD(manager->inactive);
if (client != NULL) {
MTRACE("recycle");
ISC_LIST_UNLINK(manager->inactive, client, link);
client->list = NULL;
} else {
MTRACE("create new");
result = client_create(manager, &client);
if (result != ISC_R_SUCCESS)
break;
}
ns_interface_attach(ifp, &client->interface);
client->state = NS_CLIENTSTATE_READY;
INSIST(client->recursionquota == NULL);
if (tcp) {
client->attributes |= NS_CLIENTATTR_TCP;
isc_socket_attach(ifp->tcpsocket,
&client->tcplistener);
} else {
isc_socket_t *sock;
dns_dispatch_attach(ifp->udpdispatch,
&client->dispatch);
sock = dns_dispatch_getsocket(client->dispatch);
isc_socket_attach(sock, &client->udpsocket);
}
client->manager = manager;
ISC_LIST_APPEND(manager->active, client, link);
client->list = &manager->active;
INSIST(client->nctls == 0);
client->nctls++;
ev = &client->ctlevent;
isc_task_send(client->task, &ev);
for (disp = 0; disp < n; disp++) {
result = get_client(manager, ifp, ifp->udpdispatch[disp], tcp);
if (result != ISC_R_SUCCESS)
break;
}
if (i != 0) {
/*
* We managed to create at least one client, so we
* declare victory.
*/
result = ISC_R_SUCCESS;
}
UNLOCK(&manager->lock);
return (result);
}
@@ -2682,19 +2705,41 @@ ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
{
char msgbuf[2048];
char peerbuf[ISC_SOCKADDR_FORMATSIZE];
const char *name = "";
const char *sep = "";
char signerbuf[DNS_NAME_FORMATSIZE], qnamebuf[DNS_NAME_FORMATSIZE];
const char *viewname = "";
const char *sep1 = "", *sep2 = "", *sep3 = "", *sep4 = "";
const char *signer = "", *qname = "";
dns_name_t *q = NULL;
vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
ns_client_name(client, peerbuf, sizeof(peerbuf));
if (client->signer != NULL) {
dns_name_format(client->signer, signerbuf, sizeof(signerbuf));
sep1 = "/key ";
signer = signerbuf;
}
q = client->query.origqname != NULL
? client->query.origqname : client->query.qname;
if (q != NULL) {
dns_name_format(q, qnamebuf, sizeof(qnamebuf));
sep2 = " (";
sep3 = ")";
qname = qnamebuf;
}
if (client->view != NULL && strcmp(client->view->name, "_bind") != 0 &&
strcmp(client->view->name, "_default") != 0) {
name = client->view->name;
sep = ": view ";
sep4 = ": view ";
viewname = client->view->name;
}
isc_log_write(ns_g_lctx, category, module, level,
"client %s%s%s: %s", peerbuf, sep, name, msgbuf);
"client %s%s%s%s%s%s%s%s: %s",
peerbuf, sep1, signer, sep2, qname, sep3,
sep4, viewname, msgbuf);
}
void
@@ -2776,9 +2821,11 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
REQUIRE(VALID_MANAGER(manager));
LOCK(&manager->lock);
LOCK(&manager->reclock);
client = ISC_LIST_HEAD(manager->recursing);
while (client != NULL) {
INSIST(client->state == NS_CLIENTSTATE_RECURSING);
ns_client_name(client, peerbuf, sizeof(peerbuf));
if (client->view != NULL &&
strcmp(client->view->name, "_bind") != 0 &&
@@ -2789,6 +2836,9 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
name = "";
sep = "";
}
LOCK(&client->query.fetchlock);
INSIST(client->query.qname != NULL);
dns_name_format(client->query.qname, namebuf, sizeof(namebuf));
if (client->query.qname != client->query.origqname &&
client->query.origqname != NULL) {
@@ -2811,20 +2861,19 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
strcpy(typebuf, "-");
strcpy(classbuf, "-");
}
UNLOCK(&client->query.fetchlock);
fprintf(f, "; client %s%s%s: id %u '%s/%s/%s'%s%s "
"requesttime %d\n", peerbuf, sep, name,
client->message->id, namebuf, typebuf, classbuf,
origfor, original, client->requesttime);
client = ISC_LIST_NEXT(client, link);
client = ISC_LIST_NEXT(client, rlink);
}
UNLOCK(&manager->lock);
UNLOCK(&manager->reclock);
}
void
ns_client_qnamereplace(ns_client_t *client, dns_name_t *name) {
if (client->manager != NULL)
LOCK(&client->manager->lock);
LOCK(&client->query.fetchlock);
if (client->query.restarts > 0) {
/*
* client->query.qname was dynamically allocated.
@@ -2833,6 +2882,16 @@ ns_client_qnamereplace(ns_client_t *client, dns_name_t *name) {
&client->query.qname);
}
client->query.qname = name;
if (client->manager != NULL)
UNLOCK(&client->manager->lock);
UNLOCK(&client->query.fetchlock);
}
isc_result_t
ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t **addrp) {
ns_client_t *client = (ns_client_t *) ci->data;
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(addrp != NULL);
*addrp = &client->peeraddr;
return (ISC_R_SUCCESS);
}
+11 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.116 2011/02/23 03:08:08 marka Exp $ */
/* $Id: config.c,v 1.123 2012/01/06 23:46:41 tbox Exp $ */
/*! \file */
@@ -90,7 +90,7 @@ options {\n\
"\
recursive-clients 1000;\n\
resolver-query-timeout 30;\n\
rrset-order {type NS order random; order cyclic; };\n\
rrset-order { order random; };\n\
serial-queries 20;\n\
serial-query-rate 20;\n\
server-id none;\n\
@@ -199,6 +199,7 @@ options {\n\
sig-signing-nodes 100;\n\
sig-signing-signatures 10;\n\
sig-signing-type 65534;\n\
inline-signing no;\n\
zone-statistics false;\n\
max-journal-size unlimited;\n\
ixfr-from-differences false;\n\
@@ -209,7 +210,10 @@ options {\n\
check-srv-cname warn;\n\
zero-no-soa-ttl yes;\n\
update-check-ksk yes;\n\
serial-update-method increment;\n\
dnssec-update-mode maintain;\n\
dnssec-dnskey-kskonly no;\n\
dnssec-loadkeys-interval 60;\n\
try-tcp-refresh yes; /* BIND 8 compat */\n\
};\n\
"
@@ -291,7 +295,8 @@ ns_checknames_get(const cfg_obj_t **maps, const char *which,
if (maps[i] == NULL)
return (ISC_R_NOTFOUND);
checknames = NULL;
if (cfg_map_get(maps[i], "check-names", &checknames) == ISC_R_SUCCESS) {
if (cfg_map_get(maps[i], "check-names",
&checknames) == ISC_R_SUCCESS) {
/*
* Zone map entry is not a list.
*/
@@ -304,7 +309,8 @@ ns_checknames_get(const cfg_obj_t **maps, const char *which,
element = cfg_list_next(element)) {
value = cfg_listelt_value(element);
type = cfg_tuple_get(value, "type");
if (strcasecmp(cfg_obj_asstring(type), which) == 0) {
if (strcasecmp(cfg_obj_asstring(type),
which) == 0) {
*obj = cfg_tuple_get(value, "mode");
return (ISC_R_SUCCESS);
}
+10 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.c,v 1.41 2010/12/03 22:05:19 each Exp $ */
/* $Id$ */
/*! \file */
@@ -154,7 +154,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
} else if (command_compare(command, NS_COMMAND_DUMPSTATS)) {
result = ns_server_dumpstats(ns_g_server);
} else if (command_compare(command, NS_COMMAND_QUERYLOG)) {
result = ns_server_togglequerylog(ns_g_server);
result = ns_server_togglequerylog(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_DUMPDB)) {
ns_server_dumpdb(ns_g_server, command);
result = ISC_R_SUCCESS;
@@ -169,7 +169,9 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
} else if (command_compare(command, NS_COMMAND_FLUSH)) {
result = ns_server_flushcache(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_FLUSHNAME)) {
result = ns_server_flushname(ns_g_server, command);
result = ns_server_flushnode(ns_g_server, command, ISC_FALSE);
} else if (command_compare(command, NS_COMMAND_FLUSHTREE)) {
result = ns_server_flushnode(ns_g_server, command, ISC_TRUE);
} else if (command_compare(command, NS_COMMAND_STATUS)) {
result = ns_server_status(ns_g_server, text);
} else if (command_compare(command, NS_COMMAND_TSIGLIST)) {
@@ -183,6 +185,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
command_compare(command, NS_COMMAND_THAW)) {
result = ns_server_freeze(ns_g_server, ISC_FALSE, command,
text);
} else if (command_compare(command, NS_COMMAND_SYNC)) {
result = ns_server_sync(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_RECURSING)) {
result = ns_server_dumprecursing(ns_g_server);
} else if (command_compare(command, NS_COMMAND_TIMERPOKE)) {
@@ -201,6 +205,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
result = ns_server_add_zone(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_DELZONE)) {
result = ns_server_del_zone(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_SIGNING)) {
result = ns_server_signing(ns_g_server, command, text);
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
+10 -14
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.60 2008/07/23 23:27:54 marka Exp $ */
/* $Id: controlconf.c,v 1.63 2011/12/22 08:07:48 marka Exp $ */
/*! \file */
@@ -373,17 +373,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS)
break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
if (result == ISCCC_R_BADAUTH) {
/*
* For some reason, request is non-NULL when
* isccc_cc_fromwire returns ISCCC_R_BADAUTH.
*/
if (request != NULL)
isccc_sexpr_free(&request);
} else {
log_invalid(&conn->ccmsg, result);
goto cleanup;
}
log_invalid(&conn->ccmsg, result);
goto cleanup;
}
if (key == NULL) {
@@ -859,7 +850,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
cfg_obj_log(key, ns_g_lctx, ISC_LOG_WARNING,
"secret for key '%s' on command channel: %s",
keyid->keyname, isc_result_totext(result));
CHECK(result);
goto cleanup;
}
keyid->secret.length = isc_buffer_usedlength(&b);
@@ -1148,6 +1139,11 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
if (result == ISC_R_SUCCESS)
isc_socket_setname(listener->sock, "control", NULL);
#ifndef ISC_ALLOW_MAPPED
if (result == ISC_R_SUCCESS)
isc_socket_ipv6only(listener->sock, ISC_TRUE);
#endif
if (result == ISC_R_SUCCESS)
result = isc_socket_bind(listener->sock, &listener->address,
ISC_SOCKET_REUSEADDRESS);
+27
View File
@@ -0,0 +1,27 @@
/*
* Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dlz_dlopen_driver.h,v 1.4 2011/03/17 09:25:53 fdupont Exp $ */
#ifndef DLZ_DLOPEN_DRIVER_H
#define DLZ_DLOPEN_DRIVER_H
isc_result_t
dlz_dlopen_init(isc_mem_t *mctx);
void
dlz_dlopen_clear(void);
#endif
+16 -8
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.h,v 1.91 2009/10/26 23:14:53 each Exp $ */
/* $Id$ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -66,7 +66,9 @@
#include <isc/magic.h>
#include <isc/stdtime.h>
#include <isc/quota.h>
#include <isc/queue.h>
#include <dns/db.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
@@ -81,8 +83,6 @@
*** Types
***/
typedef ISC_LIST(ns_client_t) client_list_t;
/*% nameserver client structure */
struct ns_client {
unsigned int magic;
@@ -141,6 +141,9 @@ struct ns_client {
isc_netaddr_t destaddr;
struct in6_pktinfo pktinfo;
isc_event_t ctlevent;
#ifdef ALLOW_FILTER_AAAA_ON_V4
dns_v4_aaaa_t filter_aaaa;
#endif
/*%
* Information about recent FORMERR response(s), for
* FORMERR loop avoidance. This is separate for each
@@ -152,13 +155,15 @@ struct ns_client {
isc_stdtime_t time;
dns_messageid_t id;
} formerrcache;
ISC_LINK(ns_client_t) link;
/*%
* The list 'link' is part of, or NULL if not on any list.
*/
client_list_t *list;
ISC_LINK(ns_client_t) rlink;
ISC_QLINK(ns_client_t) ilink;
};
typedef ISC_QUEUE(ns_client_t) client_queue_t;
typedef ISC_LIST(ns_client_t) client_list_t;
#define NS_CLIENT_MAGIC ISC_MAGIC('N','S','C','c')
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
@@ -375,4 +380,7 @@ ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
* Isself callback.
*/
isc_result_t
ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t **addrp);
#endif /* NAMED_CLIENT_H */
+5 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2009-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.h,v 1.31 2010/08/16 22:21:06 marka Exp $ */
/* $Id$ */
#ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1
@@ -47,6 +47,7 @@
#define NS_COMMAND_NOTRACE "notrace"
#define NS_COMMAND_FLUSH "flush"
#define NS_COMMAND_FLUSHNAME "flushname"
#define NS_COMMAND_FLUSHTREE "flushtree"
#define NS_COMMAND_STATUS "status"
#define NS_COMMAND_TSIGLIST "tsig-list"
#define NS_COMMAND_TSIGDELETE "tsig-delete"
@@ -62,6 +63,8 @@
#define NS_COMMAND_LOADKEYS "loadkeys"
#define NS_COMMAND_ADDZONE "addzone"
#define NS_COMMAND_DELZONE "delzone"
#define NS_COMMAND_SYNC "sync"
#define NS_COMMAND_SIGNING "signing"
isc_result_t
ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp);
+5 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: globals.h,v 1.89 2010/09/15 12:07:55 marka Exp $ */
/* $Id: globals.h,v 1.92 2011/11/09 18:44:04 each Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
@@ -26,6 +26,7 @@
#include <isc/log.h>
#include <isc/net.h>
#include <isccfg/aclconf.h>
#include <isccfg/cfg.h>
#include <dns/zone.h>
@@ -50,6 +51,7 @@
EXTERN isc_mem_t * ns_g_mctx INIT(NULL);
EXTERN unsigned int ns_g_cpus INIT(0);
EXTERN unsigned int ns_g_udpdisp INIT(0);
EXTERN isc_taskmgr_t * ns_g_taskmgr INIT(NULL);
EXTERN dns_dispatchmgr_t * ns_g_dispatchmgr INIT(NULL);
EXTERN isc_entropy_t * ns_g_entropy INIT(NULL);
@@ -102,6 +104,7 @@ EXTERN const char * lwresd_g_resolvconffile INIT("/etc"
EXTERN isc_boolean_t ns_g_conffileset INIT(ISC_FALSE);
EXTERN isc_boolean_t lwresd_g_useresolvconf INIT(ISC_FALSE);
EXTERN isc_uint16_t ns_g_udpsize INIT(4096);
EXTERN cfg_aclconfctx_t * ns_g_aclconfctx INIT(NULL);
/*
* Initial resource limits.
+7 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.h,v 1.33 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: interfacemgr.h,v 1.35 2011/07/28 23:47:58 tbox Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -65,7 +65,8 @@
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
#define NS_INTERFACEFLAG_ANYADDR 0x01U /*%< bound to "any" address */
#define MAX_UDP_DISPATCH 128 /*%< Maximum number of UDP dispatchers
to start per interface */
/*% The nameserver interface structure */
struct ns_interface {
unsigned int magic; /*%< Magic number. */
@@ -76,11 +77,13 @@ struct ns_interface {
isc_sockaddr_t addr; /*%< Address and port. */
unsigned int flags; /*%< Interface characteristics */
char name[32]; /*%< Null terminated. */
dns_dispatch_t * udpdispatch; /*%< UDP dispatcher. */
dns_dispatch_t * udpdispatch[MAX_UDP_DISPATCH];
/*%< UDP dispatchers. */
isc_socket_t * tcpsocket; /*%< TCP socket. */
int ntcptarget; /*%< Desired number of concurrent
TCP accepts */
int ntcpcurrent; /*%< Current ditto, locked */
int nudpdispatch; /*%< Number of UDP dispatches */
ns_clientmgr_t * clientmgr; /*%< Client manager. */
ISC_LINK(ns_interface_t) link;
};
+20 -6
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.h,v 1.110 2010/08/16 23:46:52 tbox Exp $ */
/* $Id$ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
@@ -228,9 +228,10 @@ ns_server_retransfercommand(ns_server_t *server, char *args);
*/
isc_result_t
ns_server_togglequerylog(ns_server_t *server);
ns_server_togglequerylog(ns_server_t *server, char *args);
/*%<
* Toggle logging of queries, as in BIND 8.
* Enable/disable logging of queries. (Takes "yes" or "no" argument,
* but can also be used as a toggle for backward comptibility.)
*/
/*%
@@ -264,10 +265,12 @@ isc_result_t
ns_server_flushcache(ns_server_t *server, char *args);
/*%
* Flush a particular name from the server's cache(s)
* Flush a particular name from the server's cache. If 'tree' is false,
* also flush the name from the ADB and badcache. If 'tree' is true, also
* flush all the names under the specified name.
*/
isc_result_t
ns_server_flushname(ns_server_t *server, char *args);
ns_server_flushnode(ns_server_t *server, char *args, isc_boolean_t tree);
/*%
* Report the server's status.
@@ -294,6 +297,12 @@ isc_result_t
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args,
isc_buffer_t *text);
/*%
* Dump zone updates to disk, optionally removing the journal file
*/
isc_result_t
ns_server_sync(ns_server_t *server, char *args, isc_buffer_t *text);
/*%
* Update a zone's DNSKEY set from the key repository. If
* the command that triggered the call to this function was "sign",
@@ -334,4 +343,9 @@ ns_server_add_zone(ns_server_t *server, char *args);
isc_result_t
ns_server_del_zone(ns_server_t *server, char *args);
/*%
* Lists the status of the signing records for a given zone.
*/
isc_result_t
ns_server_signing(ns_server_t *server, char *args, isc_buffer_t *text);
#endif /* NAMED_SERVER_H */
+3 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zoneconf.h,v 1.28 2010/12/20 23:47:20 tbox Exp $ */
/* $Id: zoneconf.h,v 1.30 2011/08/30 23:46:51 tbox Exp $ */
#ifndef NS_ZONECONF_H
#define NS_ZONECONF_H 1
@@ -33,7 +33,7 @@ ISC_LANG_BEGINDECLS
isc_result_t
ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
const cfg_obj_t *zconfig, cfg_aclconfctx_t *ac,
dns_zone_t *zone);
dns_zone_t *zone, dns_zone_t *raw);
/*%<
* Configure or reconfigure a zone according to the named.conf
* data in 'cctx' and 'czone'.
+50 -23
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,13 +15,14 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.c,v 1.95 2009/01/17 23:47:42 tbox Exp $ */
/* $Id: interfacemgr.c,v 1.101 2011/11/09 18:44:03 each Exp $ */
/*! \file */
#include <config.h>
#include <isc/interfaceiter.h>
#include <isc/os.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/util.h>
@@ -183,11 +184,14 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
{
ns_interface_t *ifp;
isc_result_t result;
int disp;
REQUIRE(NS_INTERFACEMGR_VALID(mgr));
ifp = isc_mem_get(mgr->mctx, sizeof(*ifp));
if (ifp == NULL)
return (ISC_R_NOMEMORY);
ifp->mgr = NULL;
ifp->generation = mgr->generation;
ifp->addr = *addr;
@@ -210,9 +214,11 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
goto clientmgr_create_failure;
}
ifp->udpdispatch = NULL;
for (disp = 0; disp < MAX_UDP_DISPATCH; disp++)
ifp->udpdispatch[disp] = NULL;
ifp->tcpsocket = NULL;
/*
* Create a single TCP client object. It will replace itself
* with a new one as soon as it gets a connection, so the actual
@@ -221,6 +227,7 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
*/
ifp->ntcptarget = 1;
ifp->ntcpcurrent = 0;
ifp->nudpdispatch = 0;
ISC_LINK_INIT(ifp, link);
@@ -235,6 +242,7 @@ ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
clientmgr_create_failure:
DESTROYLOCK(&ifp->lock);
lock_create_failure:
ifp->magic = 0;
isc_mem_put(mgr->mctx, ifp, sizeof(*ifp));
@@ -247,6 +255,7 @@ ns_interface_listenudp(ns_interface_t *ifp) {
isc_result_t result;
unsigned int attrs;
unsigned int attrmask;
int disp, i;
attrs = 0;
attrs |= DNS_DISPATCHATTR_UDP;
@@ -258,18 +267,28 @@ ns_interface_listenudp(ns_interface_t *ifp) {
attrmask = 0;
attrmask |= DNS_DISPATCHATTR_UDP | DNS_DISPATCHATTR_TCP;
attrmask |= DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_IPV6;
result = dns_dispatch_getudp(ifp->mgr->dispatchmgr, ns_g_socketmgr,
ns_g_taskmgr, &ifp->addr,
4096, 1000, 32768, 8219, 8237,
attrs, attrmask, &ifp->udpdispatch);
if (result != ISC_R_SUCCESS) {
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR,
"could not listen on UDP socket: %s",
isc_result_totext(result));
goto udp_dispatch_failure;
ifp->nudpdispatch = ISC_MIN(ns_g_udpdisp, MAX_UDP_DISPATCH);
for (disp = 0; disp < ifp->nudpdispatch; disp++) {
result = dns_dispatch_getudp_dup(ifp->mgr->dispatchmgr,
ns_g_socketmgr,
ns_g_taskmgr, &ifp->addr,
4096, 1000, 32768, 8219, 8237,
attrs, attrmask,
&ifp->udpdispatch[disp],
disp == 0
? NULL
: ifp->udpdispatch[0]);
if (result != ISC_R_SUCCESS) {
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_ERROR,
"could not listen on UDP socket: %s",
isc_result_totext(result));
goto udp_dispatch_failure;
}
}
result = ns_clientmgr_createclients(ifp->clientmgr, ns_g_cpus,
result = ns_clientmgr_createclients(ifp->clientmgr, ifp->nudpdispatch,
ifp, ISC_FALSE);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
@@ -277,12 +296,17 @@ ns_interface_listenudp(ns_interface_t *ifp) {
isc_result_totext(result));
goto addtodispatch_failure;
}
return (ISC_R_SUCCESS);
addtodispatch_failure:
dns_dispatch_changeattributes(ifp->udpdispatch, 0,
DNS_DISPATCHATTR_NOLISTEN);
dns_dispatch_detach(&ifp->udpdispatch);
for (i = disp - 1; i <= 0; i--) {
dns_dispatch_changeattributes(ifp->udpdispatch[i], 0,
DNS_DISPATCHATTR_NOLISTEN);
dns_dispatch_detach(&(ifp->udpdispatch[i]));
}
ifp->nudpdispatch = 0;
udp_dispatch_failure:
return (result);
}
@@ -379,7 +403,7 @@ ns_interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,
}
}
*ifpret = ifp;
return (ISC_R_SUCCESS);
return (result);
cleanup_interface:
ISC_LIST_UNLINK(ifp->mgr->interfaces, ifp, link);
@@ -396,15 +420,19 @@ ns_interface_shutdown(ns_interface_t *ifp) {
static void
ns_interface_destroy(ns_interface_t *ifp) {
isc_mem_t *mctx = ifp->mgr->mctx;
int disp;
REQUIRE(NS_INTERFACE_VALID(ifp));
ns_interface_shutdown(ifp);
if (ifp->udpdispatch != NULL) {
dns_dispatch_changeattributes(ifp->udpdispatch, 0,
DNS_DISPATCHATTR_NOLISTEN);
dns_dispatch_detach(&ifp->udpdispatch);
}
for (disp = ifp->nudpdispatch; disp >= 0; disp--)
if (ifp->udpdispatch[disp] != NULL) {
dns_dispatch_changeattributes(ifp->udpdispatch[disp], 0,
DNS_DISPATCHATTR_NOLISTEN);
dns_dispatch_detach(&(ifp->udpdispatch[disp]));
}
if (ifp->tcpsocket != NULL)
isc_socket_detach(&ifp->tcpsocket);
@@ -964,7 +992,6 @@ isc_boolean_t
ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr) {
isc_sockaddr_t *old;
old = ISC_LIST_HEAD(mgr->listenon);
for (old = ISC_LIST_HEAD(mgr->listenon);
old != NULL;
old = ISC_LIST_NEXT(old, link))
+35 -22
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2011 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,12 +15,13 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: logconf.c,v 1.42 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: logconf.c,v 1.45 2011/03/05 23:52:29 tbox Exp $ */
/*! \file */
#include <config.h>
#include <isc/file.h>
#include <isc/offset.h>
#include <isc/result.h>
#include <isc/stdio.h>
@@ -130,7 +131,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
}
type = ISC_LOG_TONULL;
if (fileobj != NULL) {
const cfg_obj_t *pathobj = cfg_tuple_get(fileobj, "file");
const cfg_obj_t *sizeobj = cfg_tuple_get(fileobj, "size");
@@ -140,7 +141,7 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
isc_offset_t size = 0;
type = ISC_LOG_TOFILE;
if (versionsobj != NULL && cfg_obj_isuint32(versionsobj))
versions = cfg_obj_asuint32(versionsobj);
if (versionsobj != NULL && cfg_obj_isstring(versionsobj) &&
@@ -219,26 +220,38 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
if (result == ISC_R_SUCCESS && type == ISC_LOG_TOFILE) {
FILE *fp;
/*
* Test that the file can be opened, since isc_log_open()
* can't effectively report failures when called in
* isc_log_doit().
*/
result = isc_stdio_open(dest.file.name, "a", &fp);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx, CFG_LOGCATEGORY_CONFIG,
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
"logging channel '%s' file '%s': %s",
channelname, dest.file.name,
isc_result_totext(result));
else
(void)isc_stdio_close(fp);
/*
* Allow named to continue by returning success.
*/
result = ISC_R_SUCCESS;
* Test to make sure that file is a plain file.
* Fix defect #22771
*/
result = isc_file_isplainfile(dest.file.name);
if (result == ISC_R_SUCCESS ||
result == ISC_R_FILENOTFOUND) {
/*
* Test that the file can be opened, since
* isc_log_open() can't effectively report
* failures when called in
* isc_log_doit().
*/
result = isc_stdio_open(dest.file.name, "a", &fp);
if (result != ISC_R_SUCCESS) {
syslog(LOG_ERR,
"isc_stdio_open '%s' failed: %s",
dest.file.name,
isc_result_totext(result));
fprintf(stderr,
"isc_stdio_open '%s' failed: %s",
dest.file.name,
isc_result_totext(result));
} else
(void)isc_stdio_close(fp);
} else {
syslog(LOG_ERR, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
fprintf(stderr, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
}
}
return (result);
+1 -1
View File
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: lwresd.8,v 1.31 2009/07/11 01:12:45 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
+7 -7
View File
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: lwresd.html,v 1.27 2009/07/11 01:12:45 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,7 +22,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2476275"></a><div class="titlepage"></div>
<a name="id2476274"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">lwresd</span> &#8212; lightweight resolver daemon</p>
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-4</code>] [<code class="option">-6</code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543467"></a><h2>DESCRIPTION</h2>
<a name="id2543469"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">lwresd</strong></span>
is the daemon providing name lookup
services to clients that use the BIND 9 lightweight resolver
@@ -67,7 +67,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543514"></a><h2>OPTIONS</h2>
<a name="id2543516"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -197,7 +197,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543931"></a><h2>FILES</h2>
<a name="id2543933"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
<dd><p>
@@ -210,14 +210,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543971"></a><h2>SEE ALSO</h2>
<a name="id2543973"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544005"></a><h2>AUTHOR</h2>
<a name="id2544007"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+62 -9
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: main.c,v 1.180 2010/12/22 03:59:02 marka Exp $ */
/* $Id$ */
/*! \file */
@@ -51,6 +51,8 @@
#include <dst/result.h>
#include <dlz/dlz_dlopen_driver.h>
/*
* Defining NS_MAIN provides storage declarations (rather than extern)
* for variables in named/globals.h.
@@ -81,10 +83,10 @@
*/
/* #include "xxdb.h" */
#ifdef CONTRIB_DLZ
/*
* Include DLZ drivers if appropriate.
* Include contributed DLZ drivers if appropriate.
*/
#ifdef DLZ
#include <dlz/dlz_drivers.h>
#endif
@@ -416,7 +418,7 @@ parse_command_line(int argc, char *argv[]) {
isc_commandline_errprint = ISC_FALSE;
while ((ch = isc_commandline_parse(argc, argv,
"46c:C:d:E:fFgi:lm:n:N:p:P:"
"sS:t:T:u:vVx:")) != -1) {
"sS:t:T:U:u:vVx:")) != -1) {
switch (ch) {
case '4':
if (disable4)
@@ -525,6 +527,11 @@ parse_command_line(int argc, char *argv[]) {
fprintf(stderr, "unknown -T flag '%s\n",
isc_commandline_argument);
break;
case 'U':
ns_g_udpdisp = parse_int(isc_commandline_argument,
"number of UDP listeners "
"per interface");
break;
case 'u':
ns_g_username = isc_commandline_argument;
break;
@@ -560,6 +567,7 @@ parse_command_line(int argc, char *argv[]) {
argc -= isc_commandline_index;
argv += isc_commandline_index;
POST(argv);
if (argc > 0) {
usage();
@@ -582,6 +590,16 @@ create_managers(void) {
#else
ns_g_cpus = 1;
#endif
#ifdef WIN32
ns_g_udpdisp = 1;
#else
if (ns_g_udpdisp == 0 || ns_g_udpdisp > ns_g_cpus)
ns_g_udpdisp = ns_g_cpus;
#endif
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
ISC_LOG_INFO, "using %u UDP listener%s per interface",
ns_g_udpdisp, ns_g_udpdisp == 1 ? "" : "s");
result = isc_taskmgr_create(ns_g_mctx, ns_g_cpus, 0, &ns_g_taskmgr);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
@@ -790,6 +808,25 @@ setup(void) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"----------------------------------------------------");
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"BIND 9 is maintained by Internet Systems Consortium,");
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"Inc. (ISC), a non-profit 501(c)(3) public-benefit ");
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"corporation. Support and training for BIND 9 are ");
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"available at https://www.isc.org/support");
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,
"----------------------------------------------------");
dump_symboltable();
/*
@@ -856,9 +893,19 @@ setup(void) {
*/
/* xxdb_init(); */
#ifdef DLZ
#ifdef ISC_DLZ_DLOPEN
/*
* Register any DLZ drivers.
* Register the DLZ "dlopen" driver.
*/
result = dlz_dlopen_init(ns_g_mctx);
if (result != ISC_R_SUCCESS)
ns_main_earlyfatal("dlz_dlopen_init() failed: %s",
isc_result_totext(result));
#endif
#if CONTRIB_DLZ
/*
* Register any other contributed DLZ drivers.
*/
result = dlz_drivers_init();
if (result != ISC_R_SUCCESS)
@@ -882,12 +929,18 @@ cleanup(void) {
*/
/* xxdb_clear(); */
#ifdef DLZ
#ifdef CONTRIB_DLZ
/*
* Unregister any DLZ drivers.
* Unregister contributed DLZ drivers.
*/
dlz_drivers_clear();
#endif
#ifdef ISC_DLZ_DLOPEN
/*
* Unregister "dlopen" DLZ driver.
*/
dlz_dlopen_clear();
#endif
dns_name_destroy();
+15 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named.8,v 1.41 2009/10/06 01:14:41 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
named \- Internet domain name server
.SH "SYNOPSIS"
.HP 6
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-U\ \fR\fB\fI#listeners\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
.SH "DESCRIPTION"
.PP
\fBnamed\fR
@@ -168,6 +168,17 @@ is defined allows a process with root privileges to escape a chroot jail.
.RE
.RE
.PP
\-U \fI#listeners\fR
.RS 4
Use
\fI#listeners\fR
worker threads to listen for incoming UDP packets on each address. If not specified,
\fBnamed\fR
will use all of the worker threads for this purpose; the
\fB\-U\fR
option allows the number to be decreased but not increased.
.RE
.PP
\-u \fIuser\fR
.RS 4
Setuid to
@@ -267,7 +278,7 @@ BIND 9 Administrator Reference Manual.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2009 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br
+10 -7
View File
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named.conf.5,v 1.46 2011/02/24 01:14:20 tbox Exp $
.\" $Id$
.\"
.hy 0
.ad l
@@ -254,8 +254,7 @@ options {
disable\-algorithms \fIstring\fR { \fIstring\fR; ... };
dnssec\-enable \fIboolean\fR;
dnssec\-validation \fIboolean\fR;
dnssec\-lookaside \fIstring\fR trust\-anchor \fIstring\fR;
dnssec\-lookaside ( \fIauto\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
dnssec\-lookaside ( \fIauto\fR | \fIno\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
dnssec\-must\-be\-secure \fIstring\fR \fIboolean\fR;
dnssec\-accept\-expired \fIboolean\fR;
dns64\-server \fIstring\fR;
@@ -290,7 +289,8 @@ options {
notify\-delay \fIseconds\fR;
notify\-to\-soa \fIboolean\fR;
also\-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
[ port \fIinteger\fR ]; ... };
[ port \fIinteger\fR ]; ...
[ key \fIkeyname\fR ] ... };
allow\-notify { \fIaddress_match_element\fR; ... };
forward ( first | only );
forwarders [ port \fIinteger\fR ] {
@@ -424,7 +424,7 @@ view \fIstring\fR \fIoptional_class\fR {
disable\-algorithms \fIstring\fR { \fIstring\fR; ... };
dnssec\-enable \fIboolean\fR;
dnssec\-validation \fIboolean\fR;
dnssec\-lookaside \fIstring\fR trust\-anchor \fIstring\fR;
dnssec\-lookaside ( \fIauto\fR | \fIno\fR | \fIdomain\fR trust\-anchor \fIdomain\fR );
dnssec\-must\-be\-secure \fIstring\fR \fIboolean\fR;
dnssec\-accept\-expired \fIboolean\fR;
dns64\-server \fIstring\fR;
@@ -459,7 +459,8 @@ view \fIstring\fR \fIoptional_class\fR {
notify\-delay \fIseconds\fR;
notify\-to\-soa \fIboolean\fR;
also\-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
[ port \fIinteger\fR ]; ... };
[ port \fIinteger\fR ]; ...
[ key \fIkeyname\fR ] ... };
allow\-notify { \fIaddress_match_element\fR; ... };
forward ( first | only );
forwarders [ port \fIinteger\fR ] {
@@ -545,7 +546,8 @@ zone \fIstring\fR \fIoptional_class\fR {
notify\-delay \fIseconds\fR;
notify\-to\-soa \fIboolean\fR;
also\-notify [ port \fIinteger\fR ] { ( \fIipv4_address\fR | \fIipv6_address\fR )
[ port \fIinteger\fR ]; ... };
[ port \fIinteger\fR ]; ...
[ key \fIkeyname\fR ] ... };
allow\-notify { \fIaddress_match_element\fR; ... };
forward ( first | only );
forwarders [ port \fIinteger\fR ] {
@@ -561,6 +563,7 @@ zone \fIstring\fR \fIoptional_class\fR {
max\-refresh\-time \fIinteger\fR;
min\-refresh\-time \fIinteger\fR;
multi\-master \fIboolean\fR;
request\-ixfr \fIboolean\fR;
sig\-validity\-interval \fIinteger\fR;
transfer\-source ( \fIipv4_address\fR | * )
[ port ( \fIinteger\fR | * ) ];
+10 -7
View File
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.conf.docbook,v 1.51 2011/02/23 03:08:08 marka Exp $ -->
<!-- $Id: named.conf.docbook,v 1.55 2011/11/07 00:25:53 each Exp $ -->
<refentry>
<refentryinfo>
<date>Aug 13, 2004</date>
@@ -285,8 +285,7 @@ options {
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
dnssec-enable <replaceable>boolean</replaceable>;
dnssec-validation <replaceable>boolean</replaceable>;
dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
dnssec-accept-expired <replaceable>boolean</replaceable>;
@@ -326,7 +325,8 @@ options {
notify-delay <replaceable>seconds</replaceable>;
notify-to-soa <replaceable>boolean</replaceable>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
<optional> port <replaceable>integer</replaceable> </optional>; ... };
<optional> port <replaceable>integer</replaceable> </optional>; ...
<optional> key <replaceable>keyname</replaceable> </optional> ... };
allow-notify { <replaceable>address_match_element</replaceable>; ... };
forward ( first | only );
@@ -473,7 +473,7 @@ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
dnssec-enable <replaceable>boolean</replaceable>;
dnssec-validation <replaceable>boolean</replaceable>;
dnssec-lookaside <replaceable>string</replaceable> trust-anchor <replaceable>string</replaceable>;
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
dnssec-accept-expired <replaceable>boolean</replaceable>;
@@ -513,7 +513,8 @@ view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
notify-delay <replaceable>seconds</replaceable>;
notify-to-soa <replaceable>boolean</replaceable>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
<optional> port <replaceable>integer</replaceable> </optional>; ... };
<optional> port <replaceable>integer</replaceable> </optional>; ...
<optional> key <replaceable>keyname</replaceable> </optional> ... };
allow-notify { <replaceable>address_match_element</replaceable>; ... };
forward ( first | only );
@@ -609,7 +610,8 @@ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
notify-delay <replaceable>seconds</replaceable>;
notify-to-soa <replaceable>boolean</replaceable>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
<optional> port <replaceable>integer</replaceable> </optional>; ... };
<optional> port <replaceable>integer</replaceable> </optional>; ...
<optional> key <replaceable>keyname</replaceable> </optional> ... };
allow-notify { <replaceable>address_match_element</replaceable>; ... };
forward ( first | only );
@@ -627,6 +629,7 @@ zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable>
max-refresh-time <replaceable>integer</replaceable>;
min-refresh-time <replaceable>integer</replaceable>;
multi-master <replaceable>boolean</replaceable>;
request-ixfr <replaceable>boolean</replaceable>;
sig-validity-interval <replaceable>integer</replaceable>;
transfer-source ( <replaceable>ipv4_address</replaceable> | * )
+26 -23
View File
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.conf.html,v 1.55 2011/02/24 01:14:20 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -21,7 +21,7 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2476275"></a><div class="titlepage"></div>
<a name="id2476274"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><code class="filename">named.conf</code> &#8212; configuration file for named</p>
@@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">named.conf</code> </p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543352"></a><h2>DESCRIPTION</h2>
<a name="id2543354"></a><h2>DESCRIPTION</h2>
<p><code class="filename">named.conf</code> is the configuration file
for
<span><strong class="command">named</strong></span>. Statements are enclosed
@@ -50,14 +50,14 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543380"></a><h2>ACL</h2>
<a name="id2543382"></a><h2>ACL</h2>
<div class="literallayout"><p><br>
acl <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
<br>
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543396"></a><h2>KEY</h2>
<a name="id2543398"></a><h2>KEY</h2>
<div class="literallayout"><p><br>
key <em class="replaceable"><code>domain_name</code></em> {<br>
algorithm <em class="replaceable"><code>string</code></em>;<br>
@@ -66,7 +66,7 @@ key
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543415"></a><h2>MASTERS</h2>
<a name="id2543417"></a><h2>MASTERS</h2>
<div class="literallayout"><p><br>
masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional">port <em class="replaceable"><code>integer</code></em></span>] |<br>
@@ -75,7 +75,7 @@ masters
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543461"></a><h2>SERVER</h2>
<a name="id2543463"></a><h2>SERVER</h2>
<div class="literallayout"><p><br>
server ( <em class="replaceable"><code>ipv4_address[<span class="optional">/prefixlen</span>]</code></em> | <em class="replaceable"><code>ipv6_address[<span class="optional">/prefixlen</span>]</code></em> ) {<br>
bogus <em class="replaceable"><code>boolean</code></em>;<br>
@@ -97,7 +97,7 @@ server
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543529"></a><h2>TRUSTED-KEYS</h2>
<a name="id2543531"></a><h2>TRUSTED-KEYS</h2>
<div class="literallayout"><p><br>
trusted-keys {<br>
<em class="replaceable"><code>domain_name</code></em> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br>
@@ -105,7 +105,7 @@ trusted-keys
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543555"></a><h2>MANAGED-KEYS</h2>
<a name="id2543557"></a><h2>MANAGED-KEYS</h2>
<div class="literallayout"><p><br>
managed-keys {<br>
<em class="replaceable"><code>domain_name</code></em> <code class="constant">initial-key</code> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br>
@@ -113,7 +113,7 @@ managed-keys
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543584"></a><h2>CONTROLS</h2>
<a name="id2543586"></a><h2>CONTROLS</h2>
<div class="literallayout"><p><br>
controls {<br>
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> | * )<br>
@@ -125,7 +125,7 @@ controls
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543619"></a><h2>LOGGING</h2>
<a name="id2543621"></a><h2>LOGGING</h2>
<div class="literallayout"><p><br>
logging {<br>
channel <em class="replaceable"><code>string</code></em> {<br>
@@ -143,7 +143,7 @@ logging
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543657"></a><h2>LWRES</h2>
<a name="id2543659"></a><h2>LWRES</h2>
<div class="literallayout"><p><br>
lwres {<br>
listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
@@ -156,7 +156,7 @@ lwres
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543699"></a><h2>OPTIONS</h2>
<a name="id2543701"></a><h2>OPTIONS</h2>
<div class="literallayout"><p><br>
options {<br>
avoid-v4-udp-ports { <em class="replaceable"><code>port</code></em>; ... };<br>
@@ -251,8 +251,7 @@ options
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-validation <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-lookaside <em class="replaceable"><code>string</code></em> trust-anchor <em class="replaceable"><code>string</code></em>;<br>
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>no</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
dnssec-must-be-secure <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
<br>
@@ -292,7 +291,8 @@ options
notify-delay <em class="replaceable"><code>seconds</code></em>;<br>
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> )<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ...<br>
[<span class="optional"> key <em class="replaceable"><code>keyname</code></em> </span>] ... };<br>
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
<br>
forward ( first | only );<br>
@@ -361,7 +361,7 @@ options
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544577"></a><h2>VIEW</h2>
<a name="id2544582"></a><h2>VIEW</h2>
<div class="literallayout"><p><br>
view <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
@@ -438,7 +438,7 @@ view
disable-algorithms <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>string</code></em>; ... };<br>
dnssec-enable <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-validation <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-lookaside <em class="replaceable"><code>string</code></em> trust-anchor <em class="replaceable"><code>string</code></em>;<br>
dnssec-lookaside ( <em class="replaceable"><code>auto</code></em> | <em class="replaceable"><code>no</code></em> | <em class="replaceable"><code>domain</code></em> trust-anchor <em class="replaceable"><code>domain</code></em> );<br>
dnssec-must-be-secure <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>boolean</code></em>;<br>
dnssec-accept-expired <em class="replaceable"><code>boolean</code></em>;<br>
<br>
@@ -478,7 +478,8 @@ view
notify-delay <em class="replaceable"><code>seconds</code></em>;<br>
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> )<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ...<br>
[<span class="optional"> key <em class="replaceable"><code>keyname</code></em> </span>] ... };<br>
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
<br>
forward ( first | only );<br>
@@ -524,7 +525,7 @@ view
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2545280"></a><h2>ZONE</h2>
<a name="id2545298"></a><h2>ZONE</h2>
<div class="literallayout"><p><br>
zone <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
type ( master | slave | stub | hint | redirect |<br>
@@ -573,7 +574,8 @@ zone
notify-delay <em class="replaceable"><code>seconds</code></em>;<br>
notify-to-soa <em class="replaceable"><code>boolean</code></em>;<br>
also-notify [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] { ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> )<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ... };<br>
[<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>]; ...<br>
[<span class="optional"> key <em class="replaceable"><code>keyname</code></em> </span>] ... };<br>
allow-notify { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
<br>
forward ( first | only );<br>
@@ -591,6 +593,7 @@ zone
max-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
min-refresh-time <em class="replaceable"><code>integer</code></em>;<br>
multi-master <em class="replaceable"><code>boolean</code></em>;<br>
request-ixfr <em class="replaceable"><code>boolean</code></em>;<br>
sig-validity-interval <em class="replaceable"><code>integer</code></em>;<br>
<br>
transfer-source ( <em class="replaceable"><code>ipv4_address</code></em> | * )<br>
@@ -619,12 +622,12 @@ zone
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2545659"></a><h2>FILES</h2>
<a name="id2545687"></a><h2>FILES</h2>
<p><code class="filename">/etc/named.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545671"></a><h2>SEE ALSO</h2>
<a name="id2545699"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
+18 -2
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.docbook,v 1.26 2009/10/05 17:30:49 fdupont Exp $ -->
<!-- $Id: named.docbook,v 1.28 2011/11/09 23:46:23 tbox Exp $ -->
<refentry id="man.named">
<refentryinfo>
<date>May 21, 2009</date>
@@ -43,6 +43,7 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -69,6 +70,7 @@
<arg><option>-s</option></arg>
<arg><option>-S <replaceable class="parameter">#max-socks</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-U <replaceable class="parameter">#listeners</replaceable></option></arg>
<arg><option>-u <replaceable class="parameter">user</replaceable></option></arg>
<arg><option>-v</option></arg>
<arg><option>-V</option></arg>
@@ -281,6 +283,20 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-U <replaceable class="parameter">#listeners</replaceable></term>
<listitem>
<para>
Use <replaceable class="parameter">#listeners</replaceable>
worker threads to listen for incoming UDP packets on each
address. If not specified, <command>named</command> will
use all of the worker threads for this purpose; the
<option>-U</option> option allows the number to be
decreased but not increased.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-u <replaceable class="parameter">user</replaceable></term>
<listitem>
+19 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.html,v 1.33 2009/10/06 01:14:41 tbox Exp $ -->
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-U <em class="replaceable"><code>#listeners</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543480"></a><h2>DESCRIPTION</h2>
<a name="id2543494"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named</strong></span>
is a Domain Name System (DNS) server,
part of the BIND 9 distribution from ISC. For more
@@ -47,7 +47,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543505"></a><h2>OPTIONS</h2>
<a name="id2543518"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -178,6 +178,15 @@
</p>
</div>
</dd>
<dt><span class="term">-U <em class="replaceable"><code>#listeners</code></em></span></dt>
<dd><p>
Use <em class="replaceable"><code>#listeners</code></em>
worker threads to listen for incoming UDP packets on each
address. If not specified, <span><strong class="command">named</strong></span> will
use all of the worker threads for this purpose; the
<code class="option">-U</code> option allows the number to be
decreased but not increased.
</p></dd>
<dt><span class="term">-u <em class="replaceable"><code>user</code></em></span></dt>
<dd>
<p>Setuid
@@ -228,7 +237,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543962"></a><h2>SIGNALS</h2>
<a name="id2544005"></a><h2>SIGNALS</h2>
<p>
In routine operation, signals should not be used to control
the nameserver; <span><strong class="command">rndc</strong></span> should be used
@@ -249,7 +258,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544010"></a><h2>CONFIGURATION</h2>
<a name="id2544053"></a><h2>CONFIGURATION</h2>
<p>
The <span><strong class="command">named</strong></span> configuration file is too complex
to describe in detail here. A complete description is provided
@@ -266,7 +275,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544046"></a><h2>FILES</h2>
<a name="id2544089"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -279,7 +288,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544086"></a><h2>SEE ALSO</h2>
<a name="id2544265"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -292,7 +301,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544293"></a><h2>AUTHOR</h2>
<a name="id2544336"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+821 -583
View File
File diff suppressed because it is too large Load Diff
+865 -309
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: statschannel.c,v 1.26 2010/02/04 23:49:13 tbox Exp $ */
/* $Id: statschannel.c,v 1.28 2011/03/12 04:59:46 tbox Exp $ */
/*! \file */
@@ -638,7 +638,7 @@ rdatasetstats_dump(dns_rdatastatstype_t type, isc_uint64_t val, void *arg) {
static void
opcodestat_dump(dns_opcode_t code, isc_uint64_t val, void *arg) {
FILE *fp = arg;
FILE *fp;
isc_buffer_t b;
char codebuf[64];
stats_dumparg_t *dumparg = arg;
-3
View File
@@ -1,3 +0,0 @@
Makefile
*.lo
.libs
+5 -4
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.13 2009/12/05 23:31:40 each Exp $
# $Id: Makefile.in,v 1.15 2011/03/10 23:47:49 tbox Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -22,14 +22,15 @@ top_srcdir = @top_srcdir@
@BIND9_MAKE_INCLUDES@
CINCLUDES = -I${srcdir}/include -I${srcdir}/../include \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} \
${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES =
CWARNINGS =
OBJS = os.@O@
OBJS = os.@O@ dlz_dlopen_driver.@O@
SRCS = os.c
SRCS = os.c dlz_dlopen_driver.c
TARGETS = ${OBJS}
+621
View File
@@ -0,0 +1,621 @@
/*
* Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id$ */
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <dns/log.h>
#include <dns/result.h>
#include <dns/dlz_dlopen.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <named/globals.h>
#include <dlz/dlz_dlopen_driver.h>
#ifdef ISC_DLZ_DLOPEN
static dns_sdlzimplementation_t *dlz_dlopen = NULL;
typedef struct dlopen_data {
isc_mem_t *mctx;
char *dl_path;
char *dlzname;
void *dl_handle;
void *dbdata;
unsigned int flags;
isc_mutex_t lock;
int version;
isc_boolean_t in_configure;
dlz_dlopen_version_t *dlz_version;
dlz_dlopen_create_t *dlz_create;
dlz_dlopen_findzonedb_t *dlz_findzonedb;
dlz_dlopen_lookup_t *dlz_lookup;
dlz_dlopen_authority_t *dlz_authority;
dlz_dlopen_allnodes_t *dlz_allnodes;
dlz_dlopen_allowzonexfr_t *dlz_allowzonexfr;
dlz_dlopen_newversion_t *dlz_newversion;
dlz_dlopen_closeversion_t *dlz_closeversion;
dlz_dlopen_configure_t *dlz_configure;
dlz_dlopen_ssumatch_t *dlz_ssumatch;
dlz_dlopen_addrdataset_t *dlz_addrdataset;
dlz_dlopen_subrdataset_t *dlz_subrdataset;
dlz_dlopen_delrdataset_t *dlz_delrdataset;
dlz_dlopen_destroy_t *dlz_destroy;
} dlopen_data_t;
/* Modules can choose whether they are lock-safe or not. */
#define MAYBE_LOCK(cd) \
do { \
if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \
cd->in_configure == ISC_FALSE) \
LOCK(&cd->lock); \
} while (0)
#define MAYBE_UNLOCK(cd) \
do { \
if ((cd->flags & DNS_SDLZFLAG_THREADSAFE) == 0 && \
cd->in_configure == ISC_FALSE) \
UNLOCK(&cd->lock); \
} while (0)
/*
* Log a message at the given level.
*/
static void dlopen_log(int level, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
isc_log_vwrite(dns_lctx, DNS_LOGCATEGORY_DATABASE,
DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(level),
fmt, ap);
va_end(ap);
}
/*
* SDLZ methods
*/
static isc_result_t
dlopen_dlz_allnodes(const char *zone, void *driverarg, void *dbdata,
dns_sdlzallnodes_t *allnodes)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_allnodes == NULL) {
return (ISC_R_NOPERM);
}
MAYBE_LOCK(cd);
result = cd->dlz_allnodes(zone, cd->dbdata, allnodes);
MAYBE_UNLOCK(cd);
return (result);
}
static isc_result_t
dlopen_dlz_allowzonexfr(void *driverarg, void *dbdata, const char *name,
const char *client)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_allowzonexfr == NULL) {
return (ISC_R_NOPERM);
}
MAYBE_LOCK(cd);
result = cd->dlz_allowzonexfr(cd->dbdata, name, client);
MAYBE_UNLOCK(cd);
return (result);
}
static isc_result_t
dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata,
dns_sdlzlookup_t *lookup)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_authority == NULL) {
return (ISC_R_NOTIMPLEMENTED);
}
MAYBE_LOCK(cd);
result = cd->dlz_authority(zone, cd->dbdata, lookup);
MAYBE_UNLOCK(cd);
return (result);
}
static isc_result_t
dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
MAYBE_LOCK(cd);
result = cd->dlz_findzonedb(cd->dbdata, name);
MAYBE_UNLOCK(cd);
return (result);
}
static isc_result_t
dlopen_dlz_lookup(const char *zone, const char *name, void *driverarg,
void *dbdata, dns_sdlzlookup_t *lookup,
dns_clientinfomethods_t *methods,
dns_clientinfo_t *clientinfo)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
MAYBE_LOCK(cd);
result = cd->dlz_lookup(zone, name, cd->dbdata, lookup,
methods, clientinfo);
MAYBE_UNLOCK(cd);
return (result);
}
/*
* Load a symbol from the library
*/
static void *
dl_load_symbol(dlopen_data_t *cd, const char *symbol, isc_boolean_t mandatory) {
void *ptr = dlsym(cd->dl_handle, symbol);
if (ptr == NULL && mandatory) {
dlopen_log(ISC_LOG_ERROR,
"dlz_dlopen: library '%s' is missing "
"required symbol '%s'", cd->dl_path, symbol);
}
return (ptr);
}
/*
* Called at startup for each dlopen zone in named.conf
*/
static isc_result_t
dlopen_dlz_create(const char *dlzname, unsigned int argc, char *argv[],
void *driverarg, void **dbdata)
{
dlopen_data_t *cd;
isc_mem_t *mctx = NULL;
isc_result_t result = ISC_R_FAILURE;
int dlopen_flags = 0;
UNUSED(driverarg);
if (argc < 2) {
dlopen_log(ISC_LOG_ERROR,
"dlz_dlopen driver for '%s' needs a path to "
"the shared library", dlzname);
return (ISC_R_FAILURE);
}
isc_mem_create(0, 0, &mctx);
cd = isc_mem_get(mctx, sizeof(*cd));
if (cd == NULL) {
isc_mem_destroy(&mctx);
return (ISC_R_NOMEMORY);
}
memset(cd, 0, sizeof(*cd));
cd->mctx = mctx;
cd->dl_path = isc_mem_strdup(cd->mctx, argv[1]);
if (cd->dl_path == NULL) {
goto failed;
}
cd->dlzname = isc_mem_strdup(cd->mctx, dlzname);
if (cd->dlzname == NULL) {
goto failed;
}
/* Initialize the lock */
isc_mutex_init(&cd->lock);
/* Open the library */
dlopen_flags = RTLD_NOW|RTLD_GLOBAL;
#ifdef RTLD_DEEPBIND
/*
* If RTLD_DEEPBIND is available then use it. This can avoid
* issues with a module using a different version of a system
* library than one that bind9 uses. For example, bind9 may link
* to MIT kerberos, but the module may use Heimdal. If we don't
* use RTLD_DEEPBIND then we could end up with Heimdal functions
* calling MIT functions, which leads to bizarre results (usually
* a segfault).
*/
dlopen_flags |= RTLD_DEEPBIND;
#endif
cd->dl_handle = dlopen(cd->dl_path, dlopen_flags);
if (cd->dl_handle == NULL) {
dlopen_log(ISC_LOG_ERROR,
"dlz_dlopen failed to open library '%s' - %s",
cd->dl_path, dlerror());
goto failed;
}
/* Find the symbols */
cd->dlz_version = (dlz_dlopen_version_t *)
dl_load_symbol(cd, "dlz_version", ISC_TRUE);
cd->dlz_create = (dlz_dlopen_create_t *)
dl_load_symbol(cd, "dlz_create", ISC_TRUE);
cd->dlz_lookup = (dlz_dlopen_lookup_t *)
dl_load_symbol(cd, "dlz_lookup", ISC_TRUE);
cd->dlz_findzonedb = (dlz_dlopen_findzonedb_t *)
dl_load_symbol(cd, "dlz_findzonedb", ISC_TRUE);
if (cd->dlz_create == NULL ||
cd->dlz_lookup == NULL ||
cd->dlz_findzonedb == NULL)
{
/* We're missing a required symbol */
goto failed;
}
cd->dlz_allowzonexfr = (dlz_dlopen_allowzonexfr_t *)
dl_load_symbol(cd, "dlz_allowzonexfr", ISC_FALSE);
cd->dlz_allnodes = (dlz_dlopen_allnodes_t *)
dl_load_symbol(cd, "dlz_allnodes",
ISC_TF(cd->dlz_allowzonexfr != NULL));
cd->dlz_authority = (dlz_dlopen_authority_t *)
dl_load_symbol(cd, "dlz_authority", ISC_FALSE);
cd->dlz_newversion = (dlz_dlopen_newversion_t *)
dl_load_symbol(cd, "dlz_newversion", ISC_FALSE);
cd->dlz_closeversion = (dlz_dlopen_closeversion_t *)
dl_load_symbol(cd, "dlz_closeversion",
ISC_TF(cd->dlz_newversion != NULL));
cd->dlz_configure = (dlz_dlopen_configure_t *)
dl_load_symbol(cd, "dlz_configure", ISC_FALSE);
cd->dlz_ssumatch = (dlz_dlopen_ssumatch_t *)
dl_load_symbol(cd, "dlz_ssumatch", ISC_FALSE);
cd->dlz_addrdataset = (dlz_dlopen_addrdataset_t *)
dl_load_symbol(cd, "dlz_addrdataset", ISC_FALSE);
cd->dlz_subrdataset = (dlz_dlopen_subrdataset_t *)
dl_load_symbol(cd, "dlz_subrdataset", ISC_FALSE);
cd->dlz_delrdataset = (dlz_dlopen_delrdataset_t *)
dl_load_symbol(cd, "dlz_delrdataset", ISC_FALSE);
cd->dlz_destroy = (dlz_dlopen_destroy_t *)
dl_load_symbol(cd, "dlz_destroy", ISC_FALSE);
/* Check the version of the API is the same */
cd->version = cd->dlz_version(&cd->flags);
if (cd->version != DLZ_DLOPEN_VERSION) {
dlopen_log(ISC_LOG_ERROR,
"dlz_dlopen: incorrect version %d "
"should be %d in '%s'",
cd->version, DLZ_DLOPEN_VERSION, cd->dl_path);
goto failed;
}
/*
* Call the library's create function. Note that this is an
* extended version of dlz create, with the addition of
* named function pointers for helper functions that the
* driver will need. This avoids the need for the backend to
* link the BIND9 libraries
*/
MAYBE_LOCK(cd);
result = cd->dlz_create(dlzname, argc-1, argv+1,
&cd->dbdata,
"log", dlopen_log,
"putrr", dns_sdlz_putrr,
"putnamedrr", dns_sdlz_putnamedrr,
"writeable_zone", dns_dlz_writeablezone,
NULL);
MAYBE_UNLOCK(cd);
if (result != ISC_R_SUCCESS)
goto failed;
*dbdata = cd;
return (ISC_R_SUCCESS);
failed:
dlopen_log(ISC_LOG_ERROR, "dlz_dlopen of '%s' failed", dlzname);
if (cd->dl_path)
isc_mem_free(mctx, cd->dl_path);
if (cd->dlzname)
isc_mem_free(mctx, cd->dlzname);
if (dlopen_flags)
(void) isc_mutex_destroy(&cd->lock);
#ifdef HAVE_DLCLOSE
if (cd->dl_handle)
dlclose(cd->dl_handle);
#endif
isc_mem_put(mctx, cd, sizeof(*cd));
isc_mem_destroy(&mctx);
return (result);
}
/*
* Called when bind is shutting down
*/
static void
dlopen_dlz_destroy(void *driverarg, void *dbdata) {
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_mem_t *mctx;
UNUSED(driverarg);
if (cd->dlz_destroy) {
MAYBE_LOCK(cd);
cd->dlz_destroy(cd->dbdata);
MAYBE_UNLOCK(cd);
}
if (cd->dl_path)
isc_mem_free(cd->mctx, cd->dl_path);
if (cd->dlzname)
isc_mem_free(cd->mctx, cd->dlzname);
#ifdef HAVE_DLCLOSE
if (cd->dl_handle)
dlclose(cd->dl_handle);
#endif
(void) isc_mutex_destroy(&cd->lock);
mctx = cd->mctx;
isc_mem_put(mctx, cd, sizeof(*cd));
isc_mem_destroy(&mctx);
}
/*
* Called to start a transaction
*/
static isc_result_t
dlopen_dlz_newversion(const char *zone, void *driverarg, void *dbdata,
void **versionp)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_newversion == NULL)
return (ISC_R_NOTIMPLEMENTED);
MAYBE_LOCK(cd);
result = cd->dlz_newversion(zone, cd->dbdata, versionp);
MAYBE_UNLOCK(cd);
return (result);
}
/*
* Called to end a transaction
*/
static void
dlopen_dlz_closeversion(const char *zone, isc_boolean_t commit,
void *driverarg, void *dbdata, void **versionp)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
UNUSED(driverarg);
if (cd->dlz_newversion == NULL) {
*versionp = NULL;
return;
}
MAYBE_LOCK(cd);
cd->dlz_closeversion(zone, commit, cd->dbdata, versionp);
MAYBE_UNLOCK(cd);
}
/*
* Called on startup to configure any writeable zones
*/
static isc_result_t
dlopen_dlz_configure(dns_view_t *view, void *driverarg, void *dbdata) {
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_configure == NULL)
return (ISC_R_SUCCESS);
MAYBE_LOCK(cd);
cd->in_configure = ISC_TRUE;
result = cd->dlz_configure(view, cd->dbdata);
cd->in_configure = ISC_FALSE;
MAYBE_UNLOCK(cd);
return (result);
}
/*
* Check for authority to change a name
*/
static isc_boolean_t
dlopen_dlz_ssumatch(const char *signer, const char *name, const char *tcpaddr,
const char *type, const char *key, isc_uint32_t keydatalen,
unsigned char *keydata, void *driverarg, void *dbdata)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_boolean_t ret;
UNUSED(driverarg);
if (cd->dlz_ssumatch == NULL)
return (ISC_FALSE);
MAYBE_LOCK(cd);
ret = cd->dlz_ssumatch(signer, name, tcpaddr, type, key, keydatalen,
keydata, cd->dbdata);
MAYBE_UNLOCK(cd);
return (ret);
}
/*
* Add an rdataset
*/
static isc_result_t
dlopen_dlz_addrdataset(const char *name, const char *rdatastr,
void *driverarg, void *dbdata, void *version)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_addrdataset == NULL)
return (ISC_R_NOTIMPLEMENTED);
MAYBE_LOCK(cd);
result = cd->dlz_addrdataset(name, rdatastr, cd->dbdata, version);
MAYBE_UNLOCK(cd);
return (result);
}
/*
* Subtract an rdataset
*/
static isc_result_t
dlopen_dlz_subrdataset(const char *name, const char *rdatastr,
void *driverarg, void *dbdata, void *version)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_subrdataset == NULL)
return (ISC_R_NOTIMPLEMENTED);
MAYBE_LOCK(cd);
result = cd->dlz_subrdataset(name, rdatastr, cd->dbdata, version);
MAYBE_UNLOCK(cd);
return (result);
}
/*
delete a rdataset
*/
static isc_result_t
dlopen_dlz_delrdataset(const char *name, const char *type,
void *driverarg, void *dbdata, void *version)
{
dlopen_data_t *cd = (dlopen_data_t *) dbdata;
isc_result_t result;
UNUSED(driverarg);
if (cd->dlz_delrdataset == NULL)
return (ISC_R_NOTIMPLEMENTED);
MAYBE_LOCK(cd);
result = cd->dlz_delrdataset(name, type, cd->dbdata, version);
MAYBE_UNLOCK(cd);
return (result);
}
static dns_sdlzmethods_t dlz_dlopen_methods = {
dlopen_dlz_create,
dlopen_dlz_destroy,
dlopen_dlz_findzonedb,
dlopen_dlz_lookup,
dlopen_dlz_authority,
dlopen_dlz_allnodes,
dlopen_dlz_allowzonexfr,
dlopen_dlz_newversion,
dlopen_dlz_closeversion,
dlopen_dlz_configure,
dlopen_dlz_ssumatch,
dlopen_dlz_addrdataset,
dlopen_dlz_subrdataset,
dlopen_dlz_delrdataset
};
#endif
/*
* Register driver with BIND
*/
isc_result_t
dlz_dlopen_init(isc_mem_t *mctx) {
#ifndef ISC_DLZ_DLOPEN
UNUSED(mctx);
return (ISC_R_NOTIMPLEMENTED);
#else
isc_result_t result;
dlopen_log(2, "Registering DLZ_dlopen driver");
result = dns_sdlzregister("dlopen", &dlz_dlopen_methods, NULL,
DNS_SDLZFLAG_RELATIVEOWNER |
DNS_SDLZFLAG_THREADSAFE,
mctx, &dlz_dlopen);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"dns_sdlzregister() failed: %s",
isc_result_totext(result));
result = ISC_R_UNEXPECTED;
}
return (result);
#endif
}
/*
* Unregister the driver
*/
void
dlz_dlopen_clear(void) {
#ifdef ISC_DLZ_DLOPEN
dlopen_log(2, "Unregistering DLZ_dlopen driver");
if (dlz_dlopen != NULL)
dns_sdlzunregister(&dlz_dlopen);
#endif
}
+5 -2
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.c,v 1.106 2011/02/21 23:47:45 tbox Exp $ */
/* $Id: os.c,v 1.107 2011/03/02 00:02:54 marka Exp $ */
/*! \file */
@@ -790,6 +790,9 @@ ns_os_openfile(const char *filename, mode_t mode, isc_boolean_t switch_user) {
free(f);
if (switch_user && runas_pw != NULL) {
#ifndef HAVE_LINUXTHREADS
gid_t oldgid = getgid();
#endif
/* Set UID/GID to the one we'll be running with eventually */
setperms(runas_pw->pw_uid, runas_pw->pw_gid);
@@ -797,7 +800,7 @@ ns_os_openfile(const char *filename, mode_t mode, isc_boolean_t switch_user) {
#ifndef HAVE_LINUXTHREADS
/* Restore UID/GID to root */
setperms(0, 0);
setperms(0, oldgid);
#endif /* HAVE_LINUXTHREADS */
if (fd == -1) {
+73 -1195
View File
File diff suppressed because it is too large Load Diff

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