Compare commits

...

2797 Commits

Author SHA1 Message Date
cvs2git
254504379a This commit was manufactured by cvs2git to create tag 'v9_0_1'. 2012-01-21 19:44:19 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Automatic Updater
566b6b47f4 auto update 2011-11-29 23:17:33 +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
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
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
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
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
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
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
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
Automatic Updater
a6db63dbf2 update 2011-11-04 19:16:09 +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
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
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
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
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
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
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
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
Evan Hunt
ef421f66f4 3043. [test] Merged in the NetBSD ATF test framework (currently
version 0.12) for development of future unit tests.
                        Use configure --with-atf to build ATF internally
                        or configure --with-atf=prefix to use an external
                        copy.  [RT #23209]
2011-02-26 02:26:33 +00:00
Automatic Updater
9eecb34b66 auto update 2011-02-25 23:16:12 +00:00
Evan Hunt
7cc5632595 3042. [bug] dig +trace could fail attempting to use IPv6
addresses on systems with only IPv4 connectivity.
			[RT #23797]
2011-02-25 23:11:13 +00:00
Automatic Updater
d31e7b32ee auto update 2011-02-24 23:16:07 +00:00
Mark Andrews
2f09e7c3fc 3041. [bug] dnssec-signzone failed to generate new signatures on
ttl changes. [RT #23330]
2011-02-24 03:04:43 +00:00
Automatic Updater
8a8d38eb8e regen HEAD 2011-02-24 01:14:22 +00:00
Automatic Updater
45caada8cb update copyright notice 2011-02-23 23:47:20 +00:00
Automatic Updater
738c40ff67 auto update 2011-02-23 23:16:00 +00:00
Mark Andrews
4f07b2b00c 3040. [bug] Named failed to validate insecure zones where a node
with a CNAME existed between the trust anchor and the
                        top of the zone. [RT #23338]
2011-02-23 11:30:35 +00:00
Mark Andrews
ddd40390be changes # 2011-02-23 03:10:26 +00:00
Mark Andrews
0e507dbb81 2039. [func] Redirect on NXDOMAIN support. [RT #23146] 2011-02-23 03:08:11 +00:00
Scott Mann
3b46648b02 Revert the previous commit...made on wrong branch. 2011-02-22 22:57:23 +00:00
Scott Mann
44b49a34b1 Added some comments. 2011-02-22 22:50:45 +00:00
Mark Andrews
fd5d7b4b1c 2038. [bug] Install <dns/rpz.h>. [RT #23342] 2011-02-22 11:48:02 +00:00
Automatic Updater
5b17a70a35 update 2011-02-22 07:15:59 +00:00
Mark Andrews
5715e1c6f6 2037. [doc] Update COPYRIGHT to contain all the individual
copyright notices that cover various parts.
2011-02-22 06:29:42 +00:00
Automatic Updater
01e75ee673 update 2011-02-22 04:16:48 +00:00
Mark Andrews
b795de862b 2036. [bug] Check built-in zone arguments to see if the zone
is re-usable or not. [RT #21914]
2011-02-22 04:14:30 +00:00
Automatic Updater
be74b463a2 update 2011-02-22 00:16:37 +00:00
Automatic Updater
b01d422daf update copyright notice 2011-02-21 23:47:45 +00:00
Mark Andrews
4b45a8fc5a handle cname response 2011-02-21 23:37:31 +00:00
Automatic Updater
930f6069e5 newcopyrights 2011-02-21 23:30:44 +00:00
Automatic Updater
7a268f7584 auto update 2011-02-21 23:16:14 +00:00
Automatic Updater
1f4a8b7232 update 2011-02-21 08:15:54 +00:00
Mark Andrews
c12904ec53 3035. [cleanup] Simplify by using strlcpy. [RT #22521] 2011-02-21 07:34:57 +00:00
Mark Andrews
0a92db42c6 3034. [cleanup] nslookup: use strlcpy instead of safecopy. [RT #22521] 2011-02-21 07:22:21 +00:00
Automatic Updater
b062d1ba6d update 2011-02-21 07:15:51 +00:00
Mark Andrews
a360461b34 check for snprintf failure 2011-02-21 07:14:43 +00:00
Mark Andrews
17c98e7add 3033. [cleanup] Add two INSIST(bucket != DNS_ADB_INVALIDBUCKET).
[RT #22521]
2011-02-21 07:08:33 +00:00
Mark Andrews
699e00089f 3032. [bug] rdatalist.c: add missing REQUIREs. [RT #22521] 2011-02-21 07:01:09 +00:00
Mark Andrews
6883a918f7 3031. [bug] dns_rdataclass_format() handle a zero sized buffer.
[RT #22521]
2011-02-21 06:50:42 +00:00
Mark Andrews
e01f55daa4 3030. [bug] dns_rdatatype_format() handle a zero sized buffer.
[RT #22521]
2011-02-21 06:41:07 +00:00
Mark Andrews
4c577cbd1e 3029. [bug] isc_netaddr_format() handle a zero sized buffer.
[RT #22521]
2011-02-21 06:30:06 +00:00
Mark Andrews
2ba2a6e4be 3028. [bug] isc_sockaddr_format() handle a zero sized buffer.
[RT #22521]
2011-02-21 06:18:44 +00:00
Mark Andrews
0b8c40c8d8 CHANGES 2011-02-21 06:18:03 +00:00
Automatic Updater
4455a07e1a update 2011-02-21 06:15:57 +00:00
Mark Andrews
30aaec2122 3027. [bug] Add documented REQUIREs to cfg_obj_asnetprefix() to
catch NULL pointer dereferences before they happen.
                        [RT #22521]
2011-02-21 06:07:49 +00:00
Mark Andrews
17a0bbda33 3026. [bug] lib/isc/httpd.c: check that we have enough space
after calling grow_headerspace() and if not
                        re-call grow_headerspace() until we do. [RT #22521]
2011-02-21 05:55:09 +00:00
Automatic Updater
e06bc030b3 update 2011-02-21 00:16:49 +00:00
Mark Andrews
aae88005f2 spelling 2011-02-21 00:06:57 +00:00
Automatic Updater
cdb7ad6561 update 2011-02-20 01:15:55 +00:00
Mark Andrews
020120e3c7 spelling 2011-02-20 00:54:35 +00:00
Automatic Updater
e6013156ef update 2011-02-20 00:16:54 +00:00
Automatic Updater
d5a3595af8 update copyright notice 2011-02-19 23:47:38 +00:00
Automatic Updater
22efac9446 newcopyrights 2011-02-19 23:30:42 +00:00
Automatic Updater
f03c1c0edf update 2011-02-19 02:16:31 +00:00
Evan Hunt
b0c8948e37 Fixed incorrect library link order in libisccc and libisccfg 2011-02-19 01:30:52 +00:00
Evan Hunt
63b1c80af8 Fixed an error in change 3023, ensuring that journal file isn't
removed after IXFR.  No CHANGES note.
2011-02-19 01:24:46 +00:00
Automatic Updater
9e72291848 update 2011-02-19 00:16:51 +00:00
Automatic Updater
10aafc5aa3 update copyright notice 2011-02-18 23:47:25 +00:00
Michael Graff
b7f0ab323d catch two unused function params, followup to RT#23310 2011-02-18 23:39:55 +00:00
Automatic Updater
e6a6028987 newcopyrights 2011-02-18 23:30:49 +00:00
Evan Hunt
b32e391602 3025. [bug] Fixed a possible deadlock due to zone resigning.
[RT #22964]
2011-02-18 23:26:44 +00:00
Automatic Updater
ec519db9f2 auto update 2011-02-18 23:16:34 +00:00
Automatic Updater
38c3d881bb update 2011-02-18 23:15:40 +00:00
Michael Graff
e3fbbde8fc spaces -> tabs 2011-02-18 23:04:31 +00:00
Michael Graff
52d44117c8 Remove RTT banding [RT 23310] 2011-02-18 22:55:31 +00:00
Automatic Updater
151a7c4e94 update 2011-02-18 22:15:48 +00:00
Evan Hunt
2870e5fb54 s/[func]/[test]/ for change #3019 2011-02-18 21:30:50 +00:00
Evan Hunt
1d5981dd3f 3023. [bug] Named could be left in an inconsistent state when
receiving multiple AXFR response messages that were
			not all TSIG-signed. [RT #23254]
2011-02-18 21:22:12 +00:00
Automatic Updater
fcdbc61d18 update 2011-02-18 16:15:37 +00:00
Scott Mann
57b403c1e9 Fix prz SERVFAILs after failed zone transfers (RT23246). 2011-02-18 15:18:30 +00:00
Automatic Updater
6e2411592a update 2011-02-18 05:15:35 +00:00
Mark Andrews
9e4359b42e silence: warning: 'manager_log' defined but not used 2011-02-18 04:19:05 +00:00
Automatic Updater
7cced187a2 update 2011-02-18 00:16:45 +00:00
Automatic Updater
6885ca3220 update copyright notice 2011-02-17 23:47:24 +00:00
Automatic Updater
bcad5c48c0 auto update 2011-02-17 23:16:14 +00:00
Automatic Updater
d31e0e5764 update 2011-02-17 05:15:43 +00:00
Mark Andrews
293e500697 simplify zone_signwithkey call 2011-02-17 04:57:28 +00:00
Automatic Updater
6074716d63 update 2011-02-17 03:17:23 +00:00
Mark Andrews
19afa17960 ensure that the DNSKEY rrset get re-signed even if it hasn't been
updated in sign_apex.
2011-02-17 02:57:22 +00:00
Automatic Updater
f0ba3b1e31 update 2011-02-16 20:15:45 +00:00
Evan Hunt
29bd52e4ee 3021. [bug] Change #3010 was incomplete. [RT #22296] 2011-02-16 19:48:12 +00:00
Automatic Updater
eebee125a9 update 2011-02-16 00:16:57 +00:00
Automatic Updater
c41b2924a5 update copyright notice 2011-02-15 23:47:36 +00:00
Automatic Updater
c53a6f37de newcopyrights 2011-02-15 23:30:46 +00:00
Automatic Updater
f3325b2631 auto update 2011-02-15 23:16:34 +00:00
Automatic Updater
11cf7d678e update 2011-02-15 22:15:44 +00:00
Mark Andrews
b1b42b03b7 3020. [bug] auto-dnssec failed to correctly update the zone when changing the DNSKEY RRset. [RT #23232] 2011-02-15 22:02:36 +00:00
Automatic Updater
134deb3eda update 2011-02-15 19:15:34 +00:00
Francis Dupont
931814de4a typo in comment 2011-02-15 18:23:34 +00:00
Automatic Updater
0cb3f49d9e update 2011-02-15 00:16:59 +00:00
Mark Andrews
c5fa370695 3019. [func] Test: check apex NSEC3 records after adding DNSKEY
record via UPDATE. [RT #23229]
2011-02-14 23:53:44 +00:00
Automatic Updater
53a530ddaa auto update 2011-02-14 23:16:59 +00:00
Automatic Updater
5e7d30c39d auto update 2011-02-11 23:16:50 +00:00
Automatic Updater
b93f4fb82b auto update 2011-02-10 23:16:24 +00:00
Automatic Updater
3d3c6f73ef update 2011-02-08 23:17:38 +00:00
Automatic Updater
1914ea0df2 auto update 2011-02-08 23:16:44 +00:00
Automatic Updater
56748bc3d1 update copyright notice 2011-02-08 23:10:07 +00:00
Automatic Updater
5acd631070 newcopyrights 2011-02-08 23:07:19 +00:00
Automatic Updater
e36a534a31 update 2011-02-08 04:16:54 +00:00
Mark Andrews
37b017f2ca Regression test for:
3018.   [bug]           Named failed to check for the "none;" acl when deciding
                        if a zone may need to be re-signed. [RT #23120]
2011-02-08 03:47:02 +00:00
Automatic Updater
c098252bf4 update 2011-02-07 13:16:25 +00:00
Mark Andrews
74b7355f1e missing [ 2011-02-07 12:28:32 +00:00
Automatic Updater
5cc47f19a1 update 2011-02-07 00:16:51 +00:00
Mark Andrews
4d205bf79b 3018. [bug] Named failed to check for the "none;" acl when deciding
if a zone may need to be re-signed. RT #23120]
2011-02-07 00:11:05 +00:00
Mark Andrews
462a97981f CHANGES 2011-02-07 00:10:36 +00:00
Automatic Updater
4d32726dd1 update 2011-02-04 01:15:39 +00:00
Automatic Updater
79cf9524b1 regen HEAD 2011-02-04 01:14:16 +00:00
Automatic Updater
6cc8095d2f update 2011-02-03 13:16:39 +00:00
Automatic Updater
784a904bd0 update copyright notice 2011-02-03 12:18:12 +00:00
Automatic Updater
8ccd7da886 newcopyrights 2011-02-03 12:15:34 +00:00
Mark Andrews
5cfe4bcb0a 3017. [doc] dnssec-keyfromlabel -I was not properly documented.
[RT #22887]
2011-02-03 12:01:44 +00:00
Mark Andrews
5b79d15401 3016. [bug] rndc usage missing '-b'. [RT #22937] 2011-02-03 11:46:17 +00:00
Automatic Updater
4ea6ae20a7 update 2011-02-03 08:15:50 +00:00
Mark Andrews
a8e5a59183 3015. [port] win32: fix IN6_IS_ADDR_LINKLOCAL and
IN6_IS_ADDR_SITELOCAL macros. [RT #22724]
2011-02-03 08:13:51 +00:00
Mark Andrews
69496e55a7 placeholder 2011-02-03 07:44:18 +00:00
Mark Andrews
c1ee8bb4ba 3013. [bug] The DNS64 ttl was not always being set as expected.
[RT #23034]
2011-02-03 07:35:56 +00:00
Automatic Updater
a3a75bc1fd update 2011-02-03 07:15:42 +00:00
Mark Andrews
63d9e735c4 spelling 2011-02-03 06:20:09 +00:00
Automatic Updater
cc904e5c83 update 2011-02-03 06:15:40 +00:00
Mark Andrews
16cc4a1f56 3012. [bug] Remove DNSKEY TTL change pairs before generating
signing records for any remaing DNSKEY changes.
                        [RT #22590]
2011-02-03 06:03:15 +00:00
Mark Andrews
07cc752057 regen 2011-02-03 05:51:56 +00:00
Mark Andrews
000a8970f8 3011. [func] Change the default query timeout from 30 seconds
to 10.  Allow setting this in named.conf using the new
                        'resolver-query-timeout' option, which specifies a max
                        time in seconds.  0 means 'default' and anything longer
                        than 30 will be silently set to 30. [RT #22852]
2011-02-03 05:41:55 +00:00
Automatic Updater
da6fe5c101 update 2011-02-03 01:15:42 +00:00
Evan Hunt
903b3c84e2 3010. [bug] Fixed a bug where "rndc reconfig" stopped the timer
for refreshing managed-keys. [RT #22296]
2011-02-03 00:21:55 +00:00
Automatic Updater
183234d5c4 update 2011-02-02 00:16:22 +00:00
Automatic Updater
2f76b9339e newcopyrights 2011-02-01 23:30:40 +00:00
Automatic Updater
6034d9bbaa auto update 2011-02-01 23:16:37 +00:00
Automatic Updater
c11a2cf31f update 2011-02-01 20:15:34 +00:00
Evan Hunt
439a6b2fbf created cvsignore 2011-02-01 20:12:16 +00:00
Automatic Updater
02732414a9 auto update 2011-01-30 23:16:50 +00:00
Automatic Updater
e2c942f6af auto update 2011-01-28 23:16:39 +00:00
Automatic Updater
310d6983fc update 2011-01-28 00:16:17 +00:00
Automatic Updater
b720af4cd4 update copyright notice 2011-01-27 23:47:21 +00:00
Automatic Updater
3c761103e8 newcopyrights 2011-01-27 23:30:42 +00:00
Automatic Updater
a26311e084 update 2011-01-27 03:16:56 +00:00
Mark Andrews
1fba20bd0b 3009. [bug] clients-per-query code didn't work as expected with
particular query patterns. [RT #22972]
2011-01-27 02:24:49 +00:00
Automatic Updater
e8f20fbef4 update 2011-01-25 05:15:28 +00:00
Mark Andrews
c656722ea7 whitespace 2011-01-25 04:27:38 +00:00
Automatic Updater
5eafc32634 auto update 2011-01-24 23:16:39 +00:00
Automatic Updater
c8389abcf8 update 2011-01-23 01:15:32 +00:00
Automatic Updater
66edf659b7 regen HEAD 2011-01-23 01:14:18 +00:00
Automatic Updater
cbb24dc55c update 2011-01-22 02:15:44 +00:00
Mark Andrews
6441e3675a recursion-only -> recursive-only 2011-01-22 01:21:05 +00:00
Automatic Updater
98a0438cd9 update 2011-01-21 01:15:28 +00:00
Automatic Updater
f7b2875691 regen HEAD 2011-01-21 01:14:13 +00:00
Automatic Updater
9c8f5f5e18 update 2011-01-20 11:15:32 +00:00
Mark Andrews
7292ae531b spelling 2011-01-20 10:17:23 +00:00
Automatic Updater
71e4fae3bb update 2011-01-20 00:16:13 +00:00
Automatic Updater
c674aacfd6 update copyright notice 2011-01-19 23:47:12 +00:00
Automatic Updater
16a8f020ff newcopyrights 2011-01-19 23:30:39 +00:00
Automatic Updater
fb4fa49974 update 2011-01-19 03:16:41 +00:00
Mark Andrews
f862994cbd explicitly initialise dump and restore 2011-01-19 03:09:14 +00:00
Automatic Updater
6ff513bc38 update 2011-01-17 05:15:31 +00:00
Mark Andrews
ee931bc7a3 silence warning: integer overflow detected: op "<<" 2011-01-17 04:27:23 +00:00
Automatic Updater
d0735483e5 update 2011-01-14 01:16:16 +00:00
Automatic Updater
a09fff7051 update copyright notice 2011-01-14 00:51:43 +00:00
Automatic Updater
3de6db3208 newcopyrights 2011-01-14 00:49:37 +00:00
Mark Andrews
638614fe02 silence: warning: format not a string literal and no format arguments 2011-01-14 00:44:53 +00:00
Mark Andrews
2c18cb2e9a explicit initialisation 2011-01-14 00:33:32 +00:00
Automatic Updater
a4bbf4d7cb update 2011-01-14 00:15:58 +00:00
Automatic Updater
3790d6b265 update 2011-01-13 23:16:45 +00:00
Mark Andrews
cc5e0baaef arguements out of order 2011-01-13 23:16:06 +00:00
Automatic Updater
02973ab414 newcopyrights 2011-01-13 22:28:45 +00:00
Automatic Updater
520ea669ac update 2011-01-13 19:54:50 +00:00
Evan Hunt
5645e0c82a Automatically-added copyright text was breaking the RPZ test. 2011-01-13 19:30:41 +00:00
Automatic Updater
7c3c764c75 update 2011-01-13 10:16:03 +00:00
Mark Andrews
481ebd6977 rpz require -DBIND9 2011-01-13 09:53:04 +00:00
Automatic Updater
34f84b54ef update 2011-01-13 09:16:19 +00:00
Mark Andrews
17acd2a230 remove -I "../..../lib/dns/sec/openssl/include" 2011-01-13 08:56:45 +00:00
Automatic Updater
2352050890 update copyright notice 2011-01-13 08:50:29 +00:00
Automatic Updater
c3fd32ed29 newcopyrights 2011-01-13 08:48:15 +00:00
Mark Andrews
16ae8f12c2 add -V to foreground flags 2011-01-13 08:46:34 +00:00
Mark Andrews
50fd8587a7 extra external symbols 2011-01-13 08:29:08 +00:00
Mark Andrews
6767b5b544 openssl include path 2011-01-13 08:15:30 +00:00
Automatic Updater
f00a2f4d6e update 2011-01-13 08:15:25 +00:00
Mark Andrews
0a24e3a8ae openssl include path 2011-01-13 07:51:06 +00:00
Mark Andrews
fd7b3477c3 openssl include path 2011-01-13 07:25:35 +00:00
Mark Andrews
000439ae98 isc_netaddr_getzone 2011-01-13 07:20:14 +00:00
Automatic Updater
51a510fd61 update 2011-01-13 07:15:28 +00:00
Mark Andrews
9e78a55d81 opensslgost_link.c 2011-01-13 07:12:14 +00:00
Mark Andrews
23784a729d dst_key_restory -> dst_key_restore 2011-01-13 07:06:50 +00:00
Mark Andrews
559b51e980 only look for sys/socket.h if we also have sys/un.h 2011-01-13 07:05:57 +00:00
Mark Andrews
93b81c6d0a explicit conversion from unsigned long to dns_rpz_cidr_bits_t 2011-01-13 06:48:14 +00:00
Mark Andrews
68f6e45d28 uint8_t -> unsigned char 2011-01-13 06:41:05 +00:00
Mark Andrews
c3e9221f3b prototype mismatch 2011-01-13 06:36:04 +00:00
Mark Andrews
119f627c82 uint32_t -> isc_uint32_t 2011-01-13 06:29:16 +00:00
Mark Andrews
98455e2090 missing semi-colon 2011-01-13 06:21:15 +00:00
Automatic Updater
d5a538a92a update 2011-01-13 06:15:26 +00:00
Mark Andrews
891b61c390 define HAVE_OPENSSL_GOST ENABLE_RPZ_NSDNAME ENABLE_RPZ_NSIP 2011-01-13 06:08:58 +00:00
Automatic Updater
19973813df 9.8.0b1 2011-01-13 05:25:47 +00:00
Automatic Updater
9d059cceef update 2011-01-13 05:16:36 +00:00
Automatic Updater
5329b4137e regen HEAD 2011-01-13 05:13:52 +00:00
Automatic Updater
9cee5bb028 update copyright notice 2011-01-13 04:59:26 +00:00
Automatic Updater
3f616e6f84 newcopyrights 2011-01-13 04:51:08 +00:00
Mark Andrews
bde1625cbc rpz 2011-01-13 04:49:59 +00:00
Mark Andrews
e02c1d738b 9.8.0b1 2011-01-13 04:45:17 +00:00
Mark Andrews
a3eb8b33ec unsigned constants 2011-01-13 04:20:03 +00:00
Automatic Updater
c2c4ca4c77 update 2011-01-13 04:16:09 +00:00
Mark Andrews
9d53927aa8 zone = NULL 2011-01-13 03:57:50 +00:00
Automatic Updater
32832d0597 update 2011-01-13 03:16:39 +00:00
Mark Andrews
6eba31815a #include <isc/print.h> 2011-01-13 03:03:31 +00:00
Mark Andrews
a04b5f6794 spelling 2011-01-13 02:35:58 +00:00
Automatic Updater
f7469b14f3 update 2011-01-13 02:16:31 +00:00
Mark Andrews
819f0ca24a regen 2011-01-13 02:06:40 +00:00
Mark Andrews
87708bde16 3008. [func] Response policy zones (RPZ) support. [RT #21726] 2011-01-13 01:59:28 +00:00
Automatic Updater
100b78748b update 2011-01-13 01:15:32 +00:00
Mark Andrews
38b84a1fcf 3007. [bug] Named failed to preserve the case of domain names in
rdata which is no compressable when writing master
                        files.  [RT #22863]
2011-01-13 00:55:49 +00:00
Automatic Updater
b70c6fb6ff auto update 2011-01-12 23:16:51 +00:00
Automatic Updater
e9eda341c9 update 2011-01-12 00:16:06 +00:00
Automatic Updater
135bcc2e42 update copyright notice 2011-01-11 23:47:14 +00:00
Automatic Updater
b13d89bd89 newcopyrights 2011-01-11 23:30:36 +00:00
Automatic Updater
e5b9f963cb update 2011-01-11 22:15:32 +00:00
Michael Graff
59b600ae73 commit Makefile.in, not Makefile 2011-01-11 21:40:35 +00:00
Michael Graff
beb52a4b18 add tests for isc_atomic_xadd() and isc_atomic_xaddq() since there is some suspicion that they may not be working properly on all platforms. This is committed direclty to the mainline as it's only a test. I did not regenerate configure from configure.in, but just added the one Makefile line. Evan will take a quick look at this after it's committed. 2011-01-11 21:36:22 +00:00
Automatic Updater
1978971774 update 2011-01-11 00:16:30 +00:00
Automatic Updater
3e5340279d newcopyrights 2011-01-10 23:30:44 +00:00
Automatic Updater
031ba34331 auto update 2011-01-10 23:16:33 +00:00
Automatic Updater
46b5b52e16 update 2011-01-10 13:15:27 +00:00
Mark Andrews
b053854c20 call dns_tsigkeyring_detach(&ring) 2011-01-10 13:09:49 +00:00
Automatic Updater
7d74de75b9 update 2011-01-10 08:15:30 +00:00
Mark Andrews
adccda3b4c &dstkey -> dstkey 2011-01-10 07:38:22 +00:00
Automatic Updater
e41e8a4fcf update 2011-01-10 06:15:30 +00:00
Mark Andrews
433e06a25c 3006. [func] Allow dynamically generated TSIG keys to be preserved
across restarts of named.  Initially this is for
                        TSIG keys generated using GSSAPI. [RT #22639]
2011-01-10 05:32:04 +00:00
Automatic Updater
f0238aceb9 update 2011-01-10 05:15:33 +00:00
Mark Andrews
fc5e97963d Check that ::1 is configured 2011-01-10 05:08:49 +00:00
Automatic Updater
21560605cc update 2011-01-10 04:15:54 +00:00
Mark Andrews
1403f9aa2f don't free memory passed to putenv(), use malloc and check for malloc failures 2011-01-10 03:49:49 +00:00
Automatic Updater
90482b5ba2 update 2011-01-09 00:16:27 +00:00
Automatic Updater
0e0be796a7 update copyright notice 2011-01-08 23:47:01 +00:00
Automatic Updater
572cb2c1c9 newcopyrights 2011-01-08 23:30:38 +00:00
Automatic Updater
ad857789e8 auto update 2011-01-08 23:16:51 +00:00
Automatic Updater
e189b22094 update 2011-01-08 02:15:43 +00:00
Evan Hunt
b156001ec1 Oops, omitted some commits from change #3005. 2011-01-08 01:26:01 +00:00
Automatic Updater
65ad89971e regen HEAD 2011-01-08 01:15:44 +00:00
Automatic Updater
e24e47f8ae update 2011-01-08 01:15:27 +00:00
Evan Hunt
8a743600dd 3005. [port] Solaris: Work around the lack of
gsskrb5_register_acceptor_identity() by setting
			the KRB5_KTNAME environment variable to the
			contents of tkey-gssapi-keytab.  Also fixed
			test errors on MacOSX.  [RT #22853]
2011-01-08 00:33:12 +00:00
Automatic Updater
b88393d56d update 2011-01-08 00:16:22 +00:00
Automatic Updater
93235c1cba update copyright notice 2011-01-07 23:47:07 +00:00
Automatic Updater
765c97d56c newcopyrights 2011-01-07 23:30:34 +00:00
Automatic Updater
2ebb8eda0b auto update 2011-01-07 23:16:41 +00:00
Automatic Updater
197c7a5351 update 2011-01-07 22:15:30 +00:00
Evan Hunt
a727690e8b HPUX: silence compiler warnings about signed/unsigned comparisons 2011-01-07 21:42:03 +00:00
Automatic Updater
f01cd4dc50 update 2011-01-07 07:15:28 +00:00
Evan Hunt
f9303c6db0 added missing .cvsignore entry 2011-01-07 07:11:41 +00:00
Evan Hunt
f686c5d700 Added missing .cvsignore entries 2011-01-07 07:10:34 +00:00
Evan Hunt
c23a9eed3e - Missed out authsock.pl when committing 3003.
- Remove auth.sock in clean.sh.
2011-01-07 07:01:58 +00:00
Automatic Updater
54cd2bb9d9 update 2011-01-07 06:15:31 +00:00
Evan Hunt
3df7f5a9d6 add ssu_external.c to win32 definitions 2011-01-07 05:32:49 +00:00
Evan Hunt
4ac6a44512 Forgot to add ssu_external.c when committing change #3003. 2011-01-07 05:29:08 +00:00
Automatic Updater
b432da33fe update 2011-01-07 05:15:38 +00:00
Mark Andrews
dc4fa197dd 3004. [func] DNS64 reverse support. [RT #22769] 2011-01-07 04:31:39 +00:00
Automatic Updater
26dffbd206 update 2011-01-07 01:15:32 +00:00
Automatic Updater
610cd6f845 regen HEAD 2011-01-07 01:13:04 +00:00
Evan Hunt
5a87f3439e Initialize a pointer to NULL in order to to silence a compiler warning.
Committing without review because the change is trivial.
2011-01-07 00:50:06 +00:00
Automatic Updater
a02bf5420c update 2011-01-07 00:16:38 +00:00
Automatic Updater
db69d5d53c update copyright notice 2011-01-06 23:47:00 +00:00
Automatic Updater
099b86fb81 newcopyrights 2011-01-06 23:30:38 +00:00
Evan Hunt
3916872f37 3003. [experimental] Added update-policy match type "external",
enabliing named to defer the decision of whether to
			allow a dynamic update to an external daemon.
			(Contributed by Andrew Tridgell.) [RT #22758]
2011-01-06 23:24:39 +00:00
Automatic Updater
419a6c5ae4 update 2011-01-06 00:16:28 +00:00
Automatic Updater
db85439621 newcopyrights 2011-01-05 23:30:47 +00:00
Automatic Updater
9412850a75 regen 2011-01-05 23:30:46 +00:00
Automatic Updater
e575ca66b2 update 2011-01-05 01:15:29 +00:00
Automatic Updater
dcfda24abf regen HEAD 2011-01-05 01:14:09 +00:00
Automatic Updater
0166a1879a update 2011-01-05 00:16:10 +00:00
Automatic Updater
1da9dbcf48 update copyright notice 2011-01-04 23:47:14 +00:00
Automatic Updater
229ea4644b newcopyrights 2011-01-04 23:30:38 +00:00
Automatic Updater
a184761e52 regen 2011-01-04 23:30:37 +00:00
Automatic Updater
4e4a9d2121 update 2011-01-04 05:15:44 +00:00
Mark Andrews
161429fc05 3002. [bug] isc_mutex_init_errcheck() failed to destroy attr.
[RT #22766]
2011-01-04 04:32:13 +00:00
Automatic Updater
3466bcb725 update 2011-01-04 01:15:27 +00:00
Automatic Updater
ebabe300b6 regen HEAD 2011-01-04 01:14:09 +00:00
Automatic Updater
08227c5ccb update 2011-01-04 00:16:07 +00:00
Evan Hunt
79bf7c874b 3001. [func] Added a default trust anchor for the root zone, which
can be switched on by setting "dnssec-validation auto;"
			in the named.conf options. [RT #21727]
2011-01-03 23:45:08 +00:00
Automatic Updater
f098c65191 update 2010-12-27 14:15:30 +00:00
Mark Andrews
ac78c47210 ! test -n -> test -z 2010-12-27 13:38:43 +00:00
Automatic Updater
14ffe33506 update 2010-12-27 00:16:12 +00:00
Mark Andrews
c2f37a77cc #include ISC_PLATFORM_KRB5HEADER [RT #22798] 2010-12-26 23:24:18 +00:00
Automatic Updater
dde1d911c1 update 2010-12-26 01:15:26 +00:00
Automatic Updater
66f25f2cee regen HEAD 2010-12-26 01:14:08 +00:00
Automatic Updater
89345e4c24 update 2010-12-25 22:15:24 +00:00
Mark Andrews
5aaac798d8 s;<command/>;</command>; 2010-12-25 22:01:35 +00:00
Automatic Updater
1fdedb1584 update 2010-12-25 00:16:31 +00:00
Automatic Updater
6764a1403a update copyright notice 2010-12-24 23:47:05 +00:00
Automatic Updater
348040cb26 newcopyrights 2010-12-24 23:30:29 +00:00
Automatic Updater
8a75f38e1d update 2010-12-24 08:15:26 +00:00
Mark Andrews
cd86950664 exit 255 2010-12-24 07:27:15 +00:00
Automatic Updater
11234b877c update 2010-12-24 03:16:37 +00:00
Evan Hunt
d9ad0a55bb 3000. [bug] More TKEY/GSS fixes:
- nsupdate can now get the default realm from
			   the user's Kerberos principal
			 - corrected gsstest compilation flags
			 - improved documentation
			 - fixed some NULL dereferences
			[RT #22795]
2010-12-24 02:20:47 +00:00
Automatic Updater
988e9fd7c0 update 2010-12-24 01:15:29 +00:00
Automatic Updater
0e9e255d16 regen HEAD 2010-12-24 01:14:21 +00:00
Automatic Updater
1b7daed82b update 2010-12-24 00:16:35 +00:00
Automatic Updater
a094c46640 update copyright notice 2010-12-23 23:47:08 +00:00
Automatic Updater
95cfad51a3 newcopyrights 2010-12-23 23:30:34 +00:00
Automatic Updater
62aefa60b7 update 2010-12-23 04:16:04 +00:00
Mark Andrews
9fffc937a9 rege 2010-12-23 04:09:28 +00:00
Mark Andrews
37dee1ff94 2999. [func] Add GOST support (RFC 5933). [RT #20639] 2010-12-23 04:08:00 +00:00
Automatic Updater
5c92589c90 update 2010-12-23 00:16:36 +00:00
Automatic Updater
557919588b update copyright notice 2010-12-22 23:46:59 +00:00
Automatic Updater
415827fa64 newcopyrights 2010-12-22 23:30:34 +00:00
Automatic Updater
41204e2f0f update 2010-12-22 13:15:26 +00:00
Mark Andrews
777b848142 2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive
to the task api. [RT #22776]
2010-12-22 13:05:20 +00:00
Automatic Updater
0f6c33adb2 update 2010-12-22 09:15:38 +00:00
Mark Andrews
10e018f66d s/ISC_OPENSSL_INC/DST_OPENSSL_INC 2010-12-22 09:00:40 +00:00
Automatic Updater
3962b1c955 update 2010-12-22 06:15:30 +00:00
Mark Andrews
7a54dadeb5 2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive
to the task api. [RT #22776]
2010-12-22 05:19:02 +00:00
Automatic Updater
b427cc266d update 2010-12-22 04:16:39 +00:00
Mark Andrews
78fcac2f19 2997. [func] named -V now reports the OpenSSL and libxml2 verions
it was compiled against. [RT #22687]
2010-12-22 04:05:41 +00:00
Mark Andrews
643935ac11 2997. [func] named -V now reports the OpenSSL and libxml2 verions
it was compiled against. [RT #22687]
2010-12-22 03:59:02 +00:00
Automatic Updater
687baa4f94 update 2010-12-22 03:16:24 +00:00
Mark Andrews
79344b9710 2996. [security] Temporarily disable SO_ACCEPTFILTER support.
[RT #22589]
2010-12-22 03:08:36 +00:00
Mark Andrews
179e028b35 2995. [bug] The Kerberos realm was not being correctly extracted
from the signer's identity. [RT #22770]
2010-12-22 02:33:12 +00:00
Automatic Updater
69c3b3c057 update 2010-12-22 01:15:23 +00:00
Automatic Updater
4cfcf67f81 regen HEAD 2010-12-22 01:14:07 +00:00
Automatic Updater
3b3e7fe622 update 2010-12-22 00:16:39 +00:00
Automatic Updater
8868ef9c64 update copyright notice 2010-12-21 23:47:08 +00:00
Automatic Updater
a3fdc395a6 newcopyrights 2010-12-21 23:30:37 +00:00
Automatic Updater
f2c99a20e3 update 2010-12-21 23:15:28 +00:00
Jeremy Reed
7c6972d6ca Remove duplicated check-mx explanation.
Ebersman told me about it.
I opened ticket #22778 for this.
2010-12-21 22:40:55 +00:00
Automatic Updater
ea2d37e4f1 update 2010-12-21 05:15:41 +00:00
Mark Andrews
bc650d355c regen 2010-12-21 04:31:27 +00:00
Mark Andrews
c2170a4bd0 2994. [port] NetBSD: use pthreads by default on NetBSD >= 5.0, and
do not use threads on earlier versions.  Also kill
                        the unproven-pthreads, mit-pthreads, and ptl2 support.
2010-12-21 04:20:23 +00:00
Automatic Updater
e1f024416a update 2010-12-21 03:16:10 +00:00
Mark Andrews
82f77687ab 2993. [func] Dynamically grow adb hash tables. [RT #21186] 2010-12-21 03:11:42 +00:00
Mark Andrews
72be2e5698 regen 2010-12-21 02:33:59 +00:00
Mark Andrews
0ece47f7c1 2992. [contrib] contrib/check-secure-delegation.pl: A simple tool
for looking at a secure delegation. [RT #22059]
2010-12-21 02:32:21 +00:00
Mark Andrews
1f512cd06b 2991. [contrib] contrib/zone-edit.sh: A simple zone editing tool for
dynamic zones. [RT #22365]
2010-12-21 02:19:06 +00:00
Automatic Updater
66b2016a91 update 2010-12-21 00:16:11 +00:00
Automatic Updater
ca103999e6 update copyright notice 2010-12-20 23:47:21 +00:00
Automatic Updater
6a71702b47 auto update 2010-12-20 23:17:15 +00:00
Automatic Updater
42bb7bf869 update 2010-12-20 22:15:24 +00:00
Evan Hunt
950aa1d752 When a prereq.sh file determines that a test can't run because the feature
to be tested was not configured in at build time, it can now return 255,
and run.sh will print "R:SKIPPED" instead of "R:UNTESTED".  Robie will be
able to flag this as green rather than yellow.
2010-12-20 21:35:45 +00:00
Automatic Updater
d39a94a1db update 2010-12-20 19:15:29 +00:00
Evan Hunt
8fda09fc85 Changed $(command) to command in tests.sh for compatibility with
older bourne shells.
2010-12-20 18:37:07 +00:00
Automatic Updater
72cfc80dab update 2010-12-20 00:16:14 +00:00
Automatic Updater
f7a71eef29 tsiggss dlzexternal 2010-12-19 23:50:14 +00:00
Mark Andrews
e11d10bbcc example.nil.zone -> example.nil.db 2010-12-19 23:39:28 +00:00
Automatic Updater
50e524aa29 update 2010-12-19 22:15:29 +00:00
Evan Hunt
db4c1bc48a Looks like "ifdef" should have been "ifndef". (Committing without review to
silence robie.)
2010-12-19 21:32:35 +00:00
Automatic Updater
8b840548ca update 2010-12-19 08:15:33 +00:00
Evan Hunt
584ad7dedd 2990. [bug] 'dnssec-settime -S' no longer tests prepublication
interval validity when the interval is set to 0.
			[RT #22761]
2010-12-19 07:29:36 +00:00
Automatic Updater
8ff031ed05 update 2010-12-19 03:16:40 +00:00
Evan Hunt
c445b2f648 Add #ifdef BIND9 to some of the new DLZ code to fix link errors
when building with --enable-exportlibs
2010-12-19 02:51:41 +00:00
Evan Hunt
9f453d9342 removed unnecessary "done" log message from dns_sdlzcreate(); it used
__FUNCTION__ which caused problems on some compilers.
2010-12-19 02:37:08 +00:00
Automatic Updater
dcaa912725 update 2010-12-19 01:15:28 +00:00
Automatic Updater
517ae3de96 regen HEAD 2010-12-19 01:14:08 +00:00
Automatic Updater
7bd57e7372 update 2010-12-19 00:16:32 +00:00
Automatic Updater
941c0792f2 update copyright notice 2010-12-18 23:47:11 +00:00
Automatic Updater
98179904c3 update 2010-12-18 17:15:25 +00:00
Evan Hunt
6c3eff861d tsiggss test needed a prereq.sh file. (Committing without review because
the script is simple, no one is available, and I want to shut robie up.)
2010-12-18 16:48:41 +00:00
Automatic Updater
ec310af18b update 2010-12-18 15:15:24 +00:00
Mark Andrews
aa5b977943 regen 2010-12-18 14:47:42 +00:00
Mark Andrews
c880d51849 gsskrb5_register_acceptor_identity is not available on all platforms 2010-12-18 14:46:21 +00:00
Automatic Updater
009b1debed update 2010-12-18 12:15:25 +00:00
Mark Andrews
6dcb804dc6 UNUSED(use_static_stub); 2010-12-18 11:47:13 +00:00
Mark Andrews
0faa11ab77 clean first 2010-12-18 11:45:01 +00:00
Automatic Updater
2aea9329b6 update 2010-12-18 10:15:29 +00:00
Automatic Updater
8aa53dcb1d staticstub 2010-12-18 09:41:37 +00:00
Automatic Updater
819d54a570 update 2010-12-18 02:16:16 +00:00
Evan Hunt
af903e5008 Added files to clean.sh scripts that have been left around after tests run.
Skipping the ticket/review steps because the change is trivial.
2010-12-18 02:12:44 +00:00
Evan Hunt
71bd858d8e 2989. [func] Added support for writable DLZ zones. (Contributed
by Andrew Tridgell of the Samba project.) [RT #22629]

2988.	[experimental]	Added a "dlopen" DLZ driver, allowing the creation
			of external DLZ drivers that can be loaded as
			shared objects at runtime rather than linked with
			named.  Currently this is switched on via a
			compile-time option, "configure --with-dlz-dlopen".
			Note: the syntax for configuring DLZ zones
			is likely to be refined in future releases.
			(Contributed by Andrew Tridgell of the Samba
			project.) [RT #22629]

2987.	[func]		Improve ease of configuring TKEY/GSS updates by
			adding a "tkey-gssapi-keytab" option.  If set,
			updates will be allowed with any key matching
			a principal in the specified keytab file.
			"tkey-gssapi-credential" is no longer required
			and is expected to be deprecated.  (Contributed
			by Andrew Tridgell of the Samba project.)
			[RT #22629]
2010-12-18 01:56:23 +00:00
Automatic Updater
21b13993dc update 2010-12-18 00:16:33 +00:00
Automatic Updater
b65282d612 auto update 2010-12-17 23:16:55 +00:00
Automatic Updater
15c1f38755 update 2010-12-17 04:16:05 +00:00
Mark Andrews
ffa806a294 fix change numbers 2010-12-17 03:21:10 +00:00
Automatic Updater
fa1c5519fd update 2010-12-17 01:15:29 +00:00
Automatic Updater
b6f3a9131e regen HEAD 2010-12-17 01:14:04 +00:00
Mark Andrews
273757406a .zone -> .db 2010-12-17 00:57:39 +00:00
Automatic Updater
8a40052676 update 2010-12-17 00:16:34 +00:00
Automatic Updater
0ccd663a83 update copyright notice 2010-12-16 23:47:08 +00:00
Automatic Updater
4482fc347c auto update 2010-12-16 23:16:54 +00:00
Automatic Updater
1027681624 update 2010-12-16 10:15:29 +00:00
Tatuya JINMEI 神明達哉
743bbdc18f 2947. [func] Add new zone type "static-stub". It's like a stub
zone, but the nameserver names and/or their IP
			addresses are statically configured. [RT #21474]

(for 9.8.0)
2010-12-16 09:51:30 +00:00
Automatic Updater
68918cc072 auto update 2010-12-15 23:16:50 +00:00
Automatic Updater
c00580a734 update 2010-12-15 19:15:27 +00:00
Evan Hunt
bbedadf76a 2985. [bug] Add a regression test for change #2896. [RT #21324] 2010-12-15 18:44:37 +00:00
Automatic Updater
47d4a3b457 update 2010-12-14 01:15:32 +00:00
Mark Andrews
8d8f0b4659 2984. [bug] Don't run MX checks when the target of the MX record is ".". [RT #22645] 2010-12-14 00:39:59 +00:00
Automatic Updater
2ed508c655 auto update 2010-12-13 23:16:47 +00:00
Automatic Updater
1c76184b2a update 2010-12-10 20:15:30 +00:00
johnd
858c4a86c1 Fixed positioning of change description in CHANGES 2010-12-10 20:03:43 +00:00
johnd
7659fdb3aa Include "loadkeys" in rndc help output. [RT #22493] 2010-12-10 19:20:47 +00:00
Automatic Updater
7872a10b39 update 2010-12-10 01:15:22 +00:00
Mark Andrews
a16d8521e4 re-base the api version for 9.8 2010-12-10 01:13:02 +00:00
Automatic Updater
7b3b32ea6d auto update 2010-12-09 23:16:37 +00:00
Automatic Updater
c15fc34dde update 2010-12-09 08:16:09 +00:00
Automatic Updater
5a28dc400e newcopyrights 2010-12-09 07:32:01 +00:00
Automatic Updater
abea197a5f update 2010-12-09 07:15:23 +00:00
Mark Andrews
cf5770e7b1 remove semi-colon 2010-12-09 06:17:33 +00:00
Automatic Updater
f4177a8d44 update 2010-12-09 06:15:24 +00:00
Mark Andrews
391b2f42eb dns64 2010-12-09 06:12:43 +00:00
Mark Andrews
187d99dc53 s/dev/sdev/ 2010-12-09 06:08:05 +00:00
Automatic Updater
e3930b84cf update 2010-12-09 05:16:31 +00:00
Mark Andrews
44c0cfd2be remove extraneos semicolon 2010-12-09 04:59:09 +00:00
Mark Andrews
987f2097a6 dns64 is BIND9 only 2010-12-09 04:53:48 +00:00
Automatic Updater
3a790f1a34 9.8.0a1 2010-12-09 04:44:56 +00:00
Mark Andrews
73dbd4e933 9.8.0a1 2010-12-09 04:39:10 +00:00
Automatic Updater
fd6a9d688c update copyright notice 2010-12-09 04:31:57 +00:00
Automatic Updater
d1cb7c4f74 newcopyrights 2010-12-09 04:29:55 +00:00
Mark Andrews
b44bb86068 add comment 2010-12-09 04:17:15 +00:00
Automatic Updater
655878ed91 update 2010-12-09 04:16:03 +00:00
Mark Andrews
1e442d1994 zero bind 64 to 71 if prefix len is 64 2010-12-09 04:01:43 +00:00
Automatic Updater
b68a79c329 update 2010-12-09 01:15:47 +00:00
Automatic Updater
d893c62484 regen HEAD 2010-12-09 01:14:12 +00:00
Mark Andrews
9f9b7f0e8d 2982. [bug] Reference count dst keys. dst_key_attach() can be used
increment the reference count.

                        Note: dns_tsigkey_createfromkey() callers should now
                        always call dst_key_free() rather than setting it
                        to NULL on success. [RT #22672]
2010-12-09 00:54:34 +00:00
Automatic Updater
c2ebdf2c49 update 2010-12-09 00:16:08 +00:00
Automatic Updater
b8a9a7bef2 update copyright notice 2010-12-08 23:51:56 +00:00
Automatic Updater
ead8aa3182 newcopyrights 2010-12-08 23:48:44 +00:00
Mark Andrews
7f9f8c13c5 support good*.conf bad*.conf 2010-12-08 23:47:25 +00:00
Automatic Updater
60073ed455 auto update 2010-12-08 23:16:36 +00:00
Automatic Updater
b470dc92cd update 2010-12-08 05:15:29 +00:00
Mark Andrews
b9f2d007c5 2981. [func] Partial DNS64 support (AAAA synthesis). [RT #21991] 2010-12-08 05:01:00 +00:00
Automatic Updater
69c4159e71 update 2010-12-08 03:16:30 +00:00
Mark Andrews
e334405421 2981. [func] Partial DNS64 support (AAAA synthesis). [RT #21991] 2010-12-08 02:46:17 +00:00
Automatic Updater
b59e6107bf update 2010-12-08 00:16:08 +00:00
Automatic Updater
a4b8846651 update copyright notice 2010-12-07 23:47:02 +00:00
Automatic Updater
cd839f5cf5 newcopyrights 2010-12-07 23:30:33 +00:00
Automatic Updater
9c007d5357 update 2010-12-07 03:16:29 +00:00
Mark Andrews
8aee18709f 2980. [bug] named didn't properly handle UPDATES that changed the
TTL of the NSEC3PARAM RRset. [RT #22363]
2010-12-07 02:53:34 +00:00
Automatic Updater
631e4420e1 update 2010-12-04 23:15:29 +00:00
Mark Andrews
ab39760512 silence warning. temporary 2010-12-04 22:27:29 +00:00
Automatic Updater
4d03133c8f update 2010-12-04 14:15:30 +00:00
Mark Andrews
b286683ae8 temporally make isc__task_exiting become isc_task_exiting so that the
export version of libisc has all the symbols to link.
2010-12-04 13:25:59 +00:00
Automatic Updater
b512b5b533 update 2010-12-04 00:16:33 +00:00
Automatic Updater
59b283de0a update copyright notice 2010-12-03 23:46:46 +00:00
Automatic Updater
edd5217152 newcopyrights 2010-12-03 23:30:56 +00:00
Automatic Updater
7c0d9e68f9 auto update 2010-12-03 23:16:47 +00:00
Automatic Updater
696195c373 update 2010-12-03 22:15:35 +00:00
Evan Hunt
e78c2b856b 2979. [bug] named could deadlock during shutdown if two
"rndc stop" commands were issued at the same
			time. [RT #22108]
2010-12-03 22:05:19 +00:00
Mark Andrews
310e10d536 pass the address of dstkey 2010-12-03 21:47:19 +00:00
Automatic Updater
3cc6284383 update 2010-12-03 12:15:28 +00:00
Mark Andrews
cc83084441 s/dns_key_free/dst_key_free/ 2010-12-03 12:03:22 +00:00
Automatic Updater
7a7c5c129c update 2010-12-03 01:15:38 +00:00
Mark Andrews
c0a76b3c0b 2978. [port] hpux: look for <devpoll.h> [RT #21919] 2010-12-03 00:57:57 +00:00
Mark Andrews
82f0630bae 2977. [bug] 'nsupdate -l' report if the session key is missing.
[RT #21670]
2010-12-03 00:37:33 +00:00
Mark Andrews
6c9e21b4ce remove CVSS scores 2010-12-03 00:31:39 +00:00
Automatic Updater
312b3af169 update 2010-12-03 00:16:28 +00:00
Mark Andrews
b44b120c66 update RT number 2010-12-03 00:09:53 +00:00
Automatic Updater
326a702a35 update copyright notice 2010-12-02 23:46:56 +00:00
Mark Andrews
36fc19f939 update 2976 description 2010-12-02 23:44:28 +00:00
Automatic Updater
da24e725ff newcopyrights 2010-12-02 23:30:41 +00:00
Mark Andrews
c87f15dac8 2976. [bug] named die on exit after negotiating a GSS-TSIG key. [RT #3415] 2010-12-02 23:22:42 +00:00
Automatic Updater
7fb319204e auto update 2010-12-02 23:16:39 +00:00
Automatic Updater
a1eabc2b3f update 2010-12-02 05:16:36 +00:00
Mark Andrews
97664670d0 2975. [bug] rbtdb.c:cleanup_dead_nodes_callback() aquired the
wrong lock which could lead to server deadlock.
                        [RT #22614]
2010-12-02 04:58:13 +00:00
Automatic Updater
3a54e5ab6c update 2010-12-01 00:16:13 +00:00
Automatic Updater
e085624e0f update copyright notice 2010-11-30 23:46:55 +00:00
Automatic Updater
5f0d1e7b82 newcopyrights 2010-11-30 23:30:34 +00:00
Automatic Updater
c93b0eedee auto update 2010-11-30 23:16:39 +00:00
Automatic Updater
625a52bf35 update 2010-11-30 03:16:34 +00:00
Evan Hunt
b5b934a0bb 2974. [bug] Some vaild UPDATE requests could fail due to a
consistency check examining the existing version
			of the zone rather than the new version resulting
			from the UPDATE. [RT #22413]
2010-11-30 02:27:08 +00:00
Automatic Updater
d80e5e2db1 auto update 2010-11-29 23:16:40 +00:00
Automatic Updater
d7f9d063f2 update 2010-11-25 05:15:54 +00:00
Mark Andrews
9f4f189847 CVE-2010-3613 Reduce complexity from M to L raising score from 7.1 to 7.8.
Just have the base CVSS vectors.
2010-11-25 04:44:36 +00:00
Automatic Updater
fab04c267f auto update 2010-11-24 23:16:46 +00:00
Automatic Updater
7b7c25290f auto update 2010-11-19 23:16:40 +00:00
Automatic Updater
ce74e6c3b4 update 2010-11-19 00:16:39 +00:00
Mark Andrews
5af195d1db 2973. [bug] bind.keys.h was being removed by the "make clean"
at the end of configure resulting in build failures
                        where there is very old version of perl installed.
                        Move it to "make maintainer-clean". [RT #22230]
2010-11-18 23:20:15 +00:00
Automatic Updater
22f9090a35 auto update 2010-11-18 23:16:39 +00:00
Automatic Updater
735be4878f update 2010-11-18 03:16:45 +00:00
Mark Andrews
7ffe86618c add CVE, VU and CVSS 2010-11-18 02:47:48 +00:00
Automatic Updater
bed39bdf3a update 2010-11-18 01:16:38 +00:00
Automatic Updater
bc7051ee3f update copyright notice 2010-11-18 00:59:43 +00:00
Mark Andrews
5a636f9951 2972. [bug] win32: address windows socket errors. [RT #21906] 2010-11-18 00:24:00 +00:00
Automatic Updater
fa1d4d0cd7 update 2010-11-18 00:16:21 +00:00
Automatic Updater
33cc94f04c update copyright notice 2010-11-17 23:47:09 +00:00
Automatic Updater
44e3b27290 newcopyrights 2010-11-17 23:30:40 +00:00
Automatic Updater
231faefc5c update 2010-11-17 04:16:23 +00:00
Mark Andrews
1f50a0a441 handle namedxx.conf 2010-11-17 03:16:21 +00:00
Automatic Updater
1718ef8379 update 2010-11-17 01:15:40 +00:00
Evan Hunt
8eb30f8dd3 2971. [bug] Fixed a bug that caused journal files not to be
compacted on Windows systems as a result of
			non-POSIX-compliant rename() semantics. [RT #22434]
2010-11-17 00:27:54 +00:00
Automatic Updater
412e1fba75 update 2010-11-17 00:16:26 +00:00
Automatic Updater
42f95abecc auto update 2010-11-16 23:16:46 +00:00
Automatic Updater
10f0c5e041 update 2010-11-16 07:15:32 +00:00
Mark Andrews
d48730a446 2970. [security] Adding a NO DATA negative cache entry failed to clear
any matching RRSIG records.  A subsequent lookup of
                        of NO DATA cache entry could trigger a INSIST when the
                        unexpected RRSIG was also returned with the NO DATA
                        cache entry.  [RT #22288]
2010-11-16 06:46:44 +00:00
Automatic Updater
70eef362e6 update 2010-11-16 06:15:29 +00:00
Mark Andrews
cd9d825a71 remove accidental commit 2010-11-16 05:38:31 +00:00
Automatic Updater
33453d8676 update 2010-11-16 02:16:31 +00:00
Shawn Routhier
380c874925 Fix acl type processing so that allow-query works in options and view
statements.  Also add a new set of tests to verify proper functioning.
[RT #22418]
2010-11-16 01:37:39 +00:00
Automatic Updater
f02bcd6262 update 2010-11-16 01:15:26 +00:00
Mark Andrews
a27b3757fd 2968. [security] Named could fail to prove a data set was insecure
before marking it as insecure.  One set of conditions
                        that can trigger this occurs naturally when rolling
                        DNSKEY algorithms.  [RT #22309]
2010-11-16 01:14:51 +00:00
Mark Andrews
7965c00ca8 check for size equal zero in _format(), replace snprintf of a fixed string with strlcpy 2010-11-16 00:53:36 +00:00
Mark Andrews
432e1ce402 check that grow_headerspace added enough space or re-call it 2010-11-16 00:51:41 +00:00
Mark Andrews
c5a3400f23 REQUIRE that rataset/rdatalist be non NULL 2010-11-16 00:50:28 +00:00
Mark Andrews
a158495f84 INSIST that bucket in no longer ISC_ADB_INVALIDBUCKET after find_*_and_lock calls 2010-11-16 00:49:18 +00:00
Mark Andrews
f85281de08 check for snprintf failure 2010-11-16 00:47:48 +00:00
Mark Andrews
73b1b8a6f1 safecpy -> strlcpy 2010-11-16 00:46:39 +00:00
Mark Andrews
2bd3a6e266 strncpy + array[end] = 0 -> strlcpy 2010-11-16 00:46:00 +00:00
Mark Andrews
c2f5ddeeec isc_netaddr_format() check for sies equal 0 2010-11-16 00:43:02 +00:00
Mark Andrews
baab444222 isc_sockaddr_format() check for sies equal 0 2010-11-16 00:42:35 +00:00
Mark Andrews
d775887f01 cfg_obj_asnetprefix() check that the destinations are non NULL before writing to them 2010-11-16 00:41:32 +00:00
Automatic Updater
7b87980ae4 update 2010-11-10 09:15:26 +00:00
Mark Andrews
d009bf089b new draft 2010-11-10 08:59:26 +00:00
Automatic Updater
ab900cbf0d auto update 2010-11-08 23:16:36 +00:00
Automatic Updater
0575faaa41 auto update 2010-11-04 23:16:45 +00:00
Automatic Updater
649345de09 auto update 2010-11-03 23:16:39 +00:00
Automatic Updater
e2e19bd90f update 2010-11-03 01:15:27 +00:00
Mark Andrews
7964553eb4 branch snapshots 2010-11-03 01:04:36 +00:00
Automatic Updater
ad6f23f3ef auto update 2010-11-01 23:16:51 +00:00
Automatic Updater
717988cd08 auto update 2010-10-30 23:17:02 +00:00
Automatic Updater
9ba813582b auto update 2010-10-26 23:16:35 +00:00
Automatic Updater
b20c38829d auto update 2010-10-25 23:16:39 +00:00
Automatic Updater
d749f780d4 update 2010-10-20 00:16:21 +00:00
Automatic Updater
4071d667be update copyright notice 2010-10-19 23:47:10 +00:00
Automatic Updater
e311702a89 newcopyrights 2010-10-19 23:30:33 +00:00
Automatic Updater
088245273f update 2010-10-19 03:16:23 +00:00
Mark Andrews
c9c2ffe729 2967. [bug] 'host -D' now turns on debugging messages earlier.
[RT #22361]
2010-10-19 02:48:17 +00:00
Automatic Updater
51bc77127c update 2010-10-19 00:16:41 +00:00
Automatic Updater
b3ff8e5ae7 update copyright notice 2010-10-18 23:47:08 +00:00
Automatic Updater
b16e2045ac newcopyrights 2010-10-18 23:30:34 +00:00
Automatic Updater
5411715767 update 2010-10-18 04:16:39 +00:00
Mark Andrews
7bce336186 2966. [bug] isc_print_vsnprintf() failed to check if there was
space available in the buffer when adding a left
                        justified character with a non zero width,
                        (e.g. "%-1c"). [RT #22270]
2010-10-18 03:59:05 +00:00
Automatic Updater
003a8945fe auto update 2010-10-15 23:16:35 +00:00
Automatic Updater
caafaf2813 auto update 2010-10-12 23:16:42 +00:00
Mark Andrews
d9686e346b update 2010-10-11 23:24:45 +00:00
Automatic Updater
13cd516991 auto update 2010-10-07 23:16:35 +00:00
Automatic Updater
4d7f39b621 update 2010-10-04 23:15:38 +00:00
Mark Andrews
13dae6ff58 silence 'Null terminator in string initializer ignored.' warning 2010-10-04 22:27:41 +00:00
Automatic Updater
634d31cb04 update 2010-10-02 07:15:26 +00:00
Mark Andrews
fadef3ce7e new draft 2010-10-02 06:54:51 +00:00
Automatic Updater
6e0d41fc62 auto update 2010-09-30 23:16:43 +00:00
Automatic Updater
2bb389f9a4 update 2010-09-30 01:15:27 +00:00
Mark Andrews
45fbce9f17 custom_WALMART_v9_7_2 2010-09-30 00:17:29 +00:00
Automatic Updater
cb05fd5e8f update 2010-09-30 00:16:23 +00:00
Automatic Updater
9b367fcfe6 update copyright notice 2010-09-29 23:47:05 +00:00
Automatic Updater
e01f44b37b newcopyrights 2010-09-29 23:30:44 +00:00
Automatic Updater
01311387fb auto update 2010-09-29 23:16:46 +00:00
Automatic Updater
a431c67d58 update 2010-09-29 05:16:28 +00:00
Mark Andrews
34f010449c #include <isc/print.h> 2010-09-29 04:30:13 +00:00
Automatic Updater
b2c7d2874a update 2010-09-29 04:18:27 +00:00
Mark Andrews
5e2f047a5e 2965. [func] Test HMAC functions using test data from RFC 2104 and
RFC 4634. [RT #21702]
2010-09-29 04:03:00 +00:00
Mark Andrews
2015023399 2965. [func] Test HMAC functions using test data from RFC 2104 and RFC 4634. [RT #21702] 2010-09-29 04:00:16 +00:00
Automatic Updater
560c6b3773 update 2010-09-24 09:16:21 +00:00
Automatic Updater
7041e86986 update copyright notice 2010-09-24 08:31:23 +00:00
Automatic Updater
9b1207058e newcopyrights 2010-09-24 08:28:07 +00:00
Automatic Updater
fbe2a88bda update 2010-09-24 08:15:33 +00:00
Mark Andrews
b2c8cc4f2d placeholder 2010-09-24 08:10:12 +00:00
Automatic Updater
246f9ea6d6 update 2010-09-24 05:15:42 +00:00
Mark Andrews
ed83fa75f5 2963. [security] The allow-query acl was being applied instead of the
allow-query-cache acl to cache lookups. [RT #22114]
2010-09-24 05:09:03 +00:00
Automatic Updater
02f42ed1d9 update 2010-09-22 01:15:24 +00:00
Automatic Updater
3ce014e9af regen HEAD 2010-09-22 01:13:54 +00:00
Automatic Updater
7c267be4aa auto update 2010-09-21 23:16:16 +00:00
Automatic Updater
7d70c8c834 update 2010-09-21 20:15:31 +00:00
Paul Ebersman
3b9a5b7cdd fixed typo from man.dnysssec to man.dnssec.
reviewed by jreed, currently just fixed in HEAD.
2010-09-21 19:47:57 +00:00
Automatic Updater
d738096795 update 2010-09-17 05:15:38 +00:00
Mark Andrews
9eba1cf5e5 spelling 2010-09-17 04:32:59 +00:00
Automatic Updater
cf86dfbe47 update 2010-09-16 05:15:38 +00:00
Mark Andrews
c470afc7ac 2962. [port] win32: add more dependancies to BINDBuild.dsw.
[RT #22062]
2010-09-16 04:56:06 +00:00
Automatic Updater
c083414f34 update 2010-09-15 23:30:26 +00:00
Mark Andrews
165501a801 simplify grep 2010-09-15 23:22:02 +00:00
Automatic Updater
f536c72a44 update 2010-09-15 16:15:36 +00:00
Evan Hunt
cff5da57d6 The "resolver" test was failing on systems with old versions of "grep". 2010-09-15 15:45:07 +00:00
Automatic Updater
27d8bdc81f update 2010-09-15 12:50:57 +00:00
Automatic Updater
3255640981 update copyright notice 2010-09-15 12:38:36 +00:00
Automatic Updater
2cdbfcdad9 newcopyrights 2010-09-15 12:34:00 +00:00
Mark Andrews
a6e1f63f50 ./bin/tests/system/resolver/ns4/named.noaa 2010-09-15 12:30:45 +00:00
Mark Andrews
506a2177bf 2961. [bug] Be still more selective about the non-authoritative
answers we apply change 2748 to. [RT #22074]
2010-09-15 12:21:27 +00:00
Automatic Updater
f636b969f0 update 2010-09-15 12:15:34 +00:00
Mark Andrews
082f42dcf2 2960. [func] Check that named accepts non-authoritative answers.
[RT #21594]
2010-09-15 12:07:56 +00:00
Automatic Updater
de6e3c1dc4 update 2010-09-15 04:16:34 +00:00
Mark Andrews
c75523bcb3 2959. [func] Check that named starts with a missing masterfile.
[RT #22076]

2958.   [bug]           named failed to start with a missing master file.
                        [RT #22076]
2010-09-15 03:32:34 +00:00
Automatic Updater
ca1b023107 update 2010-09-15 03:16:13 +00:00
Mark Andrews
70ba55161b 2957. [bug] entropy_get() and entropy_getpseudo() failed to match
the API for RAND_bytes() and RAND_pseudo_bytes()
                        respectively. [RT #21962]
2010-09-15 03:06:15 +00:00
Automatic Updater
2df9c63cad auto update 2010-09-14 23:16:31 +00:00
Automatic Updater
8e61f264fd update 2010-09-14 00:15:52 +00:00
Automatic Updater
dc9fa0be37 update copyright notice 2010-09-13 23:46:58 +00:00
Automatic Updater
ede7b1df75 newcopyrights 2010-09-13 23:30:39 +00:00
Automatic Updater
5970bec141 auto update 2010-09-13 23:16:34 +00:00
Automatic Updater
30c76ec787 update 2010-09-13 07:15:26 +00:00
Mark Andrews
ad9107efaa 2956. [port] Enable atomic operations on the PowerPC64. [RT #21899] 2010-09-13 07:06:05 +00:00
Automatic Updater
f56ced0b9d update 2010-09-13 04:16:04 +00:00
Mark Andrews
3f9f14055b 2955. [func] Provide more detail in the recursing log. [RT #22043] 2010-09-13 03:37:43 +00:00
Mark Andrews
75f48cecb3 2954. [bug] contrib: dlz_mysql_driver.c bad error handling on
build_sqldbinstance failure. [RT #21623]
2010-09-13 03:27:48 +00:00
Automatic Updater
8c13f838f5 auto update 2010-09-10 23:16:31 +00:00
Automatic Updater
b73d90b60b auto update 2010-09-09 23:16:34 +00:00
Automatic Updater
bbc604018c update 2010-09-08 00:16:23 +00:00
Automatic Updater
7306e8e4ee update copyright notice 2010-09-07 23:46:59 +00:00
Automatic Updater
e171a4137c newcopyrights 2010-09-07 23:30:44 +00:00
Automatic Updater
1e6b56b088 update 2010-09-07 03:16:18 +00:00
Mark Andrews
8fb412590e 2953. [bug] Silence spurious "expected covering NSEC3, got an
exact match" message when returning a wildcard
                        no data response. [RT #21744]
2010-09-07 02:28:17 +00:00
Automatic Updater
8bf7aca489 update 2010-09-07 02:15:58 +00:00
Mark Andrews
1b42401954 2952. [port] win32: named-checkzone and named-checkconf failed
to initialise winsock. [RT #21932]
2010-09-07 01:49:08 +00:00
Automatic Updater
ce9ba78d11 update 2010-09-07 01:15:33 +00:00
Mark Andrews
240a7dc59d 2951. [bug] named failed to generate a correct signed response
in a optout, delegation only zone with no secure
                        delegations. [RT #22007]
2010-09-07 00:58:36 +00:00
Automatic Updater
e92e62990b auto update 2010-09-06 23:16:32 +00:00
Automatic Updater
b8bb4e6e94 update 2010-09-06 05:15:44 +00:00
Mark Andrews
e588bfe689 2950. [bug] named failed to perform a SOA up to date check when
falling back to TCP on UDP timeouts when
                        ixfr-from-differences was set. [RT #21595]
2010-09-06 04:41:13 +00:00
Mark Andrews
02a211f4c4 2949. [bug] dns_view_setnewzones() contained a memory leak if
it was called multiple times. [RT #21942]
2010-09-06 04:31:11 +00:00
Automatic Updater
3045036e49 update 2010-09-05 12:15:17 +00:00
Francis Dupont
ec288f1a26 reindent 2010-09-05 12:14:26 +00:00
Automatic Updater
c2c67d6e47 auto update 2010-09-02 23:16:27 +00:00
Automatic Updater
e928ad8bf9 auto update 2010-08-31 23:16:31 +00:00
Automatic Updater
196f1cf015 auto update 2010-08-27 23:16:28 +00:00
Automatic Updater
d851310950 update 2010-08-26 00:16:01 +00:00
Automatic Updater
dac2623103 update copyright notice 2010-08-25 23:46:37 +00:00
Automatic Updater
ff69107b38 newcopyrights 2010-08-25 23:30:53 +00:00
Automatic Updater
5c7f849c70 update 2010-08-25 06:15:21 +00:00
Mark Andrews
fd8fb4df84 bin/tests/system/org.isc.bind.system.plist 2010-08-25 05:33:56 +00:00
Automatic Updater
ad901e21c0 update 2010-08-25 05:15:18 +00:00
Mark Andrews
17be07ab81 2948. [port] MacOS: provide a mechanism to configure the test
interfaces at reboot. See bin/tests/system/README
                        for details.
2010-08-25 04:51:51 +00:00
Automatic Updater
5fdcf9e935 update 2010-08-25 01:15:27 +00:00
Mark Andrews
0b57424d28 update 2010-08-25 01:09:53 +00:00
Automatic Updater
b7c24d4b8e update 2010-08-24 06:15:22 +00:00
Mark Andrews
684a4498ba cleanup 2010-08-24 05:27:37 +00:00
Automatic Updater
0a1bc4e536 update 2010-08-24 01:15:20 +00:00
Mark Andrews
b5fd149e7e silence signed/unsigned warning hpux 2010-08-24 01:00:31 +00:00
Automatic Updater
512d7c315f update 2010-08-23 23:15:49 +00:00
Tatuya JINMEI 神明達哉
708b78f157 placeholder for 9.7.1-P2-DENIC (RT #21886) 2010-08-23 23:08:52 +00:00
Automatic Updater
4cb4d7a110 update 2010-08-21 01:15:17 +00:00
Automatic Updater
fde6bfde6e regen HEAD 2010-08-21 01:14:00 +00:00
Automatic Updater
a3cd596c87 update 2010-08-20 02:15:26 +00:00
Mark Andrews
20599f3d0e 2946. [doc] Document the default values for the minimum and maximum zone refresh and retry values in the ARM. [RT #21886] 2010-08-20 01:31:10 +00:00
Automatic Updater
3a52f3444d update 2010-08-20 01:15:31 +00:00
Automatic Updater
c25877b363 regen HEAD 2010-08-20 01:14:19 +00:00
Automatic Updater
6010e5d622 update 2010-08-20 00:16:02 +00:00
Mark Andrews
38abdbf816 2945. [doc] Update empty-zones list in ARM. [RT #21772]
2944.   [maint]         Remove ORCHID prefix from built in empty zones.
                        [RT #21772]
2010-08-20 00:13:26 +00:00
Automatic Updater
ff61017de2 update 2010-08-18 00:16:06 +00:00
Automatic Updater
7202b5cf66 update copyright notice 2010-08-17 23:46:46 +00:00
Automatic Updater
255571ad34 newcopyrights 2010-08-17 23:30:46 +00:00
Automatic Updater
0aeba1af0d update 2010-08-17 04:16:10 +00:00
Mark Andrews
e0c50ca36a update default id range to match that used (1..7) 2010-08-17 04:08:57 +00:00
Automatic Updater
e8c1bd086f update 2010-08-17 02:15:21 +00:00
Automatic Updater
3acf5eb97c regen HEAD 2010-08-17 01:15:38 +00:00
Automatic Updater
56876f1e68 update 2010-08-17 00:15:48 +00:00
Automatic Updater
f428e385a4 update copyright notice 2010-08-16 23:46:52 +00:00
Automatic Updater
e23256e740 newcopyrights 2010-08-16 23:30:42 +00:00
Automatic Updater
8661637b9d auto update 2010-08-16 23:16:35 +00:00
Automatic Updater
2a9a0f406b update 2010-08-16 23:15:26 +00:00
Mark Andrews
10f9e687f5 silence redefinition warnings MacOS 2010-08-16 22:41:16 +00:00
Mark Andrews
c6f4972c74 2943. [func] Add support to load new keys into managed zones
without signing immediately with "rndc loadkeys".
                        Add support to link keys with "dnssec-keygen -S"
                        and "dnssec-settime -S".  [RT #21351]
2010-08-16 22:21:07 +00:00
Automatic Updater
6ee897e2b3 update 2010-08-16 06:15:25 +00:00
Mark Andrews
f94ec08c17 2942. [contrib] zone2sqlite failed to setup the entropy sources.
[RT #21610]
2010-08-16 05:32:44 +00:00
Automatic Updater
f0b944480e update 2010-08-16 05:15:24 +00:00
Mark Andrews
8bc194b266 2941. [bug] sdb and sdlz (dlz's zone database) failed to support
DNAME at the zone apex.  [RT #21610]
2010-08-16 04:49:14 +00:00
Automatic Updater
8171f2c3dd update 2010-08-14 00:15:51 +00:00
Automatic Updater
2b43d1d8c5 update copyright notice 2010-08-13 23:47:04 +00:00
Automatic Updater
665ba746c0 newcopyrights 2010-08-13 23:30:56 +00:00
Automatic Updater
6deb576114 auto update 2010-08-13 23:16:31 +00:00
Automatic Updater
30036552e4 update 2010-08-13 15:15:21 +00:00
Francis Dupont
7641867b4c fix win32 build 2010-08-13 14:33:31 +00:00
Automatic Updater
20dc3ddcd4 update 2010-08-13 11:15:20 +00:00
Francis Dupont
0395219694 remove connection aborted error message [#21549] 2010-08-13 10:49:58 +00:00
Francis Dupont
bcb444aed0 remove connection aborted error message 2010-08-13 10:45:32 +00:00
Automatic Updater
bdc3114b56 update 2010-08-13 08:15:23 +00:00
Mark Andrews
7c681d0750 2939. [func] Check that named successfully skips NSEC3 records
that fail to match the NSEC3PARAM record currently
                        in use. [RT# 21868]
2010-08-13 07:32:42 +00:00
Mark Andrews
da45cdaf79 placeholder 2010-08-13 07:26:50 +00:00
Automatic Updater
c115a50963 update 2010-08-13 07:15:20 +00:00
Mark Andrews
c73d8c1b72 2938. [bug] When skipping NSEC3 records that don't match the
current NSEC3PARAM record in use for zone named
                        could dereference a uninitialised pointer attempting
                        to obtain a lock. [RT# 21868]
2010-08-13 06:46:25 +00:00
Automatic Updater
ef0d20244d update 2010-08-13 04:15:32 +00:00
Mark Andrews
e8c17c7453 ./bin/tests/system/addzone/ns2/default.nzf.in 2010-08-13 03:35:38 +00:00
Automatic Updater
0d5a43e21a update 2010-08-13 00:15:59 +00:00
Automatic Updater
87be41dc7b update 2010-08-12 22:15:20 +00:00
Tatuya JINMEI 神明達哉
d0b75b9ff6 define the wrapper function for mem_isovermem().
(a regression in rt21818)
2010-08-12 21:30:26 +00:00
Automatic Updater
1d41be16c7 update 2010-08-12 10:15:20 +00:00
Francis Dupont
bf22bad528 removing unused 2010-08-12 09:52:35 +00:00
Francis Dupont
13f0ecd037 re-indent 2010-08-12 09:31:50 +00:00
Automatic Updater
d1fa703c08 update 2010-08-12 04:15:32 +00:00
Evan Hunt
9b7efe7aca Removed a leftover UNUSED statement referencing a parameter that doesn't
exist anymore.
2010-08-12 04:04:14 +00:00
Automatic Updater
e52171437f update 2010-08-12 03:15:44 +00:00
Mark Andrews
020b3b1379 new draft 2010-08-12 02:30:25 +00:00
Automatic Updater
75f004c92b update 2010-08-12 02:15:21 +00:00
Mark Andrews
bde46569f3 .orig -> .in as .orig is used by patch 2010-08-12 01:31:36 +00:00
Automatic Updater
0a93c74a35 update 2010-08-12 01:15:17 +00:00
Automatic Updater
82d13321f4 regen HEAD 2010-08-12 01:14:30 +00:00
Automatic Updater
0e3b06fb84 update 2010-08-12 00:15:59 +00:00
Automatic Updater
cc4dd0d08d update copyright notice 2010-08-11 23:46:42 +00:00
Automatic Updater
30e7870023 update 2010-08-11 23:15:34 +00:00
Tatuya JINMEI 神明達哉
253ae50e09 required ctx is valid in mem_isovermem(). 2010-08-11 23:11:45 +00:00
Tatuya JINMEI 神明達哉
27fe1966c9 2937. [bug] Worked around an apparent race condition in over
memory conditions.  Without this fix a DNS cache DB or
			ADB could incorrectly stay in an over memory state,
			effectively refusing further caching, which
			subsequently made a BIND 9 caching server unworkable.
			This fix prevents this problem from happening by
			polling the state of the memory context, rather than
			making a copy of the state, which appeared to cause
			a race.  This is a "workaround" in that it doesn't
			solve the possible race per se, but several experiments
			proved this change solves the symptom.  Also, the
			polling overhead hasn't been reported to be an issue.
			This bug should only affect a caching server that
			specifies a finite max-cache-size.  It's also quite
			likely that the bug happens only when enabling threads,
			but it's not confirmed yet. [RT #21818]
2010-08-11 22:54:58 +00:00
Automatic Updater
fc7bf6dcad update 2010-08-11 18:15:22 +00:00
Evan Hunt
cfd262045c 2936. [func] Improved configuration syntax and multiple-view
support for addzone/delzone feature (see change
			#2930).  Removed "new-zone-file" option, replaced
			with "allow-new-zones (yes|no)".  The new-zone-file
			for each view is now created automatically, with
			a filename generated from a hash of the view name.
			It is no longer necessary to "include" the
			new-zone-file in named.conf; this happens
			automatically.  Zones that were not added via
			"rndc addzone" can no longer be removed with
			"rndc delzone". [RT #19447]
2010-08-11 18:14:20 +00:00
Automatic Updater
7d7cdecee6 update 2010-08-11 13:15:16 +00:00
Francis Dupont
26f55cbdf6 trivial fix in comment 2010-08-11 12:37:36 +00:00
Automatic Updater
d8ba58b392 update 2010-08-11 01:15:31 +00:00
Mark Andrews
999ffe78c4 new draft 2010-08-11 00:58:20 +00:00
Automatic Updater
2fa731eafb update 2010-08-11 00:16:06 +00:00
Automatic Updater
548317f929 update copyright notice 2010-08-10 23:48:19 +00:00
Automatic Updater
93bd88e172 newcopyrights 2010-08-10 23:30:37 +00:00
Automatic Updater
b5ef90b267 auto update 2010-08-10 23:16:25 +00:00
Automatic Updater
9a55ac6af1 update 2010-08-10 10:15:26 +00:00
Mark Andrews
4b6cb8d09e 2935. [bug] nsupdate: improve 'file not found' error message.
[RT #21871]
2010-08-10 09:51:47 +00:00
Mark Andrews
712b976a06 2934. [bug] Use ANSI C compliant shift range in lib/isc/entropy.c. [RT #21871] 2010-08-10 09:32:06 +00:00
Automatic Updater
c567a85061 update 2010-08-10 09:15:24 +00:00
Mark Andrews
f083530138 2933. [bug] 'dig +nsid' used stack memory after it went out of
scope.  This could potentially result in a unknown,
                        potentially malformed, EDNS option being sent instead
                        of the desired NSID option. [RT #21781]
2010-08-10 08:39:15 +00:00
Automatic Updater
2d9248490c auto update 2010-08-09 23:16:32 +00:00
Automatic Updater
577582dd68 update 2010-08-09 23:15:30 +00:00
Evan Hunt
cb933b69ff 2932. [cleanup] Corrected a numbering error in the "dnssec" test.
[RT #21597]
2010-08-09 22:34:56 +00:00
Automatic Updater
8e9eb313e7 auto update 2010-08-05 23:16:30 +00:00
Automatic Updater
efee6b51c7 update 2010-08-04 00:16:01 +00:00
Automatic Updater
8ac1f6a48c update copyright notice 2010-08-03 23:46:39 +00:00
Automatic Updater
be63e68c51 newcopyrights 2010-08-03 23:30:45 +00:00
Automatic Updater
b8848eded7 update 2010-08-03 17:15:29 +00:00
Tatuya JINMEI 神明達哉
dbae1499ba added me to authors. approved by Evan. 2010-08-03 16:40:45 +00:00
Automatic Updater
26d137dd7d update 2010-07-20 05:15:21 +00:00
Mark Andrews
7b830cb17f while (1) -> for (;;) to silence compiler warning 2010-07-20 04:52:21 +00:00
Mark Andrews
0ddcd0c0ce format/arg mismatch solaris 2010-07-20 04:46:49 +00:00
Automatic Updater
168903d09b update 2010-07-19 06:15:19 +00:00
Mark Andrews
7a8d1e1e2e 0 -> 0U 2010-07-19 06:13:28 +00:00
Automatic Updater
a7a94ab93a update 2010-07-19 04:15:24 +00:00
Mark Andrews
dfbda37366 silence compiler warnings about (char) as index to array 2010-07-19 04:13:38 +00:00
Automatic Updater
06573b9f35 auto update 2010-07-16 23:16:21 +00:00
Automatic Updater
c48e03b9a3 update 2010-07-15 02:15:23 +00:00
Tatuya JINMEI 神明達哉
f1f39b7e07 2931. [bug] Temporarily and partially disable change 2864
because it would cause inifinite attempts of RRSIG
			queries.  This is an urgent care fix; we'll
			revisit the issue and complete the fix later.
			[RT #21710]
2010-07-15 01:17:45 +00:00
Automatic Updater
1c3359e8f7 auto update 2010-07-14 23:16:22 +00:00
Automatic Updater
7759bb4896 update 2010-07-12 04:15:21 +00:00
Mark Andrews
b24b6ddab7 5933: Use of GOST Signature Algorithms in DNSKEY
and RRSIG Resource Records for DNSSEC
2010-07-12 03:17:37 +00:00
Automatic Updater
3101b7bd21 update 2010-07-12 01:15:17 +00:00
Automatic Updater
5d9e1d7500 regen HEAD 2010-07-12 01:14:20 +00:00
Automatic Updater
c7578930ec update 2010-07-12 00:15:57 +00:00
Automatic Updater
a90aca78aa update copyright notice 2010-07-11 23:46:54 +00:00
Automatic Updater
e5fe07a7eb newcopyrights 2010-07-11 23:30:36 +00:00
Automatic Updater
239df719b0 update 2010-07-11 06:15:19 +00:00
Evan Hunt
a207cfc5d1 Removed a duplicate entry in namedconf.c. 2010-07-11 05:44:15 +00:00
Automatic Updater
99ab3cfce2 update 2010-07-11 02:15:23 +00:00
Evan Hunt
5312c2ffbe dnssec and dlv tests included master zones whose master files were missing.
this was a bug that hadn't been noticed before, but 19447 added a test for
that condition and it caused test failures.
2010-07-11 01:18:24 +00:00
Automatic Updater
816e5bac7d update 2010-07-11 01:15:20 +00:00
Automatic Updater
ae80331be3 regen HEAD 2010-07-11 01:14:16 +00:00
Automatic Updater
0733592092 update 2010-07-11 00:15:54 +00:00
Evan Hunt
86dcc40058 2930. [experimental] New "rndc addzone" and "rndc delzone" commads
allow dynamic addition and deletion of zones.
			To enable this feature, specify a "new-zone-file"
			option at the view or options level in named.conf.
			Zone configuration information for the new zones
			will be written into that file.  To make the new
			zones persist after a restart, "include" the file
			into named.conf in the appropriate view.  (Note:
			This feature is not yet documented, and its syntax
			is expected to change.) [RT #19447]
2010-07-11 00:12:57 +00:00
Automatic Updater
773896a200 update 2010-07-10 01:15:17 +00:00
Automatic Updater
7c6b9b2638 regen HEAD 2010-07-10 01:14:20 +00:00
Automatic Updater
2a69cdc964 update 2010-07-10 00:16:01 +00:00
Automatic Updater
1b892cf691 update copyright notice 2010-07-09 23:46:51 +00:00
Automatic Updater
7858b0168b newcopyrights 2010-07-09 23:33:38 +00:00
Automatic Updater
df23bca11a update 2010-07-09 05:15:54 +00:00
Evan Hunt
bf9b852c3e 2929. [bug] Improved handling of GSS security contexts:
- added LRU expiration for generated TSIGs
			 - added the ability to use a non-default realm
                         - added new "realm" keyword in nsupdate
			 - limited lifetime of generated keys to 1 hour
			   or the lifetime of the context (whichever is
			   smaller)
			[RT #19737]
2010-07-09 05:13:15 +00:00
Automatic Updater
385c6ae102 auto update 2010-07-07 23:16:25 +00:00
Automatic Updater
0ec2958f5e update 2010-07-07 08:15:17 +00:00
Mark Andrews
7738656b90 new draft 2010-07-07 08:05:29 +00:00
Automatic Updater
c964b0b9bd update 2010-07-04 01:15:22 +00:00
Mark Andrews
922e80affe new draft 2010-07-04 01:13:13 +00:00
Mark Andrews
ff5864ef42 2928. [bug] Be more selective about the non-authoritative
answer we apply change 2748 to. [RT #21594]
2010-07-04 00:48:57 +00:00
Automatic Updater
86532a6230 auto update 2010-07-02 23:16:22 +00:00
Automatic Updater
60ddb8f01e update 2010-07-02 00:15:43 +00:00
Automatic Updater
817ae21947 newcopyrights 2010-07-01 23:30:35 +00:00
Automatic Updater
51ad8ab5e5 auto update 2010-07-01 23:16:19 +00:00
Tatuya JINMEI 神明達哉
4c517d66b5 canceled previous commit (wrong branch) 2010-07-01 19:26:08 +00:00
Tatuya JINMEI 神明達哉
cd98628ca6 regen 2010-07-01 19:19:27 +00:00
Automatic Updater
27c982c86d update 2010-07-01 18:15:22 +00:00
Tatuya JINMEI 神明達哉
f3792d4bda placeholdr for RT #21474 2010-07-01 17:36:09 +00:00
Automatic Updater
80114610e4 auto update 2010-06-29 23:16:20 +00:00
Automatic Updater
11d742eaba update 2010-06-29 23:15:21 +00:00
Mark Andrews
9ad05226e8 new draft 2010-06-29 23:09:13 +00:00
Automatic Updater
0b45829b11 update 2010-06-29 03:15:58 +00:00
Mark Andrews
45d9b38097 placeholder 2010-06-29 02:51:13 +00:00
Automatic Updater
20c9d11bab update 2010-06-29 00:15:56 +00:00
Automatic Updater
b2f875a535 update copyright notice 2010-06-28 23:46:44 +00:00
Automatic Updater
96249c843a newcopyrights 2010-06-28 23:30:41 +00:00
Automatic Updater
d045e9694c auto update 2010-06-28 23:16:23 +00:00
Automatic Updater
e7fb023fd0 update 2010-06-28 04:15:44 +00:00
Mark Andrews
ea72c1dff0 new draft 2010-06-28 03:43:05 +00:00
Automatic Updater
3a3dba4431 update 2010-06-28 02:15:24 +00:00
Mark Andrews
a7d2b922ee match the dig.out.ns#.$n to the nameserver 2010-06-28 01:34:11 +00:00
Mark Andrews
8fa6ca58b6 check that we have non-cachable answers to test against 2010-06-28 01:31:49 +00:00
Automatic Updater
2bd0d8b03f update 2010-06-28 00:16:02 +00:00
Mark Andrews
9408328f1d handle very short source files 2010-06-27 23:42:22 +00:00
Automatic Updater
56a67f949b update 2010-06-27 00:15:50 +00:00
Automatic Updater
1b67d9b719 update copyright notice 2010-06-26 23:46:49 +00:00
Automatic Updater
e628576d3b newcopyrights 2010-06-26 23:30:44 +00:00
Automatic Updater
57606549c0 update 2010-06-26 06:15:21 +00:00
Mark Andrews
2cf74a72fd isc_boolean_t -> dns_v4_aaaa_t 2010-06-26 05:30:30 +00:00
Automatic Updater
cc455423fd update 2010-06-26 03:16:03 +00:00
Mark Andrews
f8a9a38ee4 bin/tests/system/dnssec/ns7/named.nosoa 2010-06-26 02:19:32 +00:00
Automatic Updater
370c8e69a1 update 2010-06-26 01:15:26 +00:00
Automatic Updater
1238b38c9f regen HEAD 2010-06-26 01:14:19 +00:00
Mark Andrews
73134bd1c7 add /* NOT DOCUMENTED */ 2010-06-26 00:20:33 +00:00
Automatic Updater
05b821a31a update 2010-06-26 00:16:02 +00:00
Mark Andrews
810656a187 2925. [bug] Named failed to accept uncachable negative responses
from insecure zones. [RT# 21555]
2010-06-25 23:50:13 +00:00
Automatic Updater
cf309ffeee update copyright notice 2010-06-25 23:46:51 +00:00
Automatic Updater
f4029eb746 newcopyrights 2010-06-25 23:30:34 +00:00
Automatic Updater
08b233c101 auto update 2010-06-25 23:16:18 +00:00
Automatic Updater
e7c1818c2c update 2010-06-25 07:30:49 +00:00
Mark Andrews
f35a87f58f remove leading zeros on keyid
account for trusted keys not applying to _bind anymore
2010-06-25 07:28:46 +00:00
Automatic Updater
49887c2aa7 update 2010-06-25 04:15:32 +00:00
Mark Andrews
bf13e709db 2924. [func] 'rndc secroots' dump a combined summary of the
current managed keys combined with trusted keys.
                        [RT #20904]
2010-06-25 03:24:05 +00:00
Automatic Updater
256b56f440 update 2010-06-24 08:15:31 +00:00
Mark Andrews
bdc1d1b1bf changes number 2010-06-24 07:34:41 +00:00
Mark Andrews
43888c2315 2922. [bug] 'dig +trace' could drop core after "connection
timeout". [RT #21514]
2010-06-24 07:22:18 +00:00
Automatic Updater
9f1e86e4ef update 2010-06-24 00:15:55 +00:00
Automatic Updater
b8d4e96e95 update copyright notice 2010-06-23 23:46:58 +00:00
Automatic Updater
782b50b4eb newcopyrights 2010-06-23 23:30:33 +00:00
Automatic Updater
1227b00357 auto update 2010-06-23 23:16:24 +00:00
Automatic Updater
d7e4ff21da update 2010-06-23 04:15:54 +00:00
Mark Andrews
0627874ff8 s/to soon/too soon/ 2010-06-23 03:31:17 +00:00
Mark Andrews
b7ba273d32 add period 2010-06-23 03:29:11 +00:00
Automatic Updater
96118efd9a update 2010-06-23 03:15:53 +00:00
Mark Andrews
c52235e52e 2922 [contrib] Update zkt to version 1.0.: 2010-06-23 02:42:10 +00:00
Automatic Updater
0123677dc3 update 2010-06-23 02:15:34 +00:00
Mark Andrews
4a8dc5f8ef 2921. [bug] The resolver could attempt to destroy a fetch context
to soon.  [RT #19878]
2010-06-23 01:31:43 +00:00
Automatic Updater
945b6a3ae4 update 2010-06-23 01:15:17 +00:00
Automatic Updater
07ee99c7d0 regen HEAD 2010-06-23 01:14:18 +00:00
Automatic Updater
4a7d0ef87c update 2010-06-23 00:15:46 +00:00
Automatic Updater
b61690dbad update copyright notice 2010-06-22 23:46:52 +00:00
Mark Andrews
8c9c79e5fe regen 2010-06-22 23:34:57 +00:00
Automatic Updater
3899610326 auto update 2010-06-22 23:16:15 +00:00
Automatic Updater
d138a6bfe3 update 2010-06-22 07:15:27 +00:00
Mark Andrews
c5ff97f471 2920. [func] Allow 'filter-aaaa-on-v4' to be applied selectively
to IPv4 clients.  New acl 'filter-aaaa' (default any).
2010-06-22 06:16:34 +00:00
Automatic Updater
25c92b85f0 update 2010-06-22 06:15:17 +00:00
Mark Andrews
511995ed11 reverse accidental commit 2010-06-22 06:14:20 +00:00
Automatic Updater
713cd334b6 update 2010-06-22 04:15:31 +00:00
Mark Andrews
48dfee7150 2920. [func] Allow 'filter-aaaa-on-v4' to be applied selectively
to IPv4 clients.  New acl 'filter-aaaa' (default any).
2010-06-22 04:03:38 +00:00
Automatic Updater
86d12575ff update 2010-06-22 00:15:57 +00:00
Automatic Updater
c7c7ba3977 update copyright notice 2010-06-21 23:46:48 +00:00
Automatic Updater
c07cdac6cf newcopyrights 2010-06-21 23:30:36 +00:00
Automatic Updater
cc2adcaa10 regen 2010-06-21 23:30:33 +00:00
Automatic Updater
8d1ee9c8db update 2010-06-21 03:15:58 +00:00
Mark Andrews
718c4becc5 2919. [func] Add autosign-ksk and autosign-zsk virtual time tests.
[RT #20840]
2010-06-21 02:31:46 +00:00
Automatic Updater
8bb6a55bb5 update 2010-06-21 00:16:03 +00:00
Automatic Updater
673ed6391e update copyright notice 2010-06-20 23:46:45 +00:00
Automatic Updater
27794bebe2 newcopyrights 2010-06-20 23:30:41 +00:00
Automatic Updater
d5289b74fe regen 2010-06-20 23:30:40 +00:00
Automatic Updater
32064fc67f update 2010-06-20 08:15:55 +00:00
Mark Andrews
be28cc55c5 regen 2010-06-20 07:19:18 +00:00
Mark Andrews
ea7760e72a report bind.keys and bindkeys.pl versions in output 2010-06-20 07:18:30 +00:00
Mark Andrews
56b9fb463c add bind.keys.h dependancy on ${srcdir}/bindkeys.pl 2010-06-20 07:17:02 +00:00
Mark Andrews
1154295949 cvs version identifier 2010-06-20 07:15:28 +00:00
Automatic Updater
0d57f20843 update 2010-06-19 01:15:19 +00:00
Mark Andrews
4ccc69f808 new draft 2010-06-19 00:39:55 +00:00
Automatic Updater
6f4608e30c update 2010-06-19 00:15:55 +00:00
Automatic Updater
efa460418c update copyright notice 2010-06-18 23:46:43 +00:00
Automatic Updater
7c899ff8af newcopyrights 2010-06-18 23:30:39 +00:00
Automatic Updater
35dffd7e21 update 2010-06-18 05:39:24 +00:00
Mark Andrews
ae538374fe AAAA not A 2010-06-18 05:36:24 +00:00
Automatic Updater
3b4e78c7df update 2010-06-18 03:16:33 +00:00
Mark Andrews
de73ef7ecd /bin/tests/virtual-time/common/controls.conf 2010-06-18 02:48:28 +00:00
Mark Andrews
17198e77b8 ./bin/tests/virtual-time/README 2010-06-18 02:45:30 +00:00
Automatic Updater
e05203a2ff update 2010-06-18 02:15:31 +00:00
Mark Andrews
081b36ff95 2918. [maint] Add AAAA address for I.ROOT-SERVERS.NET. 2010-06-18 02:11:44 +00:00
Mark Andrews
4b0355d885 9.8.0a1 2010-06-18 02:05:02 +00:00
Automatic Updater
e1527490c1 update 2010-06-18 00:15:58 +00:00
Automatic Updater
0062141398 auto update 2010-06-17 23:16:27 +00:00
Automatic Updater
e4f2caddfa update 2010-06-17 06:15:23 +00:00
Mark Andrews
43c770b998 2917. [func] Virtual time test framework. [RT #20801] 2010-06-17 05:39:19 +00:00
Automatic Updater
0c175b2bc8 update 2010-06-17 00:15:41 +00:00
Mark Andrews
afa4e998ed custom_YAHOO_v9_7_1 2010-06-16 23:50:01 +00:00
Automatic Updater
9c208977a1 auto update 2010-06-15 23:16:21 +00:00
Automatic Updater
14f17e6406 update 2010-06-15 15:15:16 +00:00
Mark Andrews
9565427120 new draft 2010-06-15 14:20:40 +00:00
Automatic Updater
fcd9888d1e update 2010-06-12 00:16:00 +00:00
Automatic Updater
263874836b update copyright notice 2010-06-11 23:46:49 +00:00
Automatic Updater
06795359e2 newcopyrights 2010-06-11 23:30:43 +00:00
Automatic Updater
74f4de925d update 2010-06-11 02:15:48 +00:00
Mark Andrews
96fae19c97 restore export of PERL PK11GEN PK11LIST PK11DEL 2010-06-11 01:57:36 +00:00
Automatic Updater
7cad85e750 update 2010-06-11 00:49:48 +00:00
Automatic Updater
d1de56d808 update 2010-06-10 07:17:42 +00:00
Andreas Gustafsson
4a56586eae document that RSA keys are limited to 2000 bits in 9.0.1 2000-11-10 18:05:55 +00:00
Andreas Gustafsson
88922429fd added note about RSA keys longer than 2000 bits not working 2000-11-09 22:44:42 +00:00
Andreas Gustafsson
dbe4dc4871 the OpenBSD /dev/random nonblocking access bug is reportedly fixed in 2.8;
BIND 9 reportedly works on OpenBSD-current
2000-11-09 02:36:18 +00:00
Andreas Gustafsson
2f72bfafc4 added '--- 9.0.1 released ---' tag 2000-11-09 00:44:13 +00:00
Andreas Gustafsson
54d3ce870f updated for 9.0.1 2000-11-09 00:42:52 +00:00
Andreas Gustafsson
b3bf3b7d55 bumped to 9.0.1 2000-11-09 00:40:21 +00:00
Andreas Gustafsson
6cc8775b0e pullup:
547.   [bug]           dnssafe doesn't correctly handle RSA keys longer
                        than 2000 bits.  Disable support for long keys.
2000-11-09 00:39:14 +00:00
Brian Wellington
edf657d6d3 547. [bug] dnssafe doesn't correctly handle RSA keys longer
than 2000 bits.  Disable support for long keys.
2000-11-08 21:56:18 +00:00
Andreas Gustafsson
5ad7e61731 updated for 9.0.1rc1 2000-11-06 19:21:14 +00:00
Andreas Gustafsson
a307c574f0 added "--- 9.0.1rc2 released" --- tag 2000-11-06 17:57:16 +00:00
Andreas Gustafsson
922e97adde bumped to 9.0.1rc2 2000-11-06 17:56:15 +00:00
Andreas Gustafsson
77b8c0255b 527. [bug] When a hint zone was configured, the spurious warning
messages "Hint zones do not have a forward field" and
                        "Hint zones do not have a forwarders field" were
                        printed. [RT #439]
2000-11-04 02:45:07 +00:00
Andreas Gustafsson
4df2b2a65e shared library builds don't *quite* work yet on AIX,
despite the libtool upgrade
2000-11-03 19:35:12 +00:00
Brian Wellington
e9c5fab8ef #457 was duplicated. 2000-11-03 19:30:10 +00:00
Andreas Gustafsson
88a3380ec6 note reported successful build on OpenBSD 2.6, 2.8 2000-11-03 01:06:51 +00:00
Michael Sawyer
35f705870b Pullup, to make domain= code work under dig and vc option work under
nslookup.

Reviewed by Brian
2000-10-30 17:21:45 +00:00
Andreas Gustafsson
1c468cb9a8 pullup:
valid base64 strings with embedded spaces were rejected.
2000-10-26 06:07:36 +00:00
Brian Wellington
c168afbec2 The libtool update broke netbsd [RT #414] 2000-10-25 13:29:27 +00:00
Andreas Gustafsson
66453c294e "The big dig change" broke "make install":
the mkinstalldirs script does not exist yet on the release branch
2000-10-21 01:35:17 +00:00
Andreas Gustafsson
03edb7b710 added '--- 9.0.1rc1 released' --- marker 2000-10-21 01:09:20 +00:00
Andreas Gustafsson
2489ab6bcc public functions have been added to libisc and libdns, but not liblwres 2000-10-21 01:01:43 +00:00
Andreas Gustafsson
5db3677d56 note that there are some new features in
dig/host/nslookup
2000-10-21 00:38:58 +00:00
Andreas Gustafsson
96f9387aed fixed typos and formatting, clarified, and tabified 2000-10-20 23:02:59 +00:00
Michael Sawyer
2057571b6e Mass CHANGES updates from recent big dig/nsupdate pullups. 2000-10-20 22:36:07 +00:00
Andreas Gustafsson
5993bf7f96 pullup:
various dig patches from Mike
2000-10-20 21:54:13 +00:00
Andreas Gustafsson
7ec8586044 pullup:
ask the database for aaaa records too, when an a6 isn't found.
2000-10-20 21:45:46 +00:00
Andreas Gustafsson
66a1ed79fb pullup:
Fix overzealous printing of newlines in message_[pseudo]sectiontotext().
2000-10-20 21:44:09 +00:00
Andreas Gustafsson
e1cafc4e44 updated for 9.0.1rc1 2000-10-20 20:37:59 +00:00
Andreas Gustafsson
e33a8b080c let's call this 9.0.1rc1 2000-10-20 20:35:36 +00:00
Andreas Gustafsson
ad42b21192 pullup: nsupdate mega-pullup patch from Mike 2000-10-20 18:32:20 +00:00
Andreas Gustafsson
2f67fb6fc5 pullup:
#include <resolv.h> is not needed, and causes problems on AIX.
2000-10-19 23:57:20 +00:00
Andreas Gustafsson
3f0aa7b47a pullup:
526.   [bug]           nsupdate incorrectly refused to add RRs with a TTL
                        of 0.
2000-10-19 17:13:22 +00:00
Brian Wellington
f789cc513b --with-libtool does not work on AIX. 2000-10-18 23:27:59 +00:00
Andreas Gustafsson
a052adcf4d clarified warning messages added in previous change 2000-10-18 19:10:27 +00:00
Andreas Gustafsson
5cea3b46e9 pullup:
523.   [doc]           The source to the Administrator Reference Manual is
                        now an XML file using the DocBook DTD, and is included
                        in the distribution.  The plain text version of the
                        ARM is temporarily unavailable while we figure out
                        how to generate readable plain text from the XML.
2000-10-18 19:02:17 +00:00
Brian Wellington
1e96267305 Print warnings saying that the 'forward' and 'forwarders' statements
are unimplemented [RT #407].
2000-10-18 18:59:24 +00:00
Andreas Gustafsson
d3db556f7e .css file was used by FrameMaker-generated HTML only and is no
> longer needed
2000-10-18 18:55:24 +00:00
Andreas Gustafsson
082dd1ce50 regenerated on release branch, too 2000-10-18 18:53:43 +00:00
Andreas Gustafsson
01b637bd8b remove plain text version of ARM until we find a way to generate
it from XML
2000-10-18 18:50:18 +00:00
Andreas Gustafsson
6c1dcfda8f removed FrameMaker-generated HTML files now replaced by
XML-generated ones
2000-10-18 18:46:21 +00:00
cvs2git
99ebeb6865 This commit was manufactured by cvs2git to create branch 'v9_0'. 2000-10-18 18:31:52 +00:00
Andreas Gustafsson
55e4ee7975 pullup:
520.   [bug]           Upgraded libtool to 1.3.5, which allows shared
                        library builds to work on AIX (and possibly others).
2000-10-17 18:59:25 +00:00
Andreas Gustafsson
69c1d2db5f pullup:
515.   [bug]           The ssu table was not beinge attached / detached
                        by dns_zone_[sg]etssutable.  [RT#397]
2000-10-17 18:48:09 +00:00
Andreas Gustafsson
82d1ce3037 pullup:
An event could be freed twice.
cvs commit -mpullup:
2000-10-17 18:40:10 +00:00
Andreas Gustafsson
e3f00f0f72 pullup:
510.   [bug]           Remove spurious view notify warning. [RT #376]
2000-10-17 01:02:20 +00:00
Brian Wellington
43e945ce86 pullup:
519.   [bug]           dns_name_split() would improperly split some bitstring
                        labels, zeroing a few of the least signficant bits in
                        the prefix part.  When such an improperly created
                        prefix was returned to the RBT database, the bogus
                        label was dutifully stored, corrupting the tree.
                        [RT #369]
2000-10-16 23:32:36 +00:00
Brian Wellington
87df5ce642 pullup:
518.   [bug]           The resolver did not realize that a DNAME which was
                        "the answer" to the client's query was "the answer",
                        and such queries would fail. [RT #399]

 517.   [bug]           The resolver's DNAME code would trigger an assertion
                        if there was more than one DNAME in the chain.
                        [RT #399]

 516.   [bug]           Cache lookups which had a NULL node pointer, e.g.
                        those by dns_view_find(), and which would match a
                        DNAME, would trigger an INSIST(!search.need_cleanup)
                        assertion. [RT #399]
2000-10-13 21:53:17 +00:00
Brian Wellington
703383b7e7 pullup:
511.   [bug]           The message code could throw an assertion on an
                        out of memory failure. [RT #392]
2000-10-12 00:24:49 +00:00
Michael Sawyer
14d3ca40d6 Bugfix pullup for Brian 2000-10-12 00:14:42 +00:00
Michael Sawyer
5ada606b00 The big dig changes. Virtually everything is changed.
Reviewed by myself and Brian.
2000-10-06 19:08:08 +00:00
Michael Sawyer
6fb09f5fa0 Pullup for Brian.
505.  [bug]           nsupdate was printing "unknown result code". [RT #373]
2000-10-03 17:43:54 +00:00
Andreas Gustafsson
7740b71658 498. [doc] There is now a man page for "dig"
in doc/man/bin/dig.1.
2000-09-29 21:04:03 +00:00
Brian Wellington
696560604a 491. [bug] nsupdate would segfault when sending certain
prerequisites with empty RDATA. [RT #356]
2000-09-26 21:40:57 +00:00
Andreas Gustafsson
cc5c2564ac pullup:
488.   [bug]           Locks weren't properly destroyed in some cases.
2000-09-25 20:49:11 +00:00
Andreas Gustafsson
6e7443ae33 pullup:
488.   [bug]           Locks weren't properly destroyed in some cases.
2000-09-25 20:20:26 +00:00
Andreas Gustafsson
d89e19fd80 call to dns_fixedname_init() was missing from previous pullup, causing
lwresd to catch an assertion failure
2000-09-23 00:24:29 +00:00
Andreas Gustafsson
3bc99995f5 refer readers to the mainline 2000-09-22 17:52:06 +00:00
Andreas Gustafsson
beb67541bf pullup: added DESTROYLOCK() macro (needed by dig pullup) 2000-09-21 23:14:21 +00:00
Andreas Gustafsson
8ea1b4334a pullup:
379.   [func]          New library function isc_sockaddr_anyofpf().
2000-09-21 22:15:00 +00:00
Andreas Gustafsson
15df42d74d pullup:
387.   [func]          Add dns_byaddr_createptrname(), which converts
                        an address into the name used by a PTR query.
(required by dig pullup)
2000-09-21 22:07:22 +00:00
Andreas Gustafsson
d27e15b2c6 pullup: usage changes 2000-09-21 18:27:15 +00:00
Mark Andrews
a97d54d942 pullup
479.   [func]          The test suite can now be run by typing "make check"
                        or "make test" at the top level.
2000-09-21 10:10:05 +00:00
Brian Wellington
b8c35d30ab pullup:
475.   [bug]           query_getzonedb() sometimes returned a non-null version
                        on failure.  This caused assertion failures when
                        generating query responses where names subject to
                        additional section processing pointed to a zone
                        to which access had been denied by means of the
                        allow-query option. [RT #336]
2000-09-19 22:52:48 +00:00
Andreas Gustafsson
dd912be553 successful build reported on slackware 7.0 2000-09-19 18:03:02 +00:00
Brian Wellington
517a4a80f4 pullup:
474.   [bug]           The mnemonic of the CHAOS class is CH according to
                        RFC1035, but it was printed and read only as CHAOS.
                        We now accept both forms as input, and print it
                        as CH. [RT #305]
2000-09-19 02:02:25 +00:00
Andreas Gustafsson
1ea0eebedb added note about auth-nxdomain warning message 2000-09-18 23:41:29 +00:00
Brian Wellington
bba4a4ebe5 pullup:
declare h_errno only on those platforms that actually need it;
it conflicts with the declaration in netdb.h on AIX
2000-09-18 23:35:19 +00:00
Andreas Gustafsson
8aa606c61c pullup:
473.   [bug]           nsupdate overran the end of the list of name servers
                        when no servers could be reached, typically causing
                        it to print the error message "dns_request_create:
                        not implemented".
2000-09-18 22:29:36 +00:00
Brian Wellington
f46b25a8b3 pullup:
472.   [bug]           Off-by-one error caused isc_time_add() to sometimes
                        produce invalid time values.
2000-09-18 18:50:26 +00:00
Andreas Gustafsson
43ae2a31d0 pullup:
471.   [bug]           nsupdate didn't compile on HP/UX 10.20
2000-09-18 17:51:38 +00:00
Andreas Gustafsson
b41be04098 fixed repeated 'BIND 9' (RT #322). This is already fixed in the XML docs 2000-09-18 17:02:13 +00:00
Andreas Gustafsson
833b342ed3 incremented to 9.0.1b1 2000-09-16 01:38:28 +00:00
Andreas Gustafsson
54abd15045 pullup:
463.   [bug]           nsupdate sent malformed SOA queries to the second
                        and subsequent name servers in resolv.conf if the
                        query sent to the first one failed.
2000-09-15 23:47:14 +00:00
Brian Wellington
9743d85748 pullup:
type mismatch
2000-09-15 23:07:18 +00:00
Andreas Gustafsson
07dcf7eff7 missing pullups:
459.   [bug]           Nslookup processed the set command incorrectly.

 458.   [bug]           Nslookup didn't properly check class and type values.
                        [RT #305]

 457.   [bug]           Dig/host/hslookup didn't properly handle connect
                        timeouts in certain situations, causing an
                        unnecessary warning message to be printed.
2000-09-15 22:56:15 +00:00
Andreas Gustafsson
fa632a01a9 note RT number for 458. 2000-09-15 21:11:20 +00:00
Andreas Gustafsson
78c939f2f1 --- 9.0.0 released --- 2000-09-15 20:51:57 +00:00
Andreas Gustafsson
8a8c3aae7a set to 9.0.0 2000-09-15 20:51:34 +00:00
Andreas Gustafsson
c7984c90bf The configure option --disable-ipv6 is not functional. 2000-09-15 20:51:14 +00:00
Andreas Gustafsson
09e983d167 pullup:
461.   [bug]           Specifying an unknown key in the "keys" clause of the
                        "controls" statement caused a NULL pointer dereference.
                        [RT #316]
2000-09-15 16:24:12 +00:00
Andreas Gustafsson
a61722dec5 pullup:
456.   [bug]           Stub zones were not resetting the refresh and expire
                        counters, loadtime or clearing the DNS_ZONE_REFRESH
                        (refresh in progress) flag upon successful update.
                        This disabled further refreshing of the stub zone,
                        causing it to eventually expire. [RT #300]
2000-09-14 20:45:16 +00:00
Andreas Gustafsson
703c9feb2e bumped 2000-09-14 03:52:35 +00:00
Andreas Gustafsson
6f0e337119 --- 9.0.0rc6 released --- 2000-09-13 23:33:53 +00:00
Andreas Gustafsson
1ce1a6bf02 the number of changes since rc5 is no longer 'small' 2000-09-13 23:20:47 +00:00
Michael Graff
feb9201018 remove an item that should't have been pulled up 2000-09-13 23:14:10 +00:00
Michael Graff
b710e1436d Pullup for Andreas:
452.   [bug]           Warn if the unimplemented option statistics-file
                        is specified in named.conf. [RT #301]

 453.   [bug]           Warn if the obsolete option maintain-ixfr-base
                        is specified in named.conf. [RT #306]
2000-09-13 23:13:25 +00:00
Andreas Gustafsson
f60d0e636d pullup:
445.   [bug]           Doing a 0 bit isc_bitstring_copy() of an lsb0
                        bitstring triggered a REQUIRE statement.  The REQUIRE
                        statement was incorrect. [RT #297]
2000-09-12 23:29:25 +00:00
Michael Graff
eef08ae6ee ISC_TRUE, not 1 -- pullup from Andreas 2000-09-12 23:07:03 +00:00
Andreas Gustafsson
bec1ecfb22 #443 pullup did not not compile 2000-09-12 21:18:12 +00:00
Andreas Gustafsson
ec9462e046 pullup:
Fix an assertion failure and a case where an rdataset's trust wasn't set.
2000-09-12 19:20:36 +00:00
Michael Graff
4c5ca92d07 pullup for Andreas [#443] 2000-09-12 19:19:25 +00:00
Andreas Gustafsson
ec2d44c7cd pullup:
441.   [bug]           Nodes obscured by a DNAME were inaccessible even
                        when DNS_DBFIND_GLUEOK was set.
2000-09-12 19:16:00 +00:00
Andreas Gustafsson
09ffa2eb6f pullup:
428.   [bug]           rbtdb.c:find_closest_nxt() erroneously returned
                        DNS_R_BADDB for nodes which had neither NXT nor SIG NXT
                        (e.g. glue).  This could cause SERVFAILs when
                        generating negative responses in a secure zone.
2000-09-12 19:14:20 +00:00
Michael Graff
da6d3492c1 Pullup for Andreas:
Log Message:
 435.   [bug]           dns_zone_dump() overwrote existing zone files
                        rather than writing to a temporary file and
                        renaming.  This could lead to empty or partial
                        zone files being left around in certain error
                        conditions involving the initial transfer of a
                        slave zone, interfering with subsequent server
                        startup. [RT #282]
2000-09-11 19:27:52 +00:00
Andreas Gustafsson
77d0347a26 pullup:
442.   [bug]           TSIG signed messages that did not match any view
                        crashed the server. [RT #290]
2000-09-11 17:56:07 +00:00
Andreas Gustafsson
fea1d23d75 pullup:
427.   [bug]           Avoid going into an infinite loop when the validator
                        gets a negative response to a key query where the
                        records are signed by the missing key.
(Pulled up despite the fact that I don't fully understand how the
fix works; I expect Brian to explain it when he comes back from Europe
and/or by adding comments)
2000-09-11 17:04:58 +00:00
Andreas Gustafsson
f6d29dcbbc pullup:
436.   [bug]           If recvmsg() returned EHOSTUNREACH or ENETUNREACH,
                        which sometimes happens on Linux, named would enter
                        a busy loop.  Also, unexpected socket errors were
                        not logged at a high enough logging level to be
                        useful in diagnosing this situation. [RT #275]
2000-09-08 22:25:12 +00:00
Andreas Gustafsson
bf4a748009 pullups:
kill persistent errors.  Always retry the I/O now;
make unreachable errors on unconnected UDP sockets be soft errors, rather than hard ones.
2000-09-08 22:17:27 +00:00
Andreas Gustafsson
3eb5fc76b6 pullup: log message about strange socket error at ISC_LOG_ERROR level 2000-09-08 22:16:49 +00:00
Michael Graff
99a0688bec pullup for Andreas: TCP receives should never be retried 2000-09-08 22:09:13 +00:00
Andreas Gustafsson
a82141bfc6 added note on ndc->rndc change 2000-09-08 21:34:39 +00:00
Andreas Gustafsson
4415c7ee95 pullup:
429.   [bug]           The space reserved for a TSIG record in a response
                        was 2 bytes too short, leading to message
                        generation failures.
2000-09-07 22:39:03 +00:00
Andreas Gustafsson
0e1409741d pullup:
425.   [bug]           Warn about the auth-nxdomain default value change
                        if there is no auth-nxdomain statement in the
                        config file. [RT #287]
2000-09-07 19:32:15 +00:00
Andreas Gustafsson
60882aac53 pullup:
426.   [bug]           Attempting to generate an oversized RSA key could
                        cause dnssec-keygen to dump core.
2000-09-07 19:29:05 +00:00
Andreas Gustafsson
f320a691da pullup:
424.   [bug]           notify_createmessage() could trigger an assertion failure
                        when creating the notify message failed, e.g. due to
                        corrupt zones with multiple SOA records. [RT #279]
2000-09-07 16:55:33 +00:00
Andreas Gustafsson
b71f506922 looks like there will be an rc6 after all 2000-09-07 16:43:57 +00:00
Andreas Gustafsson
568dbda1a2 'production' => 'general availability' 2000-09-06 00:21:34 +00:00
Bob Halley
3a68645bf9 Revise general description of BIND 9 project. 2000-09-06 00:20:37 +00:00
Andreas Gustafsson
605eeac6a8 set to 9.0.0 2000-09-05 23:33:52 +00:00
Andreas Gustafsson
d6a6306698 edited for 9.0.0; tabified 2000-09-05 22:44:21 +00:00
Michael Graff
3293d43a2a pullup for Andreas: The certificate type PKIX was misspelled as SKIX. 2000-09-05 22:14:12 +00:00
Andreas Gustafsson
2ffc3bd5bc pullup:
421.   [bug]           nslookup would exit when given a blank line as input.
2000-09-05 21:58:09 +00:00
Andreas Gustafsson
214da07ce2 pullup:
420.   [bug]           nslookup failed to implement the "exit" command.
2000-09-05 21:50:43 +00:00
Andreas Gustafsson
87cabf1494 noted that $GENERATE is unimplemented 2000-09-05 17:06:20 +00:00
Brian Wellington
e26e4f3891 pullup:
418.   [bug]           At debug levels >= 10, getting an unexpected
                        socket receive error would crash the server
                        while trying to log the error message.
2000-09-02 00:00:16 +00:00
Andreas Gustafsson
ccf5196de3 added note on lack of check-names functionality 2000-09-01 18:31:07 +00:00
Andreas Gustafsson
4b25aa66c7 there were two sections 1.3 2000-09-01 17:46:34 +00:00
Brian Wellington
ac7dae4829 pullup:
416.   [bug]           Slave zones with no master file tried to use a
                        NULL pointer for a journal file name when they
                        received an IXFR.
2000-09-01 01:06:08 +00:00
Andreas Gustafsson
518fc3147d pullup:
415. [bug]           The logging code leaked file descriptors.
2000-08-31 23:45:21 +00:00
Andreas Gustafsson
a9cc55ad42 pullup:
413.   [bug]           notify could attempt to use the zone database after
                        it had been unloaded. (RT#267)
2000-08-31 16:40:19 +00:00
Andreas Gustafsson
07dd588a73 added note about BIND 8 incorrectly accepting unquoted line breaks 2000-08-31 01:38:38 +00:00
Andreas Gustafsson
7ef8f9f57f pullup:
added section on Handling of Configuration File Errors
2000-08-30 20:39:40 +00:00
Andreas Gustafsson
e7a03a99bb stub zones are implemented 2000-08-29 21:51:15 +00:00
Andreas Gustafsson
a953c39d08 bumped 2000-08-29 00:27:05 +00:00
Andreas Gustafsson
c7899538d3 --- 9.0.0rc5 released --- 2000-08-28 19:01:01 +00:00
Andreas Gustafsson
5ec4137695 updated for rc5 2000-08-28 19:00:01 +00:00
Andreas Gustafsson
210bb1d8aa pullup:
411.   [bug]           A typo in the HS A code caused an assertion failure.
2000-08-28 18:54:58 +00:00
Brian Wellington
c9fdc2a663 pullup:
410.   [bug]           lwres_gethostbyname() and company set lwres_h_errno
                        to a random value on success.
2000-08-26 02:16:04 +00:00
Brian Wellington
19e815e4cc pullup:
409.   [bug]           If named was shut down early in the startup
                        process, ns_omapi_shutdown() would attempt to lock
                        an unintialized mutex. [RT #262]
2000-08-26 02:13:58 +00:00
Andreas Gustafsson
28db5307aa pullup:
408.   [bug]           stub zones could leak memory and refernce counts if
                        all the masters were unreachable.
2000-08-25 17:30:39 +00:00
Andreas Gustafsson
cf262b519f typo 2000-08-25 01:33:05 +00:00
Andreas Gustafsson
578ca544f5 407. [bug] isc_rwlock_lock() would needlessly block
readers when it reached the read quota even
                        if no writers were waiting.
2000-08-25 01:29:35 +00:00
Andreas Gustafsson
df028c4165 381. [bug] Check for IPV6_RECVPKTINFO and use it instead of
IPV6_PKTINFO if found. [RT #229]
2000-08-25 01:16:55 +00:00
Brian Wellington
ed1af78070 pullup:
406.   [bug]           Log messages were occasionally lost or corrupted
                        due to a race condition in isc_log_doit().
2000-08-25 01:13:33 +00:00
Andreas Gustafsson
b7b1281932 pullup:
404.   [bug]           The request library didn't completely work with IPv6.
2000-08-25 00:46:36 +00:00
Andreas Gustafsson
80b82833e8 bumped 2000-08-23 02:03:29 +00:00
Andreas Gustafsson
119661e1b6 --- 9.0.0rc4 released ---
+ ordered rc4 changes numerically
2000-08-22 20:56:00 +00:00
Andreas Gustafsson
77db6d5ca4 previous pullup used undefined macro XFROUT_RR_LOGLEVEL 2000-08-22 19:59:44 +00:00
Andreas Gustafsson
a98af15e53 edited for rc4 2000-08-22 19:30:46 +00:00
Andreas Gustafsson
2e0b44dbfd pulled up new ARM 2000-08-22 19:29:20 +00:00
Andreas Gustafsson
453f723702 tabified 2000-08-22 18:36:49 +00:00
Brian Wellington
c7df862028 pullup:
403.   [bug]           host did not use the search list.
2000-08-22 17:42:45 +00:00
Andreas Gustafsson
fd997952eb reclassified 330. as a bug 2000-08-22 17:12:27 +00:00
Brian Wellington
317a9d3589 pullup:
330.   [func]          New function isc_log_wouldlog().

(note: #330 is out of place in CHANGES, because it's new in rc4, but if
it was in the place that 330 is supposed to go, no one would see it.  So,
leave it at the top)
2000-08-22 01:45:28 +00:00
Andreas Gustafsson
66530f65c9 renumber previous change to 402 (401 was already taken) 2000-08-22 01:16:48 +00:00
Andreas Gustafsson
adf9b33afe pulled up newest man pages from mainline 2000-08-22 01:10:09 +00:00
Andreas Gustafsson
a96e216542 note that ACL names are now case sensitive 2000-08-22 00:58:47 +00:00
Andreas Gustafsson
99b73a6332 pullup:
401.   [bug]           Treat undefined acls as errors, rather than
                        warning and then later throwing an assertion.
                        [RT #252]
2000-08-22 00:46:22 +00:00
Andreas Gustafsson
d748f57152 pullup:
400.   [bug]           SIG(0) signing and verifying was done incorrectly.
                        [RT #249]
2000-08-21 23:17:29 +00:00
Brian Wellington
f42e45d74e #399 was improperly tabified. 2000-08-21 20:52:56 +00:00
Brian Wellington
f0e489625d pullup:
399.   [bug]           When reloading the server with a config file
                        containing a syntax error, it could catch an
                        assertion failure trying to perform zone
                        maintenance on, or sending notifies from,
                        tentatively created zones whose views were
                        never fully configured and lacked an address
                        database and request manager.
2000-08-21 20:51:47 +00:00
Andreas Gustafsson
bb4d3f4ce0 document the named command line options in named.8, not README;
added Documentation section to README file
2000-08-21 20:41:17 +00:00
Brian Wellington
669d753a8d pullup:
previous change did not compile
2000-08-18 22:47:39 +00:00
Brian Wellington
77b6955ae3 pullup:
dns_cache_setcleaninginterval() could try to access
timer after it had been freed
2000-08-18 21:53:46 +00:00
Andreas Gustafsson
68eedde608 398. [bug] dig sometimes caught an assertion failure when
using TSIG, depending on the key length.
2000-08-18 20:00:11 +00:00
Andreas Gustafsson
a244b6ca01 pullup:
entropy.h was missing from HEADERS, so it wasn't being installed.
2000-08-17 00:25:25 +00:00
Andreas Gustafsson
8932b7af92 sig-validity-interval and update-policy were missing 2000-08-16 17:56:12 +00:00
Andreas Gustafsson
914800fac6 incremented 2000-08-16 01:16:12 +00:00
Andreas Gustafsson
da3dbd4afe built and tested successfully on Solaris 2.8 2000-08-16 00:16:43 +00:00
Andreas Gustafsson
188b5d875f --- 9.0.0rc3 released --- 2000-08-15 22:43:32 +00:00
Andreas Gustafsson
506415337a fixed copyright URL 2000-08-15 22:35:10 +00:00
Andreas Gustafsson
8b73cc2d7b edited for rc3 2000-08-15 20:23:02 +00:00
Andreas Gustafsson
3230686f74 396. [doc] There is now a man page for nsupdate
in doc/man/bin/nsupdate.8.
2000-08-15 20:21:56 +00:00
Brian Wellington
cdba12ef04 pullup:
395.	[bug]		nslookup printed incorrect RR type mnemonics
			for RRs of type >= 21 [RT #237].
2000-08-15 19:20:24 +00:00
Andreas Gustafsson
691e108acb pullup:
On send, treat EPERM like ISC_R_HOSTUNREACH.  send() seems to return EPERM
on Linux when firewall rules block the send.
2000-08-15 01:30:34 +00:00
Andreas Gustafsson
924ffce22a pullup:
Chage 'key id' to 'key tag' in a few places
2000-08-15 01:20:36 +00:00
Andreas Gustafsson
1d3178d1c4 pullup:
The +cdflag and +adflag lines in the help text were duplicated.
2000-08-15 01:16:35 +00:00
Andreas Gustafsson
bf5376881e pullup:
384.   [bug]           nsupdate was incorrectly limiting TTLs to 65535 instead
                        of 2147483647.
2000-08-15 01:14:51 +00:00
Andreas Gustafsson
00a4362d82 pullup:
_tostruct had a few typos.
2000-08-15 01:06:46 +00:00
Andreas Gustafsson
7a10da9a0a pullup:
383.   [func]          When writing a master file, print the SOA and NS
                        records (and their SIGs) before other records.
2000-08-15 00:29:48 +00:00
Andreas Gustafsson
b19de3a81e pullup:
382.   [bug]           named -u failed on many Linux systems where the
                        libc provided kernel headers do not match
                        the current kernel.
2000-08-15 00:20:57 +00:00
Andreas Gustafsson
307675483e pullup:
380.   [bug]           nsupdate didn't work with IPv6.
2000-08-14 23:49:09 +00:00
Brian Wellington
c1fe411013 pullup:
389.	[bug]		Attempting to send a reqeust over IPv6 using
			dns_request_create() on a system without IPv6
			support caused an assertion failure [RT #235].
2000-08-14 19:52:20 +00:00
Brian Wellington
3b636356e0 pullup:
The acl name was being assigned to NULL before it could be freed.
2000-08-11 02:38:17 +00:00
Brian Wellington
a4925f8d78 pullup:
386.   [bug]           Missing strdup() of ACL name caused random
                        ACL matching failures [RT #228].
2000-08-11 02:13:02 +00:00
Andreas Gustafsson
aef1bd43ad bumped 2000-08-09 16:18:45 +00:00
Andreas Gustafsson
8a31dc6719 moved rc2 release marker to top of file 2000-08-08 19:35:20 +00:00
Brian Wellington
35423bdac8 377. [bug] When additional data lookups were refused due to
"allow-query", the databases were still being
                        attached causing reference leaks.
2000-08-08 19:30:13 +00:00
Andreas Gustafsson
9d2d863d27 pullup:
376.   [bug]           The server should always use good entropy when
                        performing cryptographic functions needing entropy.
2000-08-08 19:25:50 +00:00
Brian Wellington
67d4e2fb76 pullup:
375.	[bug]		Per-zone allow-query did not properly override the
			view/global one for CNAME targets and additional
			data [RT #220].
2000-08-08 17:52:09 +00:00
Andreas Gustafsson
f4db0111e0 pullup:
374.   [bug]           SOA in authoritative negative responses had wrong TTL.
2000-08-08 01:10:25 +00:00
Andreas Gustafsson
6b03c3efd6 pullup:
373. [func]          nslookup is now installed by "make install".
2000-08-08 00:17:59 +00:00
Andreas Gustafsson
8c8bb92e78 pullup:
367.   [bug]           Allow proper selection of server on nslookup command
                        line.
2000-08-08 00:13:38 +00:00
Andreas Gustafsson
63d9c6a3b9 two lines of code were joined together into one 100+ column line 2000-08-07 23:56:33 +00:00
Andreas Gustafsson
460947be44 fix nslookup memory leak introduced by earlier pullup of
dig 64k memory allocation fix not changing all instances of duplicated
lookup least cleanup code; pull up support for '-' option
2000-08-07 23:50:17 +00:00
Andreas Gustafsson
af4a3fe151 pullup:
[RT #186] check for various networking items (eg, getaddrinfo) after Kame test
2000-08-07 22:36:54 +00:00
Andreas Gustafsson
ccb10045dd pullup:
372.   [bug]           Deal with Microsoft DNS servers appending two bytes of
                        garbage to zone transfer requests.
2000-08-07 22:07:09 +00:00
Andreas Gustafsson
8907b25e8f pullup:
371.   [bug]           At high debug levels, doing an outgoing zone transfer
                        of a very large RRset could cause an assertion failure
                        during logging.
2000-08-07 22:04:33 +00:00
Andreas Gustafsson
a000b33913 reverted previous pullup until issues with the
dst_region_computeid() changes it depends on have been resolved
2000-08-07 19:25:27 +00:00
Andreas Gustafsson
615d506e49 pullup:
Print the key id when DNS_STYLEFLAG_COMMENT is passed to _totext()
2000-08-07 16:46:38 +00:00
Andreas Gustafsson
1640937f21 pullup:
Do not print "stop typing" if the user interrupted the entropy gathering.
2000-08-07 16:41:38 +00:00
Andreas Gustafsson
c28b219eca pullup:
cvs rdiff -r1.3 -r1.4 bind9/lib/isc/unix/include/isc/keyboard.h
2000-08-07 16:39:59 +00:00
Andreas Gustafsson
8ebca98e5e pullup:
document that dns_journal_rollforward can return ISC_R_RANGE
2000-08-06 22:11:47 +00:00
Andreas Gustafsson
a8ae3afb56 pullup:
370.   [bug]           The error message for roll forward failures was
                        overly terse.
2000-08-06 22:07:25 +00:00
Andreas Gustafsson
7fff7ff2da pullup:
In lwres_getaddrinfo() when checking for numeric addresses, the ntmp char array
was only initialized and used when LWRES_HAVE_SIN6_SCOPE_ID was defined,
but was declared and used outside a protective #ifdef.  I moved the
declaration and one use of it into #ifdef protection.
2000-08-03 20:23:01 +00:00
Andreas Gustafsson
60f988028d pullup:
Allow keyboard operations to be interrupted by the interrupt or quit
character.
(includes patch to use ISC_TF)
2000-08-03 19:54:42 +00:00
Andreas Gustafsson
e8e5995480 pullup:
Memory could be leaked if an improper signed keyset was seen.
2000-08-02 22:33:03 +00:00
Andreas Gustafsson
5f62443e5e pullup:
365.   [bug]           nsupdate -k leaked memory.
2000-08-02 22:19:06 +00:00
Andreas Gustafsson
701331bd0a pullup:
clean up the text relating to pseudorandom input.
2000-08-02 22:10:13 +00:00
Andreas Gustafsson
c490e7db3d pullup:
-h wasn't handled properly.
2000-08-02 21:59:30 +00:00
Andreas Gustafsson
80a51f5504 357. [bug] The zone file parser crashed if the argument
to  was a quoted string.
2000-08-02 21:22:27 +00:00
Andreas Gustafsson
d0fd1158de pullup:
359.   [bug]           dnssec-signzone occasionally signed glue records.
2000-08-02 21:05:31 +00:00
Andreas Gustafsson
2122783163 pullup:
gethostbyaddr takes signed char pointer, not unsigned, as its first argument.
wrap lines at column 79.
2000-08-02 21:01:44 +00:00
Andreas Gustafsson
2a9ac0369c pullup:
362.   [bug]           rndc no longer aborts if the configuration file is
                        missing an options statement. [RT #209]
2000-08-02 20:59:13 +00:00
Andreas Gustafsson
9c325e682f pullup:
tsig.c:136: warning: unused variable `tmp\' -- removed
2000-08-01 15:06:22 +00:00
Andreas Gustafsson
3c34b9a90b minor tweaks 2000-07-29 00:30:56 +00:00
Andreas Gustafsson
e0394e161a pullup:
reflect the current state of the CD bit, and fix a typo
2000-07-29 00:26:48 +00:00
Andreas Gustafsson
3a0920090e --- 9.0.0rc2 released --- 2000-07-29 00:19:23 +00:00
Andreas Gustafsson
a41f5e8e14 pullup:
Sending a TSIG signed query with a TSIG algorithm that's not
HMAC-MD5.SIG-ALG.REG.INT shouldn't crash the server.  Also, the description
of dns_tsigkey_create was wrong in at least one place, and the function
incorrectly returned an undocumented result.
2000-07-28 23:39:23 +00:00
Andreas Gustafsson
2cfc66fe05 pullup:
The server would crash if a response contained both a CNAME and records of
the query type
2000-07-28 22:45:52 +00:00
Andreas Gustafsson
e465eb9e2b pullup:
Allow zones with no NS records to be loaded and/or transferred in.  Log
an error if the zone is loaded, but continue anyway.
(RT #205)
2000-07-28 22:24:47 +00:00
Andreas Gustafsson
99b58e7cbf pullup:
Having a non-noerror value inn the tsig error field should always return
DNS_R_TSIGERRORSET in dns_tsig_verify.  Change the result text to reflect
this.
2000-07-28 19:41:16 +00:00
Andreas Gustafsson
070dfed666 pullup:
dd a 'fetchoptions' field to the query structure, which is currently 0
unless the query has the cd bit set.
2000-07-28 17:56:09 +00:00
Andreas Gustafsson
c95dc19a10 pullup:
dd a 'fetchoptions' field to the query structure, which is currently 0
unless the query has the cd bit set.
2000-07-28 17:48:56 +00:00
Andreas Gustafsson
0fe6b6c5a1 added note about FreeBSD /dev/random bug 2000-07-28 16:28:01 +00:00
Andreas Gustafsson
9320acde61 pullup:
tsig keys were not properly ref counted
2000-07-28 05:37:34 +00:00
Andreas Gustafsson
f2e2554527 pullup:
char secret[], for decoding the base64 string, should not have been const
2000-07-28 04:23:14 +00:00
Andreas Gustafsson
73e9b7f6cb removed old man page files from release branch (they had
already been removed from the mainline
2000-07-28 01:44:38 +00:00
Andreas Gustafsson
99b3a7a8e7 pullup:
Removed some cruft and a crash.
2000-07-28 00:13:40 +00:00
Andreas Gustafsson
61d131c2ed pullup:
don't copy a name structure, copy a pointer.
2000-07-28 00:05:42 +00:00
Andreas Gustafsson
459eb2fc8a pullup:
here's no real difference between the sring and dring parameters, so
call them ring1 and ring2 instead.  Also remove a bogus assertion.
2000-07-28 00:00:23 +00:00
Andreas Gustafsson
65877a9cd2 pullup:
Store tsig keys in an rbt, not a list.
2000-07-27 23:57:35 +00:00
Andreas Gustafsson
ab77763643 pullup:
Don't require that tsig keys must be on a keyring.  Also some other cleanup.
2000-07-27 23:45:53 +00:00
Andreas Gustafsson
b2573bd026 pullup:
tsig keys were not properly ref counted
2000-07-27 22:56:38 +00:00
Andreas Gustafsson
939e6e8fa7 pullup: multiple validator bug fixes 2000-07-27 22:50:02 +00:00
Andreas Gustafsson
d1d8cb0058 pullup:
dns_dnssec_verifymessage should make sure that it's verifying with the right
key (which should be the case anyway, but it never hurts to check).  Also
fix a memory leak and change a few _tostruct() calls to not allocate memory.
2000-07-27 22:15:22 +00:00
Andreas Gustafsson
42ed03996d typo in error message 2000-07-27 21:47:19 +00:00
Andreas Gustafsson
941a52f8ef pullup:
cd queries would cause the server to hang on exit.
2000-07-27 21:42:14 +00:00
Andreas Gustafsson
f1453f1f1e pullup:
negative responses to cd queries should work now.
2000-07-27 21:39:44 +00:00
Andreas Gustafsson
6dde69e9d7 pullup:
349.   [bug]           Processing a query with the CD bit set now works
                        as expected.
2000-07-27 21:27:03 +00:00
Brian Wellington
d2c41814a4 pullup:
Removed the code added in revision 1.57:

  "Store CNAMEs and their SIGs (if any) in their own name structure on
  the name list.  I.e. do not mix CNAMEs with non-CNAME data.  Do the
  same thing for DNAMEs."

because it caused DNSSEC validation of responses to ANY queries at
nodes with CNAME records to fail, and no one was able to figure out
why it was added in the first place.  As a beneficial side effect,
findname() now finds names even if they have attribute bits set
differently from the one being searched for.  This supersedes
the fix of revision 1.133.
2000-07-27 17:18:46 +00:00
Andreas Gustafsson
cb15f132b9 354. [doc] Man pages for the dnssec tools are now included in
the distribution, in doc/man/dnssec.
2000-07-27 01:48:49 +00:00
Andreas Gustafsson
9e4188528e pullup:
RT #169: note that logging categories have changed from BIND 8
2000-07-27 01:39:11 +00:00
Andreas Gustafsson
25ebd24441 edited for rc2 2000-07-27 01:38:20 +00:00
Andreas Gustafsson
59c54edd78 pullup:
If the name is a dynamic name, free its memory
2000-07-27 01:23:40 +00:00
Andreas Gustafsson
005175d224 pullup:
If a message is built for one host, which isn't powered on, the tsig object
wasn't removed until the xfer object was deleted, so when the xfer tried the
second master, it asserted.
2000-07-27 00:54:16 +00:00
Andreas Gustafsson
666c5e4b6b pullup:
353.   [bug]           double incrememnt in lwrew/gethost.c:copytobuf().
                        (RT# 187)
2000-07-27 00:11:38 +00:00
Brian Wellington
e80c089c3c pullup:
352.   [bug]           Race condition in dns_client_t startup could cause
                        an assertion failure.
2000-07-26 23:51:35 +00:00
Brian Wellington
82a2479d02 pullup:
339.   [bug]           DNSSEC validation of the response to an ANY
                        query at a name with a CNAME RR in a secure
                        zone triggered an assertion failure.
2000-07-26 23:36:04 +00:00
Brian Wellington
845b6d0aea pullup:
bumped recursive client quota from 100 to 1000
2000-07-26 23:20:20 +00:00
Andreas Gustafsson
ebaaa74de1 pullup:
Add support for the cd (checking disabled) bit.  Setting the cd bit in a
query still doesn't completely work, since the resolver needs to be modified
also.  Basically, if data is in the cache and trust == pending, it will now
be returned when the cd bit is set.
2000-07-26 23:15:03 +00:00
cvs2git
5fd4b1c60c This commit was manufactured by cvs2git to create branch 'v9_0'. 2000-07-26 22:41:29 +00:00
Andreas Gustafsson
a44b1b277b pullup:
Removed some debugging cruft.
Fixed handling of octal/hexadecimal numbers on input.
2000-07-26 22:32:25 +00:00
Andreas Gustafsson
6e7f6a1497 belated pullup of timeout bug fix 2000-07-26 22:28:31 +00:00
Andreas Gustafsson
3617357a44 pullup:
When unsetting option strings pointer wasn't being NULLed.
2000-07-26 16:32:50 +00:00
Andreas Gustafsson
7497e313ef pullup:
351.   [bug]           Constructing a response with rcode SERVFAIL to a TSIG
                        signed query could crash the server.
2000-07-25 23:51:16 +00:00
Andreas Gustafsson
e3c6d6f461 pullup:
350.   [bug]           Also-notify lists specified in the global options
                        block were not correctly reference counted, causing
                        a memory leak.
2000-07-25 22:47:39 +00:00
Andreas Gustafsson
ab332c0af6 pullup:
The "Ensures" condition for dns_db_deleterdataset was obviously wrong.
2000-07-24 23:23:16 +00:00
Andreas Gustafsson
b9b91fc263 pullup:
344.   [bug]           When shutting down, lwresd sometimes tried
                        to shut down its client tasks twice,
                        triggering an assertion.
2000-07-21 22:46:47 +00:00
Andreas Gustafsson
244677f012 343. [bug] Although zone maintenance SOA queries and
notify requests were signed with TSIG keys
                        when configured for the server in case,
                        the TSIG was not verified on the response.

 342.   [bug]           The wrong name was being passed to
                        dns_name_dup() when generating a TSIG
                        key using TKEY.
2000-07-21 22:33:17 +00:00
Andreas Gustafsson
a780bc50f1 pullup:
If the request was signed with a tsig key, verify the signature on the
response.
2000-07-21 22:26:16 +00:00
Andreas Gustafsson
3e2a713114 pullup:
The wrong name was being duped when a tsig key was generated using tkey.
2000-07-21 22:13:05 +00:00
Brian Wellington
aba6797fe3 pullup:
340.   [bug]           The top-level COPYRIGHT file was missing from
                        the distribution.
2000-07-20 01:20:00 +00:00
Andreas Gustafsson
4c23cefb48 pullup:
in the multi-stage positive validation test, allow the
recursive server to omit the authority section
2000-07-19 20:39:01 +00:00
Andreas Gustafsson
e846e95e6f pullup:
In query_addbestns, check that both the rdataset and sigrdataset are not
pending before adding them.
2000-07-19 16:22:16 +00:00
Andreas Gustafsson
4d521f8a52 pullup:
hint zones do go in views; match_clients -> match-clients
2000-07-18 18:18:02 +00:00
Andreas Gustafsson
a8185abb1c pullup:
337.   [bug]           "dig" did not recognize "nsap-ptr" as an RR type
                        on the command line.
2000-07-17 19:45:09 +00:00
Andreas Gustafsson
015696ecac pullup:
336.   [bug]           "dig -f" used 64 k of memory for each line in
                        the file.  It now uses much less, though still
                        proportionally to the file size.
2000-07-17 19:40:55 +00:00
Andreas Gustafsson
7f3c6b9c65 pullup:
335.   [bug]           named would occasionally attempt recursion when
                        it was disallowed or undesired.
2000-07-17 18:56:03 +00:00
Andreas Gustafsson
3e7699e837 pullup:
331.   [bug]           Only log "recursion denied" if RD is set. (RT #178)
2000-07-17 17:30:11 +00:00
Brian Wellington
51c67c9a83 pullup:
333.	[bug]		The resolver incorrectly accepted referrals to
			domains that were not parents of the query name,
			causing assertion failures.
2000-07-17 17:15:57 +00:00
Andreas Gustafsson
00a8a6fc8c incremented to 9.0.0rc2 2000-07-13 03:43:20 +00:00
Andreas Gustafsson
4d631bac55 Bv9ARM.3.html had carriage returns as line terminators 2000-07-13 03:16:31 +00:00
Andreas Gustafsson
6a27d83aae --- 9.0.0rc1 released --- 2000-07-13 02:50:04 +00:00
Brian Wellington
6c2d029f97 Updated to reflect insecurity proof status. 2000-07-13 02:45:07 +00:00
Andreas Gustafsson
fef23d45d2 pullup: work with new omapi_protocol_listen and omapi_auth_register APIs 2000-07-13 02:33:43 +00:00
Andreas Gustafsson
f369190d5d toned down remark about running on root server;
clarified text about new rndc config file; note that the supported
NetBSD pthreads package is unproven-pthreads-0.17
2000-07-13 01:52:37 +00:00
Andreas Gustafsson
e951061e23 pullup:
Check the return value of kill.  This means that the test can now detect
the case when a program no longer exists (due to a crash) or when a
program responds badly to a SIGTERM and doesn't clean up the pid file.
2000-07-12 18:02:32 +00:00
Andreas Gustafsson
0be2764af2 pullup: imported new ARM from Mary 2000-07-12 17:57:53 +00:00
Andreas Gustafsson
33481f12a4 pullup:
Documentation changes in usage message.
2000-07-12 17:56:23 +00:00
Andreas Gustafsson
890648efa0 pullup:
327.   [bug]           rndc.conf parser wasn't correctly recognising an IP
                        address where a host specification was required.
(Mary will change the ARM accordingly)
2000-07-12 17:25:49 +00:00
Andreas Gustafsson
65dd6054c4 beefed up the 'changes since beta 5' section 2000-07-12 17:21:52 +00:00
Andreas Gustafsson
0df8e321c5 fixed incorrect relative path in previous change 2000-07-12 17:06:01 +00:00
Andreas Gustafsson
b6589b90df Include the doc/man/bin directory in kit. Note that
only files tagged with the release branch tag will be included, and
that the man pages are not yet installed by 'make install'.
2000-07-12 16:57:21 +00:00
Andreas Gustafsson
7421a1251d pullup: warnings about 'controls' statement moved from omapi code
to named.conf handling code and rephrased
2000-07-12 16:37:13 +00:00
Andreas Gustafsson
f4058bbe46 pullup: inet control channels are supported, unix ones are not 2000-07-12 15:55:46 +00:00
Andreas Gustafsson
97691fad8f note known failure of timer test on HP-UX 11;
refer to doc/misc/migration file for BIND 8 compatibility issues
2000-07-12 05:06:16 +00:00
Andreas Gustafsson
e99470ce1b added notes about dotted serial numbers and unbalanced quotes 2000-07-12 05:05:10 +00:00
Andreas Gustafsson
9356c03fac pullup: The third parameter to dst_lib_init is an integer, so should be 0, not NULL. 2000-07-12 01:18:55 +00:00
Andreas Gustafsson
bd58f70798 pullup: typo in dependency statement 2000-07-12 01:18:43 +00:00
Andreas Gustafsson
14fccb42ce pullup: Parenthesis error in trace mode 2000-07-12 00:52:57 +00:00
Andreas Gustafsson
6a4e760afc pullup:
Increase max wait time for transfer to Retry time + 1 minute, since some
OS's appear to drop UDP packets and not get the initial SOA reply.
(+ fix to the above)
2000-07-12 00:51:35 +00:00
Andreas Gustafsson
5ae81f87d7 pullup:
Don't try and reset timers which aren't being used.
2000-07-12 00:21:56 +00:00
Andreas Gustafsson
519d3bc0bb pullup:
use ns_g_server->aclenv to match localhost and localnets in the allow{} clause
2000-07-12 00:04:20 +00:00
Andreas Gustafsson
ac1b36e0d7 pullup:
329.   [func]          omapi_auth_register() now takes a size_t argument for
                        the length of a key's secret data.  Previously
                        OMAPI only stored secrets up to the first NUL byte.
2000-07-12 00:02:14 +00:00
Andreas Gustafsson
a1be2b08f4 pullup:
328.    [func]          Added isc_base64_decodestring().
2000-07-11 23:11:16 +00:00
Andreas Gustafsson
a98325b493 pullup:
314.   [func]          Inet controls named.conf statement can now have
                        any non-negative number of keys specified.
2000-07-11 21:31:48 +00:00
Andreas Gustafsson
791031e370 pullup:
use base64 for secret in sample config
2000-07-11 19:36:05 +00:00
Andreas Gustafsson
83732f814b pullup:
318.   [func]          dns_c_ndcctx_destroy() could never return anything
                        except ISC_R_SUCCESS; made it have void return instead.
(More importantly, this change also adds a missing NULL initialization)
2000-07-11 19:35:13 +00:00
Andreas Gustafsson
0861968cb6 pullup: numerous changes to support OMAPI authentication 2000-07-11 17:23:24 +00:00
Andreas Gustafsson
eaed97b795 pullup:
325.   [bug]           isc_lex_gettoken was processing octal strings when
                        ISC_LEXOPT_CNUMBER was not set.
2000-07-11 04:55:09 +00:00
Andreas Gustafsson
4e625c3501 the 'controls' statement is supported (or will be soon) 2000-07-11 01:15:38 +00:00
Andreas Gustafsson
4e018ce35e clean.sh is gone 2000-07-11 01:14:11 +00:00
Andreas Gustafsson
53f0f640ea edited for 9.0.0rc1 2000-07-11 01:07:55 +00:00
Andreas Gustafsson
f5c8d671a4 new files 2000-07-11 01:06:01 +00:00
Andreas Gustafsson
518d817bfa pullup:
311.   [bug]           lwres_conf_parse failed when the first line of
                        resolv.conf was empty or a comment.
2000-07-11 00:56:03 +00:00
Brian Wellington
193668ab4a pullup: Test that a query for a security root succeeds. 2000-07-11 00:43:45 +00:00
Andreas Gustafsson
94626d5ea0 pullup:
If trying to validate a key set that happens to be a security root, the
validation should only consist of checking that each key in the key set
is also in the list of security root keys.

Strangeness occurs when the key set is signed, since the key set is marked
as secure, but the sig set is not, since it wasn't used in the validation
process.  This means that a query for a key set at a security root will
have the AD bit set if the key set is unsigned and not if the key set is signed.
2000-07-11 00:43:01 +00:00
Andreas Gustafsson
8868545863 pullup:
324.   [func]          In the resolver, turn EDNS0 off if there is no
                        response after a number of retransmissions.
                        This is to allow queries some chance of succeeding
                        even if all the authoritative servers of a zone
                        silently discard EDNS0 requests instead of
                        sending an error response like they ought to.
2000-07-11 00:38:49 +00:00
Andreas Gustafsson
920c4005b8 pullup:
After N restarts (currently 3) try again with EDNS0 disabled;
fix up a few trace messages to be standard ones -- lower case first letter
2000-07-11 00:06:07 +00:00
Andreas Gustafsson
48a475f1e2 pullup:
323.   [bug]           dns_rbt_findname() did not ignore empty rbt nodes.
                        Because of this, servers authoritative for a parent
                        and grandchild zone but not authoritative for the
                        intervening child zone did not correctly issue
                        referrals to the servers of the child zone.
2000-07-10 23:54:35 +00:00
Brian Wellington
932f8b589d pullup: print the test info before executing the test 2000-07-10 23:46:58 +00:00
Andreas Gustafsson
2aa037742b restored isc_socket_cancel() call that was inadvertantly
commented out on the release branch; it probably should go away,
but this should be tested on the mainline first.
2000-07-10 23:32:02 +00:00
Andreas Gustafsson
362df58cf3 typo 2000-07-10 23:24:55 +00:00
Andreas Gustafsson
cf492a4612 tabify 2000-07-10 23:21:46 +00:00
Andreas Gustafsson
f42e70d3ac pullup:
311.   [bug]           lwres_conf_parse failed when the first line of
                        resolv.conf was empty or a comment.
2000-07-10 23:20:12 +00:00
Brian Wellington
e25663d119 fix broken shell code 2000-07-10 23:04:45 +00:00
Michael Sawyer
38f73a2724 If the testsock.pl test fails, try 5 times (2 seconds between tries) in case
a server took some time to fully free the port.  (Appears to be an occasional
problem on Solaris)
2000-07-10 22:45:00 +00:00
Andreas Gustafsson
8e44cd4574 pullup:
Check that zone->view is not NULL before checking that zone->view->adb is not
NULL.  It appears that zone maintenance can occur when the zone is shutting
down and the view pointer is NULL.  We don't want to do zone maintenance in
this case.
2000-07-10 22:43:38 +00:00
Andreas Gustafsson
ed57858ca9 pullup:
Some of the lwres functions weren't calling lwres_conf_parse.
2000-07-10 22:23:24 +00:00
Andreas Gustafsson
9135349b0c incremented library version numbers to 1.0.0 2000-07-10 22:21:34 +00:00
Andreas Gustafsson
41762f388c pullup: clarified 322 2000-07-10 22:15:55 +00:00
Andreas Gustafsson
03696c43b7 pullup:
322.   [bug]           Queries for KEY RRs are now sent to the parent
                        server rather than the authoritative one, making
                        DNSSEC insecurity proofs work in many cases
                        where they previously didn't.
2000-07-10 22:12:02 +00:00
Andreas Gustafsson
86e0e2fdfa pullup:
299.   [cleanup]       Get the user and group information before changing the
                        root directory, so the administrator does not need to
                        keep a copy of the user and group databases in the
                        chroot'ed environment.  Suggested by Hakan Olsson.
2000-07-10 22:07:58 +00:00
cvs2git
adfa6cff25 This commit was manufactured by cvs2git to create branch 'v9_0'. 2000-07-10 22:04:09 +00:00
Andreas Gustafsson
67d77ba5a1 pullup:
In query_find(), if we're looking up a key and dns_db_find() returns
DNS_R_DELEGATION, don't use the domain & ns set found by dns_db_find().
This means that a recursive server will not immediately ask the child zone
for a key set at the apex; the resolver will determine who to ask.
2000-07-10 21:59:34 +00:00
Andreas Gustafsson
0426cfb945 pullup:
If we're asking for a key and need to call dns_view_findzonecut(), set
the DNS_DB_NOEXACT flag.  This means that the resolver will start look for the
key at or above the parent zone, and will return the key set from the parent
zone if key sets are present in both the parent and child.
2000-07-10 21:50:52 +00:00
Andreas Gustafsson
80433c094e pulled up: Describe all the tests that are run and indicate which ones fail. 2000-07-10 21:43:31 +00:00
Andreas Gustafsson
96b2fc8a9c pullup:
299.   [cleanup]       Get the user and group information before changing the
                        root directory, so the administrator does not need to
                        keep a copy of the user and group databases in the
                        chroot'ed environment.  Suggested by Hakan Olsson.
(including multiple fixes to the original change)
2000-07-10 21:35:38 +00:00
Andreas Gustafsson
9e56ddc5ed 304 has now been pulled up 2000-07-10 21:24:32 +00:00
Andreas Gustafsson
e8ad1e7446 pullup: Some of the lwres functions weren't calling lwres_conf_parse. 2000-07-10 21:02:45 +00:00
Andreas Gustafsson
fce25ebb16 pullup:
313.   [bug]           When parsing resolv.conf, don't terminate on an
                        error.  Instead, parse as much as possible, but
                        still return an error if one was found.

 312.   [bug]           Increase the number of allowed elements in the
                        resolv.conf search path from 6 to 8.  If there
                        are more than this, ignore the remainder rather
                        than returning a failure in lwres_conf_parse.
2000-07-10 20:58:08 +00:00
Andreas Gustafsson
9236ee69b4 pullup: Check LWRES_PLATFORM_HAVESALEN, not ISC_PLATFORM_HAVESALEN 2000-07-10 20:53:41 +00:00
Andreas Gustafsson
4db3ee516e pullup: Lots of the comments were wrong. 2000-07-10 20:52:26 +00:00
Brian Wellington
e006d8fa8d pullup: set connected and bound when the connect completes 2000-07-10 19:46:31 +00:00
Michael Graff
dcad783378 pull up changes for Andreas 2000-07-10 19:39:04 +00:00
Andreas Gustafsson
923e7ff834 pullup:
316.   [bug]           Generate a warning if we detect an unexpected <eof>
                        but treat as <eol><eof>.
2000-07-10 19:17:35 +00:00
Andreas Gustafsson
5a1063d4d1 pullup: Add isc_lex_isfile() 2000-07-10 19:13:10 +00:00
Brian Wellington
e3fa5563a4 pullup: lots and lots of changes 2000-07-10 19:11:40 +00:00
Brian Wellington
e0300943f8 Forgot to patch the Makefile to include lwres 2000-07-10 19:10:32 +00:00
Brian Wellington
a7b604d95d pullup: countless changes 2000-07-10 17:23:25 +00:00
Andreas Gustafsson
64bb0617d7 pulled up the newest system tests 2000-07-10 04:52:11 +00:00
Andreas Gustafsson
807c0c6103 pulled up removal of old drafts 2000-07-10 04:37:49 +00:00
Andreas Gustafsson
67c0dcb985 pullup:
316.   [bug]           EOF mid line should be a error.
 315.   [bug]           Handle non-empty blanks lines.
2000-07-10 04:06:13 +00:00
David Lawrence
adad2b84ca [pullup bin/named/query.c revisions 1.111 and 1.112 for Andreas]
309.	[bug]		When sending a referral, the server did not look
			for name server addresses as glue in the zone
			holding the NS RRset in the case where this zone
			was not the same as the one where it looked for
			name server addresses as authoritative data.
2000-07-09 19:52:24 +00:00
Andreas Gustafsson
e14f12ef1d pullup:
307.   [bug]           When canceling a query, the resolver didn't check for
                        isc_socket_sendto() calls that did not yet have their
                        completion events posted, so it could (rarely) end up
                        destroying the query context and then want to use
                        it again when the send event posted, triggering an
                        assertion as it tried to cancel an already-canceled
                        query.  (RT #77)
2000-07-07 21:41:32 +00:00
Brian Wellington
b07efa1ce3 pullup: treat all responses to AXFR requests as AXFR responses 2000-07-05 20:50:33 +00:00
Andreas Gustafsson
35041870c3 pullup:
308.   [bug]           Treat a SOA record not at top of zone as an error
                        when loading a zone. (RT #154)
2000-07-05 20:49:06 +00:00
Brian Wellington
d19f8f472a pullup:
303.  [bug]           add additional sanity checks to differentiate a AXFR
                       response vs a IXFR response. (RT #157)
2000-07-03 23:52:20 +00:00
Andreas Gustafsson
d8fdd80977 pullup:
306. [bug]             Reading HMAC-MD5 private key files didn't work.
2000-07-03 23:48:08 +00:00
Andreas Gustafsson
36c8739ab6 pullup:
302.   [bug]           In dig, host, and nslookup, MXNAME should be large
                        enough to hold any legal domain name in presentation
                        format + terminating NULL.
2000-07-03 22:15:37 +00:00
Andreas Gustafsson
85f796018d pullup:
301.   [bug]           uninitalised pointer host:printmessage(). (RT #159)
2000-07-03 22:11:48 +00:00
Brian Wellington
0b65331c6e pullup:
305. [bug]             When reloading the server with a config file
                        containing a syntax error, it could catch an
                        assertion failure trying to perform zone
                        maintenance on tentatively created zones whose
                        views were never fully configured and lacked
                        an address database.
2000-07-03 22:08:57 +00:00
Andreas Gustafsson
cb2e6b4e8d pullup:
300.   [bug]           Using both <isc/net.h> and <lwres/net.h> didn't work
                        on platforms lacking IPv6 because each included their
                        own ipv6 header file for the missing definitions.  Now
                        each library's ipv6.h defines the wrapper symbol of
                        the other (ISC_IPV6_H and LWRES_IPV6_H).
2000-07-03 21:57:56 +00:00
Andreas Gustafsson
df661cfb4e pullup: util/conf.sh no longer exists 2000-07-03 17:51:30 +00:00
Andreas Gustafsson
72bd736c13 pullup: new joint ISC/BSDI copyright message as requested by
Paul Borman <prb@bsdi.com>
2000-07-03 17:50:03 +00:00
Andreas Gustafsson
545532bec5 pullup: cut-and-paste-o: dns_message_findname() tested for
dns_rdatatype_cname twice instead of cname+dname
2000-07-03 17:20:43 +00:00
Andreas Gustafsson
f9fbfe69c0 pullup: Using 0 as an error value tends to conflict with using 0 to represent
success.
2000-07-03 17:09:30 +00:00
Andreas Gustafsson
35472e37b5 the next version will be 9.0.0rc1 2000-06-30 21:15:49 +00:00
Andreas Gustafsson
c45e5fae93 pullup:
294.   [bug]           If we run out of space in while processing glue
                        when reading a master file and commit "current name"
                        reverts to "name_current" instead of staying as
                        "name_glue".
2000-06-30 16:25:09 +00:00
Andreas Gustafsson
3d3c6b3492 pullup: removed unnecessary locking in ns_interface_shutdown() that
caused the server to deadlock on shutdown on the Alphas
2000-06-30 15:59:09 +00:00
Andreas Gustafsson
8f2a0855e0 pullup:
297.   [bug]           Specifying a key name that wasn't fully qualified
                        in certain parts of the config file could cause
                        an assertion failure.
2000-06-30 15:51:46 +00:00
Andreas Gustafsson
b2cd604b38 pullup: removed unnecessary locking in ns_interface_shutdown() that
caused the server to deadlock on shutdown on the Alphas.
2000-06-30 02:50:04 +00:00
Brian Wellington
cf781da93d make install didn't work when using separate build dir 2000-06-30 01:25:29 +00:00
Andreas Gustafsson
fb56f246b8 re-edited calling the release b5, not rc1 2000-06-29 23:34:53 +00:00
Andreas Gustafsson
8dfda6b4ae Note that the nsupdate program is almost completely broken;
minor editing
2000-06-29 22:10:49 +00:00
Brian Wellington
038c115394 pullup: RT #153: when invoked with type==CNAME and a message not constructed
by dns_message_parse(), dns_message_findname() failed to find anything due
to checking for attribute bits set only by dns_message_parse().  This caused
an infinite loop when constructing the response to an ANY query at a CNAME
in a secure zone.
2000-06-29 20:54:43 +00:00
Andreas Gustafsson
494dc1adbf pullup: if (debugging), not if (debug) 2000-06-29 03:00:57 +00:00
Andreas Gustafsson
334b8f2e5b pullup: update_copyrights 2000-06-29 00:15:10 +00:00
Andreas Gustafsson
eae7a56770 ./doc/arm/Bv9ARM.9.html HTML 2000 2000-06-29 00:07:50 +00:00
Andreas Gustafsson
74ba73a52b pullup: Install nsupdate, not dig, in , not 2000-06-29 00:06:11 +00:00
Andreas Gustafsson
00961c8e4d pullup: build nsupdate by default 2000-06-29 00:05:25 +00:00
Andreas Gustafsson
56387f81ce pullup: Makefile was broken for out-of-tree builds 2000-06-28 23:22:34 +00:00
Andreas Gustafsson
87b0822957 pullup: updated ARM 2000-06-28 23:15:38 +00:00
cvs2git
e979b3869a This commit was manufactured by cvs2git to create branch 'v9_0'. 2000-06-28 23:04:14 +00:00
Andreas Gustafsson
cecad8ece3 pullup: test getaddrinfo() and getnameinfo(); eliminated signed/unsigned warning 2000-06-28 22:53:21 +00:00
Andreas Gustafsson
5b9dfb0162 pullup: Remove multiple A records, since it makes testing far more complicated. 2000-06-28 22:01:42 +00:00
Andreas Gustafsson
03def540bb pullup: An lwres context was being destroyed while still in use 2000-06-28 22:01:06 +00:00
Andreas Gustafsson
5d5467dfe6 note the changed default of listen-on-v6 in a more prominent place 2000-06-28 21:50:56 +00:00
Andreas Gustafsson
7a11e48137 README still reflected the old default setting
of listen-on-v6
2000-06-28 21:44:24 +00:00
Andreas Gustafsson
c2526ae7a5 added missing CHANGES entry:
292.   [bug]           Due to problems with the way some operating systems
                        handle simultaneous listening on IPv4 and IPv6
                        addresses, the server no longer listens on IPv6
                        addresses by default.  To revert to the previous
                        behavior, specify "listen-on-v6 { any; };" in
                        the config file.
2000-06-28 21:42:57 +00:00
Andreas Gustafsson
97617838cc --- 9.0.0rc1 released --- 2000-06-28 20:14:26 +00:00
Andreas Gustafsson
fab22679e1 pullup: be more tolerant of the copyright comment style used in the manual pages 2000-06-28 19:58:55 +00:00
Andreas Gustafsson
aa04b0fd90 update_copyrights 2000-06-28 19:49:58 +00:00
Andreas Gustafsson
67ef9cb217 291. [func] Caching servers no longer send outgoing queries
over TCP just because the incoming recursive query
                        was a TCP one.
2000-06-28 19:44:14 +00:00
Andreas Gustafsson
1fe0259b46 pullup: +twiddle option to dig (for testing only) removed. 2000-06-28 19:42:59 +00:00
Andreas Gustafsson
8e20d0d4c0 pullup: +twiddle option to dig (for testing only) removed. 2000-06-28 19:40:16 +00:00
Andreas Gustafsson
e9769427dc CVS ID 2000-06-28 19:33:17 +00:00
Andreas Gustafsson
ed9536f8ec update_copyrights 2000-06-28 19:31:25 +00:00
Andreas Gustafsson
318ebeef75 1.3.2.1 pullup should have removed this file, not made it
zero length
2000-06-28 19:14:38 +00:00
Andreas Gustafsson
36269822e9 regenerated configure corresponding to pulled-up configure.in 1.165.2.2 2000-06-28 18:23:47 +00:00
Andreas Gustafsson
4f14e8b48e pullup: didn't compile 2000-06-28 17:59:06 +00:00
Andreas Gustafsson
bda26f8528 Background operation is now supported on NetBSD 2000-06-28 17:43:37 +00:00
Andreas Gustafsson
6e6b3bcdd0 edited based on feedback from drc 2000-06-28 17:40:11 +00:00
Andreas Gustafsson
749944739d pullup: Memory leak in ixfr processing and grammatical error in debug message 2000-06-28 17:11:52 +00:00
David Lawrence
6867056abf incorporate style changes previously made to the mainline 2000-06-28 16:55:27 +00:00
David Lawrence
b81b5d8bc6 typos 2000-06-28 16:51:41 +00:00
Andreas Gustafsson
65b98010ea pullup: workaround for NetBSD - close FDs before dup2(). 2000-06-28 16:50:01 +00:00
Andreas Gustafsson
dc1d3f238d pullup: make tests compile again. 2000-06-28 16:45:29 +00:00
David Lawrence
ebc6f8deaf [pulled up]
289.	[cleanup]	dig is now installed in $bindir instead of $sbindir.
			host is now installed in $bindir.  (Be sure to remove
			any $sbindir/dig from a previous release.)

 288.	[func]		rndc is now installed by "make install" into $sbindir.

 287.	[bug]		rndc now works again as "rndc 127.1 reload" (for
			only that task).  Parsing its configuration file and
			using digital signatures for authentication has been
			disabled until named supports the "controls" statment,
			post-9.0.0.

Items 287 and 288 address issues raised in RT #145.
2000-06-28 16:38:26 +00:00
David Lawrence
fe482aafdf [pulled up]
288.	[cleanup]	dig is now installed in $bindir instead of $sbindir.
			host is now installed in $bindir.  (Be sure to remove
			any $sbindir/dig from a previous release.)
2000-06-28 16:33:42 +00:00
David Lawrence
ea88e1c703 [pulled up]
287.   [func]          rndc is now installed by "make install" into
                        $sbindir.
This resolves RT #145 item 1.
2000-06-28 16:28:03 +00:00
David Lawrence
c087f2e602 [pulled up]
omapi_lib_destroy() must be called before isc_taskmgr_destroy() so the
latter won't block on the internal omapi task.
2000-06-28 16:13:46 +00:00
David Lawrence
0b4a073ec8 [pulled up]
To match the documentation for 9.0.0, rndc.conf parsing was disabled and
messages will not be signed with dst. The dst goo is CPP'd out with
"#ifdef notyet".

Added an undocumented -v (verbose) flag for debugging.

The program currently hangs in isc_taskmgr_destroy(), which I will be trying
to nail down tomorrow morning.  Really must get to bed.
2000-06-28 05:40:07 +00:00
David Lawrence
27ae4443c4 [pulled up]
Disable the requirement that all messages be signed, since this
will not work until the "controls" statement is implemented in
named.conf post-9.0.0.
2000-06-28 05:27:02 +00:00
Andreas Gustafsson
222dcffaf7 286. [bug] On Solaris 2, when named inherited a signal state
where SIGHUP had the SIG_IGN action, SIGHUP would
                        be ignored rather than causing the server to reload
                        its configuration.
2000-06-28 04:10:52 +00:00
Andreas Gustafsson
51faa062be pulled up recent CHANGES entries that also apply to the
release branch
2000-06-28 03:49:04 +00:00
David Lawrence
a80ec4f17b [pulled up]
omapi_test has failed to work since the dst API change because it required
dst_lib_init to be called before any of the dst functions are used.  The
missing calls for dst_lib_init() and dst_lib_destroy() have been added to
the application here, rather than to omapi_lib_init(), to be consistent with
the rest of our applications.
2000-06-28 03:41:27 +00:00
David Lawrence
2825ccf799 autoassociate files with extensions .[1-9] as MAN-style pages.
pulled up so andreas has the latest-n-greatest when kitting
2000-06-28 03:25:56 +00:00
David Lawrence
5201daee91 285. [bug] A change made to the dst API for beta4 inadvertently
broke OMAPI's creation of a dst key from an incoming
			message, causing an assertion to be triggered.  Fixed.

Also fixed was a problem where a failed call to dns_name_fromtext would
have meant the mutex was not unlocked.  This was fixed in the mainline too,
I just forgot to mention it.

A CHANGES entry was not committed because it isn't clear to me how we are
handling things changed on the mainline but not under other release tags.
The bind9_v9_0 CHANGES file is missing #283 and #284 from the mainline.
2000-06-28 03:18:11 +00:00
Andreas Gustafsson
badb9ee6e1 pullup: Force SIGHUP to be in state SIG_DFL when starting, since Solaris would break
that, if run from under cron.
2000-06-28 03:12:30 +00:00
David Lawrence
bd2db5af0b rm -f lwresd before trying to link it to named in the install target.
Fixed RT #152.
2000-06-28 02:56:24 +00:00
Andreas Gustafsson
d2380d1cb1 pullup: test gethostbyname, gethostbyname2, and gethostbyaddr 2000-06-28 01:01:34 +00:00
Andreas Gustafsson
bcc0b54f30 pullup: Changed "argc > 1" to "argc >= 1" in argument parsing; omapi_test should
now print a more useful usage message when using the "listen" and "connect"
arguments with no further parameters.
2000-06-28 00:32:32 +00:00
Michael Graff
0d067e29f5 [pullup, Andreas]
don't issue warnings saying max-ncache-ttl and max-cache-ttl are
not yet implemented, because they are
2000-06-28 00:32:18 +00:00
Andreas Gustafsson
e45f4523c0 pullup: Fix memory context leak 2000-06-28 00:19:06 +00:00
Andreas Gustafsson
7c940dd411 pullup: Return NO_RECOVERY, not HOST_NOT_FOUND if the error is not LWRES_NOTFOUND 2000-06-27 23:44:19 +00:00
Andreas Gustafsson
9cff02699c pullup: Missing #include "assert_p.h" 2000-06-27 23:43:43 +00:00
Andreas Gustafsson
14b55d8b05 9.0.0b5 -> 9.0.0rc1 2000-06-27 23:36:13 +00:00
Andreas Gustafsson
282b4fb3db pullups: Uninitialized variable,
destroy timer manager after task manager;
Instruction removed which was not only buggy, but pointless.
2000-06-27 22:58:09 +00:00
Andreas Gustafsson
552465c12f pullup: don't print the configuration to stderr by default 2000-06-27 22:56:18 +00:00
Brian Wellington
2ff5da8275 We do support keyboard input now (pullup) 2000-06-27 21:46:31 +00:00
Andreas Gustafsson
0d2804f52c updated for 9.0.0rc1 2000-06-27 21:10:27 +00:00
Andreas Gustafsson
c964c5c1c4 pullup: Return better errors (TRAILINGDATA, not UNEXPECTEDEND), and style changes. 2000-06-27 18:57:47 +00:00
Michael Graff
97e9ab3c7b [pullup, andreas]
isc-config.sh.in was missing from list of distributed files
2000-06-27 00:46:05 +00:00
Michael Graff
b0ea0e73b7 [pullup, andreas]
don't generate util/conf.sh from configure, as the util directory
does not exist in the released version
2000-06-27 00:44:39 +00:00
Michael Graff
e76eeb5668 remove bin/lwresd from distribution. [pullup, Andreas] 2000-06-27 00:40:49 +00:00
Andreas Gustafsson
bf750ee1ef pullup: Remove stdout print; Fix tabbing 2000-06-27 00:38:24 +00:00
Andreas Gustafsson
f7539e2f77 pullup: Fixed a few errors in error recovery and uses of int instead of lwres_result_t 2000-06-26 23:31:09 +00:00
Michael Graff
5dd0c5ed43 pull up 1.23 to 1.25 for Brian and Andreas 2000-06-26 23:08:45 +00:00
Andreas Gustafsson
ffea7b01c8 pullup: Don't use TCP for outgoing queries just because the client is TCP. 2000-06-26 22:38:56 +00:00
Andreas Gustafsson
71afd01cd9 pullup: Removed more pointer to integer assignments 2000-06-26 21:59:42 +00:00
Andreas Gustafsson
a3f32496fa pullup: namespace cleanup 2000-06-26 21:47:36 +00:00
Andreas Gustafsson
fa023b811f pullup: Casting void * to unsigned long works better than casting to isc_uint32_t
(actually, there is no functional change, it just eliminates a compiler warning)
2000-06-26 21:43:44 +00:00
Andreas Gustafsson
9e551dd2e0 pullup: clean up a makefile problem that caused 'make distclean' and
'make cleandir' to fail for some makes
2000-06-26 21:33:29 +00:00
Andreas Gustafsson
fba0fc670c pullup: turn on BSD compatibility to avoid the annoying linux
'return host unreachable for unconnected UDP datagrams' bug.
2000-06-26 21:28:21 +00:00
Andreas Gustafsson
56c9c3c96d pullup: (more than) double allowable time for servers to start up. 2000-06-26 21:21:18 +00:00
Andreas Gustafsson
4c6d1ed02d Having a close(SOCK) seems to help mirepoix for some reason. 2000-06-26 20:50:23 +00:00
cvs2git
0203510ff7 This commit was manufactured by cvs2git to create branch 'v9_0'. 2000-06-26 01:12:36 +00:00
3069 changed files with 225785 additions and 637173 deletions

View File

@@ -5,5 +5,3 @@ config.cache
config.status
libtool
isc-config.sh
configure.lineno
autom4te.cache

5
Atffile Normal file
View File

@@ -0,0 +1,5 @@
Content-Type: application/X-atf-atffile; version="1"
prop: test-suite = bind9
tp: lib

8061
CHANGES

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +1,14 @@
Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2003 Internet Software Consortium.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
$Id: COPYRIGHT,v 1.16 2010/01/04 23:48:51 tbox Exp $
Portions Copyright (C) 1996-2001 Nominum, Inc.
Copyright (C) 1996-2000 Internet Software Consortium.
Permission to use, copy, modify, and 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 NOMINUM DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM 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.
THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

View File

@@ -1,19 +1,19 @@
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Copyright (C) 1998-2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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: Makefile.in,v 1.58 2009/11/26 20:52:44 marka Exp $
# $Id: Makefile.in,v 1.21.2.6 2000/07/27 01:48:49 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,55 +21,49 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
SUBDIRS = make lib bin doc @LIBEXPORT@
SUBDIRS = make lib bin
TARGETS =
MANPAGES = isc-config.sh.1
HTMLPAGES = isc-config.sh.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
DISTFILES = CHANGES COPYRIGHT Makefile.in README \
acconfig.h aclocal.m4 config.guess config.h.in config.h.win32 \
config.status.win32 config.sub configure configure.in \
isc-config.sh.in install-sh libtool.m4 ltconfig ltmain.sh \
lib make contrib \
version
DOCDISTFILES = arm draft misc rfc
DOCMANDISTFILES = bin dnssec
BINDISTFILES = Makefile.in dig dnssec named nsupdate rndc tests
@BIND9_MAKE_RULES@
distclean::
rm -f config.cache config.h config.log config.status TAGS
rm -f libtool isc-config.sh configure.lineno
rm -f util/conf.sh docutil/docbook2man-wrapper.sh
rm -f libtool isc-config.sh
rm -f util/conf.sh
# XXX we should clean libtool stuff too. Only do this after we add rules
# to make it.
maintainer-clean::
rm -f configure
cleandir: distclean
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
install:: isc-config.sh
${INSTALL_PROGRAM} isc-config.sh ${DESTDIR}${bindir}
doc man:: ${MANOBJS}
kit: kitclean
mkdir bind-${VERSION}
@(cd bind-${VERSION}; for i in ${DISTFILES}; do ln -s ../$$i $$i; done)
mkdir bind-${VERSION}/doc
@(cd bind-${VERSION}/doc; for i in ${DOCDISTFILES}; do \
ln -s ../../doc/$$i $$i; done)
mkdir bind-${VERSION}/doc/man
@(cd bind-${VERSION}/doc/man; for i in ${DOCMANDISTFILES}; do \
ln -s ../../../doc/man/$$i $$i; done)
mkdir bind-${VERSION}/bin
@(cd bind-${VERSION}/bin; for i in ${BINDISTFILES}; do \
ln -s ../../bin/$$i $$i; done)
gtar -c -v -z -h --exclude '*CVS*' -f bind-${VERSION}.tar.gz \
bind-${VERSION}
rm -rf bind-${VERSION}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
install:: isc-config.sh installdirs
${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}
${INSTALL_DATA} ${top_srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
${INSTALL_DATA} ${top_srcdir}/bind.keys ${DESTDIR}${sysconfdir}
kitclean: distclean
rm -rf bind-${VERSION}
tags:
rm -f TAGS
find lib bin -name "*.[ch]" -print | @ETAGS@ -
check: test
test:
(cd bin/tests && ${MAKE} ${MAKEDEFS} test)
FAQ: FAQ.xml
${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
LC_ALL=C ${W3M} -T text/html -dump -cols 72 >$@.tmp
mv $@.tmp $@
clean::
rm -f FAQ.tmp

282
README
View File

@@ -1,3 +1,4 @@
BIND 9
BIND version 9 is a major rewrite of nearly all aspects of the
@@ -10,7 +11,8 @@ BIND 9
- IP version 6
Answers DNS queries on IPv6 sockets
IPv6 resource records (AAAA)
IPv6 resource records (A6, DNAME, etc.)
Bitstring Labels
Experimental IPv6 Resolver Library
- DNS Protocol Enhancements
@@ -40,125 +42,99 @@ BIND 9
U.S. Defense Information Systems Agency
USENIX Association
Stichting NLnet - NLnet Foundation
Nominum, Inc.
For a summary of functional enhancements in previous
releases, see the HISTORY file.
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
BIND 9.0.1
BIND 9.7.0
BIND 9.0.1 is a maintenance release, containing fixes for a
number of bugs in BIND 9.0.0 but no new features (with the
exception of a few minor features added to dig, host, and
nslookup).
BIND 9.7.0 includes a number of changes from BIND 9.6 and earlier
releases. Most are intended to simplify DNSSEC configuration.
Like BIND 9.0.0, BIND 9.0.1 is primarily a name server software
distribution. In addition to the name server, it also includes
a new lightweight stub resolver library and associated resolver
daemon that fully support forward and reverse lookups of both
IPv4 and IPv6 addresses. This library is still considered
experimental and is not a complete replacement for the BIND 8
resolver library. In particular, applications that use the
BIND 8 res_* functions to perform DNS queries or dynamic
updates still need to be linked against the BIND 8 libraries.
New features include:
BIND 9.0.1 is capable of acting as an authoritative server
for DNSSEC secured zones. This functionality is believed to
be stable and complete except for lacking support for wildcard
records in secure zones.
- 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.
When acting as a caching server, BIND 9.0.1 can be configured
to perform DNSSEC secure resolution on behalf of its clients.
This part of the DNSSEC implementation is still considered
experimental. For detailed information about the state of the
DNSSEC implementation, see the file doc/misc/dnssec.
Known issues in this release:
There are a few known bugs:
- 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.
The option "query-source * port 53;" will not work as
expected. Instead of the wildcard address "*", you need
to use an explicit source IP address.
Compatibility notes:
On some systems, IPv6 and IPv4 sockets interact in
unexpected ways. For details, see doc/misc/ipv6.
To reduce the impact of these problems, the server
no longer listens for requests on IPv6 addresses
by default. If you need to accept DNS queries over
IPv6, you must specify "listen-on-v6 { any; };"
in the named.conf options statement.
- 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.
There are known problems with thread signal handling
under Solaris 2.6.
- 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.
The "isc_timer_reset" test sometimes fails on HP-UX 11
for unknown reasons, but the server itself seems to
run fine.
- 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.
On FreeBSD systems, the server logs error messages
like "fcntl(8, F_SETFL, 4): Inappropriate ioctl for
device". This is due to a bug in the FreeBSD
/dev/random device. The bug has been reported
to the FreeBSD maintainers. Versions of OpenBSD
prior to 2.8 have a similar problem.
- 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".
The configure option --disable-ipv6 is not functional.
--with-libtool does not work on AIX.
Due to bugs in the dnssafe library, RSA keys longer
than 2000 bits are not supported.
Building
BIND 9 currently requires a UNIX system with an ANSI C compiler,
basic POSIX support, and a 64 bit integer type.
basic POSIX support, and a good pthreads implementation.
We've had successful builds and tests on the following systems:
COMPAQ Tru64 UNIX 5.1B
Fedora Core 6
FreeBSD 4.10, 5.2.1, 6.2
HP-UX 11.11
Mac OS X 10.5
NetBSD 3.x, 4.0-beta, 5.0-beta
OpenBSD 3.3 and up
Solaris 8, 9, 9 (x86), 10
Ubuntu 7.04, 7.10
Windows XP/2003/2008
AIX 4.3
COMPAQ Tru64 UNIX 4.0D
COMPAQ Tru64 UNIX 5 (with IPv6 EAK)
FreeBSD 3.4-STABLE
HP-UX 11
IRIX64 6.5
NetBSD-current (with unproven-pthreads-0.17)
Red Hat Linux 6.0, 6.1, 6.2
Solaris 2.6, 7, 8
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
Windows, including Windows NT and Windows 2000, are no longer
supported.
Additionally, we have unverified reports of success from users
of the following systems:
We have recent reports from the user community that a supported
version of BIND will build and run on the following systems:
AIX 4.3, 5L
CentOS 4, 4.5, 5
Darwin 9.0.0d1/ARM
Debian 4
Fedora Core 5, 7
FreeBSD 6.1
HP-UX 11.23 PA
MacOS X 10.4, 10.5
Red Hat Enterprise Linux 4, 5
SCO OpenServer 5.0.6
Slackware 9, 10
SuSE 9, 10
Slackware Linux 7.0 with 2.4.0-test6 kernel and glibc 2.1.3
OpenBSD 2.6, 2.8, -current
To build, just
./configure
make
Do not use a parallel "make".
Several environment variables that can be set before running
configure will affect compilation:
@@ -168,7 +144,7 @@ Building
CFLAGS
C compiler flags. Defaults to include -g and/or -O2
as supported by the compiler.
as supported by the compiler.
STD_CINCLUDES
System header file directories. Can be used to specify
@@ -179,111 +155,29 @@ Building
Any additional preprocessor symbols you want defined.
Defaults to empty string.
Possible settings:
Change the default syslog facility of named/lwresd.
-DISC_FACILITY=LOG_LOCAL0
Enable DNSSEC signature chasing support in dig.
-DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and
-DDIG_SIGCHASE_BU=1)
Disable dropping queries from particular well known ports.
-DNS_CLIENT_DROPPORT=0
Sibling glue checking in named-checkzone is enabled by default.
To disable the default check set. -DCHECK_SIBLING=0
named-checkzone checks out-of-zone addresses by default.
To disable this default set. -DCHECK_LOCAL=0
To create the default pid files in ${localstatedir}/run rather
than ${localstatedir}/run/{named,lwresd}/ set.
-DNS_RUN_PID_DIR=0
Enable workaround for Solaris kernel bug about /dev/poll
-DISC_SOCKET_USE_POLLWATCH=1
The watch timeout is also configurable, e.g.,
-DISC_SOCKET_POLLWATCH_TIMEOUT=20
LDFLAGS
Linker flags. Defaults to empty string.
The following need to be set when cross compiling.
BUILD_CC
The native C compiler.
BUILD_CFLAGS (optional)
BUILD_CPPFLAGS (optional)
Possible Settings:
-DNEED_OPTARG=1 (optarg is not declared in <unistd.h>)
BUILD_LDFLAGS (optional)
BUILD_LIBS (optional)
To build shared libraries, specify "--with-libtool" on the
configure command line.
For the server to support DNSSEC, you need to build it
with crypto support. You must have OpenSSL 0.9.5a
or newer installed and specify "--with-openssl" on the
configure command line. If OpenSSL is installed under
a nonstandard prefix, you can tell configure where to
look for it using "--with-openssl=/prefix".
On some platforms it is necessary to explictly request large
file support to handle files bigger than 2GB. This can be
done by "--enable-largefile" on the configure command line.
On some platforms, BIND 9 can be built with multithreading
support, allowing it to take advantage of multiple CPUs.
You can specify whether to build a multithreaded BIND 9
by specifying "--enable-threads" or "--disable-threads"
on the configure command line. The default is operating
system dependent.
Support for the "fixed" rrset-order option can be enabled
or disabled by specifying "--enable-fixed-rrset" or
"--disable-fixed-rrset" on the configure command line.
The default is "disabled", to reduce memory footprint.
If your operating system has integrated support for IPv6, it
will be used automatically. If you have installed KAME IPv6
separately, use "--with-kame[=PATH]" to specify its location.
To see additional configure options, run "configure --help".
"make install" will install "named" and the various BIND 9 libraries.
By default, installation is into /usr/local, but this can be changed
with the "--prefix" option when running "configure".
You may specify the option "--sysconfdir" to set the directory
where configuration files like "named.conf" go by default,
and "--localstatedir" to set the default parent directory
of "run/named.pid". For backwards compatibility with BIND 8,
--sysconfdir defaults to "/etc" and --localstatedir defaults to
"/var" if no --prefix option is given. If there is a --prefix
option, sysconfdir defaults to "$prefix/etc" and localstatedir
defaults to "$prefix/var".
To see additional configure options, run "configure --help".
Note that the help message does not reflect the BIND 8
compatibility defaults for sysconfdir and localstatedir.
If you're planning on making changes to the BIND 9 source, you
should also "make depend". If you're using Emacs, you might find
"make tags" helpful.
If you need to re-run configure please run "make distclean" first.
This will ensure that all the option changes take.
Building with gcc is not supported, unless gcc is the vendor's usual
compiler (e.g. the various BSD systems, Linux).
Known compiler issues:
* gcc-3.2.1 and gcc-3.1.1 is known to cause problems with solaris-x86.
* gcc prior to gcc-3.2.3 ultrasparc generates incorrect code at -02.
* gcc-3.3.5 powerpc generates incorrect code at -02.
* Irix, MipsPRO 7.4.1m is known to cause problems.
A limited test suite can be run with "make test". Many of
the tests require you to configure a set of virtual IP addresses
on your system, and some require Perl; see bin/tests/system/README
for details.
Parts of the library can be tested by running "make test" from the
bin/tests subdirectory.
SunOS 4 requires "printf" to be installed to make the shared
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
Documentation
@@ -292,19 +186,14 @@ Documentation
doc/arm directory.
Some of the programs in the BIND 9 distribution have man pages
in their directories. In particular, the command line
options of "named" are documented in /bin/named/named.8.
There is now also a set of man pages for the lwres library.
under the doc/man directory. In particular, the command line
options of "named" are documented in doc/man/bind/named.8.
The man pages are currently not installed automatically by
"make install".
If you are upgrading from BIND 8, please read the migration
notes in doc/misc/migration. If you are upgrading from
BIND 4, read doc/misc/migration-4to9.
Frequently asked questions and their answers can be found in
FAQ.
Additional information on various subjects can be found
in the other README files.
notes in doc/misc/migration.
Bug Reports and Mailing Lists
@@ -313,18 +202,13 @@ Bug Reports and Mailing Lists
bind9-bugs@isc.org
To join the BIND Users mailing list, send mail to
To join the BIND 9 Users mailing list, send mail to
bind-users-request@isc.org
archives of which can be found via
http://www.isc.org/ops/lists/
bind9-users-request@isc.org
If you're planning on making changes to the BIND 9 source
code, you might want to join the BIND Workers mailing list.
code, you might want to join the BIND 9 Workers mailing list.
Send mail to
bind-workers-request@isc.org
bind9-workers-request@isc.org

35
REDIRECT-NOTES Normal file
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.

18
TODO Normal file
View File

@@ -0,0 +1,18 @@
1. Rdataset/Rdatalist Union
2. ev_ prefix for ISC_EVENT_COMMON
3. Finish mempool conversion of message.c
4. Improve buffer & region APIs (inline?)
5. isc/util.h publish or perish
6. magic number listing
7. Eliminate dns_result_t and old DNS_R_ codes
8. Check base 64 code; does it have the problems that
the BIND 8 code does?
9. Authority is optional if we have answers?
10. AD bit setting.
11. KEY duplication (answer + additional) in any query
12. Fix rdata META flag to be set for TSIG, TKEY, OPT
13. Intergrate (replace?) old per zone SOA timers with zomemgr
14. RWlock for zonemgr zone list
15. CHAOS A's
16. implement "doc" checks out of zonemgr.

View File

@@ -1,23 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
/*! \file */
/* $Id: acconfig.h,v 1.23 2000/06/22 21:48:56 tale Exp $ */
/***
*** This file is not to be included by any public header files, because
@@ -25,91 +23,76 @@
***/
@TOP@
/** define on DEC OSF to enable 4.4BSD style sa_len support */
/* define on DEC OSF to enable 4.4BSD style sa_len support */
#undef _SOCKADDR_LEN
/** define if your system needs pthread_init() before using pthreads */
/* define if your system needs pthread_init() before using pthreads */
#undef NEED_PTHREAD_INIT
/** define if your system has sigwait() */
/* define if your system has sigwait() */
#undef HAVE_SIGWAIT
/** define if sigwait() is the UnixWare flavor */
/* define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/** define on Solaris to get sigwait() to work using pthreads semantics */
/* define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS
/** define if LinuxThreads is in use */
/* define if LinuxThreads is in use */
#undef HAVE_LINUXTHREADS
/** define if sysconf() is available */
/* define if sysconf() is available */
#undef HAVE_SYSCONF
/** define if sysctlbyname() is available */
#undef HAVE_SYSCTLBYNAME
/** define if catgets() is available */
/* define if catgets() is available */
#undef HAVE_CATGETS
/** define if getifaddrs() exists */
#undef HAVE_GETIFADDRS
/** define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
/* define if you have the NET_RT_IFLIST sysctl variable. */
#undef HAVE_IFLIST_SYSCTL
/** define if tzset() is available */
#undef HAVE_TZSET
/* define if you need to #define _XPG4_2 before including sys/socket.h */
#undef NEED_XPG4_2_BEFORE_SOCKET_H
/** define if struct addrinfo exists */
/* define if you need to #define _XOPEN_SOURCE_ENTENDED before including
* sys/socket.h
*/
#undef NEED_XSE_BEFORE_SOCKET_H
/* define if chroot() is available */
#undef HAVE_CHROOT
/* define if struct addrinfo exists */
#undef HAVE_ADDRINFO
/** define if getaddrinfo() exists */
/* define is getaddrinfo() exists */
#undef HAVE_GETADDRINFO
/** define if gai_strerror() exists */
#undef HAVE_GAISTRERROR
/** define if arc4random() exists */
#undef HAVE_ARC4RANDOM
/**
* define if pthread_setconcurrency() should be called to tell the
/* define if pthread_setconcurrency() should be called to tell the
* OS how many threads we might want to run.
*/
#undef CALL_PTHREAD_SETCONCURRENCY
/** define if IPv6 is not disabled */
#undef WANT_IPV6
/** define if flockfile() is available */
#undef HAVE_FLOCKFILE
/** define if getc_unlocked() is available */
#undef HAVE_GETCUNLOCKED
/** Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
/* Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
#undef SHUTUP_SPUTAUX
#ifdef SHUTUP_SPUTAUX
struct __sFILE;
extern __inline int __sputaux(int _c, struct __sFILE *_p);
#endif
/** Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
/* Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
#undef SHUTUP_SIGWAIT
#ifdef SHUTUP_SIGWAIT
int sigwait(const unsigned int *set, int *sig);
#endif
/** Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
/* Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
#undef SHUTUP_STDARG_CAST
#if defined(SHUTUP_STDARG_CAST) && defined(__GNUC__)
#include <stdarg.h> /** Grr. Must be included *every time*. */
/**
#include <stdarg.h> /* Grr. Must be included *every time*. */
/*
* The silly continuation line is to keep configure from
* commenting out the #undef.
*/
#undef \
va_start
#define va_start(ap, last) \
@@ -118,28 +101,4 @@ int sigwait(const unsigned int *set, int *sig);
_u.konst = &(last); \
ap = (va_list)(_u.var + __va_words(__typeof(last))); \
} while (0)
#endif /** SHUTUP_STDARG_CAST && __GNUC__ */
/** define if the system has a random number generating device */
#undef PATH_RANDOMDEV
/** define if pthread_attr_getstacksize() is available */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/** define if pthread_attr_setstacksize() is available */
#undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
/** define if you have strerror in the C library. */
#undef HAVE_STRERROR
/** Define if you are running under Compaq TruCluster. */
#undef HAVE_TRUCLUSTER
/* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T
/* Define if threads need PTHREAD_SCOPE_SYSTEM */
#undef NEED_PTHREAD_SCOPE_SYSTEM
#endif /* SHUTUP_STDARG_CAST && __GNUC__ */

View File

@@ -1,26 +1,25 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Copyright (C) 1998-2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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: Makefile.in,v 1.29 2009/10/05 12:07:08 fdupont Exp $
# $Id: Makefile.in,v 1.15.2.2 2000/06/29 00:05:25 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
SUBDIRS = named rndc dig dnssec tests tools nsupdate \
check confgen @PKCS11_TOOLS@
SUBDIRS = named rndc dig dnssec tests nsupdate
TARGETS =
@BIND9_MAKE_RULES@

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009 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.39 2009/09/01 00:22:24 jinmei Exp $ */
/* $Id: check-tool.c,v 1.44 2011/12/22 07:32:39 each Exp $ */
/*! \file */
@@ -23,6 +23,10 @@
#include <stdio.h>
#ifdef _WIN32
#include <Winsock2.h>
#endif
#include "check-tool.h"
#include <isc/buffer.h>
#include <isc/log.h>
@@ -631,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;
@@ -654,10 +659,33 @@ 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);
return (result);
}
#ifdef _WIN32
void
InitSockets(void) {
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 0);
err = WSAStartup( wVersionRequested, &wsaData );
if (err != 0) {
fprintf(stderr, "WSAStartup() failed: %d\n", err);
exit(1);
}
}
void
DestroySockets(void) {
WSACleanup();
}
#endif

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007 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.14 2007/06/18 23:47:17 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,13 @@ 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);
void DestroySockets(void);
#endif
extern int debug;
extern isc_boolean_t nomerge;

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.53 2010/03/09 23:51:06 tbox 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)
@@ -488,6 +488,10 @@ main(int argc, char **argv) {
if (conffile == NULL || conffile[0] == '\0')
conffile = NAMED_CONFFILE;
#ifdef _WIN32
InitSockets();
#endif
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
RUNTIME_CHECK(setup_logging(mctx, stdout, &logc) == ISC_R_SUCCESS);
@@ -531,5 +535,9 @@ main(int argc, char **argv) {
isc_mem_destroy(&mctx);
#ifdef _WIN32
DestroySockets();
#endif
return (exit_status);
}

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: named-checkzone.8,v 1.49 2011/12/22 18:10:10 tbox Exp $
.\"
.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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009 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.59 2009/12/04 22:06:37 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,12 +469,18 @@ 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();
#ifdef _WIN32
InitSockets();
#endif
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
if (!quiet)
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx)
@@ -457,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");
}
@@ -476,5 +522,8 @@ main(int argc, char **argv) {
isc_hash_destroy();
isc_entropy_detach(&ectx);
isc_mem_destroy(&mctx);
#ifdef _WIN32
DestroySockets();
#endif
return ((result == ISC_R_SUCCESS) ? 0 : 1);
}

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>

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: named-checkzone.html,v 1.49 2011/12/22 18:10:10 tbox Exp $ -->
<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="id2543715"></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="id2543750"></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="id2544499"></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="id2544579"></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="id2544612"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

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 */

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);

View File

@@ -2,5 +2,3 @@ Makefile
dig
host
nslookup
*.lo
.libs

View File

@@ -1,19 +1,19 @@
# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) 2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and 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.
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
# INTERNET SOFTWARE CONSORTIUM 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: Makefile.in,v 1.47 2009/12/05 23:31:40 each Exp $
# $Id: Makefile.in,v 1.10.2.4 2000/10/21 01:35:17 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,39 +21,26 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISC_INCLUDES} ${LWRES_INCLUDES} ${ISCCFG_INCLUDES}
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS =
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} ${ISCCFGDEPLIBS} \
${LWRESDEPLIBS}
DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
${ISCLIBS} @IDNLIBS@ @LIBS@
NOSYMLIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
SUBDIRS =
TARGETS = dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@
TARGETS = dig host nslookup
OBJS = dig.@O@ dighost.@O@ host.@O@ nslookup.@O@
@@ -61,45 +48,26 @@ UOBJS =
SRCS = dig.c dighost.c host.c nslookup.c
MANPAGES = dig.1 host.1 nslookup.1
HTMLPAGES = dig.html host.html nslookup.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
export BASEOBJS="dig.@O@ dighost.@O@ ${UOBJS}"; \
${FINALBUILDCMD}
dig: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ dig.@O@ dighost.@O@ ${UOBJS} ${LIBS}
host@EXEEXT@: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
export BASEOBJS="host.@O@ dighost.@O@ ${UOBJS}"; \
${FINALBUILDCMD}
host: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ host.@O@ dighost.@O@ ${UOBJS} ${LIBS}
nslookup@EXEEXT@: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
export BASEOBJS="nslookup.@O@ dighost.@O@ ${UOBJS}"; \
${FINALBUILDCMD}
nslookup: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ nslookup.@O@ dighost.@O@ ${UOBJS} ${LIBS}
doc man:: ${MANOBJS}
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
clean distclean::
rm -f ${TARGETS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
if [ ! -d ${DESTDIR}${bindir} ]; then \
mkdir ${DESTDIR}${bindir}; \
fi
install:: dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
dig@EXEEXT@ ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
host@EXEEXT@ ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
nslookup@EXEEXT@ ${DESTDIR}${bindir}
for m in ${MANPAGES}; do \
${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man1; \
done
install:: dig host nslookup installdirs
${LIBTOOL} ${INSTALL_PROGRAM} dig ${DESTDIR}${bindir}
${LIBTOOL} ${INSTALL_PROGRAM} host ${DESTDIR}${bindir}
${LIBTOOL} ${INSTALL_PROGRAM} nslookup ${DESTDIR}${bindir}

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: dig.1,v 1.56 2011/11/05 01:14:48 tbox Exp $
.\"
.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

File diff suppressed because it is too large Load Diff

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>

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: dig.html,v 1.51 2011/11/05 01:14:48 tbox Exp $ -->
<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="id2543525"></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="id2543598"></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="id2543689"></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="id2544038"></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="id2545301"></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="id2545363"></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="id2545385"></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="id2545402"></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="id2545440"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>

File diff suppressed because it is too large Load Diff

View File

@@ -1,47 +1,34 @@
/*
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and 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.
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM 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: host.c,v 1.120 2009/09/29 15:06:05 fdupont Exp $ */
/*! \file */
/* $Id: host.c,v 1.29.2.8 2000/10/20 21:54:11 gson Exp $ */
#include <config.h>
#include <stdlib.h>
#include <limits.h>
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
#ifdef WITH_IDN
#include <idn/result.h>
#include <idn/log.h>
#include <idn/resconf.h>
#include <idn/api.h>
#endif
extern int h_errno;
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/netaddr.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
#include <isc/task.h>
#include <isc/stdlib.h>
#include <dns/byaddr.h>
#include <dns/fixedname.h>
@@ -51,16 +38,24 @@
#include <dns/rdataclass.h>
#include <dns/rdataset.h>
#include <dns/rdatatype.h>
#include <dns/rdatastruct.h>
#include <dig/dig.h>
static isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static isc_boolean_t default_lookups = ISC_TRUE;
static int seen_error = -1;
static isc_boolean_t list_addresses = ISC_TRUE;
static dns_rdatatype_t list_type = dns_rdatatype_a;
static isc_boolean_t printed_server = ISC_FALSE;
extern ISC_LIST(dig_lookup_t) lookup_list;
extern ISC_LIST(dig_server_t) server_list;
extern ISC_LIST(dig_searchlist_t) search_list;
extern isc_boolean_t debugging;
extern unsigned int timeout;
extern isc_mem_t *mctx;
extern int ndots;
extern int tries;
extern isc_boolean_t usesearch;
extern int lookup_counter;
extern char *progname;
extern isc_task_t *global_task;
isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static const char *opcodetext[] = {
"QUERY",
@@ -86,7 +81,7 @@ static const char *rcodetext[] = {
"FORMERR",
"SERVFAIL",
"NXDOMAIN",
"NOTIMP",
"NOTIMPL",
"REFUSED",
"YXDOMAIN",
"YXRRSET",
@@ -101,72 +96,131 @@ static const char *rcodetext[] = {
"BADVERS"
};
struct rtype {
unsigned int type;
const char *text;
};
static const char *rtypetext[] = {
"zero", /* 0 */
"has address", /* 1 */
"name server", /* 2 */
"MD", /* 3 */
"MF", /* 4 */
"is an alias for", /* 5 */
"SOA", /* 6 */
"MB", /* 7 */
"MG", /* 8 */
"MR", /* 9 */
"NULL", /* 10 */
"has well known services", /* 11 */
"domain name pointer", /* 12 */
"host information", /* 13 */
"MINFO", /* 14 */
"mail is handled by", /* 15 */
"text", /* 16 */
"RP", /* 17 */
"AFSDB", /* 18 */
"x25 address", /* 19 */
"isdn address", /* 20 */
"RT", /* 21 */
"NSAP", /* 22 */
"NSAP_PTR", /* 23 */
"has signature", /* 24 */
"has key", /* 25 */
"PX", /* 26 */
"GPOS", /* 27 */
"has AAAA address", /* 28 */
"LOC", /* 29 */
"has next record", /* 30 */
"EID", /* 31 */
"NIMLOC", /* 32 */
"SRV", /* 33 */
"ATMA", /* 34 */
"NAPTR", /* 35 */
"KX", /* 36 */
"CERT", /* 37 */
"has v6 address", /* 38 */
"DNAME", /* 39 */
"has optional information", /* 41 */
"has 42 record", /* 42 */
"has 43 record", /* 43 */
"has 44 record", /* 44 */
"has 45 record", /* 45 */
"has 46 record", /* 46 */
"has 47 record", /* 47 */
"has 48 record", /* 48 */
"has 49 record", /* 49 */
"has 50 record", /* 50 */
"has 51 record", /* 51 */
"has 52 record", /* 52 */
"has 53 record", /* 53 */
"has 54 record", /* 54 */
"has 55 record", /* 55 */
"has 56 record", /* 56 */
"has 57 record", /* 57 */
"has 58 record", /* 58 */
"has 59 record", /* 59 */
"has 60 record", /* 60 */
"has 61 record", /* 61 */
"has 62 record", /* 62 */
"has 63 record", /* 63 */
"has 64 record", /* 64 */
"has 65 record", /* 65 */
"has 66 record", /* 66 */
"has 67 record", /* 67 */
"has 68 record", /* 68 */
"has 69 record", /* 69 */
"has 70 record", /* 70 */
"has 71 record", /* 71 */
"has 72 record", /* 72 */
"has 73 record", /* 73 */
"has 74 record", /* 74 */
"has 75 record", /* 75 */
"has 76 record", /* 76 */
"has 77 record", /* 77 */
"has 78 record", /* 78 */
"has 79 record", /* 79 */
"has 80 record", /* 80 */
"has 81 record", /* 81 */
"has 82 record", /* 82 */
"has 83 record", /* 83 */
"has 84 record", /* 84 */
"has 85 record", /* 85 */
"has 86 record", /* 86 */
"has 87 record", /* 87 */
"has 88 record", /* 88 */
"has 89 record", /* 89 */
"has 90 record", /* 90 */
"has 91 record", /* 91 */
"has 92 record", /* 92 */
"has 93 record", /* 93 */
"has 94 record", /* 94 */
"has 95 record", /* 95 */
"has 96 record", /* 96 */
"has 97 record", /* 97 */
"has 98 record", /* 98 */
"has 99 record", /* 99 */
"UINFO", /* 100 */
"UID", /* 101 */
"GID", /* 102 */
"UNSPEC"}; /* 103 */
struct rtype rtypes[] = {
{ 1, "has address" },
{ 2, "name server" },
{ 5, "is an alias for" },
{ 11, "has well known services" },
{ 12, "domain name pointer" },
{ 13, "host information" },
{ 15, "mail is handled by" },
{ 16, "descriptive text" },
{ 19, "x25 address" },
{ 20, "ISDN address" },
{ 24, "has signature" },
{ 25, "has key" },
{ 28, "has IPv6 address" },
{ 29, "location" },
{ 0, NULL }
};
static char *
rcode_totext(dns_rcode_t rcode)
{
static char buf[sizeof("?65535")];
union {
const char *consttext;
char *deconsttext;
} totext;
if (rcode >= (sizeof(rcodetext)/sizeof(rcodetext[0]))) {
snprintf(buf, sizeof(buf), "?%u", rcode);
totext.deconsttext = buf;
} else
totext.consttext = rcodetext[rcode];
return totext.deconsttext;
}
ISC_PLATFORM_NORETURN_PRE static void
show_usage(void) ISC_PLATFORM_NORETURN_POST;
static void
show_usage(void) {
fputs(
"Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]\n"
" [-R number] [-m flag] hostname [server]\n"
" -a is equivalent to -v -t ANY\n"
"Usage: host [-aCdlrTwv] [-c class] [-n] [-N ndots] [-t type] [-W time]\n"
" [-R number] hostname [server]\n"
" -a is equivalent to -v -t *\n"
" -c specifies query class for non-IN data\n"
" -C compares SOA records on authoritative nameservers\n"
" -C compares SOA records on authorative nameservers\n"
" -d is equivalent to -v\n"
" -l lists all hosts in a domain, using AXFR\n"
" -i IP6.INT reverse lookups\n"
" -n Use the nibble form of IPv6 reverse lookup\n"
" -N changes the number of dots allowed before root lookup is done\n"
" -r disables recursive processing\n"
" -R specifies number of retries for UDP packets\n"
" -s a SERVFAIL response should stop query\n"
" -t specifies the query type\n"
" -T enables TCP/IP mode\n"
" -v enables verbose output\n"
" -w specifies to wait forever for a reply\n"
" -W specifies how long to wait for a reply\n"
" -4 use IPv4 query transport only\n"
" -6 use IPv6 query transport only\n"
" -m set memory debugging flag (trace|record|usage)\n", stderr);
" -W specifies how long to wait for a reply\n", stderr);
exit(1);
}
@@ -176,74 +230,57 @@ dighost_shutdown(void) {
}
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
received(int bytes, int frmsize, char *frm, dig_query_t *query) {
isc_time_t now;
isc_result_t result;
int diff;
if (!short_form) {
char fromtext[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_format(from, fromtext, sizeof(fromtext));
TIME_NOW(&now);
diff = (int) isc_time_microdiff(&now, &query->time_sent);
printf("Received %u bytes from %s in %d ms\n",
bytes, fromtext, diff/1000);
result = isc_time_now(&now);
check_result(result, "isc_time_now");
diff = isc_time_microdiff(&now, &query->time_sent);
printf("Received %u bytes from %.*s in %d ms\n",
bytes, frmsize, frm, diff/1000);
}
}
void
trying(char *frm, dig_lookup_t *lookup) {
trying(int frmsize, char *frm, dig_lookup_t *lookup) {
UNUSED(lookup);
if (!short_form)
printf("Trying \"%s\"\n", frm);
printf ("Trying \"%.*s\"\n", frmsize, frm);
}
static void
say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,
dig_query_t *query)
{
isc_buffer_t *b = NULL;
char namestr[DNS_NAME_FORMATSIZE];
isc_region_t r;
isc_buffer_t *b = NULL, *b2 = NULL;
isc_region_t r, r2;
isc_result_t result;
unsigned int bufsize = BUFSIZ;
dns_name_format(name, namestr, sizeof(namestr));
retry:
result = isc_buffer_allocate(mctx, &b, bufsize);
result = isc_buffer_allocate(mctx, &b, BUFSIZE);
check_result(result, "isc_buffer_allocate");
result = dns_rdata_totext(rdata, NULL, b);
if (result == ISC_R_NOSPACE) {
isc_buffer_free(&b);
bufsize *= 2;
goto retry;
}
check_result(result, "dns_rdata_totext");
result = isc_buffer_allocate(mctx, &b2, BUFSIZE);
check_result(result, "isc_buffer_allocate");
result = dns_name_totext(name, ISC_FALSE, b);
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
if (query->lookup->identify_previous_line) {
printf("Nameserver %s:\n\t",
query->servname);
}
printf("%s %s %.*s", namestr,
msg, (int)r.length, (char *)r.base);
result = dns_rdata_totext(rdata, NULL, b2);
check_result(result, "dns_rdata_totext");
isc_buffer_usedregion(b2, &r2);
printf ( "%.*s %s %.*s", (int)r.length, (char *)r.base,
msg, (int)r2.length, (char *)r2.base);
if (query->lookup->identify) {
printf(" on server %s", query->servname);
printf (" on server %s", query->servname);
}
printf("\n");
printf ("\n");
isc_buffer_free(&b);
isc_buffer_free(&b2);
}
#ifdef DIG_SIGCHASE
/* Just for compatibility : not use in host program */
isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target)
{
UNUSED(owner_name);
UNUSED(rdataset);
UNUSED(target);
return(ISC_FALSE);
}
#endif
static isc_result_t
printsection(dns_message_t *msg, dns_section_t sectionid,
const char *section_name, isc_boolean_t headers,
@@ -251,7 +288,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
{
dns_name_t *name, *print_name;
dns_rdataset_t *rdataset;
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdata_t rdata;
isc_buffer_t target;
isc_result_t result, loopresult;
isc_region_t r;
@@ -259,6 +296,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
char t[4096];
isc_boolean_t first;
isc_boolean_t no_rdata;
const char *rtt;
if (sectionid == DNS_SECTION_QUESTION)
no_rdata = ISC_TRUE;
@@ -287,16 +325,6 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
for (rdataset = ISC_LIST_HEAD(name->list);
rdataset != NULL;
rdataset = ISC_LIST_NEXT(rdataset, link)) {
if (query->lookup->rdtype == dns_rdatatype_axfr &&
!((!list_addresses &&
(list_type == dns_rdatatype_any ||
rdataset->type == list_type)) ||
(list_addresses &&
(rdataset->type == dns_rdatatype_a ||
rdataset->type == dns_rdatatype_aaaa ||
rdataset->type == dns_rdatatype_ns ||
rdataset->type == dns_rdatatype_ptr))))
continue;
if (!short_form) {
result = dns_rdataset_totext(rdataset,
print_name,
@@ -316,30 +344,17 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
} else {
loopresult = dns_rdataset_first(rdataset);
while (loopresult == ISC_R_SUCCESS) {
struct rtype *t;
const char *rtt;
char typebuf[DNS_RDATATYPE_FORMATSIZE];
char typebuf2[DNS_RDATATYPE_FORMATSIZE
+ 20];
dns_rdataset_current(rdataset, &rdata);
for (t = rtypes; t->text != NULL; t++) {
if (t->type == rdata.type) {
rtt = t->text;
goto found;
}
}
dns_rdatatype_format(rdata.type,
typebuf,
sizeof(typebuf));
snprintf(typebuf2, sizeof(typebuf2),
"has %s record", typebuf);
rtt = typebuf2;
found:
if (rdata.type <= 103)
rtt=rtypetext[rdata.type];
else if (rdata.type == 249)
rtt = "key";
else if (rdata.type == 250)
rtt = "signature";
else
rtt = "unknown";
say_message(print_name, rtt,
&rdata, query);
dns_rdata_reset(&rdata);
loopresult =
dns_rdataset_next(rdataset);
}
@@ -389,109 +404,47 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
return (ISC_R_SUCCESS);
}
static void
chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
isc_result_t result;
dns_rdataset_t *rdataset;
dns_rdata_cname_t cname;
dns_rdata_t rdata = DNS_RDATA_INIT;
unsigned int i = msg->counts[DNS_SECTION_ANSWER];
while (i-- > 0) {
rdataset = NULL;
result = dns_message_findname(msg, DNS_SECTION_ANSWER, qname,
dns_rdatatype_cname, 0, NULL,
&rdataset);
if (result != ISC_R_SUCCESS)
return;
result = dns_rdataset_first(rdataset);
check_result(result, "dns_rdataset_first");
dns_rdata_reset(&rdata);
dns_rdataset_current(rdataset, &rdata);
result = dns_rdata_tostruct(&rdata, &cname, NULL);
check_result(result, "dns_rdata_tostruct");
dns_name_copy(&cname.cname, qname, NULL);
dns_rdata_freestruct(&cname);
}
}
isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_boolean_t did_flag = ISC_FALSE;
dns_rdataset_t *opt, *tsig = NULL;
dns_name_t *tsigname;
isc_result_t result = ISC_R_SUCCESS;
int force_error;
isc_buffer_t *b = NULL;
isc_region_t r;
UNUSED(headers);
/*
* We get called multiple times.
* Preserve any existing error status.
*/
force_error = (seen_error == 1) ? 1 : 0;
seen_error = 1;
if (listed_server && !printed_server) {
char sockstr[ISC_SOCKADDR_FORMATSIZE];
if (listed_server) {
printf("Using domain server:\n");
printf("Name: %s\n", query->userarg);
isc_sockaddr_format(&query->sockaddr, sockstr,
sizeof(sockstr));
printf("Address: %s\n", sockstr);
printf("Name: %s\n", query->servname);
result = isc_buffer_allocate(mctx, &b, MXNAME);
check_result(result, "isc_buffer_allocate");
result = isc_sockaddr_totext(&query->sockaddr, b);
check_result(result, "isc_sockaddr_totext");
printf("Address: %.*s\n",
(int)isc_buffer_usedlength(b),
(char*)isc_buffer_base(b));
isc_buffer_free(&b);
printf("Aliases: \n\n");
printed_server = ISC_TRUE;
}
if (msg->rcode != 0) {
char namestr[DNS_NAME_FORMATSIZE];
dns_name_format(query->lookup->name, namestr, sizeof(namestr));
printf("Host %s not found: %d(%s)\n",
(msg->rcode != dns_rcode_nxdomain) ? namestr :
query->lookup->textname, msg->rcode,
rcode_totext(msg->rcode));
result = isc_buffer_allocate(mctx, &b, MXNAME);
check_result(result, "isc_buffer_allocate");
result = dns_name_totext(query->lookup->name, ISC_FALSE,
b);
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
printf("Host %.*s not found: %d(%s)\n",
(int)r.length, (char *)r.base,
msg->rcode, rcodetext[msg->rcode]);
isc_buffer_free(&b);
return (ISC_R_SUCCESS);
}
if (default_lookups && query->lookup->rdtype == dns_rdatatype_a) {
char namestr[DNS_NAME_FORMATSIZE];
dig_lookup_t *lookup;
dns_fixedname_t fixed;
dns_name_t *name;
/* Add AAAA and MX lookups. */
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
dns_name_copy(query->lookup->name, name, NULL);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_aaaa;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_mx;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
}
if (!short_form) {
printf(";; ->>HEADER<<- opcode: %s, status: %s, id: %u\n",
opcodetext[msg->opcode], rcode_totext(msg->rcode),
opcodetext[msg->opcode], rcodetext[msg->rcode],
msg->id);
printf(";; flags: ");
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
@@ -581,92 +534,31 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (!short_form)
printf("\n");
if (short_form && !default_lookups &&
ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ANSWER])) {
char namestr[DNS_NAME_FORMATSIZE];
char typestr[DNS_RDATATYPE_FORMATSIZE];
dns_name_format(query->lookup->name, namestr, sizeof(namestr));
dns_rdatatype_format(query->lookup->rdtype, typestr,
sizeof(typestr));
printf("%s has no %s record\n", namestr, typestr);
}
seen_error = force_error;
return (result);
}
static const char * optstring = "46ac:dilnm:rst:vwCDN:R:TW:";
static void
pre_parse_args(int argc, char **argv) {
int c;
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
switch (c) {
case 'm':
memdebugging = ISC_TRUE;
if (strcasecmp("trace", isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
else if (!strcasecmp("record",
isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGRECORD;
else if (strcasecmp("usage",
isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGUSAGE;
break;
case '4': break;
case '6': break;
case 'a': break;
case 'c': break;
case 'd': break;
case 'i': break;
case 'l': break;
case 'n': break;
case 'r': break;
case 's': break;
case 't': break;
case 'v': break;
case 'w': break;
case 'C': break;
case 'D': break;
case 'N': break;
case 'R': break;
case 'T': break;
case 'W': break;
default:
show_usage();
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_index = 1;
}
static void
parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
char hostname[MXNAME];
dig_server_t *srv;
dig_lookup_t *lookup;
int c;
int i, c, n, adrs[4];
char store[MXNAME];
isc_textregion_t tr;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t result;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
isc_uint32_t serial = 0;
UNUSED(is_batchfile);
lookup = make_empty_lookup();
lookup->servfail_stops = ISC_FALSE;
lookup->comments = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
while ((c = isc_commandline_parse(argc, argv, "lvwrdt:c:aTCN:R:W:Dn"))
!= EOF) {
switch (c) {
case 'l':
lookup->tcp_mode = ISC_TRUE;
lookup->rdtype = dns_rdatatype_axfr;
lookup->rdtypeset = ISC_TRUE;
fatalexit = 3;
break;
case 'v':
case 'd':
@@ -676,52 +568,16 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
lookup->recurse = ISC_FALSE;
break;
case 't':
if (strncasecmp(isc_commandline_argument,
"ixfr=", 5) == 0) {
rdtype = dns_rdatatype_ixfr;
/* XXXMPA add error checking */
serial = strtoul(isc_commandline_argument + 5,
NULL, 10);
result = ISC_R_SUCCESS;
} else {
tr.base = isc_commandline_argument;
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
tr.base = isc_commandline_argument;
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
}
if (result != ISC_R_SUCCESS) {
fatalexit = 2;
fatal("invalid type: %s\n",
isc_commandline_argument);
}
if (!lookup->rdtypeset ||
lookup->rdtype != dns_rdatatype_axfr)
if (result != ISC_R_SUCCESS)
fprintf (stderr,"Warning: invalid type: %s\n",
isc_commandline_argument);
else
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
#ifdef WITH_IDN
idnoptions = 0;
#endif
if (rdtype == dns_rdatatype_axfr) {
/* -l -t any -v */
list_type = dns_rdatatype_any;
short_form = ISC_FALSE;
lookup->tcp_mode = ISC_TRUE;
} else if (rdtype == dns_rdatatype_ixfr) {
lookup->ixfr_serial = serial;
lookup->tcp_mode = ISC_TRUE;
list_type = rdtype;
#ifdef WITH_IDN
} else if (rdtype == dns_rdatatype_a ||
rdtype == dns_rdatatype_aaaa ||
rdtype == dns_rdatatype_mx) {
idnoptions = IDN_ASCCHECK;
list_type = rdtype;
#endif
} else
list_type = rdtype;
list_addresses = ISC_FALSE;
default_lookups = ISC_FALSE;
break;
case 'c':
tr.base = isc_commandline_argument;
@@ -729,34 +585,18 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
result = dns_rdataclass_fromtext(&rdclass,
(isc_textregion_t *)&tr);
if (result != ISC_R_SUCCESS) {
fatalexit = 2;
fatal("invalid class: %s\n",
isc_commandline_argument);
} else {
if (result != ISC_R_SUCCESS)
fprintf (stderr,"Warning: invalid class: %s\n",
isc_commandline_argument);
else
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
}
default_lookups = ISC_FALSE;
break;
case 'a':
if (!lookup->rdtypeset ||
lookup->rdtype != dns_rdatatype_axfr)
lookup->rdtype = dns_rdatatype_any;
list_type = dns_rdatatype_any;
list_addresses = ISC_FALSE;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtype = dns_rdatatype_any;
short_form = ISC_FALSE;
default_lookups = ISC_FALSE;
break;
case 'i':
lookup->ip6_int = ISC_TRUE;
break;
case 'n':
/* deprecated */
break;
case 'm':
/* Handled by pre_parse_args(). */
lookup->nibble = ISC_TRUE;
break;
case 'w':
/*
@@ -771,23 +611,19 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
timeout = 1;
break;
case 'R':
tries = atoi(isc_commandline_argument) + 1;
if (tries < 2)
tries = 2;
tries = atoi(isc_commandline_argument);
if (tries < 1)
tries = 1;
break;
case 'T':
lookup->tcp_mode = ISC_TRUE;
break;
case 'C':
debug("showing all SOAs");
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
lookup->rdtype = dns_rdatatype_soa;
lookup->rdclass = dns_rdataclass_in;
lookup->rdclassset = ISC_TRUE;
lookup->ns_search_only = ISC_TRUE;
lookup->trace_root = ISC_TRUE;
lookup->identify_previous_line = ISC_TRUE;
default_lookups = ISC_FALSE;
break;
case 'N':
debug("setting NDOTS to %s",
@@ -797,75 +633,78 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
case 'D':
debugging = ISC_TRUE;
break;
case '4':
if (have_ipv4) {
isc_net_disableipv6();
have_ipv6 = ISC_FALSE;
} else
fatal("can't find IPv4 networking");
break;
case '6':
if (have_ipv6) {
isc_net_disableipv4();
have_ipv4 = ISC_FALSE;
} else
fatal("can't find IPv6 networking");
break;
case 's':
lookup->servfail_stops = ISC_TRUE;
break;
}
}
lookup->retries = tries;
if (isc_commandline_index >= argc)
if (isc_commandline_index >= argc) {
show_usage();
}
strncpy(hostname, argv[isc_commandline_index], sizeof(hostname));
hostname[sizeof(hostname)-1]=0;
if (argc > isc_commandline_index + 1) {
set_nameserver(argv[isc_commandline_index+1]);
debug("server is %s", argv[isc_commandline_index+1]);
srv = make_server(argv[isc_commandline_index+1]);
debug("server is %s", srv->servername);
ISC_LIST_APPEND(server_list, srv, link);
listed_server = ISC_TRUE;
} else
check_ra = ISC_TRUE;
}
lookup->pending = ISC_FALSE;
if (get_reverse(store, sizeof(store), hostname,
lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS) {
strncpy(lookup->textname, store, sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
if (strspn(hostname, "0123456789.") == strlen(hostname)) {
lookup->textname[0] = 0;
n = sscanf(hostname, "%d.%d.%d.%d", &adrs[0], &adrs[1],
&adrs[2], &adrs[3]);
if (n == 0) {
show_usage();
}
for (i = n - 1; i >= 0; i--) {
snprintf(store, MXNAME/8, "%d.",
adrs[i]);
strncat(lookup->textname, store, MXNAME);
}
strncat(lookup->textname, "in-addr.arpa.", MXNAME);
lookup->rdtype = dns_rdatatype_ptr;
} else if (strspn(hostname, "0123456789abcdef.:") == strlen(hostname))
{
isc_netaddr_t addr;
dns_fixedname_t fname;
isc_buffer_t b;
addr.family = AF_INET6;
n = inet_pton(AF_INET6, hostname, &addr.type.in6);
if (n <= 0)
goto notv6;
dns_fixedname_init(&fname);
result = dns_byaddr_createptrname(&addr, lookup->nibble,
dns_fixedname_name(&fname));
if (result != ISC_R_SUCCESS)
show_usage();
isc_buffer_init(&b, lookup->textname, sizeof lookup->textname);
result = dns_name_totext(dns_fixedname_name(&fname),
ISC_FALSE, &b);
isc_buffer_putuint8(&b, 0);
if (result != ISC_R_SUCCESS)
show_usage();
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
default_lookups = ISC_FALSE;
} else {
notv6:
strncpy(lookup->textname, hostname, sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1]=0;
usesearch = ISC_TRUE;
}
lookup->new_search = ISC_TRUE;
ISC_LIST_APPEND(lookup_list, lookup, link);
usesearch = ISC_TRUE;
}
int
main(int argc, char **argv) {
isc_result_t result;
tries = 2;
ISC_LIST_INIT(lookup_list);
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
fatalexit = 1;
#ifdef WITH_IDN
idnoptions = IDN_ASCCHECK;
#endif
debug("main()");
progname = argv[0];
pre_parse_args(argc, argv);
result = isc_app_start();
check_result(result, "isc_app_start");
setup_libs();
@@ -877,5 +716,6 @@ main(int argc, char **argv) {
cancel_all();
destroy_libs();
isc_app_finish();
return ((seen_error == 0) ? 0 : 1);
return (0);
}

View File

@@ -1,35 +1,30 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and 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.
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM 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: dig.h,v 1.111 2009/09/29 15:06:06 fdupont Exp $ */
/* $Id: dig.h,v 1.25.2.5 2000/10/06 19:08:08 mws Exp $ */
#ifndef DIG_H
#define DIG_H
/*! \file */
#include <dns/rdatalist.h>
#include <dst/dst.h>
#include <isc/boolean.h>
#include <isc/buffer.h>
#include <isc/bufferlist.h>
#include <isc/formatcheck.h>
#include <isc/lang.h>
#include <isc/list.h>
#include <isc/mem.h>
@@ -37,87 +32,62 @@
#include <isc/sockaddr.h>
#include <isc/socket.h>
#define MXSERV 20
#define MXNAME (DNS_NAME_MAXTEXT+1)
#define MXSERV 6
#define MXNAME (1024)
#define MXRD 32
/*% Buffer Size */
#define BUFSIZE 512
#define COMMSIZE 0xffff
#ifndef RESOLV_CONF
/*% location of resolve.conf */
#define RESOLV_CONF "/etc/resolv.conf"
#endif
/*% output buffer */
#define RESOLVCONF "/etc/resolv.conf"
#define OUTPUTBUF 32767
/*% Max RR Limit */
#define MAXRRLIMIT 0xffffffff
#define MAXTIMEOUT 0xffff
/*% Max number of tries */
#define MAXTRIES 0xffffffff
/*% Max number of dots */
#define MAXNDOTS 0xffff
/*% Max number of ports */
#define MAXPORT 0xffff
/*% Max serial number */
#define MAXSERIAL 0xffffffff
/*% Default TCP Timeout */
/*
* Default timeout values
*/
#define TCP_TIMEOUT 10
/*% Default UDP Timeout */
#define UDP_TIMEOUT 5
#define SERVER_TIMEOUT 1
#define LOOKUP_LIMIT 64
/*%
/*
* Lookup_limit is just a limiter, keeping too many lookups from being
* created. It's job is mainly to prevent the program from running away
* in a tight loop of constant lookups. It's value is arbitrary.
*/
#define ROOTNS 1
/*
* Defaults for the sigchase suboptions. Consolidated here because
* these control the layout of dig_lookup_t (among other things).
* Set the number of root servers to ask for information when running in
* trace mode.
* XXXMWS -- trace mode is currently semi-broken, and this number *MUST*
* be 1.
*/
#ifdef DIG_SIGCHASE
#ifndef DIG_SIGCHASE_BU
#define DIG_SIGCHASE_BU 1
#endif
#ifndef DIG_SIGCHASE_TD
#define DIG_SIGCHASE_TD 1
#endif
#endif
ISC_LANG_BEGINDECLS
typedef struct dig_lookup dig_lookup_t;
typedef struct dig_query dig_query_t;
typedef struct dig_server dig_server_t;
#ifdef DIG_SIGCHASE
typedef struct dig_message dig_message_t;
#endif
typedef ISC_LIST(dig_server_t) dig_serverlist_t;
typedef struct dig_searchlist dig_searchlist_t;
/*% The dig_lookup structure */
struct dig_lookup {
isc_boolean_t
pending, /*%< Pending a successful answer */
pending, /* Pending a successful answer */
waiting_connect,
doing_xfr,
ns_search_only, /*%< dig +nssearch, host -C */
identify, /*%< Append an "on server <foo>" message */
identify_previous_line, /*% Prepend a "Nameserver <foo>:"
message, with newline and tab */
ns_search_only,
identify,
ignore,
recurse,
aaonly,
adflag,
cdflag,
trace, /*% dig +trace */
trace_root, /*% initial query for either +trace or +nssearch */
trace,
trace_root,
defname,
tcp_mode,
ip6_int,
nibble,
comments,
stats,
section_question,
@@ -125,41 +95,16 @@ struct dig_lookup {
section_authority,
section_additional,
servfail_stops,
new_search,
need_search,
done_as_is,
besteffort,
dnssec,
nsid; /*% Name Server ID (RFC 5001) */
#ifdef DIG_SIGCHASE
isc_boolean_t sigchase;
#if DIG_SIGCHASE_TD
isc_boolean_t do_topdown,
trace_root_sigchase,
rdtype_sigchaseset,
rdclass_sigchaseset;
/* Name we are going to validate RRset */
char textnamesigchase[MXNAME];
#endif
#endif
char textname[MXNAME]; /*% Name we're going to be looking up */
new_search;
char textname[MXNAME]; /* Name we're going to be looking up */
char cmdline[MXNAME];
dns_rdatatype_t rdtype;
dns_rdatatype_t qrdtype;
#if DIG_SIGCHASE_TD
dns_rdatatype_t rdtype_sigchase;
dns_rdatatype_t qrdtype_sigchase;
dns_rdataclass_t rdclass_sigchase;
#endif
dns_rdataclass_t rdclass;
isc_boolean_t rdtypeset;
isc_boolean_t rdclassset;
char namespace[BUFSIZE];
char onamespace[BUFSIZE];
isc_buffer_t namebuf;
isc_buffer_t onamebuf;
isc_buffer_t renderbuf;
isc_buffer_t sendbuf;
char *sendspace;
dns_name_t *name;
isc_timer_t *timer;
@@ -172,37 +117,30 @@ isc_boolean_t sigchase;
dig_serverlist_t my_server_list;
dig_searchlist_t *origin;
dig_query_t *xfr_q;
isc_uint32_t retries;
int retries;
int nsfound;
isc_uint16_t udpsize;
isc_int16_t edns;
isc_uint32_t ixfr_serial;
isc_buffer_t rdatabuf;
char rdatastore[MXNAME];
dst_context_t *tsigctx;
isc_buffer_t *querysig;
isc_uint32_t msgcounter;
dns_fixedname_t fdomain;
};
/*% The dig_query structure */
struct dig_query {
dig_lookup_t *lookup;
isc_boolean_t waiting_connect,
pending_free,
waiting_senddone,
first_pass,
first_soa_rcvd,
second_rr_rcvd,
first_repeat_rcvd,
recv_made,
warn_id;
recv_made;
isc_uint32_t first_rr_serial;
isc_uint32_t second_rr_serial;
isc_uint32_t msg_count;
isc_uint32_t rr_count;
isc_uint32_t name_count;
char *servname;
char *userarg;
isc_bufferlist_t sendlist,
recvlist,
lengthlist;
@@ -216,13 +154,10 @@ struct dig_query {
ISC_LINK(dig_query_t) link;
isc_sockaddr_t sockaddr;
isc_time_t time_sent;
isc_uint64_t byte_count;
isc_buffer_t sendbuf;
};
struct dig_server {
char servername[MXNAME];
char userarg[MXNAME];
ISC_LINK(dig_server_t) link;
};
@@ -230,74 +165,18 @@ struct dig_searchlist {
char origin[MXNAME];
ISC_LINK(dig_searchlist_t) link;
};
#ifdef DIG_SIGCHASE
struct dig_message {
dns_message_t *msg;
ISC_LINK(dig_message_t) link;
};
#endif
typedef ISC_LIST(dig_searchlist_t) dig_searchlistlist_t;
typedef ISC_LIST(dig_lookup_t) dig_lookuplist_t;
/*
* Externals from dighost.c
*/
extern dig_lookuplist_t lookup_list;
extern dig_serverlist_t server_list;
extern dig_searchlistlist_t search_list;
extern unsigned int extrabytes;
extern isc_boolean_t check_ra, have_ipv4, have_ipv6, specified_source,
usesearch, showsearch, qr;
extern in_port_t port;
extern unsigned int timeout;
extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern int sendcount;
extern int ndots;
extern int lookup_counter;
extern int exitcode;
extern isc_sockaddr_t bind_address;
extern char keynametext[MXNAME];
extern char keyfile[MXNAME];
extern char keysecret[MXNAME];
extern dns_name_t *hmacname;
extern unsigned int digestbits;
#ifdef DIG_SIGCHASE
extern char trustedkey[MXNAME];
#endif
extern dns_tsigkey_t *key;
extern isc_boolean_t validated;
extern isc_taskmgr_t *taskmgr;
extern isc_task_t *global_task;
extern isc_boolean_t free_now;
extern isc_boolean_t debugging, memdebugging;
extern char *progname;
extern int tries;
extern int fatalexit;
#ifdef WITH_IDN
extern int idnoptions;
#endif
/*
* Routines in dighost.c.
*/
isc_result_t
void
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
isc_boolean_t strict);
ISC_PLATFORM_NORETURN_PRE void
fatal(const char *format, ...)
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
void
fatal(const char *format, ...);
void
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
debug(const char *format, ...);
void
check_result(isc_result_t result, const char *msg);
@@ -305,9 +184,6 @@ check_result(isc_result_t result, const char *msg);
void
setup_lookup(dig_lookup_t *lookup);
void
destroy_lookup(dig_lookup_t *lookup);
void
do_lookup(dig_lookup_t *lookup);
@@ -326,13 +202,6 @@ setup_libs(void);
void
setup_system(void);
isc_result_t
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
const char *desc);
void
parse_hmac(const char *hmacstr);
dig_lookup_t *
requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
@@ -343,13 +212,7 @@ dig_lookup_t *
clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
dig_server_t *
make_server(const char *servname, const char *userarg);
void
flush_server_list(void);
void
set_nameserver(char *opt);
make_server(const char *servname);
void
clone_server_list(dig_serverlist_t src,
@@ -361,39 +224,17 @@ cancel_all(void);
void
destroy_libs(void);
void
set_search_domain(char *domain);
#ifdef DIG_SIGCHASE
void
clean_trustedkey(void);
#endif
/*
* Routines to be defined in dig.c, host.c, and nslookup.c.
* Routines needed in dig.c and host.c.
*/
#ifdef DIG_SIGCHASE
isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target);
#endif
isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers);
/*%<
* Print the final result of the lookup.
*/
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query);
/*%<
* Print a message about where and when the response
* was received from, like the final comment in the
* output of "dig".
*/
received(int bytes, int frmsize, char *frm, dig_query_t *query);
void
trying(char *frm, dig_lookup_t *lookup);
trying(int frmsize, char *frm, dig_lookup_t *lookup);
void
dighost_shutdown(void);
@@ -401,14 +242,6 @@ dighost_shutdown(void);
char *
next_token(char **stringp, const char *delim);
#ifdef DIG_SIGCHASE
/* Chasing functions */
dns_rdataset_t *
chase_scanname(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers);
void
chase_sig(dns_message_t *msg);
#endif
ISC_LANG_ENDDECLS
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,5 @@
Makefile
dnssec-dsfromkey
dnssec-keyfromlabel
dnssec-keygen
dnssec-makekeyset
dnssec-revoke
dnssec-settime
dnssec-signkey
dnssec-signzone
*.lo
.libs

View File

@@ -1,36 +1,33 @@
# Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Copyright (C) 2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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: Makefile.in,v 1.42 2009/12/05 23:31:40 each Exp $
# $Id: Makefile.in,v 1.7 2000/06/22 21:49:01 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\" @USE_PKCS11@
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
@@ -39,70 +36,39 @@ DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
NOSYMLIBS = ${DNSLIBS} ${ISCNOSYMLIBS} @LIBS@
# Alphabetically
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@ \
dnssec-keyfromlabel@EXEEXT@ dnssec-dsfromkey@EXEEXT@ \
dnssec-revoke@EXEEXT@ dnssec-settime@EXEEXT@
TARGETS = dnssec-keygen \
dnssec-makekeyset \
dnssec-signkey \
dnssec-signzone
OBJS = dnssectool.@O@
SRCS = dnssec-dsfromkey.c dnssec-keyfromlabel.c dnssec-keygen.c \
dnssec-revoke.c dnssec-settime.c dnssec-signzone.c dnssectool.c
MANPAGES = dnssec-dsfromkey.8 dnssec-keyfromlabel.8 dnssec-keygen.8 \
dnssec-revoke.8 dnssec-settime.8 dnssec-signzone.8
HTMLPAGES = dnssec-dsfromkey.html dnssec-keyfromlabel.html \
dnssec-keygen.html dnssec-revoke.html \
dnssec-settime.html dnssec-signzone.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
SRCS = dnssec-keygen.c dnssec-makekeyset.c \
dnssec-signkey.c dnssec-signzone.c \
dnssectool.c
@BIND9_MAKE_RULES@
dnssec-dsfromkey@EXEEXT@: dnssec-dsfromkey.@O@ ${OBJS} ${DEPLIBS}
export BASEOBJS="dnssec-dsfromkey.@O@ ${OBJS}"; \
${FINALBUILDCMD}
dnssec-keygen: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ dnssec-keygen.@O@ ${OBJS} ${LIBS}
dnssec-keyfromlabel@EXEEXT@: dnssec-keyfromlabel.@O@ ${OBJS} ${DEPLIBS}
export BASEOBJS="dnssec-keyfromlabel.@O@ ${OBJS}"; \
${FINALBUILDCMD}
dnssec-makekeyset: dnssec-makekeyset.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ dnssec-makekeyset.@O@ ${OBJS} ${LIBS}
dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
export BASEOBJS="dnssec-keygen.@O@ ${OBJS}"; \
${FINALBUILDCMD}
dnssec-signkey: dnssec-signkey.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ dnssec-signkey.@O@ ${OBJS} ${LIBS}
dnssec-signzone.@O@: dnssec-signzone.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
-c ${srcdir}/dnssec-signzone.c
dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
export BASEOBJS="dnssec-signzone.@O@ ${OBJS}"; \
${FINALBUILDCMD}
dnssec-revoke@EXEEXT@: dnssec-revoke.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-revoke.@O@ ${OBJS} ${LIBS}
dnssec-settime@EXEEXT@: dnssec-settime.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-settime.@O@ ${OBJS} ${LIBS}
doc man:: ${MANOBJS}
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: ${TARGETS} installdirs
for t in ${TARGETS}; do ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} $$t ${DESTDIR}${sbindir}; done
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
dnssec-signzone: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ dnssec-signzone.@O@ ${OBJS} ${LIBS}
clean distclean::
rm -f ${TARGETS}
installdirs:
if [ ! -d ${DESTDIR}${sbindir} ]; then \
mkdir ${DESTDIR}${sbindir}; \
fi
install:: ${TARGSTS} installdirs
${LIBTOOL} ${INSTALL_PROGRAM} ${TARGETS} ${DESTDIR}${sbindir}

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2008, 2009 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.12 2010/05/19 01:14:14 tbox Exp $
.\" $Id: dnssec-dsfromkey.8,v 1.15 2011/10/26 01:14:51 tbox Exp $
.\"
.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
@@ -55,7 +55,12 @@ Use SHA\-256 as the digest algorithm.
.RS 4
Select the digest algorithm. The value of
\fBalgorithm\fR
must be one of SHA\-1 (SHA1) or SHA\-256 (SHA256). These values are case insensitive.
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
@@ -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, 2009 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC")
.br

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.18 2010/01/11 23:48:37 tbox 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
@@ -299,12 +327,13 @@ usage(void) {
fprintf(stderr, " -K <directory>: directory in which to find "
"key file or keyset file\n");
fprintf(stderr, " -a algorithm: digest algorithm "
"(SHA-1 or SHA-256)\n");
"(SHA-1, SHA-256 or GOST)\n");
fprintf(stderr, " -1: use SHA-1\n");
fprintf(stderr, " -2: use SHA-256\n");
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')
@@ -414,6 +446,10 @@ main(int argc, char **argv) {
else if (strcasecmp(algname, "SHA256") == 0 ||
strcasecmp(algname, "SHA-256") == 0)
dtype = DNS_DSDIGEST_SHA256;
#ifdef HAVE_OPENSSL_GOST
else if (strcasecmp(algname, "GOST") == 0)
dtype = DNS_DSDIGEST_GOST;
#endif
else
fatal("unknown algorithm %s", algname);
}
@@ -462,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",

View File

@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2008, 2009 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.10 2009/08/26 21:56:05 jreed 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>
@@ -38,6 +38,8 @@
<copyright>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -50,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>
@@ -62,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>
@@ -105,12 +109,21 @@
<listitem>
<para>
Select the digest algorithm. The value of
<option>algorithm</option> must be one of SHA-1 (SHA1) or
SHA-256 (SHA256). These values are case insensitive.
<option>algorithm</option> must be one of SHA-1 (SHA1),
SHA-256 (SHA256) or GOST. These values are case insensitive.
</para>
</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>
@@ -131,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>

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2008, 2009 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.12 2010/05/19 01:14:14 tbox Exp $ -->
<!-- $Id: dnssec-dsfromkey.html,v 1.15 2011/10/26 01:14:50 tbox Exp $ -->
<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="id2543461"></a><h2>DESCRIPTION</h2>
<a name="id2543484"></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="id2543473"></a><h2>OPTIONS</h2>
<a name="id2543496"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-1</span></dt>
<dd><p>
@@ -53,8 +53,12 @@
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd><p>
Select the digest algorithm. The value of
<code class="option">algorithm</code> must be one of SHA-1 (SHA1) or
SHA-256 (SHA256). These values are case insensitive.
<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>
@@ -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="id2543659"></a><h2>EXAMPLE</h2>
<a name="id2543722"></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="id2543689"></a><h2>FILES</h2>
<a name="id2543752"></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="id2543724"></a><h2>CAVEAT</h2>
<a name="id2543787"></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="id2543734"></a><h2>SEE ALSO</h2>
<a name="id2543797"></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="id2543773"></a><h2>AUTHOR</h2>
<a name="id2543836"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

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-keyfromlabel.8,v 1.17 2010/01/20 01:14:19 tbox Exp $
.\" $Id: dnssec-keyfromlabel.8,v 1.20 2011/03/18 01:14:33 tbox Exp $
.\"
.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
@@ -47,7 +47,7 @@ of the key is specified on the command line. This must match the name of the zon
.RS 4
Selects the cryptographic algorithm. The value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512. These values are case insensitive.
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. These values are case insensitive.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\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.
@@ -162,7 +171,7 @@ Sets the date on which the key is to be activated. After that date, the key will
Sets the date on which the key is to be revoked. After that date, the key will be flagged as revoked. It will be included in the zone and will be used to sign it.
.RE
.PP
\-U \fIdate/offset\fR
\-I \fIdate/offset\fR
.RS 4
Sets the date on which the key is to be retired. After that date, the key will still be included in the zone, but it will not be used to sign it.
.RE
@@ -215,5 +224,5 @@ RFC 4034.
.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

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.31 2010/01/19 23:48:55 tbox Exp $ */
/* $Id: dnssec-keyfromlabel.c,v 1.38 2011/11/30 00:48:51 marka Exp $ */
/*! \file */
@@ -55,7 +55,7 @@ int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
" NSEC3DSA | NSEC3RSASHA1 |"
" RSASHA256 | RSASHA512";
" RSASHA256 | RSASHA512 | ECCGOST";
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
@@ -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);
@@ -364,7 +377,8 @@ main(int argc, char **argv) {
if (use_nsec3 &&
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512) {
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512 &&
alg != DST_ALG_ECCGOST) {
fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname);
}
@@ -508,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);
@@ -541,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);
@@ -553,5 +576,8 @@ main(int argc, char **argv) {
isc_mem_free(mctx, label);
isc_mem_destroy(&mctx);
if (freeit != NULL)
free(freeit);
return (0);
}

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-keyfromlabel.docbook,v 1.17 2010/01/19 23:48:55 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>
@@ -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>
@@ -58,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>
@@ -93,7 +95,7 @@
<para>
Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
These values are case insensitive.
</para>
<para>
@@ -233,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>
@@ -333,7 +349,7 @@
</varlistentry>
<varlistentry>
<term>-U <replaceable class="parameter">date/offset</replaceable></term>
<term>-I <replaceable class="parameter">date/offset</replaceable></term>
<listitem>
<para>
Sets the date on which the key is to be retired. After that

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-keyfromlabel.html,v 1.16 2010/01/20 01:14:19 tbox Exp $ -->
<!-- $Id: dnssec-keyfromlabel.html,v 1.19 2011/03/18 01:14:33 tbox Exp $ -->
<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="id2543491"></a><h2>DESCRIPTION</h2>
<a name="id2543502"></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,14 +44,14 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543509"></a><h2>OPTIONS</h2>
<a name="id2543521"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
These values are case insensitive.
</p>
<p>
@@ -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="id2543873"></a><h2>TIMING OPTIONS</h2>
<a name="id2543976"></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
@@ -195,7 +204,7 @@
date, the key will be flagged as revoked. It will be included
in the zone and will be used to sign it.
</p></dd>
<dt><span class="term">-U <em class="replaceable"><code>date/offset</code></em></span></dt>
<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be retired. After that
date, the key will still be included in the zone, but it
@@ -210,7 +219,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544039"></a><h2>GENERATED KEY FILES</h2>
<a name="id2544074"></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="id2544112"></a><h2>SEE ALSO</h2>
<a name="id2544147"></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="id2544145"></a><h2>AUTHOR</h2>
<a name="id2544180"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007-2009 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.53 2009/11/03 21:58:30 tbox Exp $
.\" $Id: dnssec-keygen.8,v 1.56 2011/03/18 01:14:33 tbox Exp $
.\"
.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\-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\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
@@ -48,7 +48,7 @@ of the key is specified on the command line. For DNSSEC keys, this must match th
.RS 4
Selects the cryptographic algorithm. For DNSSEC keys, the value of
\fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
.sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR
@@ -81,7 +81,7 @@ must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a
.PP
\-3
.RS 4
Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256 and RSASHA512 algorithms are NSEC3\-capable.
Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms are NSEC3\-capable.
.RE
.PP
\-C
@@ -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.
@@ -164,6 +173,11 @@ specifies the name of a character device or file containing random data to be us
indicates that keyboard input should be used.
.RE
.PP
\-S \fIkey\fR
.RS 4
Create a new key which is an explicit successor to an existing key. The name, algorithm, size, and type of the key will be set to match the existing key. The activation date of the new key will be set to the inactivation date of the existing one. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days.
.RE
.PP
\-s \fIstrength\fR
.RS 4
Specifies the strength value of the key. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC.
@@ -216,6 +230,15 @@ Sets the date on which the key is to be retired. After that date, the key will s
.RS 4
Sets the date on which the key is to be deleted. After that date, the key will no longer be included in the zone. (It may remain in the key repository, however.)
.RE
.PP
\-i \fIinterval\fR
.RS 4
Sets the prepublication interval for a key. If set, then the publication and activation dates must be separated by at least this much time. If the activation date is specified but the publication date isn't, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn't, then activation will be set to this much time after publication.
.sp
If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero.
.sp
As with date offsets, if the argument is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is measured in years, months, weeks, days, hours, or minutes, respectively. Without a suffix, the interval is measured in seconds.
.RE
.SH "GENERATED KEYS"
.PP
When
@@ -284,7 +307,7 @@ RFC 4034.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007\-2009 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

File diff suppressed because it is too large Load Diff

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-2009 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.33 2009/11/03 21:44:46 each 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>
@@ -42,6 +42,8 @@
<year>2007</year>
<year>2008</year>
<year>2009</year>
<year>2010</year>
<year>2011</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -71,13 +73,16 @@
<arg><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
<arg><option>-h</option></arg>
<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>
<arg><option>-q</option></arg>
<arg><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-S <replaceable class="parameter">key</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">strength</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
@@ -111,7 +116,7 @@
<para>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -181,7 +186,7 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256 and RSASHA512 algorithms
default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms
are NSEC3-capable.
</para>
</listitem>
@@ -293,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>
@@ -341,6 +360,21 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-S <replaceable class="parameter">key</replaceable></term>
<listitem>
<para>
Create a new key which is an explicit successor to an
existing key. The name, algorithm, size, and type of the
key will be set to match the existing key. The activation
date of the new key will be set to the inactivation date of
the existing one. The publication date will be set to the
activation date minus the prepublication interval, which
defaults to 30 days.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">strength</replaceable></term>
<listitem>
@@ -463,6 +497,34 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">interval</replaceable></term>
<listitem>
<para>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
publication date isn't, then the publication date will default
to this much time before the activation date; conversely, if
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</para>
<para>
If the key is being created as an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</para>
<para>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007-2009 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.45 2009/11/03 21:58:30 tbox Exp $ -->
<!-- $Id: dnssec-keygen.html,v 1.48 2011/03/18 01:14:33 tbox Exp $ -->
<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">-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>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="id2543558"></a><h2>DESCRIPTION</h2>
<a name="id2543590"></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,14 +46,14 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543576"></a><h2>OPTIONS</h2>
<a name="id2543608"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256 or RSASHA512.
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST.
For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@@ -111,7 +111,7 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256 and RSASHA512 algorithms
default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms
are NSEC3-capable.
</p></dd>
<dt><span class="term">-C</span></dt>
@@ -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
@@ -203,6 +212,16 @@
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
</p></dd>
<dt><span class="term">-S <em class="replaceable"><code>key</code></em></span></dt>
<dd><p>
Create a new key which is an explicit successor to an
existing key. The name, algorithm, size, and type of the
key will be set to match the existing key. The activation
date of the new key will be set to the inactivation date of
the existing one. The publication date will be set to the
activation date minus the prepublication interval, which
defaults to 30 days.
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>strength</code></em></span></dt>
<dd><p>
Specifies the strength value of the key. The strength is
@@ -238,7 +257,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544128"></a><h2>TIMING OPTIONS</h2>
<a name="id2544200"></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
@@ -282,10 +301,34 @@
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
</p></dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
<p>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
publication date isn't, then the publication date will default
to this much time before the activation date; conversely, if
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</p>
<p>
If the key is being created as an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</p>
<p>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</p>
</dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544226"></a><h2>GENERATED KEYS</h2>
<a name="id2544390"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -331,7 +374,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544308"></a><h2>EXAMPLE</h2>
<a name="id2544540"></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
@@ -352,7 +395,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544352"></a><h2>SEE ALSO</h2>
<a name="id2544584"></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>,
@@ -361,7 +404,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544451"></a><h2>AUTHOR</h2>
<a name="id2544615"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

View File

@@ -0,0 +1,424 @@
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE CONSORTIUM OR NETWORK
* ASSOCIATES 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: dnssec-makekeyset.c,v 1.28.2.2 2000/08/15 01:20:32 gson Exp $ */
#include <config.h>
#include <stdlib.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/mem.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/db.h>
#include <dns/dnssec.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/rdata.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/result.h>
#include <dns/secalg.h>
#include <dns/time.h>
#include <dst/dst.h>
#include "dnssectool.h"
#define BUFSIZE 2048
const char *program = "dnssec-makekeyset";
int verbose;
typedef struct keynode keynode_t;
struct keynode {
dst_key_t *key;
ISC_LINK(keynode_t) link;
};
typedef ISC_LIST(keynode_t) keylist_t;
static isc_stdtime_t starttime = 0, endtime = 0, now;
static int ttl = -1;
static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL;
static keylist_t keylist;
static isc_stdtime_t
strtotime(char *str, isc_int64_t now, isc_int64_t base) {
isc_int64_t val, offset;
isc_result_t result;
char *endp;
if (str[0] == '+') {
offset = strtol(str + 1, &endp, 0);
if (*endp != '\0')
fatal("time value %s is invalid", str);
val = base + offset;
} else if (strncmp(str, "now+", 4) == 0) {
offset = strtol(str + 4, &endp, 0);
if (*endp != '\0')
fatal("time value %s is invalid", str);
val = now + offset;
} else {
result = dns_time64_fromtext(str, &val);
if (result != ISC_R_SUCCESS)
fatal("time %s must be numeric", str);
}
return ((isc_stdtime_t) val);
}
static void
usage(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, "\t%s [options] keys\n", program);
fprintf(stderr, "\n");
fprintf(stderr, "Options: (default value in parenthesis) \n");
fprintf(stderr, "\t-s YYYYMMDDHHMMSS|+offset:\n");
fprintf(stderr, "\t\tSIG start time - absolute|offset (now)\n");
fprintf(stderr, "\t-e YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n");
fprintf(stderr, "\t\tSIG end time - "
"absolute|from start|from now (now + 30 days)\n");
fprintf(stderr, "\t-t ttl\n");
fprintf(stderr, "\t-r randomdev:\n");
fprintf(stderr, "\t\ta file containing random data\n");
fprintf(stderr, "\t-v level:\n");
fprintf(stderr, "\t\tverbose level (0)\n");
fprintf(stderr, "\n");
fprintf(stderr, "keys:\n");
fprintf(stderr, "\tkeyfile (Kname+alg+tag)\n");
exit(0);
}
int
main(int argc, char *argv[]) {
int i, ch;
char *startstr = NULL, *endstr = NULL;
char *randomfile = NULL;
dns_fixedname_t fdomain;
dns_name_t *domain = NULL;
char *output = NULL;
char *endp;
unsigned char *data;
dns_db_t *db;
dns_dbnode_t *node;
dns_dbversion_t *version;
dst_key_t *key = NULL;
dns_rdata_t *rdata;
dns_rdatalist_t rdatalist, sigrdatalist;
dns_rdataset_t rdataset, sigrdataset;
isc_result_t result;
isc_buffer_t b;
isc_region_t r;
isc_log_t *log = NULL;
keynode_t *keynode;
dns_name_t *savedname = NULL;
result = isc_mem_create(0, 0, &mctx);
if (result != ISC_R_SUCCESS)
fatal("failed to create memory context: %s",
isc_result_totext(result));
dns_result_register();
while ((ch = isc_commandline_parse(argc, argv, "s:e:t:r:v:h")) != -1)
{
switch (ch) {
case 's':
startstr = isc_mem_strdup(mctx,
isc_commandline_argument);
if (startstr == NULL)
fatal("out of memory");
break;
case 'e':
endstr = isc_mem_strdup(mctx,
isc_commandline_argument);
if (endstr == NULL)
fatal("out of memory");
break;
case 't':
endp = NULL;
ttl = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
fatal("TTL must be numeric");
break;
case 'r':
randomfile = isc_mem_strdup(mctx,
isc_commandline_argument);
if (randomfile == NULL)
fatal("out of memory");
break;
case 'v':
endp = NULL;
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
fatal("verbose level must be numeric");
break;
case 'h':
default:
usage();
}
}
argc -= isc_commandline_index;
argv += isc_commandline_index;
if (argc < 1)
usage();
setup_entropy(mctx, randomfile, &ectx);
if (randomfile != NULL)
isc_mem_free(mctx, randomfile);
result = dst_lib_init(mctx, ectx,
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst");
isc_stdtime_get(&now);
if (startstr != NULL) {
starttime = strtotime(startstr, now, now);
isc_mem_free(mctx, startstr);
}
else
starttime = now;
if (endstr != NULL) {
endtime = strtotime(endstr, now, starttime);
isc_mem_free(mctx, endstr);
}
else
endtime = starttime + (30 * 24 * 60 * 60);
if (ttl == -1) {
ttl = 3600;
fprintf(stderr, "%s: TTL not specified, assuming 3600\n",
program);
}
setup_logging(verbose, mctx, &log);
dns_rdatalist_init(&rdatalist);
rdatalist.rdclass = dns_rdataclass_in;
rdatalist.type = dns_rdatatype_key;
rdatalist.covers = 0;
rdatalist.ttl = ttl;
ISC_LIST_INIT(keylist);
for (i = 0; i < argc; i++) {
char namestr[1025];
key = NULL;
result = dst_key_fromnamedfile(argv[i], DST_TYPE_PUBLIC,
mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("error loading key from %s", argv[i]);
strncpy(namestr, nametostr(dst_key_name(key)),
sizeof(namestr) - 1);
namestr[sizeof(namestr) - 1] = 0;
if (savedname == NULL) {
savedname = isc_mem_get(mctx, sizeof(dns_name_t));
if (savedname == NULL)
fatal("out of memory");
dns_name_init(savedname, NULL);
result = dns_name_dup(dst_key_name(key), mctx,
savedname);
if (result != ISC_R_SUCCESS)
fatal("out of memory");
} else {
if (!dns_name_equal(savedname, dst_key_name(key)) != 0)
fatal("all keys must have the same owner - %s "
"and %s do not match",
nametostr(savedname), namestr);
}
if (output == NULL) {
output = isc_mem_allocate(mctx,
strlen(namestr) +
strlen("keyset") + 1);
if (output == NULL)
fatal("out of memory");
strcpy(output, namestr);
strcat(output, "keyset");
}
if (domain == NULL) {
dns_fixedname_init(&fdomain);
domain = dns_fixedname_name(&fdomain);
isc_buffer_init(&b, namestr, strlen(namestr));
isc_buffer_add(&b, strlen(namestr));
result = dns_name_fromtext(domain, &b, dns_rootname,
ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS)
fatal("%s is not a valid name: %s",
namestr, isc_result_totext(result));
}
if (dst_key_iszonekey(key)) {
dst_key_t *zonekey = NULL;
result = dst_key_fromnamedfile(argv[i],
DST_TYPE_PRIVATE,
mctx, &zonekey);
if (result != ISC_R_SUCCESS)
fatal("failed to read key %s: %s",
argv[i], isc_result_totext(result));
keynode = isc_mem_get(mctx, sizeof (keynode_t));
if (keynode == NULL)
fatal("out of memory");
keynode->key = zonekey;
ISC_LINK_INIT(keynode, link);
ISC_LIST_APPEND(keylist, keynode, link);
}
rdata = isc_mem_get(mctx, sizeof(dns_rdata_t));
if (rdata == NULL)
fatal("out of memory");
data = isc_mem_get(mctx, BUFSIZE);
if (data == NULL)
fatal("out of memory");
isc_buffer_init(&b, data, BUFSIZE);
result = dst_key_todns(key, &b);
if (result != ISC_R_SUCCESS)
fatal("failed to convert key %s to a DNS KEY: %s",
argv[i], isc_result_totext(result));
isc_buffer_usedregion(&b, &r);
dns_rdata_fromregion(rdata, dns_rdataclass_in,
dns_rdatatype_key, &r);
ISC_LIST_APPEND(rdatalist.rdata, rdata, link);
dst_key_free(&key);
}
dns_rdataset_init(&rdataset);
result = dns_rdatalist_tordataset(&rdatalist, &rdataset);
check_result(result, "dns_rdatalist_tordataset()");
dns_rdatalist_init(&sigrdatalist);
sigrdatalist.rdclass = dns_rdataclass_in;
sigrdatalist.type = dns_rdatatype_sig;
sigrdatalist.covers = dns_rdatatype_key;
sigrdatalist.ttl = ttl;
if (ISC_LIST_EMPTY(keylist))
fprintf(stderr,
"%s: no private zone key found; not self-signing\n",
program);
for (keynode = ISC_LIST_HEAD(keylist);
keynode != NULL;
keynode = ISC_LIST_NEXT(keynode, link))
{
rdata = isc_mem_get(mctx, sizeof(dns_rdata_t));
if (rdata == NULL)
fatal("out of memory");
data = isc_mem_get(mctx, BUFSIZE);
if (data == NULL)
fatal("out of memory");
isc_buffer_init(&b, data, BUFSIZE);
result = dns_dnssec_sign(domain, &rdataset, keynode->key,
&starttime, &endtime, mctx, &b,
rdata);
isc_entropy_stopcallbacksources(ectx);
if (result != ISC_R_SUCCESS)
fatal("failed to sign keyset with key %s/%s/%d: %s",
nametostr(dst_key_name(keynode->key)),
algtostr(dst_key_alg(keynode->key)),
dst_key_id(keynode->key),
isc_result_totext(result));
ISC_LIST_APPEND(sigrdatalist.rdata, rdata, link);
dns_rdataset_init(&sigrdataset);
result = dns_rdatalist_tordataset(&sigrdatalist, &sigrdataset);
check_result(result, "dns_rdatalist_tordataset()");
}
db = NULL;
result = dns_db_create(mctx, "rbt", domain, dns_dbtype_zone,
dns_rdataclass_in, 0, NULL, &db);
if (result != ISC_R_SUCCESS)
fatal("failed to create a database for %s", nametostr(domain));
version = NULL;
dns_db_newversion(db, &version);
node = NULL;
result = dns_db_findnode(db, domain, ISC_TRUE, &node);
check_result(result, "dns_db_findnode()");
dns_db_addrdataset(db, node, version, 0, &rdataset, 0, NULL);
if (!ISC_LIST_EMPTY(keylist))
dns_db_addrdataset(db, node, version, 0, &sigrdataset, 0,
NULL);
dns_db_detachnode(db, &node);
dns_db_closeversion(db, &version, ISC_TRUE);
result = dns_db_dump(db, version, output);
if (result != ISC_R_SUCCESS)
fatal("failed to write database for %s to %s",
nametostr(domain), output);
dns_db_detach(&db);
dns_rdataset_disassociate(&rdataset);
while (!ISC_LIST_EMPTY(rdatalist.rdata)) {
rdata = ISC_LIST_HEAD(rdatalist.rdata);
ISC_LIST_UNLINK(rdatalist.rdata, rdata, link);
isc_mem_put(mctx, rdata->data, BUFSIZE);
isc_mem_put(mctx, rdata, sizeof *rdata);
}
while (!ISC_LIST_EMPTY(sigrdatalist.rdata)) {
rdata = ISC_LIST_HEAD(sigrdatalist.rdata);
ISC_LIST_UNLINK(sigrdatalist.rdata, rdata, link);
isc_mem_put(mctx, rdata->data, BUFSIZE);
isc_mem_put(mctx, rdata, sizeof *rdata);
}
while (!ISC_LIST_EMPTY(keylist)) {
keynode = ISC_LIST_HEAD(keylist);
ISC_LIST_UNLINK(keylist, keynode, link);
dst_key_free(&keynode->key);
isc_mem_put(mctx, keynode, sizeof(keynode_t));
}
if (savedname != NULL) {
dns_name_free(savedname, mctx);
isc_mem_put(mctx, savedname, sizeof(dns_name_t));
}
if (log != NULL)
isc_log_destroy(&log);
cleanup_entropy(&ectx);
isc_mem_free(mctx, output);
dst_lib_destroy();
if (verbose > 10)
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
return (0);
}

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: dnssec-revoke.8,v 1.10 2011/10/21 01:14:50 tbox Exp $
.\"
.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

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)

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>

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: dnssec-revoke.html,v 1.10 2011/10/21 01:14:50 tbox Exp $ -->
<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="id2543381"></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="id2543393"></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="id2543511"></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="id2543536"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

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.13 2010/05/19 01:14:14 tbox Exp $
.\" $Id: dnssec-settime.8,v 1.17 2011/11/05 01:14:48 tbox Exp $
.\"
.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.
@@ -109,6 +118,20 @@ Sets the date on which the key is to be retired. After that date, the key will s
.RS 4
Sets the date on which the key is to be deleted. After that date, the key will no longer be included in the zone. (It may remain in the key repository, however.)
.RE
.PP
\-S \fIpredecessor key\fR
.RS 4
Select a key for which the key being modified will be an explicit successor. The name, algorithm, size, and type of the predecessor key must exactly match those of the key being modified. The activation date of the successor key will be set to the inactivation date of the predecessor. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days.
.RE
.PP
\-i \fIinterval\fR
.RS 4
Sets the prepublication interval for a key. If set, then the publication and activation dates must be separated by at least this much time. If the activation date is specified but the publication date isn't, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn't, then activation will be set to this much time after publication.
.sp
If the key is being set to be an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero.
.sp
As with date offsets, if the argument is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the interval is measured in years, months, weeks, days, hours, or minutes, respectively. Without a suffix, the interval is measured in seconds.
.RE
.SH "PRINTING OPTIONS"
.PP
\fBdnssec\-settime\fR
@@ -148,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

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.25 2010/02/03 01:02:37 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");
@@ -117,25 +117,33 @@ printtime(dst_key_t *key, int type, const char *tag, isc_boolean_t epoch,
int
main(int argc, char **argv) {
isc_result_t result;
isc_result_t result;
#ifdef USE_PKCS11
const char *engine = "pkcs11";
const char *engine = "pkcs11";
#else
const char *engine = NULL;
const char *engine = NULL;
#endif
char *filename = NULL, *directory = NULL;
char newname[1024];
char keystr[DST_KEY_FORMATSIZE];
char *endp, *p;
int ch;
isc_entropy_t *ectx = NULL;
dst_key_t *key = NULL;
isc_buffer_t buf;
char *filename = NULL, *directory = NULL;
char newname[1024];
char keystr[DST_KEY_FORMATSIZE];
char *endp, *p;
int ch;
isc_entropy_t *ectx = NULL;
const char *predecessor = NULL;
dst_key_t *prevkey = NULL;
dst_key_t *key = NULL;
isc_buffer_t buf;
dns_name_t *name = NULL;
dns_secalg_t alg = 0;
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;
@@ -159,8 +167,8 @@ main(int argc, char **argv) {
isc_stdtime_get(&now);
while ((ch = isc_commandline_parse(argc, argv,
"E:fK:uhp:v:P:A:R:I:D:")) != -1) {
#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':
engine = isc_commandline_argument;
@@ -223,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')
@@ -293,6 +308,12 @@ main(int argc, char **argv) {
now, now);
}
break;
case 'S':
predecessor = isc_commandline_argument;
break;
case 'i':
prepub = strtottl(isc_commandline_argument);
break;
case '?':
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
@@ -314,17 +335,6 @@ main(int argc, char **argv) {
if (argc > isc_commandline_index + 1)
fatal("Extraneous arguments");
if (directory != NULL) {
filename = argv[isc_commandline_index];
} else {
result = isc_file_splitpath(mctx, argv[isc_commandline_index],
&directory, &filename);
if (result != ISC_R_SUCCESS)
fatal("cannot process filename %s: %s",
argv[isc_commandline_index],
isc_result_totext(result));
}
if (ectx == NULL)
setup_entropy(mctx, NULL, &ectx);
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
@@ -337,6 +347,105 @@ main(int argc, char **argv) {
isc_result_totext(result));
isc_entropy_stopcallbacksources(ectx);
if (predecessor != NULL) {
char keystr[DST_KEY_FORMATSIZE];
isc_stdtime_t when;
int major, minor;
if (prepub == -1)
prepub = (30 * 86400);
if (setpub || unsetpub)
fatal("-S and -P cannot be used together");
if (setact || unsetact)
fatal("-S and -A cannot be used together");
result = dst_key_fromnamedfile(predecessor, directory,
DST_TYPE_PUBLIC |
DST_TYPE_PRIVATE,
mctx, &prevkey);
if (result != ISC_R_SUCCESS)
fatal("Invalid keyfile %s: %s",
filename, isc_result_totext(result));
if (!dst_key_isprivate(prevkey))
fatal("%s is not a private key", filename);
name = dst_key_name(prevkey);
alg = dst_key_alg(prevkey);
size = dst_key_size(prevkey);
flags = dst_key_flags(prevkey);
dst_key_format(prevkey, keystr, sizeof(keystr));
dst_key_getprivateformat(prevkey, &major, &minor);
if (major != DST_MAJOR_VERSION || minor < DST_MINOR_VERSION)
fatal("Predecessor has incompatible format "
"version %d.%d\n\t", major, minor);
result = dst_key_gettime(prevkey, DST_TIME_ACTIVATE, &when);
if (result != ISC_R_SUCCESS)
fatal("Predecessor has no activation date. "
"You must set one before\n\t"
"generating a successor.");
result = dst_key_gettime(prevkey, DST_TIME_INACTIVE, &act);
if (result != ISC_R_SUCCESS)
fatal("Predecessor has no inactivation date. "
"You must set one before\n\t"
"generating a successor.");
pub = act - prepub;
if (pub < now && prepub != 0)
fatal("Predecessor will become inactive before the\n\t"
"prepublication period ends. Either change "
"its inactivation date,\n\t"
"or use the -i option to set a shorter "
"prepublication interval.");
result = dst_key_gettime(prevkey, DST_TIME_DELETE, &when);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "%s: WARNING: Predecessor has no "
"removal date;\n\t"
"it will remain in the zone "
"indefinitely after rollover.\n",
program);
changed = setpub = setact = ISC_TRUE;
dst_key_free(&prevkey);
} else {
if (prepub < 0)
prepub = 0;
if (prepub > 0) {
if (setpub && setact && (act - prepub) < pub)
fatal("Activation and publication dates "
"are closer together than the\n\t"
"prepublication interval.");
if (setpub && !setact) {
setact = ISC_TRUE;
act = pub + prepub;
} else if (setact && !setpub) {
setpub = ISC_TRUE;
pub = act - prepub;
}
if ((act - prepub) < now)
fatal("Time until activation is shorter "
"than the\n\tprepublication interval.");
}
}
if (directory != NULL) {
filename = argv[isc_commandline_index];
} else {
result = isc_file_splitpath(mctx, argv[isc_commandline_index],
&directory, &filename);
if (result != ISC_R_SUCCESS)
fatal("cannot process filename %s: %s",
argv[isc_commandline_index],
isc_result_totext(result));
}
result = dst_key_fromnamedfile(filename, directory,
DST_TYPE_PUBLIC | DST_TYPE_PRIVATE,
mctx, &key);
@@ -349,6 +458,17 @@ main(int argc, char **argv) {
dst_key_format(key, keystr, sizeof(keystr));
if (predecessor != NULL) {
if (!dns_name_equal(name, dst_key_name(key)))
fatal("Key name mismatch");
if (alg != dst_key_alg(key))
fatal("Key algorithm mismatch");
if (size != dst_key_size(key))
fatal("Key size mismatch");
if (flags != dst_key_flags(key))
fatal("Key flags mismatch");
}
if (force)
set_keyversion(key);
else
@@ -401,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.
*/

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.10 2010/03/09 03:35:34 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>
@@ -211,6 +230,47 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-S <replaceable class="parameter">predecessor key</replaceable></term>
<listitem>
<para>
Select a key for which the key being modified will be an
explicit successor. The name, algorithm, size, and type of the
predecessor key must exactly match those of the key being
modified. The activation date of the successor key will be set
to the inactivation date of the predecessor. The publication
date will be set to the activation date minus the prepublication
interval, which defaults to 30 days.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">interval</replaceable></term>
<listitem>
<para>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
publication date isn't, then the publication date will default
to this much time before the activation date; conversely, if
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</para>
<para>
If the key is being set to be an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</para>
<para>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

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.13 2010/05/19 01:14:14 tbox Exp $ -->
<!-- $Id: dnssec-settime.html,v 1.17 2011/11/05 01:14:48 tbox Exp $ -->
<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="id2543431"></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="id2543479"></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="id2543662"></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
@@ -129,10 +141,44 @@
date, the key will no longer be included in the zone. (It
may remain in the key repository, however.)
</p></dd>
<dt><span class="term">-S <em class="replaceable"><code>predecessor key</code></em></span></dt>
<dd><p>
Select a key for which the key being modified will be an
explicit successor. The name, algorithm, size, and type of the
predecessor key must exactly match those of the key being
modified. The activation date of the successor key will be set
to the inactivation date of the predecessor. The publication
date will be set to the activation date minus the prepublication
interval, which defaults to 30 days.
</p></dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
<p>
Sets the prepublication interval for a key. If set, then
the publication and activation dates must be separated by at least
this much time. If the activation date is specified but the
publication date isn't, then the publication date will default
to this much time before the activation date; conversely, if
the publication date is specified but activation date isn't,
then activation will be set to this much time after publication.
</p>
<p>
If the key is being set to be an explicit successor to another
key, then the default prepublication interval is 30 days;
otherwise it is zero.
</p>
<p>
As with date offsets, if the argument is followed by one of
the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
interval is measured in years, months, weeks, days, hours,
or minutes, respectively. Without a suffix, the interval is
measured in seconds.
</p>
</dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543657"></a><h2>PRINTING OPTIONS</h2>
<a name="id2543801"></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.
@@ -158,7 +204,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543735"></a><h2>SEE ALSO</h2>
<a name="id2543879"></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>,
@@ -166,7 +212,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543768"></a><h2>AUTHOR</h2>
<a name="id2542137"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

385
bin/dnssec/dnssec-signkey.c Normal file
View File

@@ -0,0 +1,385 @@
/*
* Portions Copyright (C) 2000 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM AND
* NETWORK ASSOCIATES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
* SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE CONSORTIUM OR NETWORK
* ASSOCIATES 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: dnssec-signkey.c,v 1.28.2.1 2000/08/15 01:20:34 gson Exp $ */
#include <config.h>
#include <stdlib.h>
#include <isc/string.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/mem.h>
#include <isc/util.h>
#include <dns/db.h>
#include <dns/dnssec.h>
#include <dns/log.h>
#include <dns/rdata.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/rdatastruct.h>
#include <dns/result.h>
#include <dns/secalg.h>
#include <dst/dst.h>
#include "dnssectool.h"
const char *program = "dnssec-signkey";
int verbose;
#define BUFSIZE 2048
typedef struct keynode keynode_t;
struct keynode {
dst_key_t *key;
isc_boolean_t verified;
ISC_LINK(keynode_t) link;
};
typedef ISC_LIST(keynode_t) keylist_t;
static isc_stdtime_t now;
static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL;
static keylist_t keylist;
static void
usage(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, "\t%s [options] keyset keys\n", program);
fprintf(stderr, "\n");
fprintf(stderr, "Options: (default value in parenthesis) \n");
fprintf(stderr, "\t-v level:\n");
fprintf(stderr, "\t\tverbose level (0)\n");
fprintf(stderr, "\t-p\n");
fprintf(stderr, "\t\tuse pseudorandom data (faster but less secure)\n");
fprintf(stderr, "\t-r randomdev:\n");
fprintf(stderr, "\t\ta file containing random data\n");
fprintf(stderr, "\n");
fprintf(stderr, "keyset:\n");
fprintf(stderr, "\tfile name of key set to be signed\n");
fprintf(stderr, "keys:\n");
fprintf(stderr, "\tkeyfile (Kname+alg+tag)\n");
exit(0);
}
static void
loadkeys(dns_name_t *name, dns_rdataset_t *rdataset) {
dst_key_t *key;
dns_rdata_t rdata;
keynode_t *keynode;
isc_result_t result;
ISC_LIST_INIT(keylist);
result = dns_rdataset_first(rdataset);
check_result(result, "dns_rdataset_first");
for (; result == ISC_R_SUCCESS; result = dns_rdataset_next(rdataset)) {
dns_rdataset_current(rdataset, &rdata);
key = NULL;
result = dns_dnssec_keyfromrdata(name, &rdata, mctx, &key);
if (result != ISC_R_SUCCESS)
continue;
if (!dst_key_iszonekey(key))
continue;
keynode = isc_mem_get(mctx, sizeof (keynode_t));
if (keynode == NULL)
fatal("out of memory");
keynode->key = key;
keynode->verified = ISC_FALSE;
ISC_LINK_INIT(keynode, link);
ISC_LIST_APPEND(keylist, keynode, link);
}
if (result != ISC_R_NOMORE)
fatal("failure traversing key list");
}
static dst_key_t *
findkey(dns_rdata_sig_t *sig) {
keynode_t *keynode;
for (keynode = ISC_LIST_HEAD(keylist);
keynode != NULL;
keynode = ISC_LIST_NEXT(keynode, link))
{
if (dst_key_id(keynode->key) == sig->keyid &&
dst_key_alg(keynode->key) == sig->algorithm) {
keynode->verified = ISC_TRUE;
return (keynode->key);
}
}
fatal("signature generated by non-zone or missing key");
return (NULL);
}
int
main(int argc, char *argv[]) {
int i, ch;
char tdomain[1025];
dns_fixedname_t fdomain;
dns_name_t *domain;
char *output = NULL;
char *endp;
unsigned char *data;
char *randomfile = NULL;
dns_db_t *db;
dns_dbnode_t *node;
dns_dbversion_t *version;
dst_key_t *key = NULL;
dns_rdata_t *rdata, sigrdata;
dns_rdatalist_t sigrdatalist;
dns_rdataset_t rdataset, sigrdataset, newsigrdataset;
dns_rdata_sig_t sig;
isc_result_t result;
isc_buffer_t b;
isc_region_t r;
isc_log_t *log = NULL;
keynode_t *keynode;
isc_boolean_t pseudorandom = ISC_FALSE;
unsigned int eflags;
result = isc_mem_create(0, 0, &mctx);
check_result(result, "isc_mem_create()");
dns_result_register();
while ((ch = isc_commandline_parse(argc, argv, "pr:v:h")) != -1)
{
switch (ch) {
case 'p':
pseudorandom = ISC_TRUE;
break;
case 'r':
randomfile = isc_mem_strdup(mctx,
isc_commandline_argument);
if (randomfile == NULL)
fatal("out of memory");
break;
case 'v':
endp = NULL;
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
fatal("verbose level must be numeric");
break;
case 'h':
default:
usage();
}
}
argc -= isc_commandline_index;
argv += isc_commandline_index;
if (argc < 2)
usage();
setup_entropy(mctx, randomfile, &ectx);
if (randomfile != NULL)
isc_mem_free(mctx, randomfile);
eflags = ISC_ENTROPY_BLOCKING;
if (!pseudorandom)
eflags |= ISC_ENTROPY_GOODONLY;
result = dst_lib_init(mctx, ectx, eflags);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst");
isc_stdtime_get(&now);
setup_logging(verbose, mctx, &log);
if (strlen(argv[0]) < 8 ||
strcmp(argv[0] + strlen(argv[0]) - 7, ".keyset") != 0)
fatal("keyset file must end in .keyset");
dns_fixedname_init(&fdomain);
domain = dns_fixedname_name(&fdomain);
isc_buffer_init(&b, argv[0], strlen(argv[0]) - 7);
isc_buffer_add(&b, strlen(argv[0]) - 7);
result = dns_name_fromtext(domain, &b, dns_rootname, ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS)
fatal("'%s' does not contain a valid domain name", argv[0]);
isc_buffer_init(&b, tdomain, sizeof(tdomain) - 1);
result = dns_name_totext(domain, ISC_FALSE, &b);
check_result(result, "dns_name_totext()");
isc_buffer_usedregion(&b, &r);
tdomain[r.length] = 0;
output = isc_mem_allocate(mctx,
strlen(tdomain) + strlen("signedkey") + 1);
if (output == NULL)
fatal("out of memory");
strcpy(output, tdomain);
strcat(output, "signedkey");
db = NULL;
result = dns_db_create(mctx, "rbt", domain, dns_dbtype_zone,
dns_rdataclass_in, 0, NULL, &db);
check_result(result, "dns_db_create()");
result = dns_db_load(db, argv[0]);
if (result != ISC_R_SUCCESS)
fatal("failed to load database from '%s': %s", argv[0],
isc_result_totext(result));
version = NULL;
dns_db_newversion(db, &version);
node = NULL;
result = dns_db_findnode(db, domain, ISC_FALSE, &node);
if (result != ISC_R_SUCCESS)
fatal("failed to find database node '%s': %s",
nametostr(domain), isc_result_totext(result));
dns_rdataset_init(&rdataset);
dns_rdataset_init(&sigrdataset);
result = dns_db_findrdataset(db, node, version, dns_rdatatype_key, 0,
0, &rdataset, &sigrdataset);
if (result != ISC_R_SUCCESS)
fatal("failed to find rdataset '%s KEY': %s",
nametostr(domain), isc_result_totext(result));
loadkeys(domain, &rdataset);
if (!dns_rdataset_isassociated(&sigrdataset))
fatal("no SIG KEY set present");
result = dns_rdataset_first(&sigrdataset);
check_result(result, "dns_rdataset_first()");
do {
dns_rdataset_current(&sigrdataset, &sigrdata);
result = dns_rdata_tostruct(&sigrdata, &sig, mctx);
check_result(result, "dns_rdata_tostruct()");
key = findkey(&sig);
result = dns_dnssec_verify(domain, &rdataset, key,
ISC_TRUE, mctx, &sigrdata);
if (result != ISC_R_SUCCESS)
fatal("signature by key '%s/%s/%d' did not verify: %s",
nametostr(dst_key_name(key)),
algtostr(dst_key_alg(key)),
dst_key_id(key), isc_result_totext(result));
dns_rdata_freestruct(&sig);
result = dns_rdataset_next(&sigrdataset);
} while (result == ISC_R_SUCCESS);
for (keynode = ISC_LIST_HEAD(keylist);
keynode != NULL;
keynode = ISC_LIST_NEXT(keynode, link))
if (!keynode->verified)
fatal("Not all zone keys self signed the key set");
result = dns_rdataset_first(&sigrdataset);
check_result(result, "dns_rdataset_first()");
dns_rdataset_current(&sigrdataset, &sigrdata);
result = dns_rdata_tostruct(&sigrdata, &sig, mctx);
check_result(result, "dns_rdata_tostruct()");
dns_rdataset_disassociate(&sigrdataset);
argc -= 1;
argv += 1;
dns_rdatalist_init(&sigrdatalist);
sigrdatalist.rdclass = rdataset.rdclass;
sigrdatalist.type = dns_rdatatype_sig;
sigrdatalist.covers = dns_rdatatype_key;
sigrdatalist.ttl = rdataset.ttl;
for (i = 0; i < argc; i++) {
key = NULL;
result = dst_key_fromnamedfile(argv[i], DST_TYPE_PRIVATE,
mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("failed to read key %s from disk: %s",
argv[i], isc_result_totext(result));
rdata = isc_mem_get(mctx, sizeof(dns_rdata_t));
if (rdata == NULL)
fatal("out of memory");
data = isc_mem_get(mctx, BUFSIZE);
if (data == NULL)
fatal("out of memory");
isc_buffer_init(&b, data, BUFSIZE);
result = dns_dnssec_sign(domain, &rdataset, key,
&sig.timesigned, &sig.timeexpire,
mctx, &b, rdata);
isc_entropy_stopcallbacksources(ectx);
if (result != ISC_R_SUCCESS)
fatal("key '%s/%s/%d' failed to sign data: %s",
nametostr(dst_key_name(key)),
algtostr(dst_key_alg(key)),
dst_key_id(key), isc_result_totext(result));
ISC_LIST_APPEND(sigrdatalist.rdata, rdata, link);
dst_key_free(&key);
}
dns_rdataset_init(&newsigrdataset);
result = dns_rdatalist_tordataset(&sigrdatalist, &newsigrdataset);
check_result (result, "dns_rdatalist_tordataset()");
dns_db_addrdataset(db, node, version, 0, &newsigrdataset, 0, NULL);
check_result (result, "dns_db_addrdataset()");
dns_db_detachnode(db, &node);
dns_db_closeversion(db, &version, ISC_TRUE);
result = dns_db_dump(db, version, output);
if (result != ISC_R_SUCCESS)
fatal("failed to write database to '%s': %s",
output, isc_result_totext(result));
dns_rdataset_disassociate(&rdataset);
dns_rdataset_disassociate(&newsigrdataset);
dns_rdata_freestruct(&sig);
while (!ISC_LIST_EMPTY(sigrdatalist.rdata)) {
rdata = ISC_LIST_HEAD(sigrdatalist.rdata);
ISC_LIST_UNLINK(sigrdatalist.rdata, rdata, link);
isc_mem_put(mctx, rdata->data, BUFSIZE);
isc_mem_put(mctx, rdata, sizeof *rdata);
}
dns_db_detach(&db);
while (!ISC_LIST_EMPTY(keylist)) {
keynode = ISC_LIST_HEAD(keylist);
ISC_LIST_UNLINK(keylist, keynode, link);
dst_key_free(&keynode->key);
isc_mem_put(mctx, keynode, sizeof(keynode_t));
}
if (log != NULL)
isc_log_destroy(&log);
isc_mem_free(mctx, output);
cleanup_entropy(&ectx);
dst_lib_destroy();
if (verbose > 10)
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
return (0);
}

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: dnssec-signzone.8,v 1.66 2011/12/22 18:10:10 tbox Exp $
.\"
.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

File diff suppressed because it is too large Load Diff

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>

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: dnssec-signzone.html,v 1.52 2011/12/22 18:10:10 tbox Exp $ -->
<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="id2543625"></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="id2543640"></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="id2543146"></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="id2543202"></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="id2545342"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>

View File

@@ -1,92 +1,67 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009, 2010 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
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: dnssectool.c,v 1.60 2010/01/19 23:48:56 tbox Exp $ */
/*! \file */
/*%
* DNSSEC Support Routines.
*/
/* $Id: dnssectool.c,v 1.12.2.1 2000/08/07 16:41:38 gson Exp $ */
#include <config.h>
#include <stdlib.h>
#include <isc/buffer.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/list.h>
#include <isc/mem.h>
#include <isc/keyboard.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
#include <isc/print.h>
#include <dns/dnssec.h>
#include <dns/keyvalues.h>
#include <dns/log.h>
#include <dns/name.h>
#include <dns/rdatastruct.h>
#include <dns/rdataclass.h>
#include <dns/rdatatype.h>
#include <dns/result.h>
#include <dns/secalg.h>
#include <dns/time.h>
#include "dnssectool.h"
extern int verbose;
extern const char *program;
typedef struct entropysource entropysource_t;
struct entropysource {
isc_entropysource_t *source;
isc_mem_t *mctx;
ISC_LINK(entropysource_t) link;
};
static ISC_LIST(entropysource_t) sources;
static fatalcallback_t *fatalcallback = NULL;
static isc_entropysource_t *source = NULL;
static isc_keyboard_t kbd;
static isc_boolean_t wantkeyboard = ISC_FALSE;
void
fatal(const char *format, ...) {
va_list args;
fprintf(stderr, "%s: fatal: ", program);
fprintf(stderr, "%s: ", program);
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
if (fatalcallback != NULL)
(*fatalcallback)();
exit(1);
}
void
setfatalcallback(fatalcallback_t *callback) {
fatalcallback = callback;
}
void
check_result(isc_result_t result, const char *message) {
if (result != ISC_R_SUCCESS)
fatal("%s: %s", message, isc_result_totext(result));
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "%s: %s: %s\n", program, message,
isc_result_totext(result));
exit(1);
}
}
void
@@ -100,42 +75,62 @@ vbprintf(int level, const char *fmt, ...) {
va_end(ap);
}
void
type_format(const dns_rdatatype_t type, char *cp, unsigned int size) {
char *
nametostr(dns_name_t *name) {
isc_buffer_t b;
isc_region_t r;
isc_result_t result;
static char data[1025];
isc_buffer_init(&b, cp, size - 1);
isc_buffer_init(&b, data, sizeof(data));
result = dns_name_totext(name, ISC_FALSE, &b);
check_result(result, "dns_name_totext()");
isc_buffer_usedregion(&b, &r);
r.base[r.length] = 0;
return (char *) r.base;
}
char *
typetostr(const dns_rdatatype_t type) {
isc_buffer_t b;
isc_region_t r;
isc_result_t result;
static char data[20];
isc_buffer_init(&b, data, sizeof(data));
result = dns_rdatatype_totext(type, &b);
check_result(result, "dns_rdatatype_totext()");
isc_buffer_usedregion(&b, &r);
r.base[r.length] = 0;
return (char *) r.base;
}
void
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) {
char namestr[DNS_NAME_FORMATSIZE];
char algstr[DNS_NAME_FORMATSIZE];
char *
algtostr(const dns_secalg_t alg) {
isc_buffer_t b;
isc_region_t r;
isc_result_t result;
static char data[10];
dns_name_format(&sig->signer, namestr, sizeof(namestr));
dns_secalg_format(sig->algorithm, algstr, sizeof(algstr));
snprintf(cp, size, "%s/%s/%d", namestr, algstr, sig->keyid);
isc_buffer_init(&b, data, sizeof(data));
result = dns_secalg_totext(alg, &b);
check_result(result, "dns_secalg_totext()");
isc_buffer_usedregion(&b, &r);
r.base[r.length] = 0;
return ((char *)r.base);
}
void
setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp) {
isc_result_t result;
isc_logdestination_t destination;
isc_logconfig_t *logconfig = NULL;
isc_log_t *log = NULL;
isc_logconfig_t *logconfig;
isc_log_t *log = 0;
int level;
if (verbose < 0)
verbose = 0;
switch (verbose) {
case 0:
/*
case 0:
/*
* We want to see warnings about things like out-of-zone
* data in the master file even when not verbose.
*/
@@ -148,7 +143,7 @@ setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp) {
level = ISC_LOG_DEBUG(verbose - 2 + 1);
break;
}
RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS);
isc_log_setcontext(log);
dns_log_init(log);
@@ -172,293 +167,114 @@ setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp) {
&destination,
ISC_LOG_PRINTTAG|ISC_LOG_PRINTLEVEL);
check_result(result, "isc_log_createchannel()");
RUNTIME_CHECK(isc_log_usechannel(logconfig, "stderr",
NULL, NULL) == ISC_R_SUCCESS);
*logp = log;
}
void
cleanup_logging(isc_log_t **logp) {
isc_log_t *log;
static isc_result_t
kbdstart(isc_entropysource_t *source, void *arg, isc_boolean_t blocking) {
isc_keyboard_t *kbd = (isc_keyboard_t *)arg;
static isc_boolean_t first = ISC_TRUE;
REQUIRE(logp != NULL);
UNUSED(source);
log = *logp;
if (log == NULL)
return;
isc_log_destroy(&log);
isc_log_setcontext(NULL);
dns_log_setcontext(NULL);
logp = NULL;
if (!blocking)
return (ISC_R_NOENTROPY);
if (first) {
if (!wantkeyboard) {
fprintf(stderr, "You must use the keyboard to create "
"entropy, since your system is lacking\n");
fprintf(stderr, "/dev/random\n\n");
}
first = ISC_FALSE;
}
fprintf(stderr, "start typing:\n");
return (isc_keyboard_open(kbd));
}
static void
kbdstop(isc_entropysource_t *source, void *arg) {
isc_keyboard_t *kbd = (isc_keyboard_t *)arg;
UNUSED(source);
if (!isc_keyboard_canceled(kbd))
fprintf(stderr, "stop typing.\r\n");
(void)isc_keyboard_close(kbd, 3);
}
static isc_result_t
kbdget(isc_entropysource_t *source, void *arg, isc_boolean_t blocking) {
isc_keyboard_t *kbd = (isc_keyboard_t *)arg;
isc_result_t result;
isc_time_t t;
isc_uint32_t sample;
isc_uint32_t extra;
unsigned char c;
if (!blocking)
return (ISC_R_NOENTROPY);
result = isc_keyboard_getchar(kbd, &c);
if (result != ISC_R_SUCCESS)
return (result);
result = isc_time_now(&t);
if (result != ISC_R_SUCCESS)
return (result);
sample = isc_time_nanoseconds(&t);
extra = c;
result = isc_entropy_addcallbacksample(source, sample, extra);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "\r\n");
return (result);
}
fprintf(stderr, ".");
fflush(stderr);
return (result);
}
void
setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
isc_result_t result;
isc_entropysource_t *source = NULL;
entropysource_t *elt;
int usekeyboard = ISC_ENTROPY_KEYBOARDMAYBE;
REQUIRE(ectx != NULL);
if (*ectx == NULL) {
result = isc_entropy_create(mctx, ectx);
if (result != ISC_R_SUCCESS)
fatal("could not create entropy object");
ISC_LIST_INIT(sources);
}
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
usekeyboard = ISC_ENTROPY_KEYBOARDYES;
randomfile = NULL;
}
result = isc_entropy_usebestsource(*ectx, &source, randomfile,
usekeyboard);
result = isc_entropy_create(mctx, ectx);
if (result != ISC_R_SUCCESS)
fatal("could not initialize entropy source: %s",
isc_result_totext(result));
if (source != NULL) {
elt = isc_mem_get(mctx, sizeof(*elt));
if (elt == NULL)
fatal("out of memory");
elt->source = source;
elt->mctx = mctx;
ISC_LINK_INIT(elt, link);
ISC_LIST_APPEND(sources, elt, link);
fatal("could not create entropy object");
if (randomfile != NULL && strcasecmp(randomfile, "keyboard") != 0) {
result = isc_entropy_createfilesource(*ectx, randomfile);
if (result != ISC_R_SUCCESS)
fatal("could not open randomdev %s: %s", randomfile,
isc_result_totext(result));
}
else {
if (randomfile == NULL) {
result = isc_entropy_createfilesource(*ectx,
"/dev/random");
if (result == ISC_R_SUCCESS)
return;
}
else
wantkeyboard = ISC_TRUE;
result = isc_entropy_createcallbacksource(*ectx, kbdstart,
kbdget, kbdstop,
&kbd, &source);
if (result != ISC_R_SUCCESS)
fatal("failed to open keyboard: %s\n",
isc_result_totext(result));
}
}
void
cleanup_entropy(isc_entropy_t **ectx) {
entropysource_t *source;
while (!ISC_LIST_EMPTY(sources)) {
source = ISC_LIST_HEAD(sources);
ISC_LIST_UNLINK(sources, source, link);
isc_entropy_destroysource(&source->source);
isc_mem_put(source->mctx, source, sizeof(*source));
}
if (source != NULL)
isc_entropy_destroysource(&source);
isc_entropy_detach(ectx);
}
static isc_stdtime_t
time_units(isc_stdtime_t offset, char *suffix, const char *str) {
switch (suffix[0]) {
case 'Y': case 'y':
return (offset * (365 * 24 * 3600));
case 'M': case 'm':
switch (suffix[1]) {
case 'O': case 'o':
return (offset * (30 * 24 * 3600));
case 'I': case 'i':
return (offset * 60);
case '\0':
fatal("'%s' ambiguous: use 'mi' for minutes "
"or 'mo' for months", str);
default:
fatal("time value %s is invalid", str);
}
/* NOTREACHED */
break;
case 'W': case 'w':
return (offset * (7 * 24 * 3600));
case 'D': case 'd':
return (offset * (24 * 3600));
case 'H': case 'h':
return (offset * 3600);
case 'S': case 's': case '\0':
return (offset);
default:
fatal("time value %s is invalid", str);
}
/* NOTREACHED */
return(0); /* silence compiler warning */
}
dns_ttl_t
strtottl(const char *str) {
const char *orig = str;
dns_ttl_t ttl;
char *endp;
ttl = strtol(str, &endp, 0);
if (ttl == 0 && endp == str)
fatal("TTL must be numeric");
ttl = time_units(ttl, endp, orig);
return (ttl);
}
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base) {
isc_int64_t val, offset;
isc_result_t result;
const char *orig = str;
char *endp;
if ((str[0] == '0' || str[0] == '-') && str[1] == '\0')
return ((isc_stdtime_t) 0);
if (strncmp(str, "now", 3) == 0) {
base = now;
str += 3;
}
if (str[0] == '\0')
return ((isc_stdtime_t) base);
else if (str[0] == '+') {
offset = strtol(str + 1, &endp, 0);
offset = time_units((isc_stdtime_t) offset, endp, orig);
val = base + offset;
} else if (str[0] == '-') {
offset = strtol(str + 1, &endp, 0);
offset = time_units((isc_stdtime_t) offset, endp, orig);
val = base - offset;
} else if (strlen(str) == 8U) {
char timestr[15];
sprintf(timestr, "%s000000", str);
result = dns_time64_fromtext(timestr, &val);
if (result != ISC_R_SUCCESS)
fatal("time value %s is invalid: %s", orig,
isc_result_totext(result));
} else if (strlen(str) > 14U) {
fatal("time value %s is invalid", orig);
} else {
result = dns_time64_fromtext(str, &val);
if (result != ISC_R_SUCCESS)
fatal("time value %s is invalid: %s", orig,
isc_result_totext(result));
}
return ((isc_stdtime_t) val);
}
dns_rdataclass_t
strtoclass(const char *str) {
isc_textregion_t r;
dns_rdataclass_t rdclass;
isc_result_t ret;
if (str == NULL)
return dns_rdataclass_in;
DE_CONST(str, r.base);
r.length = strlen(str);
ret = dns_rdataclass_fromtext(&rdclass, &r);
if (ret != ISC_R_SUCCESS)
fatal("unknown class %s", str);
return (rdclass);
}
isc_result_t
try_dir(const char *dirname) {
isc_result_t result;
isc_dir_t d;
isc_dir_init(&d);
result = isc_dir_open(&d, dirname);
if (result == ISC_R_SUCCESS) {
isc_dir_close(&d);
}
return (result);
}
/*
* Check private key version compatibility.
*/
void
check_keyversion(dst_key_t *key, char *keystr) {
int major, minor;
dst_key_getprivateformat(key, &major, &minor);
INSIST(major <= DST_MAJOR_VERSION); /* invalid private key */
if (major < DST_MAJOR_VERSION || minor < DST_MINOR_VERSION)
fatal("Key %s has incompatible format version %d.%d, "
"use -f to force upgrade to new version.",
keystr, major, minor);
if (minor > DST_MINOR_VERSION)
fatal("Key %s has incompatible format version %d.%d, "
"use -f to force downgrade to current version.",
keystr, major, minor);
}
void
set_keyversion(dst_key_t *key) {
int major, minor;
dst_key_getprivateformat(key, &major, &minor);
INSIST(major <= DST_MAJOR_VERSION);
if (major != DST_MAJOR_VERSION || minor != DST_MINOR_VERSION)
dst_key_setprivateformat(key, DST_MAJOR_VERSION,
DST_MINOR_VERSION);
/*
* If the key is from a version older than 1.3, set
* set the creation date
*/
if (major < 1 || (major == 1 && minor <= 2)) {
isc_stdtime_t now;
isc_stdtime_get(&now);
dst_key_settime(key, DST_TIME_CREATED, now);
}
}
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)
{
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 */
if (exact != NULL)
*exact = ISC_FALSE;
ISC_LIST_INIT(matchkeys);
result = dns_dnssec_findmatchingkeys(name, dir, mctx, &matchkeys);
if (result == ISC_R_NOTFOUND)
return (ISC_FALSE);
while (!ISC_LIST_EMPTY(matchkeys) && !conflict) {
key = ISC_LIST_HEAD(matchkeys);
if (dst_key_alg(key->key) != alg)
goto next;
oldid = dst_key_id(key->key);
diff = (oldid > id) ? (oldid - id) : (id - oldid);
if ((diff & ~bits) == 0) {
conflict = ISC_TRUE;
if (diff != 0) {
if (verbose > 1)
fprintf(stderr, "Key ID %d could "
"collide with %d\n",
id, oldid);
} else {
if (exact != NULL)
*exact = ISC_TRUE;
if (verbose > 1)
fprintf(stderr, "Key ID %d exists\n",
id);
}
}
next:
ISC_LIST_UNLINK(matchkeys, key, link);
dns_dnsseckey_destroy(mctx, &key);
}
/* Finish freeing the list */
while (!ISC_LIST_EMPTY(matchkeys)) {
key = ISC_LIST_HEAD(matchkeys);
ISC_LIST_UNLINK(matchkeys, key, link);
dns_dnsseckey_destroy(mctx, &key);
}
return (conflict);
}

View File

@@ -1,83 +1,52 @@
/*
* Copyright (C) 2004, 2007-2010 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
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: dnssectool.h,v 1.31 2010/01/19 23:48:56 tbox Exp $ */
/* $Id: dnssectool.h,v 1.6 2000/06/22 21:49:07 tale Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
#include <isc/log.h>
#include <isc/stdtime.h>
#include <dns/rdatastruct.h>
#include <dst/dst.h>
typedef void (fatalcallback_t)(void);
ISC_PLATFORM_NORETURN_PRE void
fatal(const char *format, ...)
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
void
setfatalcallback(fatalcallback_t *callback);
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
check_result(isc_result_t result, const char *message);
void
vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
vbprintf(int level, const char *fmt, ...);
void
type_format(const dns_rdatatype_t type, char *cp, unsigned int size);
#define TYPE_FORMATSIZE 20
char *
nametostr(dns_name_t *name);
void
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size);
#define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535"))
char *
typetostr(const dns_rdatatype_t type);
char *
algtostr(const dns_secalg_t alg);
void
setup_logging(int verbose, isc_mem_t *mctx, isc_log_t **logp);
void
cleanup_logging(isc_log_t **logp);
void
setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx);
void
cleanup_entropy(isc_entropy_t **ectx);
dns_ttl_t strtottl(const char *str);
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base);
dns_rdataclass_t
strtoclass(const char *str);
isc_result_t
try_dir(const char *dirname);
void
check_keyversion(dst_key_t *key, char *keystr);
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);
#endif /* DNSSEC_DNSSECTOOL_H */

5
bin/lwresd/.cvsignore Normal file
View File

@@ -0,0 +1,5 @@
Makefile
.libs
*.la
*.lo
lwresd

57
bin/lwresd/Makefile.in Normal file
View File

@@ -0,0 +1,57 @@
# Copyright (C) 2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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: Makefile.in,v 1.10 2000/06/22 21:49:08 tale Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_INCLUDES@
CINCLUDES = ${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS} ${LWRESDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} ${LWRESLIBS} @LIBS@
TARGETS = lwresd
OBJS = main.@O@ client.@O@ err_pkt.@O@ \
process_gabn.@O@ process_gnba.@O@ process_noop.@O@
SRCS = main.c client.c err_pkt.c \
process_gabn.c process_gnba.c process_noop.c
@BIND9_MAKE_RULES@
lwresd: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ ${OBJS} ${UOBJS} ${LIBS}
clean distclean::
rm -f ${TARGETS}

387
bin/lwresd/client.c Normal file
View File

@@ -0,0 +1,387 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: client.c,v 1.28 2000/06/22 21:49:09 tale Exp $ */
#include <config.h>
#include <isc/socket.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/util.h>
#include <dns/view.h>
#include <dns/log.h>
#include "client.h"
void
DP(int level, const char *format, ...) {
va_list args;
va_start(args, format);
isc_log_vwrite(dns_lctx,
DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_ADB,
ISC_LOG_DEBUG(level), format, args);
va_end(args);
}
void
hexdump(char *msg, void *base, size_t len) {
unsigned char *p;
unsigned int cnt;
char buffer[180];
char *n;
p = base;
cnt = 0;
n = buffer;
*n = 0;
printf("*** %s (%u bytes @ %p)\n", msg, len, base);
while (cnt < len) {
if (cnt % 16 == 0) {
n = buffer;
n += sprintf(buffer, "%p: ", p);
} else if (cnt % 8 == 0) {
*n++ = ' ';
*n++ = '|';
*n = 0;
}
n += sprintf(n, " %02x", *p++);
cnt++;
if (cnt % 16 == 0) {
DP(80, buffer);
n = buffer;
*n = 0;
}
}
if (n != buffer) {
DP(80, buffer);
n = buffer;
*n = 0;
}
}
static void
clientmgr_can_die(clientmgr_t *cm) {
if ((cm->flags & CLIENTMGR_FLAG_SHUTTINGDOWN) == 0)
return;
if (ISC_LIST_HEAD(cm->running) != NULL)
return;
lwres_context_destroy(&cm->lwctx);
dns_view_detach(&cm->view);
isc_task_detach(&cm->task);
}
static void
process_request(client_t *client) {
lwres_buffer_t b;
isc_result_t result;
lwres_buffer_init(&b, client->buffer, client->recvlength);
lwres_buffer_add(&b, client->recvlength);
result = lwres_lwpacket_parseheader(&b, &client->pkt);
if (result != ISC_R_SUCCESS) {
DP(50, "invalid packet header received");
goto restart;
}
DP(50, "opcode %08x", client->pkt.opcode);
switch (client->pkt.opcode) {
case LWRES_OPCODE_GETADDRSBYNAME:
process_gabn(client, &b);
return;
case LWRES_OPCODE_GETNAMEBYADDR:
process_gnba(client, &b);
return;
case LWRES_OPCODE_NOOP:
process_noop(client, &b);
return;
default:
DP(50, "unknown opcode %08x", client->pkt.opcode);
goto restart;
}
/*
* Drop the packet.
*/
restart:
DP(50, "restarting client %p...", client);
client_state_idle(client);
}
void
client_recv(isc_task_t *task, isc_event_t *ev) {
client_t *client = ev->ev_arg;
clientmgr_t *cm = client->clientmgr;
isc_socketevent_t *dev = (isc_socketevent_t *)ev;
INSIST(dev->region.base == client->buffer);
INSIST(CLIENT_ISRECV(client));
CLIENT_SETRECVDONE(client);
INSIST((cm->flags & CLIENTMGR_FLAG_RECVPENDING) != 0);
cm->flags &= ~CLIENTMGR_FLAG_RECVPENDING;
DP(50, "event received: task %p, length %u, result %u (%s)",
task, dev->n, dev->result, isc_result_totext(dev->result));
if (dev->result != ISC_R_SUCCESS) {
isc_event_free(&ev);
dev = NULL;
/*
* Go idle.
*/
client_state_idle(client);
return;
}
/*
* XXXMLG If we wanted to run on ipv6 as well, we'd need the pktinfo
* bits. Right now we don't, so don't remember them.
*/
client->recvlength = dev->n;
client->address = dev->address;
isc_event_free(&ev);
dev = NULL;
client_start_recv(cm);
process_request(client);
}
/*
* This function will start a new recv() on a socket for this client manager.
*/
isc_result_t
client_start_recv(clientmgr_t *cm) {
client_t *client;
isc_result_t result;
isc_region_t r;
if ((cm->flags & CLIENTMGR_FLAG_SHUTTINGDOWN) != 0)
return (ISC_R_SUCCESS);
/*
* If a recv is already running, don't bother.
*/
if ((cm->flags & CLIENTMGR_FLAG_RECVPENDING) != 0)
return (ISC_R_SUCCESS);
/*
* If we have no idle slots, just return success.
*/
client = ISC_LIST_HEAD(cm->idle);
if (client == NULL)
return (ISC_R_SUCCESS);
INSIST(CLIENT_ISIDLE(client));
/*
* Issue the recv. If it fails, return that it did.
*/
r.base = client->buffer;
r.length = LWRES_RECVLENGTH;
result = isc_socket_recv(cm->sock, &r, 0, cm->task, client_recv,
client);
if (result != ISC_R_SUCCESS)
return (result);
/*
* Set the flag to say we've issued a recv() call.
*/
cm->flags |= CLIENTMGR_FLAG_RECVPENDING;
/*
* Remove the client from the idle list, and put it on the running
* list.
*/
CLIENT_SETRECV(client);
ISC_LIST_UNLINK(cm->idle, client, link);
ISC_LIST_APPEND(cm->running, client, link);
return (ISC_R_SUCCESS);
}
void
client_shutdown(isc_task_t *task, isc_event_t *ev) {
clientmgr_t *cm = ev->ev_arg;
REQUIRE(task == cm->task);
REQUIRE(ev->ev_type == LWRD_SHUTDOWN);
REQUIRE((cm->flags & CLIENTMGR_FLAG_SHUTTINGDOWN) == 0);
DP(50, "got shutdown event, task %p", task);
/*
* Cancel any pending I/O.
*/
if ((cm->flags & CLIENTMGR_FLAG_RECVPENDING) != 0)
isc_socket_cancel(cm->sock, task, ISC_SOCKCANCEL_ALL);
/*
* Run through the running client list and kill off any finds
* in progress.
*/
/* XXXMLG */
cm->flags |= CLIENTMGR_FLAG_SHUTTINGDOWN;
}
/*
* Do all the crap needed to move a client from the run queue to the idle
* queue.
*/
void
client_state_idle(client_t *client) {
clientmgr_t *cm;
cm = client->clientmgr;
INSIST(client->sendbuf == NULL);
INSIST(client->sendlength == 0);
INSIST(client->arg == NULL);
INSIST(client->v4find == NULL);
INSIST(client->v6find == NULL);
ISC_LIST_UNLINK(cm->running, client, link);
ISC_LIST_PREPEND(cm->idle, client, link);
CLIENT_SETIDLE(client);
clientmgr_can_die(cm);
client_start_recv(cm);
}
void
client_send(isc_task_t *task, isc_event_t *ev) {
client_t *client = ev->ev_arg;
clientmgr_t *cm = client->clientmgr;
isc_socketevent_t *dev = (isc_socketevent_t *)ev;
UNUSED(task);
UNUSED(dev);
INSIST(CLIENT_ISSEND(client));
INSIST(client->sendbuf == dev->region.base);
DP(50, "task %p for client %p got send-done event", task, client);
if (client->sendbuf != client->buffer)
lwres_context_freemem(cm->lwctx, client->sendbuf,
client->sendlength);
client->sendbuf = NULL;
client->sendlength = 0;
client_state_idle(client);
isc_event_free(&ev);
}
void
client_initialize(client_t *client, clientmgr_t *cmgr) {
client->clientmgr = cmgr;
ISC_LINK_INIT(client, link);
CLIENT_SETIDLE(client);
client->arg = NULL;
client->recvlength = 0;
client->sendbuf = NULL;
client->sendlength = 0;
client->find = NULL;
client->v4find = NULL;
client->v6find = NULL;
client->find_wanted = 0;
client->options = 0;
client->byaddr = NULL;
client->addrinfo = NULL;
ISC_LIST_APPEND(cmgr->idle, client, link);
}
void
client_init_aliases(client_t *client) {
int i;
for (i = 0 ; i < LWRES_MAX_ALIASES ; i++) {
client->aliases[i] = NULL;
client->aliaslen[i] = 0;
}
for (i = 0 ; i < LWRES_MAX_ADDRS ; i++) {
client->addrs[i].family = 0;
client->addrs[i].length = 0;
memset(client->addrs[i].address, 0, LWRES_ADDR_MAXLEN);
LWRES_LINK_INIT(&client->addrs[i], link);
}
}
void
client_init_gabn(client_t *client) {
/*
* Initialize the real name and alias arrays in the reply we're
* going to build up.
*/
client_init_aliases(client);
client->gabn.naliases = 0;
client->gabn.naddrs = 0;
client->gabn.realname = NULL;
client->gabn.aliases = client->aliases;
client->gabn.realnamelen = 0;
client->gabn.aliaslen = client->aliaslen;
LWRES_LIST_INIT(client->gabn.addrs);
client->gabn.base = NULL;
client->gabn.baselen = 0;
/*
* Set up the internal buffer to point to the receive region.
*/
isc_buffer_init(&client->recv_buffer, client->buffer,
LWRES_RECVLENGTH);
}
void
client_init_gnba(client_t *client) {
/*
* Initialize the real name and alias arrays in the reply we're
* going to build up.
*/
client_init_aliases(client);
client->gnba.naliases = 0;
client->gnba.realname = NULL;
client->gnba.aliases = client->aliases;
client->gnba.realnamelen = 0;
client->gnba.aliaslen = client->aliaslen;
client->gnba.base = NULL;
client->gnba.baselen = 0;
isc_buffer_init(&client->recv_buffer, client->buffer,
LWRES_RECVLENGTH);
}

194
bin/lwresd/client.h Normal file
View File

@@ -0,0 +1,194 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: client.h,v 1.16 2000/06/22 21:49:10 tale Exp $ */
#ifndef LWD_CLIENT_H
#define LWD_CLIENT_H 1
#include <isc/event.h>
#include <isc/eventclass.h>
#include <isc/netaddr.h>
#include <isc/sockaddr.h>
#include <isc/types.h>
#include <dns/fixedname.h>
#include <dns/types.h>
#include <lwres/lwres.h>
#define LWRD_EVENTCLASS ISC_EVENTCLASS(4242)
#define LWRD_SHUTDOWN (LWRD_EVENTCLASS + 0x0001)
typedef struct client_s client_t;
typedef struct clientmgr_s clientmgr_t;
struct client_s {
isc_sockaddr_t address; /* where to reply */
clientmgr_t *clientmgr; /* our parent */
ISC_LINK(client_t) link;
unsigned int state;
void *arg; /* packet processing state */
/*
* Received data info.
*/
unsigned char buffer[LWRES_RECVLENGTH]; /* receive buffer */
isc_uint32_t recvlength; /* length recv'd */
lwres_lwpacket_t pkt;
/*
* Send data state. If sendbuf != buffer (that is, the send buffer
* isn't our receive buffer) it will be freed to the lwres_context_t.
*/
unsigned char *sendbuf;
isc_uint32_t sendlength;
isc_buffer_t recv_buffer;
/*
* gabn (get address by name) state info.
*/
dns_adbfind_t *find;
dns_adbfind_t *v4find;
dns_adbfind_t *v6find;
unsigned int find_wanted; /* Addresses we want */
dns_fixedname_t target_name;
lwres_gabnresponse_t gabn;
/*
* gnba (get name by address) state info.
*/
lwres_gnbaresponse_t gnba;
dns_byaddr_t *byaddr;
unsigned int options;
isc_netaddr_t na;
dns_adbaddrinfo_t *addrinfo;
/*
* Alias and address info. This is copied up to the gabn/gnba
* structures eventually.
*
* XXXMLG We can keep all of this in a client since we only service
* three packet types right now. If we started handling more,
* we'd need to use "arg" above and allocate/destroy things.
*/
char *aliases[LWRES_MAX_ALIASES];
isc_uint16_t aliaslen[LWRES_MAX_ALIASES];
lwres_addr_t addrs[LWRES_MAX_ADDRS];
};
/*
* Client states.
*
* _IDLE The client is not doing anything at all.
*
* _RECV The client is waiting for data after issuing a socket recv().
*
* _RECVDONE Data has been received, and is being processed.
*
* _FINDWAIT An adb (or other) request was made that cannot be satisfied
* immediately. An event will wake the client up.
*
* _SEND All data for a response has completed, and a reply was
* sent via a socket send() call.
*
* Badly formatted state table:
*
* IDLE -> RECV when client has a recv() queued.
*
* RECV -> RECVDONE when recvdone event received.
*
* RECVDONE -> SEND if the data for a reply is at hand.
* RECVDONE -> FINDWAIT if more searching is needed, and events will
* eventually wake us up again.
*
* FINDWAIT -> SEND when enough data was received to reply.
*
* SEND -> IDLE when a senddone event was received.
*
* At any time -> IDLE on error. Sometimes this will be -> SEND
* instead, if enough data is on hand to reply with a meaningful
* error.
*
* Packets which are badly formatted may or may not get error returns.
*/
#define CLIENT_STATE_IDLE 1
#define CLIENT_STATE_RECV 2
#define CLIENT_STATE_RECVDONE 3
#define CLIENT_STATE_FINDWAIT 4
#define CLIENT_STATE_SEND 5
#define CLIENT_STATE_SENDDONE 6
#define CLIENT_ISIDLE(c) ((c)->state == CLIENT_STATE_IDLE)
#define CLIENT_ISRECV(c) ((c)->state == CLIENT_STATE_RECV)
#define CLIENT_ISRECVDONE(c) ((c)->state == CLIENT_STATE_RECVDONE)
#define CLIENT_ISFINDWAIT(c) ((c)->state == CLIENT_STATE_FINDWAIT)
#define CLIENT_ISSEND(c) ((c)->state == CLIENT_STATE_SEND)
/*
* Overall magic test that means we're not idle.
*/
#define CLIENT_ISRUNNING(c) (!CLIENT_ISIDLE(c))
#define CLIENT_SETIDLE(c) ((c)->state = CLIENT_STATE_IDLE)
#define CLIENT_SETRECV(c) ((c)->state = CLIENT_STATE_RECV)
#define CLIENT_SETRECVDONE(c) ((c)->state = CLIENT_STATE_RECVDONE)
#define CLIENT_SETFINDWAIT(c) ((c)->state = CLIENT_STATE_FINDWAIT)
#define CLIENT_SETSEND(c) ((c)->state = CLIENT_STATE_SEND)
#define CLIENT_SETSENDDONE(c) ((c)->state = CLIENT_STATE_SENDDONE)
struct clientmgr_s {
isc_mem_t *mctx;
isc_task_t *task; /* owning task */
isc_socket_t *sock; /* socket to use */
dns_view_t *view;
unsigned int flags;
isc_event_t sdev; /* shutdown event */
lwres_context_t *lwctx; /* lightweight proto context */
ISC_LIST(client_t) idle; /* idle client slots */
ISC_LIST(client_t) running; /* running clients */
};
#define CLIENTMGR_FLAG_RECVPENDING 0x00000001
#define CLIENTMGR_FLAG_SHUTTINGDOWN 0x00000002
void client_initialize(client_t *, clientmgr_t *);
isc_result_t client_start_recv(clientmgr_t *);
void client_state_idle(client_t *);
void client_recv(isc_task_t *, isc_event_t *);
void client_shutdown(isc_task_t *, isc_event_t *);
void client_send(isc_task_t *, isc_event_t *);
/*
* Processing functions of various types.
*/
void process_gabn(client_t *, lwres_buffer_t *);
void process_gnba(client_t *, lwres_buffer_t *);
void process_noop(client_t *, lwres_buffer_t *);
void error_pkt_send(client_t *, isc_uint32_t);
void client_init_aliases(client_t *);
void client_init_gabn(client_t *);
void client_init_gnba(client_t *);
void DP(int level, const char *format, ...);
void hexdump(char *msg, void *base, size_t len);
#endif /* LWD_CLIENT_H */

81
bin/lwresd/err_pkt.c Normal file
View File

@@ -0,0 +1,81 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: err_pkt.c,v 1.5 2000/06/22 21:49:11 tale Exp $ */
#include <config.h>
#include <isc/socket.h>
#include <isc/util.h>
#include "client.h"
/*
* Generate an error packet for the client, schedule a send, and put us in
* the SEND state.
*
* The client->pkt structure will be modified to form an error return.
* The receiver needs to verify that it is in fact an error, and do the
* right thing with it. The opcode will be unchanged. The result needs
* to be set before calling this function.
*
* The only change this code makes is to set the receive buffer size to the
* size we use, set the reply bit, and recompute any security information.
*/
void
error_pkt_send(client_t *client, isc_uint32_t _result) {
isc_result_t result;
int lwres;
isc_region_t r;
lwres_buffer_t b;
clientmgr_t *cm;
cm = client->clientmgr;
REQUIRE(CLIENT_ISRUNNING(client));
/*
* Since we are only sending the packet header, we can safely toss
* the receive buffer. This means we won't need to allocate space
* for sending an error reply. This is a Good Thing.
*/
client->pkt.length = LWRES_LWPACKET_LENGTH;
client->pkt.pktflags |= LWRES_LWPACKETFLAG_RESPONSE;
client->pkt.recvlength = LWRES_RECVLENGTH;
client->pkt.authtype = 0; /* XXXMLG */
client->pkt.authlength = 0;
client->pkt.result = _result;
lwres_buffer_init(&b, client->buffer, LWRES_RECVLENGTH);
lwres = lwres_lwpacket_renderheader(&b, &client->pkt);
if (lwres != LWRES_R_SUCCESS) {
client_state_idle(client);
return;
}
r.base = client->buffer;
r.length = b.used;
client->sendbuf = client->buffer;
result = isc_socket_sendto(cm->sock, &r, cm->task, client_send, client,
&client->address, NULL);
if (result != ISC_R_SUCCESS) {
client_state_idle(client);
return;
}
CLIENT_SETSEND(client);
}

509
bin/lwresd/main.c Normal file
View File

@@ -0,0 +1,509 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: main.c,v 1.43 2000/06/22 21:49:12 tale Exp $ */
/*
* Main program for the Lightweight Resolver Daemon.
*
* To paraphrase the old saying about X11, "It's not a lightweight deamon
* for resolvers, it's a deamon for lightweight resolvers".
*/
#include <config.h>
#include <stdlib.h>
#include <isc/app.h>
#include <isc/mem.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/timer.h>
#include <isc/util.h>
#include <dns/cache.h>
#include <dns/db.h>
#include <dns/dispatch.h>
#include <dns/log.h>
#include <dns/resolver.h>
#include <dns/result.h>
#include <dns/rootns.h>
#include <dns/view.h>
#include "client.h"
/*
* The goal number of clients we can handle will be NTASKS * NRECVS.
*/
#define NTASKS 20 /* tasks to create to handle lwres queries */
#define NRECVS 5 /* max clients per task */
#define NTHREADS 1 /* # threads to create in thread manager */
/*
* Array of client managers. Each of these will have a task associated
* with it.
*/
clientmgr_t *cmgr;
unsigned int ntasks; /* number of tasks actually created */
dns_view_t *view;
isc_taskmgr_t *taskmgr;
isc_socketmgr_t *sockmgr;
isc_timermgr_t *timermgr;
dns_dispatchmgr_t *dispatchmgr;
isc_sockaddrlist_t forwarders;
static isc_logmodule_t logmodules[] = {
{ "main", 0 },
{ NULL, 0 }
};
#define LWRES_LOGMODULE_MAIN (&logmodules[0])
static isc_logcategory_t logcategories[] = {
{ "network", 0 },
{ NULL, 0 }
};
#define LWRES_LOGCATEGORY_NETWORK (&logcategories[0])
static isc_result_t
create_view(isc_mem_t *mctx) {
dns_cache_t *cache;
isc_result_t result;
dns_db_t *rootdb;
unsigned int attrs;
dns_dispatch_t *disp4 = NULL;
dns_dispatch_t *disp6 = NULL;
view = NULL;
cache = NULL;
/*
* View.
*/
result = dns_view_create(mctx, dns_rdataclass_in, "_default", &view);
if (result != ISC_R_SUCCESS)
goto out;
/*
* Cache.
*/
result = dns_cache_create(mctx, taskmgr, timermgr, dns_rdataclass_in,
"rbt", 0, NULL, &cache);
if (result != ISC_R_SUCCESS)
goto out;
dns_view_setcache(view, cache);
dns_cache_detach(&cache);
/*
* Resolver.
*
* XXXMLG hardwired number of tasks.
*/
if (isc_net_probeipv4() == ISC_R_SUCCESS) {
isc_sockaddr_t any4;
isc_sockaddr_any(&any4);
attrs = DNS_DISPATCHATTR_IPV4 | DNS_DISPATCHATTR_UDP;
result = dns_dispatch_getudp(dispatchmgr, sockmgr,
taskmgr, &any4, 512, 6, 1024,
17, 19, attrs, attrs, &disp4);
if (result != ISC_R_SUCCESS)
goto out;
}
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
isc_sockaddr_t any6;
isc_sockaddr_any6(&any6);
attrs = DNS_DISPATCHATTR_IPV6 | DNS_DISPATCHATTR_UDP;
result = dns_dispatch_getudp(dispatchmgr, sockmgr,
taskmgr, &any6, 512, 6, 1024,
17, 19, attrs, attrs, &disp6);
if (result != ISC_R_SUCCESS)
goto out;
}
result = dns_view_createresolver(view, taskmgr, 16, sockmgr,
timermgr, 0, dispatchmgr,
disp4, disp6);
if (disp4 != NULL)
dns_dispatch_detach(&disp4);
if (disp6 != NULL)
dns_dispatch_detach(&disp6);
if (result != ISC_R_SUCCESS)
goto out;
rootdb = NULL;
result = dns_rootns_create(mctx, dns_rdataclass_in, NULL, &rootdb);
if (result != ISC_R_SUCCESS)
goto out;
dns_view_sethints(view, rootdb);
dns_db_detach(&rootdb);
/*
* If we have forwarders, set them here.
*/
if (ISC_LIST_HEAD(forwarders) != NULL) {
isc_sockaddr_t *sa;
dns_resolver_setforwarders(view->resolver, &forwarders);
dns_resolver_setfwdpolicy(view->resolver, dns_fwdpolicy_only);
sa = ISC_LIST_HEAD(forwarders);
while (sa != NULL) {
ISC_LIST_UNLINK(forwarders, sa, link);
isc_mem_put(mctx, sa, sizeof (*sa));
sa = ISC_LIST_HEAD(forwarders);
}
}
dns_view_freeze(view);
return (ISC_R_SUCCESS);
out:
if (view != NULL)
dns_view_detach(&view);
return (result);
}
/*
* Wrappers around our memory management stuff, for the lwres functions.
*/
static void *
mem_alloc(void *arg, size_t size) {
return (isc_mem_get(arg, size));
}
static void
mem_free(void *arg, void *mem, size_t size) {
isc_mem_put(arg, mem, size);
}
static void
parse_resolv_conf(isc_mem_t *mem) {
lwres_context_t *lwctx;
lwres_conf_t *lwc;
int lwresult;
struct in_addr ina;
struct in6_addr ina6;
isc_sockaddr_t *sa;
int i;
lwctx = NULL;
lwresult = lwres_context_create(&lwctx, mem, mem_alloc, mem_free,
LWRES_CONTEXT_SERVERMODE);
if (lwresult != LWRES_R_SUCCESS)
return;
lwresult = lwres_conf_parse(lwctx, "/etc/resolv.conf");
if (lwresult != LWRES_R_SUCCESS)
goto out;
#if 1
lwres_conf_print(lwctx, stderr);
#endif
lwc = lwres_conf_get(lwctx);
INSIST(lwc != NULL);
/*
* Run through the list of nameservers, and set them to be our
* forwarders.
*/
for (i = 0 ; i < lwc->nsnext ; i++) {
switch (lwc->nameservers[i].family) {
case AF_INET:
sa = isc_mem_get(mem, sizeof *sa);
INSIST(sa != NULL);
memcpy(&ina.s_addr, lwc->nameservers[i].address, 4);
isc_sockaddr_fromin(sa, &ina, 53);
ISC_LIST_APPEND(forwarders, sa, link);
sa = NULL;
break;
case AF_INET6:
sa = isc_mem_get(mem, sizeof *sa);
INSIST(sa != NULL);
memcpy(&ina6.s6_addr, lwc->nameservers[i].address, 16);
isc_sockaddr_fromin6(sa, &ina6, 53);
ISC_LIST_APPEND(forwarders, sa, link);
sa = NULL;
break;
default:
break;
}
}
out:
lwres_conf_clear(lwctx);
lwres_context_destroy(&lwctx);
}
int
main(int argc, char **argv) {
isc_mem_t *mem;
isc_socket_t *sock;
isc_sockaddr_t localhost;
struct in_addr lh_addr;
isc_result_t result;
unsigned int i, j;
client_t *client;
isc_logdestination_t destination;
isc_log_t *lctx;
isc_logconfig_t *lcfg;
UNUSED(argc);
UNUSED(argv);
dns_result_register();
result = isc_app_start();
INSIST(result == ISC_R_SUCCESS);
mem = NULL;
result = isc_mem_create(0, 0, &mem);
INSIST(result == ISC_R_SUCCESS);
/*
* Set up logging.
*/
lctx = NULL;
result = isc_log_create(mem, &lctx, &lcfg);
INSIST(result == ISC_R_SUCCESS);
isc_log_registermodules(lctx, logmodules);
isc_log_registercategories(lctx, logcategories);
isc_log_setcontext(lctx);
dns_log_init(lctx);
dns_log_setcontext(lctx);
destination.file.stream = stderr;
destination.file.name = NULL;
destination.file.versions = ISC_LOG_ROLLNEVER;
destination.file.maximum_size = 0;
result = isc_log_createchannel(lcfg, "_default",
ISC_LOG_TOFILEDESC,
ISC_LOG_DYNAMIC,
&destination, ISC_LOG_PRINTTIME);
INSIST(result == ISC_R_SUCCESS);
result = isc_log_usechannel(lcfg, "_default", NULL, NULL);
INSIST(result == ISC_R_SUCCESS);
/*
* Set the initial debug level.
*/
isc_log_setdebuglevel(lctx, 99);
/*
* Create a task manager.
*/
taskmgr = NULL;
result = isc_taskmgr_create(mem, NTHREADS, 0, &taskmgr);
INSIST(result == ISC_R_SUCCESS);
/*
* Create a socket manager.
*/
sockmgr = NULL;
result = isc_socketmgr_create(mem, &sockmgr);
INSIST(result == ISC_R_SUCCESS);
/*
* Create a timer manager.
*/
timermgr = NULL;
result = isc_timermgr_create(mem, &timermgr);
INSIST(result == ISC_R_SUCCESS);
/*
* Create a dispatch manager.
*/
dispatchmgr = NULL;
result = dns_dispatchmgr_create(mem, NULL, &dispatchmgr);
INSIST(result == ISC_R_SUCCESS);
/*
* Read resolv.conf to get our forwarders.
*/
ISC_LIST_INIT(forwarders);
parse_resolv_conf(mem);
/*
* Initialize the DNS bits. Start by loading our built-in
* root hints.
*/
result = create_view(mem);
INSIST(result == ISC_R_SUCCESS);
/*
* We'll need a socket. It will be a UDP socket, and bound to
* 127.0.0.1 port LWRES_UDP_PORT.
*/
sock = NULL;
result = isc_socket_create(sockmgr, AF_INET, isc_sockettype_udp,
&sock);
INSIST(result == ISC_R_SUCCESS);
lh_addr.s_addr = htonl(INADDR_LOOPBACK);
isc_sockaddr_fromin(&localhost, &lh_addr, LWRES_UDP_PORT);
result = isc_socket_bind(sock, &localhost);
if (result != ISC_R_SUCCESS) {
isc_log_write(lctx, LWRES_LOGCATEGORY_NETWORK,
LWRES_LOGMODULE_MAIN, ISC_LOG_ERROR,
"binding lwres protocol socket to port %d: %s",
LWRES_UDP_PORT,
isc_result_totext(result));
exit(1);
}
INSIST(result == ISC_R_SUCCESS);
cmgr = isc_mem_get(mem, sizeof(clientmgr_t) * NTASKS);
INSIST(cmgr != NULL);
/*
* Create one task for each client manager.
*/
for (i = 0 ; i < NTASKS ; i++) {
cmgr[i].task = NULL;
cmgr[i].sock = sock;
cmgr[i].view = NULL;
cmgr[i].flags = 0;
result = isc_task_create(taskmgr, 0, &cmgr[i].task);
if (result != ISC_R_SUCCESS)
break;
ISC_EVENT_INIT(&cmgr[i].sdev, sizeof(isc_event_t),
ISC_EVENTATTR_NOPURGE,
0, LWRD_SHUTDOWN,
client_shutdown, &cmgr[i], cmgr[i].task,
NULL, NULL);
ISC_LIST_INIT(cmgr[i].idle);
ISC_LIST_INIT(cmgr[i].running);
isc_task_setname(cmgr[i].task, "lwresd client", &cmgr[i]);
cmgr[i].mctx = mem;
cmgr[i].lwctx = NULL;
result = lwres_context_create(&cmgr[i].lwctx, mem,
mem_alloc, mem_free,
LWRES_CONTEXT_SERVERMODE);
if (result != ISC_R_SUCCESS) {
isc_task_detach(&cmgr[i].task);
break;
}
dns_view_attach(view, &cmgr[i].view);
}
INSIST(i > 0);
ntasks = i; /* remember how many we managed to create */
/*
* Now, run through each client manager and populate it with
* client structures. Do this by creating one receive for each
* task, in a loop, so each task has a chance of getting at least
* one client structure.
*/
for (i = 0 ; i < NRECVS ; i++) {
client = isc_mem_get(mem, sizeof(client_t) * ntasks);
if (client == NULL)
break;
for (j = 0 ; j < ntasks ; j++)
client_initialize(&client[j], &cmgr[j]);
}
INSIST(i > 0);
/*
* Issue one read request for each task we have.
*/
for (j = 0 ; j < ntasks ; j++) {
result = client_start_recv(&cmgr[j]);
INSIST(result == ISC_R_SUCCESS);
}
/*
* Wait for ^c or kill.
*/
isc_app_run();
/*
* Send a shutdown event to every task.
*/
for (j = 0 ; j < ntasks ; j++) {
isc_event_t *ev;
ev = &cmgr[j].sdev;
isc_task_send(cmgr[j].task, &ev);
}
/*
* Kill off the view.
*/
dns_view_detach(&view);
/*
* Wait for the tasks to all die.
*/
isc_taskmgr_destroy(&taskmgr);
/*
* Wait for everything to die off by waiting for the sockets
* to be detached.
*/
isc_socket_detach(&sock);
isc_socketmgr_destroy(&sockmgr);
isc_timermgr_destroy(&timermgr);
/*
* Free up memory allocated. This is somewhat magical. We allocated
* the client_t's in blocks, but the first task always has the
* first pointer. Just loop here, freeing them.
*/
client = ISC_LIST_HEAD(cmgr[0].idle);
while (client != NULL) {
ISC_LIST_UNLINK(cmgr[0].idle, client, link);
isc_mem_put(mem, client, sizeof(client_t) * ntasks);
client = ISC_LIST_HEAD(cmgr[0].idle);
}
INSIST(ISC_LIST_EMPTY(cmgr[0].running));
/*
* Now, kill off the client manager structures.
*/
isc_mem_put(mem, cmgr, sizeof(clientmgr_t) * NTASKS);
cmgr = NULL;
dns_dispatchmgr_destroy(&dispatchmgr);
isc_log_destroy(&lctx);
/*
* Kill the memory system.
*/
isc_mem_destroy(&mem);
isc_app_finish();
return (0);
}

526
bin/lwresd/process_gabn.c Normal file
View File

@@ -0,0 +1,526 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: process_gabn.c,v 1.29 2000/06/22 21:49:13 tale Exp $ */
#include <config.h>
#include <isc/socket.h>
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
#include <dns/adb.h>
#include <dns/events.h>
#include <dns/result.h>
#include "client.h"
#define NEED_V4(c) ((((c)->find_wanted & LWRES_ADDRTYPE_V4) != 0) \
&& ((c)->v4find == NULL))
#define NEED_V6(c) ((((c)->find_wanted & LWRES_ADDRTYPE_V6) != 0) \
&& ((c)->v6find == NULL))
static void start_find(client_t *);
/*
* Destroy any finds. This can be used to "start over from scratch" and
* should only be called when events are _not_ being generated by the finds.
*/
static void
cleanup_gabn(client_t *client) {
dns_adbfind_t *v4;
DP(50, "cleaning up client %p", client);
v4 = client->v4find;
if (client->v4find != NULL)
dns_adb_destroyfind(&client->v4find);
if (client->v6find != NULL) {
if (client->v6find == v4)
client->v6find = NULL;
else
dns_adb_destroyfind(&client->v6find);
}
}
static void
setup_addresses(client_t *client, dns_adbfind_t *find, unsigned int at) {
dns_adbaddrinfo_t *ai;
lwres_addr_t *addr;
int af;
const struct sockaddr *sa;
const struct sockaddr_in *sin;
const struct sockaddr_in6 *sin6;
if (at == DNS_ADBFIND_INET)
af = AF_INET;
else
af = AF_INET6;
ai = ISC_LIST_HEAD(find->list);
while (ai != NULL && client->gabn.naddrs < LWRES_MAX_ADDRS) {
sa = &ai->sockaddr.type.sa;
if (sa->sa_family != af)
goto next;
addr = &client->addrs[client->gabn.naddrs];
switch (sa->sa_family) {
case AF_INET:
sin = &ai->sockaddr.type.sin;
addr->family = LWRES_ADDRTYPE_V4;
memcpy(addr->address, &sin->sin_addr, 4);
addr->length = 4;
break;
case AF_INET6:
sin6 = &ai->sockaddr.type.sin6;
addr->family = LWRES_ADDRTYPE_V6;
memcpy(addr->address, &sin6->sin6_addr, 16);
addr->length = 16;
break;
default:
goto next;
}
DP(50, "adding address %p, family %d, length %d",
addr->address, addr->family, addr->length);
client->gabn.naddrs++;
REQUIRE(!LWRES_LINK_LINKED(addr, link));
LWRES_LIST_APPEND(client->gabn.addrs, addr, link);
next:
ai = ISC_LIST_NEXT(ai, publink);
}
}
static void
generate_reply(client_t *client) {
isc_result_t result;
int lwres;
isc_region_t r;
lwres_buffer_t lwb;
clientmgr_t *cm;
cm = client->clientmgr;
lwb.base = NULL;
DP(50, "generating gabn reply for client %p", client);
/*
* We must make certain the client->find is not still active.
* If it is either the v4 or v6 answer, just set it to NULL and
* let the cleanup code destroy it. Otherwise, destroy it now.
*/
if (client->find == client->v4find || client->find == client->v6find)
client->find = NULL;
else
if (client->find != NULL)
dns_adb_destroyfind(&client->find);
/*
* perhaps there are some here?
*/
if (NEED_V6(client) && client->v4find != NULL)
client->v6find = client->v4find;
/*
* Run through the finds we have and wire them up to the gabn
* structure.
*/
LWRES_LIST_INIT(client->gabn.addrs);
if (client->v4find != NULL)
setup_addresses(client, client->v4find, DNS_ADBFIND_INET);
if (client->v6find != NULL)
setup_addresses(client, client->v6find, DNS_ADBFIND_INET6);
/*
* Render the packet.
*/
client->pkt.recvlength = LWRES_RECVLENGTH;
client->pkt.authtype = 0; /* XXXMLG */
client->pkt.authlength = 0;
/*
* If there are no addresses and no aliases, return failure.
*/
if (client->gabn.naddrs == 0 && client->gabn.naliases == 0)
client->pkt.result = LWRES_R_NOTFOUND;
else
client->pkt.result = LWRES_R_SUCCESS;
lwres = lwres_gabnresponse_render(cm->lwctx, &client->gabn,
&client->pkt, &lwb);
if (lwres != LWRES_R_SUCCESS)
goto out;
r.base = lwb.base;
r.length = lwb.used;
client->sendbuf = r.base;
client->sendlength = r.length;
result = isc_socket_sendto(cm->sock, &r, cm->task, client_send, client,
&client->address, NULL);
if (result != ISC_R_SUCCESS)
goto out;
CLIENT_SETSEND(client);
/*
* All done!
*/
cleanup_gabn(client);
return;
out:
cleanup_gabn(client);
if (lwb.base != NULL)
lwres_context_freemem(client->clientmgr->lwctx,
lwb.base, lwb.length);
error_pkt_send(client, LWRES_R_FAILURE);
}
/*
* Take the current real name, move it to an alias slot (if any are
* open) then put this new name in as the real name for the target.
*
* Return success if it can be rendered, otherwise failure. Note that
* not having enough alias slots open is NOT a failure.
*/
static isc_result_t
add_alias(client_t *client) {
isc_buffer_t b;
isc_result_t result;
isc_uint16_t naliases;
b = client->recv_buffer;
/*
* Render the new name to the buffer.
*/
result = dns_name_totext(dns_fixedname_name(&client->target_name),
ISC_TRUE, &client->recv_buffer);
if (result != ISC_R_SUCCESS)
return (result);
/*
* Are there any open slots?
*/
naliases = client->gabn.naliases;
if (naliases < LWRES_MAX_ALIASES) {
client->gabn.aliases[naliases] = client->gabn.realname;
client->gabn.aliaslen[naliases] = client->gabn.realnamelen;
client->gabn.naliases++;
}
/*
* Save this name away as the current real name.
*/
client->gabn.realname = (char *)(b.base) + b.used;
client->gabn.realnamelen = client->recv_buffer.used - b.used;
return (ISC_R_SUCCESS);
}
static isc_result_t
store_realname(client_t *client) {
isc_buffer_t b;
isc_result_t result;
b = client->recv_buffer;
/*
* Render the new name to the buffer.
*/
result = dns_name_totext(dns_fixedname_name(&client->target_name),
ISC_TRUE, &client->recv_buffer);
if (result != ISC_R_SUCCESS)
return (result);
/*
* Save this name away as the current real name.
*/
client->gabn.realname = (char *) b.base + b.used;
client->gabn.realnamelen = client->recv_buffer.used - b.used;
return (ISC_R_SUCCESS);
}
static void
process_gabn_finddone(isc_task_t *task, isc_event_t *ev) {
client_t *client = ev->ev_arg;
isc_eventtype_t evtype;
isc_boolean_t claimed;
DP(50, "find done for task %p, client %p", task, client);
evtype = ev->ev_type;
isc_event_free(&ev);
/*
* No more info to be had? If so, we have all the good stuff
* right now, so we can render things.
*/
claimed = ISC_FALSE;
if (evtype == DNS_EVENT_ADBNOMOREADDRESSES) {
if (NEED_V4(client)) {
client->v4find = client->find;
claimed = ISC_TRUE;
}
if (NEED_V6(client)) {
client->v6find = client->find;
claimed = ISC_TRUE;
}
if (client->find != NULL) {
if (claimed)
client->find = NULL;
else
dns_adb_destroyfind(&client->find);
}
generate_reply(client);
return;
}
/*
* We probably don't need this find anymore. We're either going to
* reissue it, or an error occurred. Either way, we're done with
* it.
*/
if ((client->find != client->v4find)
&& (client->find != client->v6find)) {
dns_adb_destroyfind(&client->find);
} else {
client->find = NULL;
}
/*
* We have some new information we can gather. Run off and fetch
* it.
*/
if (evtype == DNS_EVENT_ADBMOREADDRESSES) {
start_find(client);
return;
}
/*
* An error or other strangeness happened. Drop this query.
*/
cleanup_gabn(client);
error_pkt_send(client, LWRES_R_FAILURE);
}
static void
start_find(client_t *client) {
unsigned int options;
isc_result_t result;
isc_boolean_t claimed;
DP(50, "starting find for client %p", client);
/*
* Issue a find for the name contained in the request. We won't
* set the bit that says "anything is good enough" -- we want it
* all.
*/
options = 0;
options |= DNS_ADBFIND_WANTEVENT;
options |= DNS_ADBFIND_RETURNLAME;
/*
* Set the bits up here to mark that we want this address family
* and that we do not currently have a find pending. We will
* set that bit again below if it turns out we will get an event.
*/
if (NEED_V4(client))
options |= DNS_ADBFIND_INET;
if (NEED_V6(client))
options |= DNS_ADBFIND_INET6;
find_again:
INSIST(client->find == NULL);
result = dns_adb_createfind(client->clientmgr->view->adb,
client->clientmgr->task,
process_gabn_finddone, client,
dns_fixedname_name(&client->target_name),
dns_rootname, options, 0,
dns_fixedname_name(&client->target_name),
client->clientmgr->view->dstport,
&client->find);
/*
* Did we get an alias? If so, save it and re-issue the query.
*/
if (result == DNS_R_ALIAS) {
DP(50, "found alias, restarting query");
dns_adb_destroyfind(&client->find);
cleanup_gabn(client);
result = add_alias(client);
if (result != ISC_R_SUCCESS) {
DP(50, "out of buffer space adding alias");
error_pkt_send(client, LWRES_R_FAILURE);
return;
}
goto find_again;
}
DP(50, "find returned %d (%s)", result, isc_result_totext(result));
/*
* Did we get an error?
*/
if (result != ISC_R_SUCCESS) {
if (client->find != NULL)
dns_adb_destroyfind(&client->find);
cleanup_gabn(client);
error_pkt_send(client, LWRES_R_FAILURE);
return;
}
claimed = ISC_FALSE;
/*
* Did we get our answer to V4 addresses?
*/
if (NEED_V4(client)
&& ((client->find->query_pending & DNS_ADBFIND_INET) == 0)) {
DP(50, "client %p ipv4 satisfied by find %p", client,
client->find);
claimed = ISC_TRUE;
client->v4find = client->find;
}
/*
* Did we get our answer to V6 addresses?
*/
if (NEED_V6(client)
&& ((client->find->query_pending & DNS_ADBFIND_INET6) == 0)) {
DP(50, "client %p ipv6 satisfied by find %p", client,
client->find);
claimed = ISC_TRUE;
client->v6find = client->find;
}
/*
* If we're going to get an event, set our internal pending flag
* and return. When we get an event back we'll do the right
* thing, basically by calling this function again, perhaps with a
* new target name.
*
* If we have both v4 and v6, and we are still getting an event,
* we have a programming error, so die hard.
*/
if ((client->find->options & DNS_ADBFIND_WANTEVENT) != 0) {
DP(50, "event will be sent");
INSIST(client->v4find == NULL || client->v6find == NULL);
return;
}
DP(50, "no event will be sent");
if (claimed)
client->find = NULL;
else
dns_adb_destroyfind(&client->find);
/*
* We seem to have everything we asked for, or at least we are
* able to respond with things we've learned.
*/
generate_reply(client);
}
/*
* When we are called, we can be assured that:
*
* client->sockaddr contains the address we need to reply to,
*
* client->pkt contains the packet header data,
*
* the packet "checks out" overall -- any MD5 hashes or crypto
* bits have been verified,
*
* "b" points to the remaining data after the packet header
* was parsed off.
*
* We are in a the RECVDONE state.
*
* From this state we will enter the SEND state if we happen to have
* everything we need or we need to return an error packet, or to the
* FINDWAIT state if we need to look things up.
*/
void
process_gabn(client_t *client, lwres_buffer_t *b) {
isc_result_t result;
lwres_gabnrequest_t *req;
isc_buffer_t namebuf;
REQUIRE(CLIENT_ISRECVDONE(client));
req = NULL;
result = lwres_gabnrequest_parse(client->clientmgr->lwctx,
b, &client->pkt, &req);
if (result != LWRES_R_SUCCESS)
goto out;
isc_buffer_init(&namebuf, req->name, req->namelen);
isc_buffer_add(&namebuf, req->namelen);
dns_fixedname_init(&client->target_name);
result = dns_name_fromtext(dns_fixedname_name(&client->target_name),
&namebuf, dns_rootname, ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS)
goto out;
client->find_wanted = req->addrtypes;
DP(50, "client %p looking for addrtypes %08x",
client, client->find_wanted);
/*
* We no longer need to keep this around.
*/
lwres_gabnrequest_free(client->clientmgr->lwctx, &req);
/*
* Initialize the real name and alias arrays in the reply we're
* going to build up.
*/
client_init_gabn(client);
result = store_realname(client);
if (result != ISC_R_SUCCESS)
goto out;
/*
* Start the find.
*/
start_find(client);
return;
/*
* We're screwed. Return an error packet to our caller.
*/
out:
if (req != NULL)
lwres_gabnrequest_free(client->clientmgr->lwctx, &req);
error_pkt_send(client, LWRES_R_FAILURE);
}

264
bin/lwresd/process_gnba.c Normal file
View File

@@ -0,0 +1,264 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: process_gnba.c,v 1.24 2000/06/22 21:49:15 tale Exp $ */
#include <config.h>
#include <isc/socket.h>
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
#include <dns/adb.h>
#include <dns/byaddr.h>
#include <dns/result.h>
#include "client.h"
static void start_byaddr(client_t *);
static void
byaddr_done(isc_task_t *task, isc_event_t *event) {
client_t *client;
clientmgr_t *cm;
dns_byaddrevent_t *bevent;
int lwres;
lwres_buffer_t lwb;
dns_name_t *name;
isc_result_t result;
isc_region_t r;
isc_buffer_t b;
lwres_gnbaresponse_t *gnba;
isc_uint16_t naliases;
isc_stdtime_t now;
UNUSED(task);
lwb.base = NULL;
client = event->ev_arg;
cm = client->clientmgr;
INSIST(client->byaddr == (dns_byaddr_t *)event->ev_sender);
bevent = (dns_byaddrevent_t *)event;
gnba = &client->gnba;
DP(50, "byaddr event result = %s",
isc_result_totext(bevent->result));
result = bevent->result;
if (result != ISC_R_SUCCESS) {
dns_byaddr_destroy(&client->byaddr);
isc_event_free(&event);
bevent = NULL;
/*
* Were we trying bitstring or nibble mode? If bitstring,
* and we got FORMERROR or SERVFAIL, set the flag to
* avoid bitstring lables for 10 minutes. If we got any
* other error (NXDOMAIN, etc) just try again without
* bitstrings, and let our cache handle the negative answer
* for bitstrings.
*/
if ((client->options & DNS_BYADDROPT_IPV6NIBBLE) != 0) {
dns_adb_freeaddrinfo(cm->view->adb, &client->addrinfo);
error_pkt_send(client, LWRES_R_FAILURE);
return;
}
isc_stdtime_get(&now);
if (result == DNS_R_FORMERR ||
result == DNS_R_SERVFAIL ||
result == ISC_R_FAILURE)
dns_adb_setavoidbitstring(cm->view->adb,
client->addrinfo, now + 600);
/*
* Fall back to nibble reverse if the default of bitstrings
* fails.
*/
client->options |= DNS_BYADDROPT_IPV6NIBBLE;
start_byaddr(client);
return;
}
name = ISC_LIST_HEAD(bevent->names);
while (name != NULL) {
b = client->recv_buffer;
result = dns_name_totext(name, ISC_TRUE, &client->recv_buffer);
if (result != ISC_R_SUCCESS)
goto out;
DP(50, "found name '%.*s'",
client->recv_buffer.used - b.used,
(char *)(b.base) + b.used);
if (gnba->realname == NULL) {
gnba->realname = (char *)(b.base) + b.used;
gnba->realnamelen = client->recv_buffer.used - b.used;
} else {
naliases = gnba->naliases;
if (naliases >= LWRES_MAX_ALIASES)
break;
gnba->aliases[naliases] = (char *)(b.base) + b.used;
gnba->aliaslen[naliases] =
client->recv_buffer.used - b.used;
gnba->naliases++;
}
name = ISC_LIST_NEXT(name, link);
}
dns_byaddr_destroy(&client->byaddr);
dns_adb_freeaddrinfo(cm->view->adb, &client->addrinfo);
isc_event_free(&event);
/*
* Render the packet.
*/
client->pkt.recvlength = LWRES_RECVLENGTH;
client->pkt.authtype = 0; /* XXXMLG */
client->pkt.authlength = 0;
client->pkt.result = LWRES_R_SUCCESS;
lwres = lwres_gnbaresponse_render(cm->lwctx,
gnba, &client->pkt, &lwb);
if (lwres != LWRES_R_SUCCESS)
goto out;
r.base = lwb.base;
r.length = lwb.used;
client->sendbuf = r.base;
client->sendlength = r.length;
result = isc_socket_sendto(cm->sock, &r,
cm->task, client_send,
client, &client->address, NULL);
if (result != ISC_R_SUCCESS)
goto out;
CLIENT_SETSEND(client);
return;
out:
if (client->byaddr != NULL)
dns_byaddr_destroy(&client->byaddr);
if (client->addrinfo != NULL)
dns_adb_freeaddrinfo(cm->view->adb, &client->addrinfo);
if (lwb.base != NULL)
lwres_context_freemem(cm->lwctx,
lwb.base, lwb.length);
isc_event_free(&event);
}
static void
start_byaddr(client_t *client) {
isc_result_t result;
clientmgr_t *cm;
cm = client->clientmgr;
INSIST(client->byaddr == NULL);
result = dns_byaddr_create(cm->mctx, &client->na, cm->view,
client->options, cm->task, byaddr_done,
client, &client->byaddr);
if (result != ISC_R_SUCCESS) {
dns_adb_freeaddrinfo(cm->view->adb, &client->addrinfo);
error_pkt_send(client, LWRES_R_FAILURE);
return;
}
}
void
process_gnba(client_t *client, lwres_buffer_t *b) {
lwres_gnbarequest_t *req;
isc_result_t result;
isc_sockaddr_t sa;
clientmgr_t *cm;
REQUIRE(CLIENT_ISRECVDONE(client));
INSIST(client->byaddr == NULL);
cm = client->clientmgr;
req = NULL;
result = lwres_gnbarequest_parse(cm->lwctx,
b, &client->pkt, &req);
if (result != LWRES_R_SUCCESS)
goto out;
if (req->addr.address == NULL)
goto out;
client->options = 0;
if (req->addr.family == LWRES_ADDRTYPE_V4) {
client->na.family = AF_INET;
if (req->addr.length != 4)
goto out;
memcpy(&client->na.type.in, req->addr.address, 4);
} else if (req->addr.family == LWRES_ADDRTYPE_V6) {
client->na.family = AF_INET6;
if (req->addr.length != 16)
goto out;
memcpy(&client->na.type.in6, req->addr.address, 16);
} else {
goto out;
}
isc_sockaddr_fromnetaddr(&sa, &client->na, 53);
DP(50, "client %p looking for addrtype %08x",
client, req->addr.family);
/*
* We no longer need to keep this around.
*/
lwres_gnbarequest_free(cm->lwctx, &req);
/*
* Initialize the real name and alias arrays in the reply we're
* going to build up.
*/
client_init_gnba(client);
client->options = 0;
/*
* See if we should skip the byaddr bit.
*/
INSIST(client->addrinfo == NULL);
result = dns_adb_findaddrinfo(cm->view->adb, &sa,
&client->addrinfo, 0);
if (result != ISC_R_SUCCESS)
goto out;
if (client->addrinfo->avoid_bitstring > 0)
client->options |= DNS_BYADDROPT_IPV6NIBBLE;
/*
* Start the find.
*/
start_byaddr(client);
return;
/*
* We're screwed. Return an error packet to our caller.
*/
out:
if (req != NULL)
lwres_gnbarequest_free(cm->lwctx, &req);
error_pkt_send(client, LWRES_R_FAILURE);
}

87
bin/lwresd/process_noop.c Normal file
View File

@@ -0,0 +1,87 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: process_noop.c,v 1.7 2000/06/22 21:49:16 tale Exp $ */
#include <config.h>
#include <isc/socket.h>
#include <isc/util.h>
#include "client.h"
void
process_noop(client_t *client, lwres_buffer_t *b) {
lwres_nooprequest_t *req;
lwres_noopresponse_t resp;
isc_result_t result;
lwres_result_t lwres;
isc_region_t r;
lwres_buffer_t lwb;
REQUIRE(CLIENT_ISRECVDONE(client));
INSIST(client->byaddr == NULL);
req = NULL;
result = lwres_nooprequest_parse(client->clientmgr->lwctx,
b, &client->pkt, &req);
if (result != LWRES_R_SUCCESS)
goto out;
client->pkt.recvlength = LWRES_RECVLENGTH;
client->pkt.authtype = 0; /* XXXMLG */
client->pkt.authlength = 0;
client->pkt.result = LWRES_R_SUCCESS;
resp.datalength = req->datalength;
resp.data = req->data;
lwres = lwres_noopresponse_render(client->clientmgr->lwctx, &resp,
&client->pkt, &lwb);
if (lwres != LWRES_R_SUCCESS)
goto out;
r.base = lwb.base;
r.length = lwb.used;
client->sendbuf = r.base;
client->sendlength = r.length;
result = isc_socket_sendto(client->clientmgr->sock, &r,
client->clientmgr->task, client_send,
client, &client->address, NULL);
if (result != ISC_R_SUCCESS)
goto out;
/*
* We can now destroy request.
*/
lwres_nooprequest_free(client->clientmgr->lwctx, &req);
CLIENT_SETSEND(client);
return;
out:
if (req != NULL)
lwres_nooprequest_free(client->clientmgr->lwctx, &req);
if (lwb.base != NULL)
lwres_context_freemem(client->clientmgr->lwctx,
lwb.base, lwb.length);
error_pkt_send(client, LWRES_R_FAILURE);
}

View File

@@ -3,5 +3,4 @@ Makefile
*.la
*.lo
named
named-symtbl.c
lwresd

View File

@@ -1,19 +1,19 @@
# Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Copyright (C) 1998-2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and 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.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
# ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
# CONSORTIUM 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: Makefile.in,v 1.109 2009/12/05 23:31:40 each Exp $
# $Id: Makefile.in,v 1.49.2.2 2000/07/11 17:23:01 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,146 +21,69 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_CONFIGARGS@
@BIND9_INCLUDES@
@BIND9_MAKE_INCLUDES@
#
# Add database drivers here.
#
DBDRIVER_OBJS =
DBDRIVER_SRCS =
DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
DLZ_DRIVER_DIR = ${top_srcdir}/contrib/dlz/drivers
DLZDRIVER_OBJS = @DLZ_DRIVER_OBJS@
DLZDRIVER_SRCS = @DLZ_DRIVER_SRCS@
DLZDRIVER_INCLUDES = @DLZ_DRIVER_INCLUDES@
DLZDRIVER_LIBS = @DLZ_DRIVER_LIBS@
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include -I. \
${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES}
CDEFINES = @USE_DLZ@ @USE_PKCS11@
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
${LWRES_INCLUDES} ${DNS_INCLUDES} ${ISC_INCLUDES} \
${OMAPI_INCLUDES}
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
OMAPILIBS = ../../lib/omapi/libomapi.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
OMAPIDEPLIBS = ../../lib/omapi/libomapi.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCDEPLIBS = ../../lib/isccc/libisccc.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \
${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
DEPLIBS = ${LWRESDEPLIBS} ${OMAPIDEPLIBS} ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} \
${DLZDRIVER_LIBS} ${DBDRIVER_LIBS} @LIBS@
NOSYMLIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCNOSYMLIBS} \
${DLZDRIVER_LIBS} ${DBDRIVER_LIBS} @LIBS@
LIBS = ${LWRESLIBS} ${OMAPILIBS} ${DNSLIBS} ${ISCLIBS} @LIBS@
SUBDIRS = unix
TARGETS = named@EXEEXT@ lwresd@EXEEXT@
TARGETS = named lwresd
OBJS = builtin.@O@ client.@O@ config.@O@ control.@O@ \
controlconf.@O@ interfacemgr.@O@ \
listenlist.@O@ log.@O@ logconf.@O@ main.@O@ notify.@O@ \
query.@O@ server.@O@ sortlist.@O@ statschannel.@O@ \
tkeyconf.@O@ tsigconf.@O@ update.@O@ xfrout.@O@ \
zoneconf.@O@ \
lwaddr.@O@ lwresd.@O@ lwdclient.@O@ lwderror.@O@ lwdgabn.@O@ \
lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ \
${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
OBJS = client.@O@ interfacemgr.@O@ listenlist.@O@ \
log.@O@ logconf.@O@ main.@O@ notify.@O@ omapi.@O@ \
omapiconf.@O@ query.@O@ server.@O@ update.@O@ xfrout.@O@ \
lwresd.@O@ lwdclient.@O@ lwderror.@O@ lwdgabn.@O@ \
lwdgnba.@O@ lwdnoop.@O@
UOBJS = unix/os.@O@
SYMOBJS = symtbl.@O@
SRCS = builtin.c client.c config.c control.c \
controlconf.c interfacemgr.c \
listenlist.c log.c logconf.c main.c notify.c \
query.c server.c sortlist.c statschannel.c symtbl.c symtbl-empty.c \
tkeyconf.c tsigconf.c update.c xfrout.c \
zoneconf.c \
lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \
lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \
${DLZDRIVER_SRCS} ${DBDRIVER_SRCS}
MANPAGES = named.8 lwresd.8 named.conf.5
HTMLPAGES = named.html lwresd.html named.conf.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
SRCS = client.c interfacemgr.c listenlist.c \
log.c logconf.c main.c notify.c omapi.c \
omapiconf.c query.c server.c update.c xfrout.c \
lwresd.c lwdclient.c lwderror.c lwdgabn.c \
lwdgnba.c lwdnoop.c
@BIND9_MAKE_RULES@
main.@O@: main.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DCONFIGARGS="\"${CONFIGARGS}\"" \
${LIBTOOL} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
bind.keys.h: ${top_srcdir}/bind.keys
${PERL} ${srcdir}/bindkeys.pl < ${top_srcdir}/bind.keys > $@
named: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL} ${CC} ${CFLAGS} -o $@ ${OBJS} ${UOBJS} ${LIBS}
config.@O@: config.c bind.keys.h
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" \
-c ${srcdir}/config.c
lwresd: named
rm -f lwresd
@LN@ named lwresd
named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
export MAKE_SYMTABLE="yes"; \
export BASEOBJS="${OBJS} ${UOBJS}"; \
${FINALBUILDCMD}
lwresd@EXEEXT@: named@EXEEXT@
rm -f lwresd@EXEEXT@
@LN@ named@EXEEXT@ lwresd@EXEEXT@
doc man:: ${MANOBJS}
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
rm -f ${TARGETS} ${OBJS} bind.keys.h
bind9.xsl.h: bind9.xsl ${srcdir}/convertxsl.pl
${PERL} ${srcdir}/convertxsl.pl < ${srcdir}/bind9.xsl > bind9.xsl.h
depend: bind9.xsl.h
statschannel.@O@: bind9.xsl.h
clean distclean::
rm -f ${TARGETS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
if [ ! -d ${DESTDIR}${sbindir} ]; then \
mkdir ${DESTDIR}${sbindir}; \
fi
install:: named@EXEEXT@ lwresd@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@)
${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5
@DLZ_DRIVER_RULES@
install:: named lwresd installdirs
${LIBTOOL} ${INSTALL_PROGRAM} named ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f lwresd; @LN@ named lwresd)

View File

@@ -1,17 +1,99 @@
/*
* 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\
# which are included as part of BIND 9. As of the current release, the only\n\
# trust anchors it contains are those for the DNS root zone (\".\"), and for\n\
# the ISC DNSSEC Lookaside Validation zone (\"dlv.isc.org\"). Trust anchors\n\
# for any other zones MUST be configured elsewhere; if they are configured\n\
# here, they will not be recognized or used by named.\n\
#\n\
# The built-in trust anchors are provided for convenience of configuration.\n\
# They are not activated within named.conf unless specifically switched on.\n\
# To use the built-in root key, set \"dnssec-validation auto;\" in\n\
# named.conf options. To use the built-in DLV key, set\n\
# \"dnssec-lookaside auto;\". Without these options being set,\n\
# the keys in this file are ignored.\n\
#\n\
# This file is NOT expected to be user-configured.\n\
#\n\
# These keys are current as of January 2011. If any key fails to\n\
# initialize correctly, it may have expired. In that event you should\n\
# replace this file with a current version. The latest version of\n\
# bind.keys can always be obtained from ISC at https://www.isc.org/bind-keys.\n\
\n\
trusted-keys {\n\
# NOTE: This key is current as of October 2009.\n\
# If it fails to initialize correctly, it may have expired;\n\
# see https://www.isc.org/solutions/dlv for a replacement.\n\
dlv.isc.org. 257 3 5 \"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh\";\n\
# ISC DLV: See https://www.isc.org/solutions/dlv for details.\n\
# NOTE: This key is activated by setting \"dnssec-lookaside auto;\"\n\
# in named.conf.\n\
dlv.isc.org. 257 3 5 \"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2\n\
brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+\n\
1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5\n\
ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk\n\
Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM\n\
QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt\n\
TDN0YUuWrBNh\";\n\
\n\
# ROOT KEY: See https://data.iana.org/root-anchors/root-anchors.xml\n\
# for current trust anchor information.\n\
# NOTE: This key is activated by setting \"dnssec-validation auto;\"\n\
# in named.conf.\n\
. 257 3 8 \"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF\n\
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX\n\
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD\n\
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz\n\
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS\n\
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq\n\
QxA+Uk1ihz0=\";\n\
};\n\
"
#define MANAGED_KEYS "\
# The bind.keys file is used to override the built-in DNSSEC trust anchors\n\
# which are included as part of BIND 9. As of the current release, the only\n\
# trust anchors it contains are those for the DNS root zone (\".\"), and for\n\
# the ISC DNSSEC Lookaside Validation zone (\"dlv.isc.org\"). Trust anchors\n\
# for any other zones MUST be configured elsewhere; if they are configured\n\
# here, they will not be recognized or used by named.\n\
#\n\
# The built-in trust anchors are provided for convenience of configuration.\n\
# They are not activated within named.conf unless specifically switched on.\n\
# To use the built-in root key, set \"dnssec-validation auto;\" in\n\
# named.conf options. To use the built-in DLV key, set\n\
# \"dnssec-lookaside auto;\". Without these options being set,\n\
# the keys in this file are ignored.\n\
#\n\
# This file is NOT expected to be user-configured.\n\
#\n\
# These keys are current as of January 2011. If any key fails to\n\
# initialize correctly, it may have expired. In that event you should\n\
# replace this file with a current version. The latest version of\n\
# bind.keys can always be obtained from ISC at https://www.isc.org/bind-keys.\n\
\n\
managed-keys {\n\
# NOTE: This key is current as of October 2009.\n\
# If it fails to initialize correctly, it may have expired;\n\
# see https://www.isc.org/solutions/dlv for a replacement.\n\
dlv.isc.org. initial-key 257 3 5 \"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh\";\n\
# ISC DLV: See https://www.isc.org/solutions/dlv for details.\n\
# NOTE: This key is activated by setting \"dnssec-lookaside auto;\"\n\
# in named.conf.\n\
dlv.isc.org. initial-key 257 3 5 \"BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2\n\
brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+\n\
1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5\n\
ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk\n\
Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM\n\
QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt\n\
TDN0YUuWrBNh\";\n\
\n\
# ROOT KEY: See https://data.iana.org/root-anchors/root-anchors.xml\n\
# for current trust anchor information.\n\
# NOTE: This key is activated by setting \"dnssec-validation auto;\"\n\
# in named.conf.\n\
. initial-key 257 3 8 \"AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF\n\
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX\n\
bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD\n\
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz\n\
W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS\n\
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq\n\
QxA+Uk1ihz0=\";\n\
};\n\
"

View File

@@ -1,6 +1,6 @@
/*
* Generated by convertxsl.pl 1.14 2008/07/17 23:43:26 jinmei Exp
* From bind9.xsl 1.21 2009/01/27 23:47:54 tbox Exp
* Generated by convertxsl.pl 1.14 2008-07-17 23:43:26 jinmei Exp
* From bind9.xsl 1.21 2009-01-27 23:47:54 tbox Exp
*/
static char xslmsg[] =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
@@ -20,7 +20,7 @@ static char xslmsg[] =
" - PERFORMANCE OF THIS SOFTWARE.\n"
"-->\n"
"\n"
"<!-- \045Id: bind9.xsl,v 1.21 2009/01/27 23:47:54 tbox Exp \045 -->\n"
"<!-- \045Id: bind9.xsl,v 1.21 2009-01-27 23:47:54 tbox Exp \045 -->\n"
"\n"
"<xsl:stylesheet version=\"1.0\"\n"
" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
# 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,23 +14,41 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: bindkeys.pl,v 1.3 2009/09/01 07:14:25 each Exp $
# $Id: bindkeys.pl,v 1.7 2011/01/04 23:47:13 tbox Exp $
use strict;
use warnings;
my $rev = '$Id: bindkeys.pl,v 1.7 2011/01/04 23:47:13 tbox Exp $';
$rev =~ s/\$//g;
$rev =~ s/,v//g;
$rev =~ s/Id: //;
my $keys = "";
my $lines;
while (<>) {
chomp;
if (/\/\* .Id:.* \*\//) {
$keys = $_;
next;
}
s/\"/\\\"/g;
s/$/\\n\\/;
$lines .= $_ . "\n";
}
$keys =~ s/\$//g;
$keys =~ s/\/\* Id: //;
$keys =~ s/\*\/.*//;
$keys =~ s/,v//;
print "/*\n * Generated by $rev \n * From $keys\n */\n";
my $mkey = '#define MANAGED_KEYS "\\' . "\n" . $lines . "\"\n";
$lines =~ s/managed-keys/trusted-keys/;
$lines =~ s/\s+initial-key//;
$lines =~ s/\s+initial-key//g;
my $tkey = '#define TRUSTED_KEYS "\\' . "\n" . $lines . "\"\n";
print $tkey;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009 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.15 2009/03/01 02:45:38 each Exp $ */
/* $Id: builtin.c,v 1.26 2012/01/21 19:44:18 each Exp $ */
/*! \file
* \brief
@@ -47,6 +47,7 @@ static isc_result_t do_hostname_lookup(dns_sdblookup_t *lookup);
static isc_result_t do_authors_lookup(dns_sdblookup_t *lookup);
static isc_result_t do_id_lookup(dns_sdblookup_t *lookup);
static isc_result_t do_empty_lookup(dns_sdblookup_t *lookup);
static isc_result_t do_dns64_lookup(dns_sdblookup_t *lookup);
/*
* We can't use function pointers as the db_data directly
@@ -65,19 +66,194 @@ static builtin_t hostname_builtin = { do_hostname_lookup, NULL, NULL };
static builtin_t authors_builtin = { do_authors_lookup, NULL, NULL };
static builtin_t id_builtin = { do_id_lookup, NULL, NULL };
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 const char hex[] = "0123456789abcdef";
static const char HEX[] = "0123456789ABCDEF";
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];
unsigned int i;
char reverse[sizeof("123.123.123.123.in-addr.arpa.")];
/*
* The sum the length of the relative name and the length of the zone
* name for a IPv6 reverse lookup comes to 71.
*
* 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 length for a ip6.arpa zone name is 8.
*
* The length of name should always be odd as we are expecting
* a series of nibbles.
*/
zlen = strlen(zone);
nlen = strlen(name);
if ((zlen + nlen) > 71U || zlen < 8U || (nlen % 2) != 1U)
return (ISC_R_NOTFOUND);
/*
* We assume the zone name is well formed.
*/
/*
* XXXMPA We could check the dns64 suffix here if we need to.
*/
/*
* Check that name is a series of nibbles.
* Compute the byte values that correspond to the nibbles as we go.
*
* Shift the final result 4 bits, by setting 'i' to 1, if we if we
* have a odd number of nibbles so that "must be zero" tests below
* 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;
j = nlen;
memset(v, 0, sizeof(v));
while (j >= 1U) {
INSIST((i/2) < sizeof(v));
if (j > 1U && name[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
return (ISC_R_NOTFOUND);
if (j > 1U)
j -= 2;
else
j -= 1;
name += 2;
i++;
}
/*
* If we get here then we know name only consisted of nibbles.
* Now we need to determine if the name exists or not and whether
* it corresponds to a empty node in the zone or there should be
* a CNAME.
*/
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 */
/*
* 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)
return (ISC_R_NOTFOUND);
/*
* 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[6], v[8], v[9], v[10]);
break;
case 32: /* prefix len 48 */
/*
* 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)
return (ISC_R_NOTFOUND);
/*
* 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[5], v[6], v[8], v[9]);
break;
case 36: /* prefix len 56 */
/*
* 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)
return (ISC_R_NOTFOUND);
/*
* 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[4], v[5], v[6], v[8]);
break;
case 40: /* prefix len 64 */
/*
* The nibbles that map to this byte must be zero for 'name'
* to exist in the zone.
*/
if (v[nlen/4] != 0)
return (ISC_R_NOTFOUND);
/*
* 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[3], v[4], v[5], v[6]);
break;
case 56: /* prefix len 96 */
/*
* 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[0], v[1], v[2], v[3]);
break;
default:
/*
* This should never be reached unless someone adds a
* zone declaration with this internal type to named.conf.
*/
return (ISC_R_NOTFOUND);
}
return (dns_sdb_putrr(lookup, "CNAME", 600, reverse));
}
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);
}
@@ -127,13 +303,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",
@@ -174,6 +355,12 @@ do_id_lookup(dns_sdblookup_t *lookup) {
return (put_txt(lookup, ns_g_server->server_id));
}
static isc_result_t
do_dns64_lookup(dns_sdblookup_t *lookup) {
UNUSED(lookup);
return (ISC_R_SUCCESS);
}
static isc_result_t
do_empty_lookup(dns_sdblookup_t *lookup) {
@@ -221,7 +408,7 @@ builtin_create(const char *zone, int argc, char **argv,
UNUSED(zone);
UNUSED(driverdata);
if (strcmp(argv[0], "empty") == 0) {
if (strcmp(argv[0], "empty") == 0 || strcmp(argv[0], "dns64") == 0) {
if (argc != 3)
return (DNS_R_SYNTAX);
} else if (argc != 1)
@@ -235,7 +422,8 @@ builtin_create(const char *zone, int argc, char **argv,
*dbdata = &authors_builtin;
else if (strcmp(argv[0], "id") == 0)
*dbdata = &id_builtin;
else if (strcmp(argv[0], "empty") == 0) {
else if (strcmp(argv[0], "empty") == 0 ||
strcmp(argv[0], "dns64") == 0) {
builtin_t *empty;
char *server;
char *contact;
@@ -247,7 +435,10 @@ builtin_create(const char *zone, int argc, char **argv,
server = isc_mem_strdup(ns_g_mctx, argv[1]);
contact = isc_mem_strdup(ns_g_mctx, argv[2]);
if (empty == NULL || server == NULL || contact == NULL) {
*dbdata = &empty_builtin;
if (strcmp(argv[0], "empty") == 0)
*dbdata = &empty_builtin;
else
*dbdata = &dns64_builtin;
if (server != NULL)
isc_mem_free(ns_g_mctx, server);
if (contact != NULL)
@@ -255,7 +446,12 @@ builtin_create(const char *zone, int argc, char **argv,
if (empty != NULL)
isc_mem_put(ns_g_mctx, empty, sizeof (*empty));
} else {
memcpy(empty, &empty_builtin, sizeof (empty_builtin));
if (strcmp(argv[0], "empty") == 0)
memcpy(empty, &empty_builtin,
sizeof (empty_builtin));
else
memcpy(empty, &dns64_builtin,
sizeof (empty_builtin));
empty->server = server;
empty->contact = contact;
*dbdata = empty;
@@ -277,7 +473,7 @@ builtin_destroy(const char *zone, void *driverdata, void **dbdata) {
*/
if (*dbdata == &version_builtin || *dbdata == &hostname_builtin ||
*dbdata == &authors_builtin || *dbdata == &id_builtin ||
*dbdata == &empty_builtin)
*dbdata == &empty_builtin || *dbdata == &dns64_builtin)
return;
isc_mem_free(ns_g_mctx, b->server);
@@ -307,3 +503,4 @@ void
ns_builtin_deinit(void) {
dns_sdb_unregister(&builtin_impl);
}

File diff suppressed because it is too large Load Diff

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) 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.108 2010/05/14 23:50:38 tbox Exp $ */
/* $Id: config.c,v 1.123 2012/01/06 23:46:41 tbox Exp $ */
/*! \file */
@@ -80,6 +80,7 @@ options {\n\
bindkeys-file \"" NS_SYSCONFDIR "/bind.keys\";\n\
port 53;\n\
recursing-file \"named.recursing\";\n\
secroots-file \"named.secroots\";\n\
"
#ifdef PATH_RANDOMDEV
"\
@@ -88,7 +89,8 @@ options {\n\
#endif
"\
recursive-clients 1000;\n\
rrset-order {type NS order random; order cyclic; };\n\
resolver-query-timeout 30;\n\
rrset-order { order random; };\n\
serial-queries 20;\n\
serial-query-rate 20;\n\
server-id none;\n\
@@ -158,9 +160,11 @@ options {\n\
max-clients-per-query 100;\n\
zero-no-soa-ttl-cache no;\n\
nsec3-test-zone no;\n\
allow-new-zones no;\n\
"
#ifdef ALLOW_FILTER_AAAA_ON_V4
" filter-aaaa-on-v4 no;\n\
filter-aaaa { any; };\n\
"
#endif
@@ -195,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\
@@ -205,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\
"
@@ -216,6 +224,7 @@ options {\n\
view \"_bind\" chaos {\n\
recursion no;\n\
notify no;\n\
allow-new-zones no;\n\
\n\
zone \"version.bind\" chaos {\n\
type master;\n\
@@ -286,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.
*/
@@ -299,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);
}
@@ -370,6 +381,10 @@ ns_config_getzonetype(const cfg_obj_t *zonetypeobj) {
ztype = dns_zone_slave;
else if (strcasecmp(str, "stub") == 0)
ztype = dns_zone_stub;
else if (strcasecmp(str, "static-stub") == 0)
ztype = dns_zone_staticstub;
else if (strcasecmp(str, "redirect") == 0)
ztype = dns_zone_redirect;
else
INSIST(0);
return (ztype);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-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: control.c,v 1.36 2009/10/12 20:48:11 each Exp $ */
/* $Id: control.c,v 1.47 2011/11/03 23:05:30 each Exp $ */
/*! \file */
@@ -129,11 +129,16 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
* isc_app_shutdown below.
*/
#endif
/* Do not flush master files */
ns_server_flushonshutdown(ns_g_server, ISC_FALSE);
ns_os_shutdownmsg(command, text);
isc_app_shutdown();
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_STOP)) {
/*
* "stop" is the same as "halt" except it does
* flush master files.
*/
#ifdef HAVE_LIBSCF
if (ns_smf_got_instance == 1 && ns_smf_chroot == 1) {
result = ns_smf_add_message(text);
@@ -149,10 +154,12 @@ 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;
} else if (command_compare(command, NS_COMMAND_SECROOTS)) {
result = ns_server_dumpsecroots(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_TRACE)) {
result = ns_server_setdebuglevel(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_NOTRACE)) {
@@ -162,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)) {
@@ -176,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)) {
@@ -187,8 +198,15 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
result = ns_server_notifycommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_VALIDATION)) {
result = ns_server_validation(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_SIGN)) {
result = ns_server_sign(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_SIGN) ||
command_compare(command, NS_COMMAND_LOADKEYS)) {
result = ns_server_rekey(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_ADDZONE)) {
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,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008, 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: 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 */
@@ -859,7 +859,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 +1148,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);

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

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: client.h,v 1.91 2009/10/26 23:14:53 each Exp $ */
/* $Id: client.h,v 1.37.2.1 2000/07/26 23:51:33 bwelling Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -24,8 +24,9 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* Client
*
* This module defines two objects, ns_client_t and ns_clientmgr_t.
*
* An ns_client_t object handles incoming DNS requests from clients
@@ -34,22 +35,21 @@
* Each ns_client_t object can handle only one TCP connection or UDP
* request at a time. Therefore, several ns_client_t objects are
* typically created to serve each network interface, e.g., one
* for handling TCP requests and a few (one per CPU) for handling
* for handling TCP requests and a few (one per CPU) for handling
* UDP requests.
*
* Incoming requests are classified as queries, zone transfer
* requests, update requests, notify requests, etc, and handed off
* requests, update requests, notify requests, etc, and handed off
* to the appropriate request handler. When the request has been
* fully handled (which can be much later), the ns_client_t must be
* notified of this by calling one of the following functions
* fully handled (which can be much later), the ns_client_t must be
* notified of this by calling one of the following functions
* exactly once in the context of its task:
* \code
*
* ns_client_send() (sending a non-error response)
* ns_client_sendraw() (sending a raw response)
* ns_client_error() (sending an error response)
* ns_client_next() (sending no response)
*\endcode
* This will release any resources used by the request and
*
* This will release any resources used by the request and
* and allow the ns_client_t to listen for the next request.
*
* A ns_clientmgr_t manages a number of ns_client_t objects.
@@ -63,16 +63,12 @@
***/
#include <isc/buffer.h>
#include <isc/magic.h>
#include <isc/stdtime.h>
#include <isc/quota.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/rdatatype.h>
#include <dns/tcpmsg.h>
#include <dns/types.h>
#include <dns/tcpmsg.h>
#include <named/types.h>
#include <named/query.h>
@@ -83,127 +79,84 @@
typedef ISC_LIST(ns_client_t) client_list_t;
/*% nameserver client structure */
struct ns_client {
unsigned int magic;
isc_mem_t * mctx;
ns_clientmgr_t * manager;
int state;
int newstate;
isc_boolean_t disconnect;
int naccepts;
int nreads;
int nsends;
int nrecvs;
int nupdates;
int nctls;
int references;
isc_boolean_t needshutdown; /*
* Used by clienttest to get
* the client to go from
* inactive to free state
* by shutting down the
* client's task.
*/
unsigned int attributes;
isc_task_t * task;
dns_view_t * view;
dns_view_t * lockview;
dns_dispatch_t * dispatch;
isc_socket_t * udpsocket;
dns_dispentry_t * dispentry;
dns_dispatchevent_t * dispevent;
isc_socket_t * tcplistener;
isc_socket_t * tcpsocket;
unsigned char * tcpbuf;
dns_tcpmsg_t tcpmsg;
isc_boolean_t tcpmsg_valid;
isc_timer_t * timer;
isc_boolean_t timerset;
dns_message_t * message;
isc_socketevent_t * sendevent;
isc_socketevent_t * recvevent;
unsigned char * recvbuf;
unsigned char * sendbuf;
dns_rdataset_t * opt;
isc_uint16_t udpsize;
isc_uint16_t extflags;
isc_int16_t ednsversion; /* -1 noedns */
void (*next)(ns_client_t *);
void (*shutdown)(void *arg, isc_result_t result);
void *shutdown_arg;
ns_query_t query;
isc_stdtime_t requesttime;
isc_stdtime_t now;
dns_name_t signername; /*%< [T]SIG key name */
dns_name_t * signer; /*%< NULL if not valid sig */
isc_boolean_t mortal; /*%< Die after handling request */
dns_name_t signername; /* [T]SIG key name */
dns_name_t * signer; /* NULL if not valid sig */
isc_boolean_t mortal; /* Die after handling request */
isc_quota_t *tcpquota;
isc_quota_t *recursionquota;
ns_interface_t *interface;
isc_sockaddr_t peeraddr;
isc_boolean_t peeraddr_valid;
isc_netaddr_t destaddr;
struct in6_pktinfo pktinfo;
isc_event_t ctlevent;
/*%
* Information about recent FORMERR response(s), for
* FORMERR loop avoidance. This is separate for each
* client object rather than global only to avoid
* the need for locking.
*/
struct {
isc_sockaddr_t addr;
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;
};
#define NS_CLIENT_MAGIC ISC_MAGIC('N','S','C','c')
#define NS_CLIENT_MAGIC 0x4E534363U /* NSCc */
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
#define NS_CLIENTATTR_TCP 0x01
#define NS_CLIENTATTR_RA 0x02 /*%< Client gets recursive service */
#define NS_CLIENTATTR_PKTINFO 0x04 /*%< pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x08 /*%< recv'd from multicast */
#define NS_CLIENTATTR_WANTDNSSEC 0x10 /*%< include dnssec records */
#define NS_CLIENTATTR_WANTNSID 0x20 /*%< include nameserver ID */
#ifdef ALLOW_FILTER_AAAA_ON_V4
#define NS_CLIENTATTR_FILTER_AAAA 0x40 /*%< suppress AAAAs */
#define NS_CLIENTATTR_FILTER_AAAA_RC 0x80 /*%< recursing for A against AAAA */
#endif
extern unsigned int ns_client_requests;
#define NS_CLIENTATTR_RA 0x02 /* Client gets recusive service */
#define NS_CLIENTATTR_PKTINFO 0x04 /* pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x08 /* recv'd from multicast */
/***
*** Functions
***/
/*%
/*
* Note! These ns_client_ routines MUST be called ONLY from the client's
* task in order to ensure synchronization.
*/
void
ns_client_send(ns_client_t *client);
/*%
/*
* Finish processing the current client request and
* send client->message as a response.
* \brief
* Note! These ns_client_ routines MUST be called ONLY from the client's
* task in order to ensure synchronization.
*/
void
ns_client_sendraw(ns_client_t *client, dns_message_t *msg);
/*%
* Finish processing the current client request and
* send msg as a response using client->message->id for the id.
*/
void
ns_client_error(ns_client_t *client, isc_result_t result);
/*%
/*
* Finish processing the current client request and return
* an error response to the client. The error response
* will have an RCODE determined by 'result'.
@@ -211,53 +164,47 @@ ns_client_error(ns_client_t *client, isc_result_t result);
void
ns_client_next(ns_client_t *client, isc_result_t result);
/*%
* Finish processing the current client request,
/*
* Finish processing the current client request,
* return no response to the client.
*/
isc_boolean_t
ns_client_shuttingdown(ns_client_t *client);
/*%
/*
* Return ISC_TRUE iff the client is currently shutting down.
*/
void
ns_client_attach(ns_client_t *source, ns_client_t **target);
/*%
/*
* Attach '*targetp' to 'source'.
*/
void
ns_client_detach(ns_client_t **clientp);
/*%
/*
* Detach '*clientp' from its client.
*/
isc_result_t
ns_client_replace(ns_client_t *client);
/*%
/*
* Try to replace the current client with a new one, so that the
* current one can go off and do some lengthy work without
* leaving the dispatch/socket without service.
*/
void
ns_client_settimeout(ns_client_t *client, unsigned int seconds);
/*%
* Set a timer in the client to go off in the specified amount of time.
*/
isc_result_t
ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_timermgr_t *timermgr, ns_clientmgr_t **managerp);
/*%
/*
* Create a client manager.
*/
void
ns_clientmgr_destroy(ns_clientmgr_t **managerp);
/*%
/*
* Destroy a client manager and all ns_client_t objects
* managed by it.
*/
@@ -265,7 +212,7 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp);
isc_result_t
ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
ns_interface_t *ifp, isc_boolean_t tcp);
/*%
/*
* Create up to 'n' clients listening on interface 'ifp'.
* If 'tcp' is ISC_TRUE, the clients will listen for TCP connections,
* otherwise for UDP requests.
@@ -273,106 +220,45 @@ ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
isc_sockaddr_t *
ns_client_getsockaddr(ns_client_t *client);
/*%
/*
* Get the socket address of the client whose request is
* currently being processed.
*/
isc_result_t
ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t *netaddr,
dns_acl_t *acl, isc_boolean_t default_allow);
/*%
ns_client_checkacl(ns_client_t *client,
const char *opname, dns_acl_t *acl,
isc_boolean_t default_allow,
isc_boolean_t logfailure);
/*
* Convenience function for client request ACL checking.
*
* Check the current client request against 'acl'. If 'acl'
* is NULL, allow the request iff 'default_allow' is ISC_TRUE.
* If netaddr is NULL, check the ACL against client->peeraddr;
* otherwise check it against netaddr.
* Log the outcome of the check if deemed appropriate.
* Log messages will refer to the request as an 'opname' request.
*
* Notes:
*\li This is appropriate for checking allow-update,
* This is appropriate for checking allow-update,
* allow-query, allow-transfer, etc. It is not appropriate
* for checking the blackhole list because we treat positive
* matches as "allow" and negative matches as "deny"; in
* the case of the blackhole list this would be backwards.
*
* Requires:
*\li 'client' points to a valid client.
*\li 'netaddr' points to a valid address, or is NULL.
*\li 'acl' points to a valid ACL, or is NULL.
* 'client' points to a valid client.
* 'opname' points to a null-terminated string.
* 'acl' points to a valid ACL, or is NULL.
*
* Returns:
*\li ISC_R_SUCCESS if the request should be allowed
* \li DNS_R_REFUSED if the request should be denied
*\li No other return values are possible.
*/
isc_result_t
ns_client_checkacl(ns_client_t *client,
isc_sockaddr_t *sockaddr,
const char *opname, dns_acl_t *acl,
isc_boolean_t default_allow,
int log_level);
/*%
* Like ns_client_checkaclsilent, except the outcome of the check is
* logged at log level 'log_level' if denied, and at debug 3 if approved.
* Log messages will refer to the request as an 'opname' request.
*
* Requires:
*\li 'client' points to a valid client.
*\li 'sockaddr' points to a valid address, or is NULL.
*\li 'acl' points to a valid ACL, or is NULL.
*\li 'opname' points to a null-terminated string.
* ISC_R_SUCCESS if the request should be allowed
* ISC_R_REFUSED if the request should be denied
* No other return values are possible.
*/
void
ns_client_log(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level,
const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap) ISC_FORMAT_PRINTF(5, 0);
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
dns_rdataclass_t rdclass, char *buf, size_t len);
#define NS_CLIENT_ACLMSGSIZE(x) \
(DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE + \
DNS_RDATACLASS_FORMATSIZE + sizeof(x) + sizeof("'/'"))
void
ns_client_recursing(ns_client_t *client);
/*%
* Add client to end of th recursing list.
*/
void
ns_client_killoldestquery(ns_client_t *client);
/*%
* Kill the oldest recursive query (recursing list head).
*/
void
ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager);
/*%
* Dump the outstanding recursive queries to 'f'.
*/
void
ns_client_qnamereplace(ns_client_t *client, dns_name_t *name);
/*%
* Replace the qname.
*/
isc_boolean_t
ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr,
dns_rdataclass_t rdclass, void *arg);
/*%
* Isself callback.
*/
const char *fmt, ...);
#endif /* NAMED_CLIENT_H */

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-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: control.h,v 1.27 2009/10/12 23:48:01 tbox Exp $ */
/* $Id: control.h,v 1.36 2011/10/28 06:20:04 each Exp $ */
#ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1
@@ -42,10 +42,12 @@
#define NS_COMMAND_DUMPSTATS "stats"
#define NS_COMMAND_QUERYLOG "querylog"
#define NS_COMMAND_DUMPDB "dumpdb"
#define NS_COMMAND_SECROOTS "secroots"
#define NS_COMMAND_TRACE "trace"
#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"
@@ -58,6 +60,11 @@
#define NS_COMMAND_NOTIFY "notify"
#define NS_COMMAND_VALIDATION "validation"
#define NS_COMMAND_SIGN "sign"
#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);

View File

@@ -1,36 +1,30 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: globals.h,v 1.86 2009/10/05 17:30:49 fdupont Exp $ */
/* $Id: globals.h,v 1.42 2000/06/22 21:49:39 tale Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
/*! \file */
#include <isc/rwlock.h>
#include <isc/log.h>
#include <isc/net.h>
#include <isccfg/cfg.h>
#include <dns/zone.h>
#include <dst/dst.h>
#include <omapi/types.h>
#include <named/types.h>
@@ -44,18 +38,11 @@
#define INIT(v)
#endif
#ifndef NS_RUN_PID_DIR
#define NS_RUN_PID_DIR 1
#endif
EXTERN isc_mem_t * ns_g_mctx INIT(NULL);
EXTERN unsigned int ns_g_cpus 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);
EXTERN isc_entropy_t * ns_g_fallbackentropy INIT(NULL);
EXTERN unsigned int ns_g_cpus_detected INIT(1);
/*
* XXXRTH We're going to want multiple timer managers eventually. One
* for really short timers, another for client timers, and one
@@ -63,15 +50,13 @@ EXTERN unsigned int ns_g_cpus_detected INIT(1);
*/
EXTERN isc_timermgr_t * ns_g_timermgr INIT(NULL);
EXTERN isc_socketmgr_t * ns_g_socketmgr INIT(NULL);
EXTERN cfg_parser_t * ns_g_parser INIT(NULL);
EXTERN omapi_object_t * ns_g_omapimgr INIT(NULL);
EXTERN const char * ns_g_version INIT(VERSION);
EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
EXTERN in_port_t ns_g_port INIT(0);
EXTERN in_port_t lwresd_g_listenport INIT(0);
EXTERN in_port_t lwresd_g_queryport INIT(0);
EXTERN ns_server_t * ns_g_server INIT(NULL);
EXTERN isc_boolean_t ns_g_lwresdonly INIT(ISC_FALSE);
EXTERN ns_lwresd_t * ns_g_lwresd INIT(NULL);
/*
* Logging.
@@ -82,34 +67,11 @@ EXTERN isc_logmodule_t * ns_g_modules INIT(NULL);
EXTERN unsigned int ns_g_debuglevel INIT(0);
/*
* Current configuration information.
* Current config information
*/
EXTERN cfg_obj_t * ns_g_config INIT(NULL);
EXTERN const cfg_obj_t * ns_g_defaults INIT(NULL);
EXTERN const char * ns_g_conffile INIT(NS_SYSCONFDIR
"/named.conf");
EXTERN cfg_obj_t * ns_g_bindkeys INIT(NULL);
EXTERN const char * ns_g_keyfile INIT(NS_SYSCONFDIR
"/rndc.key");
EXTERN dns_tsigkey_t * ns_g_sessionkey INIT(NULL);
EXTERN dns_name_t ns_g_sessionkeyname;
EXTERN const char * lwresd_g_conffile INIT(NS_SYSCONFDIR
"/lwresd.conf");
EXTERN const char * lwresd_g_resolvconffile INIT("/etc"
"/resolv.conf");
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);
/*
* Initial resource limits.
*/
EXTERN isc_resourcevalue_t ns_g_initstacksize INIT(0);
EXTERN isc_resourcevalue_t ns_g_initdatasize INIT(0);
EXTERN isc_resourcevalue_t ns_g_initcoresize INIT(0);
EXTERN isc_resourcevalue_t ns_g_initopenfiles INIT(0);
EXTERN const char * lwresd_g_conffile INIT("/etc/resolv.conf");
/*
* Misc.
@@ -119,36 +81,16 @@ EXTERN const char * ns_g_chrootdir INIT(NULL);
EXTERN isc_boolean_t ns_g_foreground INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_logstderr INIT(ISC_FALSE);
EXTERN const char * ns_g_defaultsessionkeyfile
INIT(NS_LOCALSTATEDIR "/run/named/"
"session.key");
#if NS_RUN_PID_DIR
EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/named/"
"named.pid");
EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/lwresd/"
"lwresd.pid");
#else
EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/named.pid");
EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/lwresd.pid");
#endif
EXTERN const char * ns_g_username INIT(NULL);
#ifdef USE_PKCS11
EXTERN const char * ns_g_engine INIT("pkcs11");
#else
EXTERN const char * ns_g_engine INIT(NULL);
#endif
EXTERN int ns_g_listen INIT(3);
EXTERN isc_time_t ns_g_boottime;
EXTERN isc_boolean_t ns_g_memstatistics INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_clienttest INIT(ISC_FALSE);
/*
* XXX Temporary.
*/
EXTERN const char * ns_g_cachefile INIT(NULL);
#undef EXTERN
#undef INIT

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: interfacemgr.h,v 1.33 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: interfacemgr.h,v 1.17 2000/06/22 21:49:40 tale Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -24,23 +24,24 @@
***** Module Info
*****/
/*! \file
* \brief
* The interface manager monitors the operating system's list
* of network interfaces, creating and destroying listeners
/*
* Interface manager
*
* The interface manager monitors the operating system's list
* of network interfaces, creating and destroying listeners
* as needed.
*
* Reliability:
*\li No impact expected.
* No impact expected.
*
* Resources:
*
* Security:
* \li The server will only be able to bind to the DNS port on
* The server will only be able to bind to the DNS port on
* newly discovered interfaces if it is running as root.
*
* Standards:
*\li The API for scanning varies greatly among operating systems.
* The API for scanning varies greatly among operating systems.
* This module attempts to hide the differences.
*/
@@ -61,27 +62,24 @@
*** Types
***/
#define IFACE_MAGIC ISC_MAGIC('I',':','-',')')
#define IFACE_MAGIC 0x493A2D29U /* I:-). */
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
#define NS_INTERFACEFLAG_ANYADDR 0x01U /*%< bound to "any" address */
/*% The nameserver interface structure */
struct ns_interface {
unsigned int magic; /*%< Magic number. */
ns_interfacemgr_t * mgr; /*%< Interface manager. */
unsigned int magic; /* Magic number. */
ns_interfacemgr_t * mgr; /* Interface manager. */
isc_mutex_t lock;
int references; /*%< Locked */
unsigned int generation; /*%< Generation number. */
isc_sockaddr_t addr; /*%< Address and port. */
unsigned int flags; /*%< Interface characteristics */
char name[32]; /*%< Null terminated. */
dns_dispatch_t * udpdispatch; /*%< UDP dispatcher. */
isc_socket_t * tcpsocket; /*%< TCP socket. */
int ntcptarget; /*%< Desired number of concurrent
TCP accepts */
int ntcpcurrent; /*%< Current ditto, locked */
ns_clientmgr_t * clientmgr; /*%< Client manager. */
int references; /* Locked */
unsigned int generation; /* Generation number. */
isc_sockaddr_t addr; /* Address and port. */
char name[32]; /* Null terminated. */
isc_socket_t * udpsocket; /* UDP socket. */
dns_dispatch_t * udpdispatch; /* UDP dispatcher. */
isc_socket_t * tcpsocket; /* TCP socket. */
isc_task_t * task;
int ntcptarget; /* Desired number of concurrent
TCP accepts */
int ntcpcurrent; /* Current ditto, locked */
ISC_LINK(ns_interface_t) link;
};
@@ -93,8 +91,8 @@ isc_result_t
ns_interfacemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_socketmgr_t *socketmgr,
dns_dispatchmgr_t *dispatchmgr,
ns_interfacemgr_t **mgrp);
/*%
ns_clientmgr_t *clientmgr, ns_interfacemgr_t **mgrp);
/*
* Create a new interface manager.
*
* Initially, the new manager will not listen on any interfaces.
@@ -105,7 +103,7 @@ ns_interfacemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
void
ns_interfacemgr_attach(ns_interfacemgr_t *source, ns_interfacemgr_t **target);
void
void
ns_interfacemgr_detach(ns_interfacemgr_t **targetp);
void
@@ -113,7 +111,7 @@ ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr);
void
ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose);
/*%
/*
* Scan the operatings system's list of network interfaces
* and create listeners when new interfaces are discovered.
* Shut down the sockets for interfaces that go away.
@@ -123,54 +121,35 @@ ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose);
* in named.conf.
*/
void
ns_interfacemgr_adjust(ns_interfacemgr_t *mgr, ns_listenlist_t *list,
isc_boolean_t verbose);
/*%
* Similar to ns_interfacemgr_scan(), but this function also tries to see the
* need for an explicit listen-on when a list element in 'list' is going to
* override an already-listening a wildcard interface.
*
* This function does not update localhost and localnets ACLs.
*
* This should be called once on server startup, after configuring views and
* zones.
*/
void
ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value);
/*%
/*
* Set the IPv4 "listen-on" list of 'mgr' to 'value'.
* The previous IPv4 listen-on list is freed.
*/
void
ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t *value);
/*%
/*
* Set the IPv6 "listen-on" list of 'mgr' to 'value'.
* The previous IPv6 listen-on list is freed.
*/
isc_result_t
ns_interfacemgr_findudpdispatcher(ns_interfacemgr_t *mgr,
isc_sockaddr_t *address,
dns_dispatch_t **dispatchp);
/*
* Find a UDP dispatcher matching 'address', if it exists.
*/
dns_aclenv_t *
ns_interfacemgr_getaclenv(ns_interfacemgr_t *mgr);
void
ns_interface_attach(ns_interface_t *source, ns_interface_t **target);
void
void
ns_interface_detach(ns_interface_t **targetp);
void
ns_interface_shutdown(ns_interface_t *ifp);
/*%
* Stop listening for queries on interface 'ifp'.
* May safely be called multiple times.
*/
void
ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr);
isc_boolean_t
ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr);
#endif /* NAMED_INTERFACEMGR_H */

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: listenlist.h,v 1.15 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: listenlist.h,v 1.7 2000/06/23 01:34:38 gson Exp $ */
#ifndef NAMED_LISTENLIST_H
#define NAMED_LISTENLIST_H 1
@@ -24,8 +24,7 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* "Listen lists", as in the "listen-on" configuration statement.
*/
@@ -63,38 +62,38 @@ struct ns_listenlist {
isc_result_t
ns_listenelt_create(isc_mem_t *mctx, in_port_t port,
dns_acl_t *acl, ns_listenelt_t **target);
/*%
/*
* Create a listen-on list element.
*/
void
ns_listenelt_destroy(ns_listenelt_t *elt);
/*%
/*
* Destroy a listen-on list element.
*/
isc_result_t
ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t **target);
/*%
/*
* Create a new, empty listen-on list.
*/
void
ns_listenlist_attach(ns_listenlist_t *source, ns_listenlist_t **target);
/*%
/*
* Attach '*target' to '*source'.
*/
void
ns_listenlist_detach(ns_listenlist_t **listp);
/*%
/*
* Detach 'listp'.
*/
isc_result_t
ns_listenlist_default(isc_mem_t *mctx, in_port_t port,
isc_boolean_t enabled, ns_listenlist_t **target);
/*%
/*
* Create a listen-on list with default contents, matching
* all addresses with port 'port' (if 'enabled' is ISC_TRUE),
* or no addresses (if 'enabled' is ISC_FALSE).

View File

@@ -1,27 +1,25 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: log.h,v 1.27 2009/01/07 23:47:46 tbox Exp $ */
/* $Id: log.h,v 1.13 2000/06/22 21:49:43 tale Exp $ */
#ifndef NAMED_LOG_H
#define NAMED_LOG_H 1
/*! \file */
#include <isc/log.h>
#include <isc/types.h>
@@ -33,10 +31,6 @@
#define NS_LOGCATEGORY_CLIENT (&ns_g_categories[1])
#define NS_LOGCATEGORY_NETWORK (&ns_g_categories[2])
#define NS_LOGCATEGORY_UPDATE (&ns_g_categories[3])
#define NS_LOGCATEGORY_QUERIES (&ns_g_categories[4])
#define NS_LOGCATEGORY_UNMATCHED (&ns_g_categories[5])
#define NS_LOGCATEGORY_UPDATE_SECURITY (&ns_g_categories[6])
#define NS_LOGCATEGORY_QUERY_EERRORS (&ns_g_categories[7])
/*
* Backwards compatibility.
@@ -52,16 +46,16 @@
#define NS_LOGMODULE_XFER_IN (&ns_g_modules[6])
#define NS_LOGMODULE_XFER_OUT (&ns_g_modules[7])
#define NS_LOGMODULE_NOTIFY (&ns_g_modules[8])
#define NS_LOGMODULE_CONTROL (&ns_g_modules[9])
#define NS_LOGMODULE_OMAPI (&ns_g_modules[9])
#define NS_LOGMODULE_LWRESD (&ns_g_modules[10])
isc_result_t
ns_log_init(isc_boolean_t safe);
/*%
/*
* Initialize the logging system and set up an initial default
* logging default configuration that will be used until the
* config file has been read.
*
*
* If 'safe' is true, use a default configuration that refrains
* from opening files. This is to avoid creating log files
* as root.
@@ -69,7 +63,7 @@ ns_log_init(isc_boolean_t safe);
isc_result_t
ns_log_setdefaultchannels(isc_logconfig_t *lcfg);
/*%
/*
* Set up logging channels according to the named defaults, which
* may differ from the logging library defaults. Currently,
* this just means setting up default_debug.
@@ -77,22 +71,16 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg);
isc_result_t
ns_log_setsafechannels(isc_logconfig_t *lcfg);
/*%
/*
* Like ns_log_setdefaultchannels(), but omits any logging to files.
*/
isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg);
/*%
/*
* Set up "category default" to go to the right places.
*/
isc_result_t
ns_log_setunmatchedcategory(isc_logconfig_t *lcfg);
/*%
* Set up "category unmatched" to go to the right places.
*/
void
ns_log_shutdown(void);

View File

@@ -1,34 +1,34 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: logconf.h,v 1.17 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: logconf.h,v 1.6 2000/06/22 21:49:44 tale Exp $ */
#ifndef NAMED_LOGCONF_H
#define NAMED_LOGCONF_H 1
/*! \file */
#include <isc/log.h>
#include <dns/conflog.h>
isc_result_t
ns_log_configure(isc_logconfig_t *logconf, const cfg_obj_t *logstmt);
/*%<
ns_log_configure(isc_logconfig_t *logconf, dns_c_logginglist_t *clog);
/*
* Set up the logging configuration in '*logconf' according to
* the named.conf data in 'logstmt'.
* the named.conf data in 'clog'.
*/
#endif /* NAMED_LOGCONF_H */

View File

@@ -1,27 +1,25 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: lwdclient.h,v 1.20 2009/01/17 23:47:42 tbox Exp $ */
/* $Id: lwdclient.h,v 1.2.2.1 2000/06/26 21:47:36 gson Exp $ */
#ifndef NAMED_LWDCLIENT_H
#define NAMED_LWDCLIENT_H 1
/*! \file */
#include <isc/event.h>
#include <isc/eventclass.h>
#include <isc/netaddr.h>
@@ -33,30 +31,25 @@
#include <lwres/lwres.h>
#include <named/lwsearch.h>
#define LWRD_EVENTCLASS ISC_EVENTCLASS(4242)
#define LWRD_SHUTDOWN (LWRD_EVENTCLASS + 0x0001)
/*% Lightweight Resolver Daemon Client */
struct ns_lwdclient {
isc_sockaddr_t address; /*%< where to reply */
struct in6_pktinfo pktinfo;
isc_boolean_t pktinfo_valid;
ns_lwdclientmgr_t *clientmgr; /*%< our parent */
isc_sockaddr_t address; /* where to reply */
ns_lwdclientmgr_t *clientmgr; /* our parent */
ISC_LINK(ns_lwdclient_t) link;
unsigned int state;
void *arg; /*%< packet processing state */
void *arg; /* packet processing state */
/*
* Received data info.
*/
unsigned char buffer[LWRES_RECVLENGTH]; /*%< receive buffer */
isc_uint32_t recvlength; /*%< length recv'd */
unsigned char buffer[LWRES_RECVLENGTH]; /* receive buffer */
isc_uint32_t recvlength; /* length recv'd */
lwres_lwpacket_t pkt;
/*%
/*
* Send data state. If sendbuf != buffer (that is, the send buffer
* isn't our receive buffer) it will be freed to the lwres_context_t.
*/
@@ -64,36 +57,26 @@ struct ns_lwdclient {
isc_uint32_t sendlength;
isc_buffer_t recv_buffer;
/*%
/*
* gabn (get address by name) state info.
*/
dns_adbfind_t *find;
dns_adbfind_t *v4find;
dns_adbfind_t *v6find;
unsigned int find_wanted; /*%< Addresses we want */
dns_fixedname_t query_name;
unsigned int find_wanted; /* Addresses we want */
dns_fixedname_t target_name;
ns_lwsearchctx_t searchctx;
lwres_gabnresponse_t gabn;
/*%
/*
* gnba (get name by address) state info.
*/
lwres_gnbaresponse_t gnba;
dns_byaddr_t *byaddr;
unsigned int options;
isc_netaddr_t na;
dns_adbaddrinfo_t *addrinfo;
/*%
* grbn (get rrset by name) state info.
*
* Note: this also uses target_name and searchctx.
*/
lwres_grbnresponse_t grbn;
dns_lookup_t *lookup;
dns_rdatatype_t rdtype;
/*%
/*
* Alias and address info. This is copied up to the gabn/gnba
* structures eventually.
*
@@ -106,7 +89,7 @@ struct ns_lwdclient {
lwres_addr_t addrs[LWRES_MAX_ADDRS];
};
/*%
/*
* Client states.
*
* _IDLE The client is not doing anything at all.
@@ -159,7 +142,7 @@ struct ns_lwdclient {
#define NS_LWDCLIENT_ISSEND(c) \
((c)->state == NS_LWDCLIENT_STATESEND)
/*%
/*
* Overall magic test that means we're not idle.
*/
#define NS_LWDCLIENT_ISRUNNING(c) (!NS_LWDCLIENT_ISIDLE(c))
@@ -177,26 +160,20 @@ struct ns_lwdclient {
#define NS_LWDCLIENT_SETSENDDONE(c) \
((c)->state = NS_LWDCLIENT_STATESENDDONE)
/*% lightweight daemon client manager */
struct ns_lwdclientmgr {
ns_lwreslistener_t *listener;
isc_mem_t *mctx;
isc_socket_t *sock; /*%< socket to use */
isc_task_t *task; /* owning task */
isc_socket_t *sock; /* socket to use */
dns_view_t *view;
lwres_context_t *lwctx; /*%< lightweight proto context */
isc_task_t *task; /*%< owning task */
unsigned int flags;
ISC_LINK(ns_lwdclientmgr_t) link;
ISC_LIST(ns_lwdclient_t) idle; /*%< idle client slots */
ISC_LIST(ns_lwdclient_t) running; /*%< running clients */
lwres_context_t *lwctx; /* lightweight proto context */
ISC_LIST(ns_lwdclient_t) idle; /* idle client slots */
ISC_LIST(ns_lwdclient_t) running; /* running clients */
};
#define NS_LWDCLIENTMGR_FLAGRECVPENDING 0x00000001
#define NS_LWDCLIENTMGR_FLAGSHUTTINGDOWN 0x00000002
isc_result_t
ns_lwdclientmgr_create(ns_lwreslistener_t *, unsigned int, isc_taskmgr_t *);
void
ns_lwdclient_initialize(ns_lwdclient_t *, ns_lwdclientmgr_t *);
@@ -215,20 +192,15 @@ ns_lwdclient_shutdown(isc_task_t *, isc_event_t *);
void
ns_lwdclient_send(isc_task_t *, isc_event_t *);
isc_result_t
ns_lwdclient_sendreply(ns_lwdclient_t *client, isc_region_t *r);
/*
* Processing functions of various types.
*/
void ns_lwdclient_processgabn(ns_lwdclient_t *, lwres_buffer_t *);
void ns_lwdclient_processgnba(ns_lwdclient_t *, lwres_buffer_t *);
void ns_lwdclient_processgrbn(ns_lwdclient_t *, lwres_buffer_t *);
void ns_lwdclient_processnoop(ns_lwdclient_t *, lwres_buffer_t *);
void ns_lwdclient_errorpktsend(ns_lwdclient_t *, isc_uint32_t);
void ns_lwdclient_log(int level, const char *format, ...)
ISC_FORMAT_PRINTF(2, 3);
void ns_lwdclient_log(int level, const char *format, ...);
#endif /* NAMED_LWDCLIENT_H */

View File

@@ -1,121 +1,45 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: lwresd.h,v 1.19 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: lwresd.h,v 1.2.2.1 2000/06/28 00:19:06 gson Exp $ */
#ifndef NAMED_LWRESD_H
#define NAMED_LWRESD_H 1
/*! \file */
#include <isc/types.h>
#include <isc/sockaddr.h>
#include <isccfg/cfg.h>
#include <dns/types.h>
struct ns_lwresd {
unsigned int magic;
isc_mutex_t lock;
dns_view_t *view;
ns_lwsearchlist_t *search;
unsigned int ndots;
isc_mem_t *mctx;
isc_boolean_t shutting_down;
unsigned int refs;
};
struct ns_lwreslistener {
unsigned int magic;
isc_mutex_t lock;
isc_mem_t *mctx;
isc_sockaddr_t address;
ns_lwresd_t *manager;
isc_uint32_t magic;
ns_lwdclientmgr_t *cmgr;
isc_socket_t *sock;
unsigned int refs;
ISC_LIST(ns_lwdclientmgr_t) cmgrs;
ISC_LINK(ns_lwreslistener_t) link;
unsigned int ntasks;
dns_view_t *view;
isc_mem_t *mctx;
isc_task_t *task;
dns_dispatchmgr_t *dispmgr;
};
/*%
* Configure lwresd.
*/
isc_result_t
ns_lwresd_configure(isc_mem_t *mctx, const cfg_obj_t *config);
isc_result_t
ns_lwresd_parseeresolvconf(isc_mem_t *mctx, cfg_parser_t *pctx,
cfg_obj_t **configp);
/*%
* Trigger shutdown.
*/
void
ns_lwresd_shutdown(void);
/*
* Manager functions
*/
/*% create manager */
isc_result_t
ns_lwdmanager_create(isc_mem_t *mctx, const cfg_obj_t *lwres,
ns_lwresd_t **lwresdp);
/*% attach to manager */
void
ns_lwdmanager_attach(ns_lwresd_t *source, ns_lwresd_t **targetp);
/*% detach from manager */
void
ns_lwdmanager_detach(ns_lwresd_t **lwresdp);
/*
* Listener functions
*/
/*% attach to listener */
void
ns_lwreslistener_attach(ns_lwreslistener_t *source,
ns_lwreslistener_t **targetp);
/*% detach from lister */
void
ns_lwreslistener_detach(ns_lwreslistener_t **listenerp);
/*% link client manager */
void
ns_lwreslistener_unlinkcm(ns_lwreslistener_t *listener, ns_lwdclientmgr_t *cm);
/*% unlink client manager */
void
ns_lwreslistener_linkcm(ns_lwreslistener_t *listener, ns_lwdclientmgr_t *cm);
/*
* INTERNAL FUNCTIONS.
*/
void *
ns__lwresd_memalloc(void *arg, size_t size);
ns_lwresd_create(isc_mem_t *mctx, dns_view_t *view, ns_lwresd_t **lwresdp);
void
ns__lwresd_memfree(void *arg, void *mem, size_t size);
ns_lwresd_destroy(ns_lwresd_t **lwresdp);
#endif /* NAMED_LWRESD_H */

View File

@@ -1,35 +1,26 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: main.h,v 1.17 2009/09/29 23:48:03 tbox Exp $ */
/* $Id: main.h,v 1.4 2000/06/22 21:49:47 tale Exp $ */
#ifndef NAMED_MAIN_H
#define NAMED_MAIN_H 1
/*! \file */
ISC_PLATFORM_NORETURN_PRE void
ns_main_earlyfatal(const char *format, ...)
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
void
ns_main_earlywarning(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
ns_main_setmemstats(const char *);
ns_main_earlyfatal(const char *format, ...);
#endif /* NAMED_MAIN_H */

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: notify.h,v 1.16 2009/01/17 23:47:42 tbox Exp $ */
/* $Id: notify.h,v 1.6 2000/06/22 21:49:48 tale Exp $ */
#ifndef NAMED_NOTIFY_H
#define NAMED_NOTIFY_H 1
@@ -27,9 +27,8 @@
*** Module Info
***/
/*! \file
* \brief
* RFC1996
/*
* RFC 1996
* A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)
*/
@@ -40,15 +39,15 @@
void
ns_notify_start(ns_client_t *client);
/*%<
* Examines the incoming message to determine appropriate zone.
/*
* Examines the incoming message to determine apporiate zone.
* Returns FORMERR if there is not exactly one question.
* Returns REFUSED if we do not serve the listed zone.
* Pass the message to the zone module for processing
* and returns the return status.
*
* Requires
*\li client to be valid.
* client to be valid.
*/
#endif /* NAMED_NOTIFY_H */

View File

@@ -0,0 +1,49 @@
/*
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: omapi.h,v 1.7.2.1 2000/07/11 17:23:07 gson Exp $ */
#ifndef NAMED_OMAPI_H
#define NAMED_OMAPI_H 1
#include <dns/aclconf.h>
#include <dns/confctx.h>
#include <omapi/omapi.h>
#define NS_OMAPI_PORT 953
/*
* This string is the registration name of objects of type control_object_t.
*/
#define NS_OMAPI_CONTROL "control"
#define NS_OMAPI_COMMAND_RELOAD "reload"
#define NS_OMAPI_COMMAND_RELOADCONFIG "reload-config"
#define NS_OMAPI_COMMAND_RELOADZONES "reload-zones"
isc_result_t
ns_omapi_init(void);
isc_result_t
ns_omapi_configure(isc_mem_t *mctx, dns_c_ctx_t *cctx,
dns_aclconfctx_t *aclconfctx);
void
ns_omapi_shutdown(isc_boolean_t exiting);
#endif /* NAMED_OMAPI_H */

View File

@@ -1,36 +1,33 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: query.h,v 1.40 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: query.h,v 1.17.2.1 2000/07/28 17:56:09 gson Exp $ */
#ifndef NAMED_QUERY_H
#define NAMED_QUERY_H 1
/*! \file */
#include <isc/types.h>
#include <isc/buffer.h>
#include <isc/netaddr.h>
#include <dns/types.h>
#include <dns/a6.h>
#include <named/types.h>
/*% nameserver database version structure */
typedef struct ns_dbversion {
dns_db_t *db;
dns_dbversion_t *version;
@@ -38,39 +35,30 @@ typedef struct ns_dbversion {
ISC_LINK(struct ns_dbversion) link;
} ns_dbversion_t;
/*% nameserver query structure */
struct ns_query {
unsigned int attributes;
unsigned int restarts;
isc_boolean_t timerset;
dns_name_t * qname;
dns_name_t * origqname;
dns_rdataset_t * qrdataset;
unsigned int dboptions;
unsigned int fetchoptions;
dns_db_t * gluedb;
dns_db_t * authdb;
dns_zone_t * authzone;
isc_boolean_t authdbset;
isc_boolean_t isreferral;
isc_mutex_t fetchlock;
dns_fetch_t * fetch;
dns_a6context_t a6ctx;
isc_bufferlist_t namebufs;
ISC_LIST(ns_dbversion_t) activeversions;
ISC_LIST(ns_dbversion_t) freeversions;
};
#define NS_QUERYATTR_RECURSIONOK 0x0001
#define NS_QUERYATTR_CACHEOK 0x0002
#define NS_QUERYATTR_PARTIALANSWER 0x0004
#define NS_QUERYATTR_NAMEBUFUSED 0x0008
#define NS_QUERYATTR_RECURSING 0x0010
#define NS_QUERYATTR_CACHEGLUEOK 0x0020
#define NS_QUERYATTR_QUERYOKVALID 0x0040
#define NS_QUERYATTR_QUERYOK 0x0080
#define NS_QUERYATTR_WANTRECURSION 0x0100
#define NS_QUERYATTR_SECURE 0x0200
#define NS_QUERYATTR_NOAUTHORITY 0x0400
#define NS_QUERYATTR_NOADDITIONAL 0x0800
#define NS_QUERYATTR_RECURSIONOK 0x01
#define NS_QUERYATTR_CACHEOK 0x02
#define NS_QUERYATTR_PARTIALANSWER 0x04
#define NS_QUERYATTR_NAMEBUFUSED 0x08
#define NS_QUERYATTR_RECURSING 0x10
#define NS_QUERYATTR_CACHEGLUEOK 0x20
#define NS_QUERYATTR_QUERYOKVALID 0x40
#define NS_QUERYATTR_QUERYOK 0x80
isc_result_t
ns_query_init(ns_client_t *client);
@@ -81,7 +69,4 @@ ns_query_free(ns_client_t *client);
void
ns_query_start(ns_client_t *client);
void
ns_query_cancel(ns_client_t *client);
#endif /* NAMED_QUERY_H */

View File

@@ -1,175 +1,77 @@
/*
* Copyright (C) 2004-2010 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: server.h,v 1.106 2010/05/14 23:50:39 tbox Exp $ */
/* $Id: server.h,v 1.32.2.1 2000/07/26 23:51:35 bwelling Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
/*! \file */
#include <isc/log.h>
#include <isc/magic.h>
#include <isc/quota.h>
#include <isc/sockaddr.h>
#include <isc/types.h>
#include <isc/xml.h>
#include <isc/quota.h>
#include <dns/acl.h>
#include <dns/types.h>
#include <named/types.h>
#include <dns/acl.h>
#define NS_EVENTCLASS ISC_EVENTCLASS(0x4E43)
#define NS_EVENT_RELOAD (NS_EVENTCLASS + 0)
#define NS_EVENT_CLIENTCONTROL (NS_EVENTCLASS + 1)
/*%
/*
* Name server state. Better here than in lots of separate global variables.
*/
struct ns_server {
unsigned int magic;
isc_uint32_t magic;
isc_mem_t * mctx;
isc_task_t * task;
/* Common rwlock for the server's configurable data. */
isc_rwlock_t conflock;
/* Configurable data. */
isc_quota_t xfroutquota;
isc_quota_t tcpquota;
isc_quota_t recursionquota;
dns_acl_t *blackholeacl;
char * statsfile; /*%< Statistics file name */
char * dumpfile; /*%< Dump file name */
char * bindkeysfile; /*%< bind.keys file name */
char * recfile; /*%< Recursive file name */
isc_boolean_t version_set; /*%< User has set version */
char * version; /*%< User-specified version */
isc_boolean_t hostname_set; /*%< User has set hostname */
char * hostname; /*%< User-specified hostname */
/*% Use hostname for server id */
isc_boolean_t server_usehostname;
char * server_id; /*%< User-specified server id */
/*%
* Current ACL environment. This defines the
* current values of the localhost and localnets
* ACLs.
*/
/* Not really configurable, but covered by conflock. */
dns_aclenv_t aclenv;
/* Server data structures. */
dns_loadmgr_t * loadmgr;
dns_zonemgr_t * zonemgr;
ns_clientmgr_t * clientmgr;
dns_viewlist_t viewlist;
ns_interfacemgr_t * interfacemgr;
dns_db_t * in_roothints;
dns_tkeyctx_t * tkeyctx;
isc_timer_t * interface_timer;
isc_timer_t * heartbeat_timer;
isc_timer_t * pps_timer;
isc_uint32_t interface_interval;
isc_uint32_t heartbeat_interval;
isc_mutex_t reload_event_lock;
isc_event_t * reload_event;
isc_boolean_t flushonshutdown;
isc_boolean_t log_queries; /*%< For BIND 8 compatibility */
ns_cachelist_t cachelist; /*%< Possibly shared caches */
isc_stats_t * nsstats; /*%< Server stats */
dns_stats_t * rcvquerystats; /*% Incoming query stats */
dns_stats_t * opcodestats; /*%< Incoming message stats */
isc_stats_t * zonestats; /*% Zone management stats */
isc_stats_t * resolverstats; /*% Resolver stats */
isc_stats_t * sockstats; /*%< Socket stats */
ns_controls_t * controls; /*%< Control channels */
unsigned int dispatchgen;
ns_dispatchlist_t dispatches;
dns_acache_t *acache;
ns_statschannellist_t statschannels;
dns_tsigkey_t *sessionkey;
char *session_keyfile;
dns_name_t *session_keyname;
unsigned int session_keyalg;
isc_uint16_t session_keybits;
};
#define NS_SERVER_MAGIC ISC_MAGIC('S','V','E','R')
#define NS_SERVER_VALID(s) ISC_MAGIC_VALID(s, NS_SERVER_MAGIC)
/*%
* Server statistics counters. Used as isc_statscounter_t values.
*/
enum {
dns_nsstatscounter_requestv4 = 0,
dns_nsstatscounter_requestv6 = 1,
dns_nsstatscounter_edns0in = 2,
dns_nsstatscounter_badednsver = 3,
dns_nsstatscounter_tsigin = 4,
dns_nsstatscounter_sig0in = 5,
dns_nsstatscounter_invalidsig = 6,
dns_nsstatscounter_tcp = 7,
dns_nsstatscounter_authrej = 8,
dns_nsstatscounter_recurserej = 9,
dns_nsstatscounter_xfrrej = 10,
dns_nsstatscounter_updaterej = 11,
dns_nsstatscounter_response = 12,
dns_nsstatscounter_truncatedresp = 13,
dns_nsstatscounter_edns0out = 14,
dns_nsstatscounter_tsigout = 15,
dns_nsstatscounter_sig0out = 16,
dns_nsstatscounter_success = 17,
dns_nsstatscounter_authans = 18,
dns_nsstatscounter_nonauthans = 19,
dns_nsstatscounter_referral = 20,
dns_nsstatscounter_nxrrset = 21,
dns_nsstatscounter_servfail = 22,
dns_nsstatscounter_formerr = 23,
dns_nsstatscounter_nxdomain = 24,
dns_nsstatscounter_recursion = 25,
dns_nsstatscounter_duplicate = 26,
dns_nsstatscounter_dropped = 27,
dns_nsstatscounter_failure = 28,
dns_nsstatscounter_xfrdone = 29,
dns_nsstatscounter_updatereqfwd = 30,
dns_nsstatscounter_updaterespfwd = 31,
dns_nsstatscounter_updatefwdfail = 32,
dns_nsstatscounter_updatedone = 33,
dns_nsstatscounter_updatefail = 34,
dns_nsstatscounter_updatebadprereq = 35,
dns_nsstatscounter_max = 36
};
#define NS_SERVER_MAGIC 0x53564552 /* SVER */
#define NS_SERVER_VALID(s) ((s) != NULL && \
(s)->magic == NS_SERVER_MAGIC)
void
ns_server_create(isc_mem_t *mctx, ns_server_t **serverp);
/*%<
/*
* Create a server object with default settings.
* This function either succeeds or causes the program to exit
* with a fatal error.
@@ -177,139 +79,18 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp);
void
ns_server_destroy(ns_server_t **serverp);
/*%<
/*
* Destroy a server object, freeing its memory.
*/
void
ns_server_reloadwanted(ns_server_t *server);
/*%<
/*
* Inform a server that a reload is wanted. This function
* may be called asynchronously, from outside the server's task.
* If a reload is already scheduled or in progress, the call
* is ignored.
*/
void
ns_server_flushonshutdown(ns_server_t *server, isc_boolean_t flush);
/*%<
* Inform the server that the zones should be flushed to disk on shutdown.
*/
isc_result_t
ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*%<
* Act on a "reload" command from the command channel.
*/
isc_result_t
ns_server_reconfigcommand(ns_server_t *server, char *args);
/*%<
* Act on a "reconfig" command from the command channel.
*/
isc_result_t
ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*%<
* Act on a "notify" command from the command channel.
*/
isc_result_t
ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*%<
* Act on a "refresh" command from the command channel.
*/
isc_result_t
ns_server_retransfercommand(ns_server_t *server, char *args);
/*%<
* Act on a "retransfer" command from the command channel.
*/
isc_result_t
ns_server_togglequerylog(ns_server_t *server);
/*%<
* Toggle logging of queries, as in BIND 8.
*/
/*%
* Dump the current statistics to the statistics file.
*/
isc_result_t
ns_server_dumpstats(ns_server_t *server);
/*%
* Dump the current cache to the dump file.
*/
isc_result_t
ns_server_dumpdb(ns_server_t *server, char *args);
/*%
* Change or increment the server debug level.
*/
isc_result_t
ns_server_setdebuglevel(ns_server_t *server, char *args);
/*%
* Flush the server's cache(s)
*/
isc_result_t
ns_server_flushcache(ns_server_t *server, char *args);
/*%
* Flush a particular name from the server's cache(s)
*/
isc_result_t
ns_server_flushname(ns_server_t *server, char *args);
/*%
* Report the server's status.
*/
isc_result_t
ns_server_status(ns_server_t *server, isc_buffer_t *text);
/*%
* Report a list of dynamic and static tsig keys, per view.
*/
isc_result_t
ns_server_tsiglist(ns_server_t *server, isc_buffer_t *text);
/*%
* Delete a specific key (with optional view).
*/
isc_result_t
ns_server_tsigdelete(ns_server_t *server, char *command, isc_buffer_t *text);
/*%
* Enable or disable updates for a zone.
*/
isc_result_t
ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args,
isc_buffer_t *text);
/*%
* Update a zone's DNSKEY set from the key repository, and re-sign the
* zone if there were any changes.
*/
isc_result_t
ns_server_sign(ns_server_t *server, char *args);
/*%
* Dump the current recursive queries.
*/
isc_result_t
ns_server_dumprecursing(ns_server_t *server);
/*%
* Maintain a list of dispatches that require reserved ports.
*/
void
ns_add_reserved_dispatch(ns_server_t *server, const isc_sockaddr_t *addr);
/*%
* Enable or disable dnssec validation.
*/
isc_result_t
ns_server_validation(ns_server_t *server, char *args);
#endif /* NAMED_SERVER_H */

View File

@@ -1,48 +1,35 @@
/*
* Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: types.h,v 1.31 2009/01/09 23:47:45 tbox Exp $ */
/* $Id: types.h,v 1.13 2000/06/22 21:49:52 tale Exp $ */
#ifndef NAMED_TYPES_H
#define NAMED_TYPES_H 1
/*! \file */
#include <dns/types.h>
typedef struct ns_cache ns_cache_t;
typedef ISC_LIST(ns_cache_t) ns_cachelist_t;
typedef struct ns_client ns_client_t;
typedef struct ns_clientmgr ns_clientmgr_t;
typedef struct ns_query ns_query_t;
typedef struct ns_server ns_server_t;
typedef struct ns_xmld ns_xmld_t;
typedef struct ns_xmldmgr ns_xmldmgr_t;
typedef struct ns_interface ns_interface_t;
typedef struct ns_interfacemgr ns_interfacemgr_t;
typedef struct ns_lwresd ns_lwresd_t;
typedef struct ns_lwreslistener ns_lwreslistener_t;
typedef struct ns_lwdclient ns_lwdclient_t;
typedef struct ns_lwdclientmgr ns_lwdclientmgr_t;
typedef struct ns_lwsearchlist ns_lwsearchlist_t;
typedef struct ns_lwsearchctx ns_lwsearchctx_t;
typedef struct ns_controls ns_controls_t;
typedef struct ns_dispatch ns_dispatch_t;
typedef ISC_LIST(ns_dispatch_t) ns_dispatchlist_t;
typedef struct ns_statschannel ns_statschannel_t;
typedef ISC_LIST(ns_statschannel_t) ns_statschannellist_t;
#endif /* NAMED_TYPES_H */

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: update.h,v 1.13 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: update.h,v 1.4 2000/06/22 21:49:54 tale Exp $ */
#ifndef NAMED_UPDATE_H
#define NAMED_UPDATE_H 1
@@ -24,8 +24,7 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* RFC2136 Dynamic Update
*/
@@ -45,6 +44,6 @@
***/
void
ns_update_start(ns_client_t *client, isc_result_t sigresult);
ns_update_start(ns_client_t *client);
#endif /* NAMED_UPDATE_H */

View File

@@ -1,21 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: xfrout.h,v 1.12 2007/06/19 23:46:59 tbox Exp $ */
/* $Id: xfrout.h,v 1.4 2000/06/22 21:49:55 tale Exp $ */
#ifndef NAMED_XFROUT_H
#define NAMED_XFROUT_H 1
@@ -24,8 +24,7 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* Outgoing zone transfers (AXFR + IXFR).
*/

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 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.26 2007/06/19 23:46:59 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'.
@@ -58,6 +58,21 @@ ns_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig);
* and recreated, return ISC_FALSE.
*/
isc_result_t
ns_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase, dns_zone_t *zone,
dns_rdataclass_t rdclass, dns_name_t *name);
/*%>
* configure a DLZ zone, setting up the database methods and calling
* postload to load the origin values
*
* Require:
* \li 'dlzdatabase' to be a valid dlz database
* \li 'zone' to be initialized.
* \li 'rdclass' to be a valid rdataclass
* \li 'name' to be a valid zone origin name
*/
ISC_LANG_ENDDECLS
#endif /* NS_ZONECONF_H */

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +1,21 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: listenlist.c,v 1.14 2007/06/19 23:46:59 tbox Exp $ */
/*! \file */
/* $Id: listenlist.c,v 1.6 2000/06/23 01:34:36 gson Exp $ */
#include <config.h>
@@ -79,7 +77,7 @@ destroy(ns_listenlist_t *list) {
next = ISC_LIST_NEXT(elt, link);
ns_listenelt_destroy(elt);
}
isc_mem_put(list->mctx, list, sizeof(*list));
isc_mem_put(list->mctx, list, sizeof(*list));
}
void
@@ -115,7 +113,7 @@ ns_listenlist_default(isc_mem_t *mctx, in_port_t port,
result = dns_acl_none(mctx, &acl);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = ns_listenelt_create(mctx, port, acl, &elt);
if (result != ISC_R_SUCCESS)
goto cleanup_acl;

View File

@@ -1,56 +1,41 @@
/*
* Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and 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.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM 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: log.c,v 1.49 2009/01/07 01:46:40 jinmei Exp $ */
/*! \file */
/* $Id: log.c,v 1.20 2000/06/22 21:49:22 tale Exp $ */
#include <config.h>
#include <isc/result.h>
#include <isccfg/log.h>
#include <named/log.h>
#ifndef ISC_FACILITY
#define ISC_FACILITY LOG_DAEMON
#endif
/*%
/*
* When adding a new category, be sure to add the appropriate
* \#define to <named/log.h> and to update the list in
* bin/check/check-tool.c.
* #define to <named/log.h>.
*/
static isc_logcategory_t categories[] = {
{ "", 0 },
{ "client", 0 },
{ "network", 0 },
{ "update", 0 },
{ "queries", 0 },
{ "unmatched", 0 },
{ "update-security", 0 },
{ "query-errors", 0 },
{ NULL, 0 }
};
/*%
/*
* When adding a new module, be sure to add the appropriate
* \#define to <dns/log.h>.
* #define to <dns/log.h>.
*/
static isc_logmodule_t modules[] = {
{ "main", 0 },
@@ -62,7 +47,7 @@ static isc_logmodule_t modules[] = {
{ "xfer-in", 0 },
{ "xfer-out", 0 },
{ "notify", 0 },
{ "control", 0 },
{ "omapi", 0 },
{ "lwresd", 0 },
{ NULL, 0 }
};
@@ -70,7 +55,7 @@ static isc_logmodule_t modules[] = {
isc_result_t
ns_log_init(isc_boolean_t safe) {
isc_result_t result;
isc_logconfig_t *lcfg = NULL;
isc_logconfig_t *lcfg;
ns_g_categories = categories;
ns_g_modules = modules;
@@ -82,15 +67,11 @@ ns_log_init(isc_boolean_t safe) {
if (result != ISC_R_SUCCESS)
return (result);
/*
* named-checktool.c:setup_logging() needs to be kept in sync.
*/
isc_log_registercategories(ns_g_lctx, ns_g_categories);
isc_log_registermodules(ns_g_lctx, ns_g_modules);
isc_log_setcontext(ns_g_lctx);
dns_log_init(ns_g_lctx);
dns_log_setcontext(ns_g_lctx);
cfg_log_init(ns_g_lctx);
if (safe)
result = ns_log_setsafechannels(lcfg);
@@ -107,8 +88,6 @@ ns_log_init(isc_boolean_t safe) {
cleanup:
isc_log_destroy(&ns_g_lctx);
isc_log_setcontext(NULL);
dns_log_setcontext(NULL);
return (result);
}
@@ -117,11 +96,11 @@ isc_result_t
ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
isc_result_t result;
isc_logdestination_t destination;
/*
* By default, the logging library makes "default_debug" log to
* stderr. In BIND, we want to override this and log to named.run
* instead, unless the -g option was given.
* instead, unless the the -g option was given.
*/
if (! ns_g_logstderr) {
destination.file.stream = NULL;
@@ -129,24 +108,15 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
destination.file.versions = ISC_LOG_ROLLNEVER;
destination.file.maximum_size = 0;
result = isc_log_createchannel(lcfg, "default_debug",
ISC_LOG_TOFILE,
ISC_LOG_DYNAMIC,
&destination,
ISC_LOG_PRINTTIME|
ISC_LOG_TOFILE,
ISC_LOG_DYNAMIC,
&destination,
ISC_LOG_PRINTTIME|
ISC_LOG_DEBUGONLY);
if (result != ISC_R_SUCCESS)
goto cleanup;
}
#if ISC_FACILITY != LOG_DAEMON
destination.facility = ISC_FACILITY;
result = isc_log_createchannel(lcfg, "default_syslog",
ISC_LOG_TOSYSLOG, ISC_LOG_INFO,
&destination, 0);
if (result != ISC_R_SUCCESS)
goto cleanup;
#endif
/*
* Set the initial debug level.
*/
@@ -161,35 +131,21 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg) {
isc_result_t
ns_log_setsafechannels(isc_logconfig_t *lcfg) {
isc_result_t result;
#if ISC_FACILITY != LOG_DAEMON
isc_logdestination_t destination;
#endif
if (! ns_g_logstderr) {
result = isc_log_createchannel(lcfg, "default_debug",
ISC_LOG_TONULL,
ISC_LOG_DYNAMIC,
NULL, 0);
ISC_LOG_TONULL,
ISC_LOG_DYNAMIC,
NULL, 0);
if (result != ISC_R_SUCCESS)
goto cleanup;
/*
* Setting the debug level to zero should get the output
* discarded a bit faster.
*/
isc_log_setdebuglevel(ns_g_lctx, 0);
} else {
isc_log_setdebuglevel(ns_g_lctx, ns_g_debuglevel);
}
#if ISC_FACILITY != LOG_DAEMON
destination.facility = ISC_FACILITY;
result = isc_log_createchannel(lcfg, "default_syslog",
ISC_LOG_TOSYSLOG, ISC_LOG_INFO,
&destination, 0);
if (result != ISC_R_SUCCESS)
goto cleanup;
#endif
/*
* Setting the debug level to zero should get the output
* discarded a bit faster.
*/
isc_log_setdebuglevel(ns_g_lctx, 0);
result = ISC_R_SUCCESS;
@@ -201,12 +157,10 @@ isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg) {
isc_result_t result;
if (! ns_g_logstderr) {
result = isc_log_usechannel(lcfg, "default_syslog",
ISC_LOGCATEGORY_DEFAULT, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup;
}
result = isc_log_usechannel(lcfg, "default_syslog",
ISC_LOGCATEGORY_DEFAULT, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup;
result = isc_log_usechannel(lcfg, "default_debug",
ISC_LOGCATEGORY_DEFAULT, NULL);
@@ -219,18 +173,7 @@ ns_log_setdefaultcategory(isc_logconfig_t *lcfg) {
return (result);
}
isc_result_t
ns_log_setunmatchedcategory(isc_logconfig_t *lcfg) {
isc_result_t result;
result = isc_log_usechannel(lcfg, "null",
NS_LOGCATEGORY_UNMATCHED, NULL);
return (result);
}
void
ns_log_shutdown(void) {
isc_log_destroy(&ns_g_lctx);
isc_log_setcontext(NULL);
dns_log_setcontext(NULL);
}

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