Compare commits

...

2046 Commits

Author SHA1 Message Date
cvs2git
2cdd6ef127 This commit was manufactured by cvs2git to create tag 'v9_3_2'. 2007-03-06 07:05:57 +00:00
cvs2git
15569bf5ae This commit was manufactured by cvs2git to create branch
'custom_WFB_v9_3_2'.
2007-03-06 07:05:56 +00:00
Mark Andrews
e99faa72dd 1589. [func] DNSSEC lookaside validation.
enable-dnssec -> dnssec-enable
2007-03-06 07:05:35 +00:00
Automatic Updater
51f922a21f update copyright notice 2007-03-06 02:11:43 +00:00
Automatic Updater
c15cd95105 newcopyrights 2007-03-06 02:09:37 +00:00
Mark Andrews
2d40085857 2156. [bug] Fix node reference leaks in lookup.c:lookup_find(),
resolver.c:validated() and resolver.c:cache_name().
                        Fix a memory leak in rbtdb.c:free_noqname().
                        Make lookup.c:lookup_find() robust against
                        event leaks. [RT #16685]
2007-03-06 00:51:29 +00:00
Automatic Updater
70f13413c5 newcopyrights 2007-03-05 23:30:08 +00:00
Mark Andrews
cf5b9e3792 2155. [contrib] SQLite sdb module from jaboydjr@netwalk.com.
[RT #16694]
2007-03-05 05:38:02 +00:00
cvs2git
b27cfae943 This commit was manufactured by cvs2git to create branch 'v9_3'. 2007-03-05 05:30:24 +00:00
cvs2git
90013c0348 This commit was manufactured by cvs2git to create branch 'v9_2'. 2007-03-05 05:30:23 +00:00
Mark Andrews
4259095c80 2155. [contrib] SQLite sdb module from jaboydjr@netwalk.com.
[RT #16694]
2007-03-05 05:30:22 +00:00
Mark Andrews
c53a5699c8 2154. [func] Scoped (e.g. IPv6 link-local) addresses may now be
matched in acls by omitting the scope. [RT #16599]
2007-03-05 04:57:57 +00:00
Mark Andrews
8410116c49 new draft 2007-03-03 21:11:37 +00:00
Automatic Updater
45fd3ed42b update copyright notice 2007-03-01 23:46:42 +00:00
Automatic Updater
703b7fa47e newcopyrights 2007-03-01 23:30:19 +00:00
Automatic Updater
30c8fd4f84 auto update 2007-03-01 23:17:19 +00:00
Mark Andrews
8c731c1219 2153. [bug] nsupdate could leak memory. [RT #16691] 2007-02-28 23:57:39 +00:00
Automatic Updater
3bc4b7f734 auto update 2007-02-28 23:17:20 +00:00
Automatic Updater
3ee5ba2a22 update copyright notice 2007-02-27 23:46:48 +00:00
Automatic Updater
4574b0e6e2 update copyright notice 2007-02-27 23:45:52 +00:00
Automatic Updater
02577f5a7e update copyright notice 2007-02-27 23:45:21 +00:00
Automatic Updater
2d4f33db52 newcopyrights 2007-02-27 23:30:23 +00:00
Automatic Updater
09788c5ee5 newcopyrights 2007-02-27 23:30:11 +00:00
Automatic Updater
66a2cc1fd5 newcopyrights 2007-02-27 23:30:04 +00:00
Automatic Updater
6e32dda833 auto update 2007-02-27 23:17:25 +00:00
Mark Andrews
acb6a99ccb temorarially comment out INSIST 2007-02-27 03:31:04 +00:00
Mark Andrews
987b201935 2152. [cleanup] Use sizeof(buf) instead of fixed number in
dighost.c:get_trusted_key(). [RT #16678]
2007-02-27 01:07:15 +00:00
Mark Andrews
a630d60b8b 2152. [cleanup] Use sizeof(buf) instead of fixed number in
dighost.c:get_trusted_key(). [RT #16678]
2007-02-27 00:58:08 +00:00
Mark Andrews
c10dae996d 2151. [bug] Missing newline in usage message for journalprint.
[RT #16679]
2007-02-27 00:54:24 +00:00
Mark Andrews
02750677af 2151. [bug] Missing newline in usage message for journalprint.
[RT #16679]
2007-02-27 00:54:22 +00:00
Mark Andrews
b53871d859 2151. [bug] Missing newline in usage message for journalprint.
[RT #16679]
2007-02-27 00:39:37 +00:00
Automatic Updater
77ab862dca update copyright notice 2007-02-26 23:46:54 +00:00
Automatic Updater
3b3a8e10cb update copyright notice 2007-02-26 23:45:55 +00:00
Automatic Updater
755e8c6a7d update copyright notice 2007-02-26 23:45:24 +00:00
Mark Andrews
5522bb2add update 2007-02-26 23:36:56 +00:00
Automatic Updater
3098364bcd newcopyrights 2007-02-26 23:30:23 +00:00
Automatic Updater
1cd4f823a7 newcopyrights 2007-02-26 23:30:08 +00:00
Automatic Updater
3d549d2e35 newcopyrights 2007-02-26 23:30:04 +00:00
Mark Andrews
5c0537cfaf 2150. [bug] 'rrset-order cyclic' uniformly distribute the
starting point for the first response for a given
                        RRset. [RT #16655]
2007-02-26 23:20:52 +00:00
Mark Andrews
9dabd0455c 2150. [bug] 'rrset-order cyclic' uniformly distribute the
starting point for the first response for a given
                        RRset. [RT #16655]
2007-02-26 23:15:17 +00:00
Mark Andrews
58f32ac26e 2149. [bug] isc_mem_checkdestroyed() failed to abort on
if there were still active memory contexts.
                        [RT #16672]
2007-02-26 22:57:03 +00:00
Mark Andrews
bde20a0436 2148. [func] Add positive logging for rndc commands. [RT #14623] 2007-02-26 02:19:45 +00:00
Mark Andrews
326dbdbf2f 2147. [bug] libbind: remove potential buffer overflow from
hmac_link.c. [RT #16437]
2007-02-26 02:00:26 +00:00
Mark Andrews
306d674a62 2147. [bug] libbind: remove potential buffer overflow from
hmac_link.c. [RT #16437]
2007-02-26 02:00:13 +00:00
Mark Andrews
0deee29113 2147. [bug] libbind: remove potential buffer overflow from
hmac_link.c. [RT #16437]
2007-02-26 01:51:43 +00:00
Mark Andrews
2d00d62cba 2146. [cleanup] Silence Linux's spurious "obsolete setsockopt
SO_BSDCOMPAT" message. [RT #16641]
2007-02-26 01:45:09 +00:00
Mark Andrews
5ed923a850 2146. [cleanup] Silence Linux's spurious "obsolete setsockopt
SO_BSDCOMPAT" message. [RT #16641]
2007-02-26 01:44:54 +00:00
Mark Andrews
340a05967a 2146. [cleanup] Silence Linux's spurious "obsolete setsockopt
SO_BSDCOMPAT" message. [RT #16641]
2007-02-26 01:37:37 +00:00
Mark Andrews
7d6531b1f3 2145. [bug] Check DS/DLV digest lengths for known digests.
[RT #16622]
2007-02-26 01:30:37 +00:00
Mark Andrews
394f4aec21 2145. [bug] Check DS/DLV digest lengths for known digests.
[RT #16622]
2007-02-26 01:20:44 +00:00
Mark Andrews
4ecb0e3647 2144. [cleanup] Suppress logging of SERVFAIL from forwarders.
[RT #16619]
2007-02-26 01:14:05 +00:00
Mark Andrews
2e676167cc 2144. [cleanup] Suppress logging of SERVFAIL from forwarders.
[RT #16619]
2007-02-26 01:07:49 +00:00
Mark Andrews
52badb459c 2143. [bug] We failed to restart the IPv6 client when the
kernel failed to return the destination the
                        packet was sent to. [RT #16613]
2007-02-26 01:01:08 +00:00
Mark Andrews
23ebe66122 2143. [bug] We failed to restart the IPv6 client when the
kernel failed to return the destination the
                        packet was sent to. [RT #16613]
2007-02-26 01:01:06 +00:00
Mark Andrews
4098271a81 2143. [bug] We failed to restart the IPv6 client when the
kernel failed to return the destination the
                        packet was sent to. [RT #16613]
2007-02-26 00:57:03 +00:00
Mark Andrews
72a216a569 2142. [bug] Handle master files with a modification time that
matches the epoch. [RT# 16612]
2007-02-26 00:50:19 +00:00
Mark Andrews
e4c25dd197 2142. [bug] Handle master files with a modification time that
matches the epoch. [RT# 16612]
2007-02-26 00:50:13 +00:00
Mark Andrews
57eb7efe13 change number 2007-02-26 00:49:05 +00:00
Mark Andrews
7228a4d9ca 2140. [bug] Handle master files with a modification time that
matches the epoch. [RT# 16612]
2007-02-26 00:42:21 +00:00
Mark Andrews
5dcc67a0ff 2141. [bug] dig/host should not be setting IDN_ASCCHECK (IDN
equivalent of LDH checks).  [RT #16609]
2007-02-26 00:27:09 +00:00
Mark Andrews
a26db64912 2140. [bug] libbind: missing unlock on pthread_key_create()
failures. [RT #16654]
2007-02-26 00:05:37 +00:00
Mark Andrews
e7160c09ac 2140. [bug] libbind: missing unlock on pthread_key_create()
failures. [RT #16654]
2007-02-26 00:05:23 +00:00
Mark Andrews
8363ddb32d 2140. [bug] libbind: missing unlock on pthread_key_create()
failures. [RT #16654]
2007-02-25 23:46:58 +00:00
Automatic Updater
214649f6ee update copyright notice 2007-02-25 23:46:49 +00:00
Mark Andrews
a820f863b9 2139. [bug] dns_view_find() was being called with wrong type
in adb.c. [RT #16670]
2007-02-25 23:36:01 +00:00
Mark Andrews
8cc251eeac 2139. [bug] dns_view_find() was being called with wrong type
in adb.c. [RT #16670]
2007-02-25 23:35:46 +00:00
Automatic Updater
d0f1bbb621 newcopyrights 2007-02-25 23:30:25 +00:00
Mark Andrews
cc2720da38 2139. [bug] dns_view_find() was being called with wrong type
in adb.c. [RT #16670]
2007-02-25 23:24:36 +00:00
Automatic Updater
30a4b3139b auto update 2007-02-22 23:17:31 +00:00
Automatic Updater
33b24912e5 auto update 2007-02-16 23:17:23 +00:00
Automatic Updater
e2acdb193a update copyright notice 2007-02-15 23:40:09 +00:00
Automatic Updater
9acbb99075 update copyright notice 2007-02-15 23:39:08 +00:00
Automatic Updater
f459d71198 newcopyrights 2007-02-15 23:26:48 +00:00
Mark Andrews
5ba7e90d4e new draft 2007-02-15 09:06:17 +00:00
Mark Andrews
0e780f132d update 2007-02-15 04:11:12 +00:00
Mark Andrews
92ff69c600 whitespace 2007-02-15 01:42:21 +00:00
Mark Andrews
a9fe4f89d2 update copyright notice 2007-02-14 23:45:44 +00:00
Mark Andrews
7205d14300 update copyright notice 2007-02-14 23:45:42 +00:00
Mark Andrews
10fc76d48a 2138. [bug] Lock order reversal in resolver.c. [RT #16653] 2007-02-14 23:40:01 +00:00
Mark Andrews
4490e14feb update rt number 2007-02-14 23:37:11 +00:00
Mark Andrews
f8448666aa newcopyrights 2007-02-14 23:30:25 +00:00
Mark Andrews
72d707d5c9 newcopyrights 2007-02-14 23:30:09 +00:00
Mark Andrews
79db1175f3 newcopyrights 2007-02-14 23:30:04 +00:00
Mark Andrews
5cc6a0f7da 2137. [port] Mips little endian and/or mips 64 bit are now
supported for atomic operations. [RT#16653]
2007-02-14 23:28:17 +00:00
Mark Andrews
25380f483f %ld and (long) cast for size_t 2007-02-14 02:39:44 +00:00
Mark Andrews
cadb5c8591 #ifdef HAVE_LIBXML2 statenames 2007-02-14 02:32:30 +00:00
Mark Andrews
dbd335175f 2136. [bug] nslookup/host looped if there was no search list
and the host didn't exist. [RT #16657]
2007-02-14 01:25:06 +00:00
Mark Andrews
fba6f927d6 2136. [bug] nslookup/host looped if there was no search list
and the host didn't exist. [RT #16657]
2007-02-14 01:23:45 +00:00
Mark Andrews
1e70c9a366 2136. [bug] nslookup/host looped if there was no search list
and the host didn't exist. [RT #16657]
2007-02-14 01:19:52 +00:00
Mark Andrews
cdce8b88c6 update copyright notice 2007-02-14 00:27:27 +00:00
Mark Andrews
9baec3ca23 2135. [bug] Uninitialised rdataset in sdlz.c. [RT# 16656] 2007-02-13 23:36:06 +00:00
Mark Andrews
dde4bc9296 newcopyrights 2007-02-13 23:30:24 +00:00
Mark Andrews
77dee71d21 auto update 2007-02-13 23:17:04 +00:00
Mark Andrews
96ea716328 2134. [func] Additional statistics support. [RT #16666] 2007-02-13 02:49:08 +00:00
Mark Andrews
149e7eacf0 update copyright notice 2007-02-13 00:04:51 +00:00
Mark Andrews
232228436b update 2007-02-13 00:02:27 +00:00
Mark Andrews
788778633d newcopyrights 2007-02-12 23:30:27 +00:00
Mark Andrews
2372f41fca auto update 2007-02-12 23:17:04 +00:00
Mark Andrews
f31446e6b5 2133. [port] powerpc: Support both IBM and MacOS Power PC
assembler syntaxes. [RT #16647]
2007-02-12 00:50:01 +00:00
Mark Andrews
b9d6381c67 auto update 2007-02-09 23:17:02 +00:00
Mark Andrews
5f14ed0285 auto update 2007-02-08 23:17:02 +00:00
Mark Andrews
de84df71a9 update copyright notice 2007-02-07 23:58:01 +00:00
Mark Andrews
8ae34909c8 update copyright notice 2007-02-07 23:57:57 +00:00
Mark Andrews
abad4bdf2f update copyright notice 2007-02-07 23:57:56 +00:00
Mark Andrews
8af4db0817 newcopyrights 2007-02-07 23:30:29 +00:00
Mark Andrews
e3fb8ff39f newcopyrights 2007-02-07 23:30:10 +00:00
Mark Andrews
1dcf150d8d newcopyrights 2007-02-07 23:30:04 +00:00
Mark Andrews
e8c280c390 auto update 2007-02-07 23:17:03 +00:00
Mark Andrews
dd87ecde2a 2132. [bug] Missing unlock on out of memory in
dns_dispatchmgr_setudp().
2007-02-07 06:09:07 +00:00
Mark Andrews
272089c55a 2132. [bug] Missing unlock on out of memory in
dns_dispatchmgr_setudp().
2007-02-07 06:08:40 +00:00
Mark Andrews
0961ac0868 2132. [bug] Missing unlock on out of memory in
dns_dispatchmgr_setudp().
2007-02-07 06:02:47 +00:00
Mark Andrews
3ea44214a7 missing unlock 2007-02-07 05:42:43 +00:00
Mark Andrews
86c81508b1 missing unlock 2007-02-07 05:42:17 +00:00
Mark Andrews
b11a1ea7d1 missing unlock 2007-02-07 05:40:50 +00:00
Mark Andrews
05c97640f6 uninitalised use 2007-02-07 04:49:18 +00:00
Mark Andrews
c1a82c9669 update 2007-02-07 00:03:47 +00:00
Mark Andrews
c9be46d0b5 remove and abort on error 2007-02-06 23:45:27 +00:00
Mark Andrews
32bbae0a39 remove and abort on error 2007-02-06 23:44:28 +00:00
Mark Andrews
85faeeb09a remove and abort on error 2007-02-06 23:39:16 +00:00
Mark Andrews
bf1263835e update 2007-02-06 23:34:58 +00:00
Mark Andrews
855d8c8fca auto update 2007-02-06 23:17:09 +00:00
Rob Austein
87621e0028 More fun with the new stricter version of xsltproc. 2007-02-06 20:58:13 +00:00
Mark Andrews
47b6d855e3 regen 2007-02-06 07:25:30 +00:00
Mark Andrews
3d697a7edd 2131. [contrib] dlz/mysql: AXFR was broken. [RT #16630] 2007-02-06 05:44:26 +00:00
Mark Andrews
8943ff626f 2130. [func] Log if CD or DO were set. [RT #16640] 2007-02-06 04:00:21 +00:00
Mark Andrews
0b174d1243 update copyright notice 2007-02-06 00:01:23 +00:00
Mark Andrews
06308e4e86 update copyright notice 2007-02-06 00:01:22 +00:00
Mark Andrews
4c618ba38a s/bug/security/ 2007-02-05 23:44:45 +00:00
Mark Andrews
927fe7bd21 newcopyrights 2007-02-05 23:30:04 +00:00
Mark Andrews
9e7dbcc96a Isn't "make install" supposed to generate a default named.conf? 2007-02-05 05:24:11 +00:00
Mark Andrews
d9b1003933 Isn't "make install" supposed to generate a default named.conf? 2007-02-05 05:23:52 +00:00
Mark Andrews
6480e2441c Isn't "make install" supposed to generate a default named.conf? 2007-02-05 05:18:22 +00:00
Mark Andrews
aa1b1daa77 Make casting easier in symbolic debuggers by using different names
for the 64 bit version.
(For some reason this wasn't applied to 9.2.x earlier.)
2007-02-05 03:47:45 +00:00
Mark Andrews
ea935c46e8 newcopyrights 2007-02-03 00:29:46 +00:00
Mark Andrews
89bc48260b regen 2007-02-02 04:33:37 +00:00
Mark Andrews
0e14ba317a regen 2007-02-02 04:33:04 +00:00
Mark Andrews
5e4d7f9c6d regen 2007-02-02 04:32:48 +00:00
Mark Andrews
281bab0f36 2129. [func] Provide a pool of UDP sockets for queries to be
made over. See use-queryport-pool, queryport-pool-ports
                        and queryport-pool-updateinterval.  [RT #16415]
2007-02-02 02:18:06 +00:00
Mark Andrews
1f369c2581 update copyright notice 2007-02-01 23:55:21 +00:00
Mark Andrews
c66cf78684 update copyright notice 2007-02-01 23:55:19 +00:00
Mark Andrews
87c1a1e456 update copyright notice 2007-02-01 23:55:18 +00:00
Mark Andrews
1b588ff54e newcopyrights 2007-02-01 23:30:34 +00:00
Mark Andrews
a4876de549 newcopyrights 2007-02-01 23:30:16 +00:00
Mark Andrews
24d37eaee2 newcopyrights 2007-02-01 23:30:10 +00:00
Mark Andrews
90bebd72c0 auto update 2007-02-01 23:17:25 +00:00
Mark Andrews
56a02291cf remove SO_BSDCOMPAT reference 2007-02-01 04:42:54 +00:00
Mark Andrews
3eaa01ab95 remove SO_BSDCOMPAT reference 2007-02-01 04:42:29 +00:00
Mark Andrews
fd276c2493 remove SO_BSDCOMPAT reference 2007-02-01 04:40:32 +00:00
Mark Andrews
2a2e142983 Q: Why do we get the following warning at run time:
kernel: process `named' is using obsolete setsockopt SO_BSDCOMPAT
2007-01-31 23:54:30 +00:00
Mark Andrews
dded49490a Q: Why do we get the following warning at run time:
kernel: process `named' is using obsolete setsockopt SO_BSDCOMPAT
2007-01-31 23:54:15 +00:00
Mark Andrews
51f883e0a5 Q: Why do we get the following warning at run time:
kernel: process `named' is using obsolete setsockopt SO_BSDCOMPAT
2007-01-31 23:19:45 +00:00
Mark Andrews
a5f1fd26b0 auto update 2007-01-31 23:17:00 +00:00
Mark Andrews
861a4860e4 update copyright notice 2007-01-30 23:52:54 +00:00
Mark Andrews
6750ae4f69 update copyright notice 2007-01-30 23:52:52 +00:00
Mark Andrews
195e7b7a6e newcopyrights 2007-01-30 23:30:29 +00:00
Mark Andrews
d5ae02ae4a newcopyrights 2007-01-30 23:30:04 +00:00
Rob Austein
57892b9bf2 Don't bomb "make doc" when "make all" hasn't been run. [RT #16636] 2007-01-30 07:48:29 +00:00
Rob Austein
84643006d9 Don't bomb "make doc" when "make all" hasn't been run. [RT #16636] 2007-01-30 07:47:27 +00:00
Rob Austein
9a7437cd35 Don't bomb "make doc" when "make all" hasn't been run. [RT #16636] 2007-01-30 07:47:22 +00:00
Mark Andrews
11b07ea523 use local variables in loops 2007-01-30 06:29:21 +00:00
Mark Andrews
514f6f1424 use branch creator as owner of new branches 2007-01-30 06:00:00 +00:00
Mark Andrews
ee2b94f09f auto update 2007-01-30 02:09:25 +00:00
Mark Andrews
07d18c44bf update 2007-01-30 02:05:46 +00:00
Mark Andrews
8543f063c1 update 2007-01-30 01:11:50 +00:00
Mark Andrews
b0e8629055 regen 2007-01-30 00:25:00 +00:00
Mark Andrews
8a541a4974 regen 2007-01-30 00:11:50 +00:00
Mark Andrews
01e6e60a62 regen 2007-01-30 00:10:40 +00:00
Mark Andrews
c1a883f2e0 update copyright notice 2007-01-29 23:57:22 +00:00
Mark Andrews
bb3aae3517 update copyright notice 2007-01-29 23:57:19 +00:00
Mark Andrews
49371c03ae update copyright notice 2007-01-29 23:57:17 +00:00
Mark Andrews
4b2cb1422c newcopyrights 2007-01-29 23:30:29 +00:00
Mark Andrews
dbce8e1160 newcopyrights 2007-01-29 23:30:09 +00:00
Mark Andrews
4e0c7a17e7 newcopyrights 2007-01-29 23:30:04 +00:00
Rob Austein
76eb0b97ec close 16635 2007-01-29 23:20:53 +00:00
Mark Andrews
69f831d5ba auto update 2007-01-29 23:16:58 +00:00
Rob Austein
5cd4555ad4 2128. [doc] xsltproc --nonet, update DTD versions. [RT #16635] 2007-01-29 22:16:02 +00:00
Rob Austein
2f5ae38762 2128. [doc] xsltproc --nonet, update DTD versions. [RT #16635] 2007-01-29 22:14:53 +00:00
Rob Austein
65b17a7b73 2128. [doc] xsltproc --nonet, update DTD versions. [RT #16635] 2007-01-29 22:14:26 +00:00
Mark Andrews
95d849e833 update copyright notice 2007-01-27 00:22:49 +00:00
Mark Andrews
4329612252 update copyright notice 2007-01-27 00:22:47 +00:00
Mark Andrews
228f3a7825 update copyright notice 2007-01-27 00:22:46 +00:00
Mark Andrews
c28a124342 newcopyrights 2007-01-26 23:31:01 +00:00
Mark Andrews
114da51812 newcopyrights 2007-01-26 23:30:33 +00:00
Mark Andrews
931f69efe0 newcopyrights 2007-01-26 23:30:21 +00:00
Mark Andrews
4abdfc917e regen 2007-01-26 23:29:04 +00:00
Mark Andrews
665a8e85ae regen 2007-01-26 23:27:35 +00:00
Mark Andrews
329f8ca549 regen 2007-01-26 23:27:00 +00:00
Rob Austein
46b94f8401 New version of xsltproc noticed missing <xsl:param/>. [RT #16632] 2007-01-26 21:32:40 +00:00
Rob Austein
b3ca0375b5 New version of xsltproc noticed missing <xsl:param/>. [RT #16632] 2007-01-26 21:32:35 +00:00
Rob Austein
f9672c2f86 New version of xsltproc noticed missing <xsl:param/>. [RT #16632] 2007-01-26 21:32:31 +00:00
Mark Andrews
146091e629 newcopyrights 2007-01-25 23:30:10 +00:00
Mark Andrews
cc9f213621 newcopyrights 2007-01-25 23:30:04 +00:00
Mark Andrews
811433aa07 9.2.8 2007-01-25 00:20:34 +00:00
Mark Andrews
43c982c486 9.3.4 2007-01-25 00:19:03 +00:00
Mark Andrews
cc678e70bd auto update 2007-01-23 23:16:52 +00:00
Mark Andrews
0c108de382 update copyright notice 2007-01-19 00:55:50 +00:00
Mark Andrews
308ec4a94a update copyright notice 2007-01-19 00:55:48 +00:00
Mark Andrews
8ae412a86e newcopyrights 2007-01-18 23:30:31 +00:00
Mark Andrews
6254d1f26a newcopyrights 2007-01-18 23:30:04 +00:00
Mark Andrews
2e1635c9d3 auto update 2007-01-18 23:16:39 +00:00
Mark Andrews
c66c5152f9 regen 2007-01-18 04:20:22 +00:00
Mark Andrews
062ad6b46a "make depend" didn't work 2007-01-18 00:14:51 +00:00
Mark Andrews
07f7681b39 "make depend" didn't work 2007-01-18 00:14:31 +00:00
Mark Andrews
9367b7697b update copyright notice 2007-01-18 00:06:10 +00:00
Mark Andrews
24017e8b2e update copyright notice 2007-01-18 00:06:02 +00:00
Mark Andrews
19aca386f1 "make depend" didn't work 2007-01-17 23:43:24 +00:00
Mark Andrews
766228b909 newcopyrights 2007-01-17 23:30:09 +00:00
Mark Andrews
f7206667c0 newcopyrights 2007-01-17 23:30:04 +00:00
Mark Andrews
aacffbf866 auto update 2007-01-17 23:16:53 +00:00
Mark Andrews
af350e2c1a new draft 2007-01-17 04:13:52 +00:00
Mark Andrews
c3e937b263 regen 2007-01-17 01:13:31 +00:00
Mark Andrews
32ebcece7a update copyright notice 2007-01-17 00:32:45 +00:00
Mark Andrews
398af337e0 update copyright notice 2007-01-17 00:32:32 +00:00
Mark Andrews
af499a4451 add missing years 2007-01-16 05:22:28 +00:00
Mark Andrews
d82d6f037d add missing years 2007-01-16 05:08:36 +00:00
Mark Andrews
6a8d38ab45 add miss change years 2007-01-16 05:04:50 +00:00
Mark Andrews
2530250f36 add missing years 2007-01-16 03:48:42 +00:00
Mark Andrews
c6f7e9d03b add miss change years 2007-01-16 03:18:49 +00:00
Mark Andrews
d5c33914d5 add missing years 2007-01-16 01:19:28 +00:00
Mark Andrews
c0ac06a731 add miss change years 2007-01-16 00:56:58 +00:00
Mark Andrews
5a37b6273c newcopyrights 2007-01-15 23:30:09 +00:00
Mark Andrews
123447f7cb newcopyrights 2007-01-15 23:30:04 +00:00
Mark Andrews
719c69c7b8 auto update 2007-01-15 23:16:51 +00:00
Mark Andrews
7e89407411 remove IDN_ASCCHECK flag 2007-01-15 22:44:35 +00:00
Mark Andrews
b03ebb6972 delete IDN_ASCCHECK flag 2007-01-15 22:25:56 +00:00
Mark Andrews
22390ee0d4 move copyright 2007-01-15 01:29:43 +00:00
Mark Andrews
5f7e0eb1cb newcopyrights 2007-01-14 23:30:24 +00:00
Mark Andrews
15ae68f3db update 2007-01-14 23:26:12 +00:00
Mark Andrews
b2b34f339e newcopyrights 2007-01-12 23:30:09 +00:00
Mark Andrews
9da93b3d17 newcopyrights 2007-01-12 23:30:04 +00:00
Rob Austein
c2d3202147 Old db2latex which should be on HEAD so we don't lose track of them.
We care about these because we need them to generate the PDF ARM.
2007-01-12 22:24:20 +00:00
Mark Andrews
fa3d0b9991 bug -> security 2007-01-12 05:09:15 +00:00
Mark Andrews
9028f69bad update 2007-01-12 04:22:53 +00:00
Mark Andrews
ebf9c138b0 update 2007-01-12 04:19:43 +00:00
Mark Andrews
3378b1c9b1 regen 2007-01-12 00:28:48 +00:00
Mark Andrews
00499ae65e update copyright notice 2007-01-12 00:14:51 +00:00
Mark Andrews
e999539fb3 newcopyrights 2007-01-12 00:01:04 +00:00
Mark Andrews
7d8d76e148 Will named be affected by the 2007 changes to daylight savings rules in the US. 2007-01-11 23:55:24 +00:00
Mark Andrews
242818dfb5 auto update 2007-01-11 23:17:04 +00:00
Mark Andrews
c2e8f6b9c3 auto update 2007-01-10 23:17:07 +00:00
Michael Graff
de4f679a17 revert changes accidently committed to mainline 2007-01-10 18:56:20 +00:00
Michael Graff
1a79585fe2 display more info -- list of tasks, list of sockets 2007-01-10 15:18:24 +00:00
Mark Andrews
f8574167b2 update copyright notice 2007-01-09 23:49:38 +00:00
Mark Andrews
6f046a065e newcopyrights 2007-01-09 23:30:39 +00:00
Mark Andrews
92f56936fb update copyright notice 2007-01-09 03:11:16 +00:00
Mark Andrews
f55369d776 newcopyrights 2007-01-09 02:59:32 +00:00
Mark Andrews
ac4e70ff89 update 2007-01-09 02:57:28 +00:00
Mark Andrews
7acb804e7f update copyright notice 2007-01-09 02:44:24 +00:00
Mark Andrews
aa1d397c47 update 2007-01-09 02:40:36 +00:00
Mark Andrews
7adcb4de92 update 2007-01-09 01:44:22 +00:00
Mark Andrews
bc176f2819 newcopyrights 2007-01-09 00:21:02 +00:00
Mark Andrews
3559c11fc8 add dns_validator_send 2007-01-09 00:04:02 +00:00
Mark Andrews
417dc654a8 9.2 does not have dst__openssl_toresult() 2007-01-08 05:57:37 +00:00
Mark Andrews
509c6dd658 remove extra # 2007-01-08 03:33:35 +00:00
Mark Andrews
5f88b0c4a4 update copyright notice 2007-01-08 03:13:05 +00:00
Mark Andrews
12417e8f3a update copyright notice 2007-01-08 03:13:04 +00:00
Mark Andrews
05cea37558 DSA_generate_parameters_ex parameters 2007-01-08 03:06:08 +00:00
Mark Andrews
d8e219cdbf DSA_generate_parameters_ex parameters 2007-01-08 03:04:03 +00:00
Mark Andrews
b0985f2ac5 DSA_generate_parameters_ex parameters 2007-01-08 03:02:32 +00:00
Mark Andrews
d80b91ebe8 update 2007-01-08 02:50:58 +00:00
Mark Andrews
4c610cf562 update 2007-01-08 02:49:10 +00:00
Mark Andrews
f36c85c3ce update copyright notice 2007-01-08 02:45:04 +00:00
Mark Andrews
815fada52d update copyright notice 2007-01-08 02:45:03 +00:00
Mark Andrews
8cd4e5a8f1 update copyright notice 2007-01-08 02:45:02 +00:00
Mark Andrews
46e41c5c1c newcopyrights 2007-01-08 02:42:41 +00:00
Mark Andrews
fad5dbdcee newcopyrights 2007-01-08 02:42:35 +00:00
Mark Andrews
93c2df41be prime_len -> key->key_size 2007-01-08 02:39:06 +00:00
Mark Andrews
e1221b7c86 prime_len -> key->key_size 2007-01-08 02:38:26 +00:00
Mark Andrews
2a5600ad8b prime_len -> key->key_size 2007-01-08 02:35:58 +00:00
Mark Andrews
5147281cb8 newcopyrights 2007-01-08 02:29:06 +00:00
Mark Andrews
151411eea7 newcopyrights 2007-01-08 02:28:51 +00:00
Mark Andrews
3fc6ad66f9 newcopyrights 2007-01-08 02:28:46 +00:00
Mark Andrews
3522cb5f01 2127. [port] Improved OpenSSL 0.9.8 support. [RT #16563] 2007-01-08 02:03:17 +00:00
Mark Andrews
c5cf944cd1 2127. [port] Improved OpenSSL 0.9.8 support. [RT #16563] 2007-01-08 01:59:46 +00:00
Mark Andrews
8eb4eca375 2127. [port] Improved OpenSSL 0.9.8 support. [RT #16563] 2007-01-08 01:53:30 +00:00
Mark Andrews
fcc4a3dd25 2126. [bug] Serialise validation of type ANY responses. [RT #16555] 2007-01-08 01:37:34 +00:00
Mark Andrews
8c82d5fabb 2126. [bug] Serialise validation of type ANY responses. [RT #16555] 2007-01-08 01:37:12 +00:00
Mark Andrews
3052274767 2126. [bug] Serialise validation of type ANY responses. [RT #16555] 2007-01-08 01:13:38 +00:00
Mark Andrews
299aa98020 update 2007-01-08 00:55:37 +00:00
Mark Andrews
e7d32e57a5 2125. [bug] dns_zone_getzeronosoattl() REQUIRE failure if DLZ
was defined. [RT #16574]
2007-01-08 00:54:15 +00:00
Mark Andrews
52c39ec75e 2124. [bug] It was possible to dereference a freed fetch
context. [RT #16584]
2007-01-08 00:44:25 +00:00
Mark Andrews
ca48338b3d #ifdef HAVE_LIBXML2 statenames declaration 2007-01-05 07:24:51 +00:00
Mark Andrews
28b14c4e69 update copyright notice 2007-01-05 05:56:05 +00:00
Mark Andrews
8959ca2070 update 2007-01-05 05:54:06 +00:00
Mark Andrews
80f9a970ae newcopyrights 2007-01-05 04:46:28 +00:00
Mark Andrews
7e09c16e0e move copyright 2007-01-05 04:45:05 +00:00
Mark Andrews
3d17258ff6 leave <?xml at start file 2007-01-05 04:28:12 +00:00
Mark Andrews
39918cc3cb newcopyrights 2007-01-04 23:30:24 +00:00
Mark Andrews
b17c20f384 9.3.2-WFB-5 2007-01-04 05:45:20 +00:00
Mark Andrews
774e2ffe70 2124. [bug] It was possible to dereference a freed fetch
context. [RT #16584]
2007-01-04 05:44:20 +00:00
Mark Andrews
e3f66e1617 2124. [bug] It was possible to dereference a freed fetch
context. [RT #16584]
2007-01-04 04:11:03 +00:00
Mark Andrews
edf8e79280 update copyright notice 2007-01-04 00:01:13 +00:00
Mark Andrews
6a78eb0a86 newcopyrights 2007-01-03 23:30:29 +00:00
Mark Andrews
5732ab88b0 auto update 2007-01-03 23:17:03 +00:00
Michael Graff
68e2686f83 hook in socket and task info 2007-01-03 21:28:24 +00:00
Michael Graff
ca21196249 implement statistics for sockets. Need to port this to the win32 build too. 2007-01-03 20:57:07 +00:00
Michael Graff
69da4348da add some basic statistics to task.c 2007-01-03 20:23:46 +00:00
Mark Andrews
3730232147 update copyright notice 2007-01-03 04:53:20 +00:00
Mark Andrews
04428429c4 newcopyrights 2007-01-02 23:30:24 +00:00
Mark Andrews
7f94ee14bd auto update 2007-01-02 23:17:02 +00:00
Mark Andrews
ab8892c93a update copyright notice 2006-12-27 22:44:50 +00:00
Mark Andrews
e7c6cbab8c newcopyrights 2006-12-26 23:30:26 +00:00
Rob Austein
cadafd134e distclean wasn't removing releaseinfo.xml. 2006-12-26 17:52:18 +00:00
Mark Andrews
40d9598efa update 2006-12-23 00:17:27 +00:00
Mark Andrews
f47dad7fc8 newcopyrights 2006-12-22 23:30:09 +00:00
Mark Andrews
3fe2779c96 isc_time_seconds 2006-12-22 05:29:30 +00:00
Mark Andrews
74d6235d13 isc_time_seconds 2006-12-22 05:26:26 +00:00
Mark Andrews
0aef230aba remove duplicate function 2006-12-22 05:18:53 +00:00
Mark Andrews
e291023c7a update 2006-12-22 04:28:11 +00:00
Mark Andrews
43406aa1c0 update 2006-12-22 04:24:13 +00:00
Mark Andrews
4b6f61ea34 cleanup 2006-12-22 04:20:52 +00:00
Mark Andrews
70232e6b44 newcopyrights 2006-12-22 04:05:30 +00:00
Michael Graff
b015e6b3e1 make changes on HEAD, not on a branch. 2006-12-22 03:07:57 +00:00
Mark Andrews
5a8bebe00d 9.5.0a1 2006-12-22 03:07:29 +00:00
Rob Austein
2da2220fe7 Copyright tweaks 2006-12-22 02:40:14 +00:00
Mark Andrews
ed954ce73b 9.5.0a1 2006-12-22 02:32:59 +00:00
Mark Andrews
148f27aee6 update copyright notice 2006-12-22 01:59:44 +00:00
Mark Andrews
45eca3a5d4 newcopyrights 2006-12-22 01:55:13 +00:00
Mark Andrews
9304f44dd4 update 2006-12-22 01:55:03 +00:00
Mark Andrews
2320f23099 remove unbalanced ( 2006-12-22 01:49:46 +00:00
Mark Andrews
29747dfe5e 2123. [func] Use Doxygen to generate internal documention.
[RT #11398]
2006-12-22 01:46:19 +00:00
Mark Andrews
c427260a86 add .rnc support 2006-12-22 01:41:55 +00:00
Mark Andrews
7dc0a09c4b regen 2006-12-21 23:44:28 +00:00
Mark Andrews
1cfdd35204 auto update 2006-12-21 23:17:03 +00:00
Mark Andrews
b7945d73bc libxml2 version check 2006-12-21 12:04:16 +00:00
Mark Andrews
3b31d6634f don't use C90 constructs 2006-12-21 10:06:17 +00:00
Mark Andrews
9ea0cc836d fix server.o dependancy 2006-12-21 09:37:07 +00:00
Mark Andrews
8ede3bb42e static char msg[] 2006-12-21 06:11:43 +00:00
Mark Andrews
186e7f37c9 2122. [func] Experimental http server and statistics support
for named via xml.
2006-12-21 06:03:37 +00:00
Mark Andrews
de468b9d4e auto update 2006-12-20 23:17:03 +00:00
Mark Andrews
3a20d342a7 custom_WFB_v9_3_3 2006-12-20 04:15:33 +00:00
Mark Andrews
1966374c9b regen 2006-12-20 01:38:19 +00:00
Mark Andrews
47439b53a7 regen 2006-12-20 01:38:08 +00:00
Mark Andrews
3327ae2a52 regen 2006-12-20 01:37:53 +00:00
Mark Andrews
84f3b369a4 update copyright notice 2006-12-20 00:57:20 +00:00
Mark Andrews
98dd4c1c02 update copyright notice 2006-12-20 00:57:19 +00:00
Mark Andrews
7ded6dee1b newcopyrights 2006-12-19 23:30:10 +00:00
Mark Andrews
ae4a60a033 newcopyrights 2006-12-19 23:30:04 +00:00
Mark Andrews
b3cbb2f1ad regen 2006-12-19 01:35:50 +00:00
Mark Andrews
c33469de8b regen 2006-12-19 01:35:29 +00:00
Mark Andrews
f632b7f057 regen 2006-12-19 01:35:23 +00:00
Mark Andrews
1372e172d0 2121. [func] Add a 10 slot dead masters cache (LRU) with a 600
second timeout. [RT #16553]
2006-12-18 23:58:14 +00:00
Mark Andrews
1f21a0f32f s/used/use/ 2006-12-18 23:38:05 +00:00
Mark Andrews
784928cb1f add paragraph on CH/IN name space overlap 2006-12-18 23:37:09 +00:00
Mark Andrews
75b19b9f01 add paragraph on CH/IN name space overlap 2006-12-18 23:36:09 +00:00
Mark Andrews
065c66d9bf add paragraph on CH/IN name space overlap 2006-12-18 23:26:10 +00:00
Mark Andrews
dcd51d3986 auto update 2006-12-18 23:16:57 +00:00
Mark Andrews
69f175fc57 regen 2006-12-17 04:54:22 +00:00
Mark Andrews
e368614b76 regen 2006-12-17 04:54:08 +00:00
Mark Andrews
62b37c6cec regen 2006-12-17 04:54:01 +00:00
Mark Andrews
6cc849f2b5 update copyright notice 2006-12-17 04:53:06 +00:00
Mark Andrews
8a53c0b23e update copyright notice 2006-12-17 04:53:05 +00:00
Mark Andrews
ea6bde1866 newcopyrights 2006-12-16 23:30:11 +00:00
Mark Andrews
ce8e21dae6 newcopyrights 2006-12-16 23:30:04 +00:00
Rob Austein
6d1a7d2ed6 2120. [doc] Fix markup on nsupdate man page. [RT #16556] 2006-12-16 01:15:00 +00:00
Rob Austein
dd8ddca991 2120. [doc] Fix markup on nsupdate man page. [RT #16556] 2006-12-16 01:14:47 +00:00
Rob Austein
8d709e3ee4 2120. [doc] Fix markup on nsupdate man page. [RT #16556] 2006-12-16 01:14:36 +00:00
Mark Andrews
354ee7da2a auto update 2006-12-14 23:17:03 +00:00
Mark Andrews
d4185b5b3e nuke OVERRIDE_OPENSSL_RAND 2006-12-13 23:56:24 +00:00
Mark Andrews
f18ffb49fc auto update 2006-12-12 23:16:54 +00:00
Mark Andrews
e21a2904f0 regen 2006-12-12 01:45:21 +00:00
Mark Andrews
4d300dd161 regen 2006-12-12 01:43:37 +00:00
Mark Andrews
434c27c457 regen 2006-12-12 01:42:57 +00:00
Mark Andrews
4ae1fe7a08 2119. [compat] libbind: allow res_init() to succeed enough to
return the default domain even if it was unable
                        to allocate memory.
2006-12-11 04:46:54 +00:00
Mark Andrews
3e55d1fd49 2119. [compat] libbind: allow res_init() to succeed enough to
return the default domain even if it was unable
                        to allocate memory.
2006-12-11 04:45:19 +00:00
Mark Andrews
23235c00ed 2119. [compat] libbind: allow res_init() to succeed enough to
return the default domain even if it was unable
                        to allocate memory.
2006-12-11 04:35:39 +00:00
Mark Andrews
f2b2de10ce 0 => 0U 2006-12-08 05:09:16 +00:00
Mark Andrews
5c889c8923 0 => 0U 2006-12-08 05:06:37 +00:00
Mark Andrews
fabbdb3ed2 0 => 0U 2006-12-08 05:03:13 +00:00
Mark Andrews
9548a34a2f update copyrights 2006-12-08 00:03:36 +00:00
Mark Andrews
9876ba9443 update copyrights 2006-12-08 00:03:34 +00:00
Mark Andrews
cfab7435dc update copyrights 2006-12-08 00:03:33 +00:00
Mark Andrews
1814d2108d update copyright notice 2006-12-07 23:57:59 +00:00
Mark Andrews
379606a34a update copyright notice 2006-12-07 23:57:57 +00:00
Mark Andrews
84de948c9a update copyright notice 2006-12-07 23:57:56 +00:00
Mark Andrews
b7aab05eda newcopyrights 2006-12-07 23:30:27 +00:00
Mark Andrews
5e151fdf56 newcopyrights 2006-12-07 23:30:12 +00:00
Mark Andrews
d4b03a71a5 newcopyrights 2006-12-07 23:30:06 +00:00
Mark Andrews
a4bf005bfa remove DNS_R_TOOMANYHOPS test 2006-12-07 13:25:58 +00:00
Mark Andrews
1c4d4252ab remove DNS_R_TOOMANYHOPS test 2006-12-07 13:24:44 +00:00
Mark Andrews
d85db585c6 remove DNS_R_TOOMANYHOPS test 2006-12-07 13:23:14 +00:00
Mark Andrews
c08f16ae8b 2118. [bug] Handle response with long chains of domain name
compression pointers which point to other compression
                        pointers. [RT #16427]
2006-12-07 07:02:47 +00:00
Mark Andrews
1b8e8b031b 2118. [bug] Handle response with long chains of domain name
compression pointers which point to other compression
                        pointers. [RT #16427]
2006-12-07 07:02:45 +00:00
Mark Andrews
514aeac2ac 2118. [bug] Handle response with long chains of domain name
compression pointers which point to other compression
                        pointers. [RT #16427]
2006-12-07 06:57:46 +00:00
Mark Andrews
f5d326fb23 2117. [bug] DNSSEC fixes: named could fail to cache NSEC records
which could lead to validation failures.  named didn't
                        handle negative DS responses that were in the process
                        of being validated.  Check CNAME bit before accepting
                        NODATA proof. To be able to ignore a child NSEC there
                        must be SOA (and NS) set in the bitmap. [RT #16399]
2006-12-07 06:50:38 +00:00
Mark Andrews
1ea2595e1b 2117. [bug] DNSSEC fixes: named could fail to cache NSEC records
which could lead to validation failures.  named didn't
                        handle negative DS responses that were in the process
                        of being validated.  Check CNAME bit before accepting
                        NODATA proof. To be able to ignore a child NSEC there
                        must be SOA (and NS) set in the bitmap. [RT #16399]
2006-12-07 06:47:36 +00:00
Mark Andrews
90b4b61f82 2116. [bug] 'rndc reload' could cause the cache to continually
be cleaned. [RT #16401]
2006-12-07 06:34:14 +00:00
Mark Andrews
b9e4c69b15 2116. [bug] 'rndc reload' could cause the cache to continually
be cleaned. [RT #16401]
2006-12-07 06:31:52 +00:00
Mark Andrews
e60f01cdd2 2116. [bug] 'rndc reload' could cause the cache to continually
be cleaned. [RT #16401]
2006-12-07 06:27:34 +00:00
Mark Andrews
6509d298a0 2115. [bug] 'rndc reconfig' could trigger a INSIST if the
number of masters for a zone was reduced. [RT #16444]
2006-12-07 06:21:45 +00:00
Mark Andrews
34cdc0da0a 2115. [bug] 'rndc reconfig' could trigger a INSIST if the
number of masters for a zone was reduced. [RT #16444]
2006-12-07 06:21:15 +00:00
Mark Andrews
13290782cb 2115. [bug] 'rndc reconfig' could trigger a INSIST if the
number of masters for a zone was reduced. [RT #16444]
2006-12-07 06:17:06 +00:00
Mark Andrews
895ae38da1 fix description 2006-12-07 06:08:12 +00:00
Mark Andrews
0a00465058 2114. [bug] dig/host/nslookup: searches for names with multiple
labels were failing. [RT #16447]
2006-12-07 06:07:56 +00:00
Mark Andrews
3838c3f739 2114. [bug] dig/host/nslookup: searches for names with multiple
labels were failing. [RT #16447]
2006-12-07 06:07:32 +00:00
Mark Andrews
824cb65675 2114. [bug] dig/host/nslookup: searches for names with multiple
labels were failing. RT #16447]
2006-12-07 05:52:16 +00:00
Mark Andrews
bca16e31b4 2113. [bug] nsupdate: if a zone is specified it should be used
for server discover. [RT# 16455]
2006-12-07 05:39:41 +00:00
Mark Andrews
2a9f83e1ff 2113. [bug] nsupdate: if a zone is specified it should be used
for server discover. [RT# 16455]
2006-12-07 05:39:36 +00:00
Mark Andrews
9ecab1b31c 2113. [bug] nsupdate: if a zone is specified it should be used
for server discover. [RT# 16455]
2006-12-07 05:39:26 +00:00
Mark Andrews
b150bdae98 2112. [security] Warn if weak RSA exponent is used. [RT #16460] 2006-12-07 05:25:03 +00:00
Mark Andrews
23ef2906b0 2112. [security] Warn if weak RSA exponent is used. [RT #16460] 2006-12-07 05:24:05 +00:00
Mark Andrews
58ea8fb1df 2112. [security] Warn if weak RSA exponent is used. [RT #16460] 2006-12-07 05:05:10 +00:00
Mark Andrews
6f2339756e 2111. [bug] Fix a number of errors reported by Coverity.
[RT #16507]
2006-12-07 04:52:58 +00:00
Mark Andrews
f89a736130 2111. [bug] Fix a number of errors reported by Coverity.
[RT #16507]
2006-12-07 04:52:50 +00:00
Mark Andrews
cfcb0881d1 2111. [bug] Fix a number of errors reported by Coverity.
[RT #16507]
2006-12-07 04:46:27 +00:00
Mark Andrews
1a8efeab76 2110. [bug] "minimal-response yes;" interacted badly with BIND 8
priming queries. [RT #16491]
2006-12-07 04:38:56 +00:00
Mark Andrews
af2a5bd326 2110. [bug] "minimal-response yes;" interacted badly with BIND 8
priming queries. [RT #16491]
2006-12-07 04:38:19 +00:00
Mark Andrews
6f7ef1b3d9 2110. [bug] "minimal-response yes;" interacted badly with BIND 8
priming queries. [RT #16491]
2006-12-07 04:38:07 +00:00
Mark Andrews
a5ec5f68f9 2109. [port] libbind: silence aix 5.3 compiler warnings. [RT #16502] 2006-12-07 04:00:29 +00:00
Mark Andrews
92a8377f93 2109. [port] libbind: silence aix 5.3 compiler warnings. [RT #16502] 2006-12-07 04:00:08 +00:00
Mark Andrews
f041bef2c6 2109. [port] libbind: silence aix 5.3 compiler warnings. [RT #16502] 2006-12-07 03:51:29 +00:00
Mark Andrews
a7dd5f21e9 2108. [func] DHCID support. [RT #16456] 2006-12-07 03:38:39 +00:00
Mark Andrews
b24244e2b7 2107. [bug] dighost.c: more cleanup of buffers. [RT #16499] 2006-12-07 01:36:50 +00:00
Mark Andrews
bf9f31b18b 2107. [bug] dighost.c: more cleanup of buffers. [RT #16499] 2006-12-07 01:26:33 +00:00
Mark Andrews
92d2316593 2107. [bug] dighost.c: more cleanup of buffers. [RT #16499] 2006-12-07 01:21:04 +00:00
Mark Andrews
a8df4b078b specify libtool mode 2006-12-05 23:12:50 +00:00
Mark Andrews
21c7ecb9f0 better mcxt handling. remove buffer handling layer violation 2006-12-05 21:59:12 +00:00
Mark Andrews
377231eb95 update copyright notice 2006-12-05 00:13:48 +00:00
Mark Andrews
81a8c6c938 @DST_GSSAPI_INC@ should not be on a line by itself and it breaks some makes 2006-12-04 22:09:50 +00:00
Mark Andrews
acb72d5e2c regen 2006-12-04 20:51:25 +00:00
Mark Andrews
08527676bf t_lib not needed 2006-12-04 05:54:16 +00:00
Mark Andrews
a7449c24fb handle eof 2006-12-04 05:53:49 +00:00
Mark Andrews
ea661eaf4e gsstest doesn't need t_libMakefile.in 2006-12-04 05:39:39 +00:00
Mark Andrews
61fad00204 USE_ENGINE should be conditional on OVERRIDE_OPENSSL_RAND 2006-12-04 05:12:25 +00:00
Mark Andrews
c4a23ba1b6 missing <para> 2006-12-04 04:54:44 +00:00
Mark Andrews
7794a776e0 -L path could get lost 2006-12-04 04:27:29 +00:00
Mark Andrews
65cfc4e0e3 heimdal --with-gssapi was broken 2006-12-04 03:05:04 +00:00
Mark Andrews
0d3490f93b update 2006-12-04 02:48:33 +00:00
Mark Andrews
1cbb3a4df3 2106. [func] 'rndc status' now reports named's version. [RT #16426] 2006-12-04 02:38:22 +00:00
Mark Andrews
46f681f001 2105. [func] GSS-TSIG support (RFC 3645). 2006-12-04 02:26:05 +00:00
Mark Andrews
289ae548d5 2105. [func] GSS-TSIG support (RFC 3645). 2006-12-04 01:54:53 +00:00
Mark Andrews
6292befae7 handle style sheets 2006-11-30 23:58:49 +00:00
Mark Andrews
55108aa1a0 new draft 2006-11-30 23:36:51 +00:00
Mark Andrews
08ee470dbc grammar 2006-11-30 05:59:41 +00:00
Mark Andrews
6b4da5bdd7 auto update 2006-11-29 23:17:59 +00:00
Mark Andrews
1d056a0510 9.2.7 2006-11-28 03:21:34 +00:00
Mark Andrews
38a9a8af06 9.2.7 2006-11-28 01:57:58 +00:00
Mark Andrews
7078c589e4 9.3.3 2006-11-28 01:53:45 +00:00
Mark Andrews
31148c17eb 9.3.3 2006-11-28 00:52:38 +00:00
Mark Andrews
b720792626 auto update 2006-11-24 23:18:03 +00:00
Mark Andrews
f2291f0737 auto update 2006-11-23 23:17:02 +00:00
Mark Andrews
3bf74932f5 remove v9_3_2_patch and v9_2_6_patch 2006-11-23 04:40:58 +00:00
Mark Andrews
ad039dc11e auto update 2006-11-15 23:17:05 +00:00
Mark Andrews
82ab1fe015 regen 2006-11-15 04:33:42 +00:00
Rob Austein
221e3f58d9 RT #16490: missed an occurance of "unthaw" in ARM. 2006-11-14 22:38:53 +00:00
Mark Andrews
7c46a643cb update copyright notice 2006-11-14 01:07:29 +00:00
Mark Andrews
4a9a20f4f5 newcopyrights 2006-11-13 23:30:51 +00:00
Mark Andrews
b25d1e638b auto update 2006-11-13 23:17:30 +00:00
Michael Graff
20f1bc4434 somehow, new files got committed to mainline, and changes to my branch. Remove them from the mainline for now. 2006-11-13 20:38:06 +00:00
Michael Graff
ea964e3e20 update to mainline's bind9, and make a new branch for it. 2006-11-13 20:07:57 +00:00
Mark Andrews
a983ac0b81 2102. [port] Silence solaris 10 warnings. 2006-11-13 11:58:34 +00:00
Mark Andrews
dce27caff0 2102. [port] Silence solaris 10 warnings. 2006-11-13 11:57:41 +00:00
Mark Andrews
09b6499ac3 2102. [port] Silence solaris 10 warnings. 2006-11-13 11:55:38 +00:00
Mark Andrews
876092a44b 2102. [port] Silence solaris 10 warnings. 2006-11-13 05:08:57 +00:00
Mark Andrews
2ba1ae0751 2102. [port] Silence solaris 10 warnings. 2006-11-13 05:04:49 +00:00
Mark Andrews
f0da7dc4bc 2102. [port] Silence solaris 10 warnings. 2006-11-13 05:00:56 +00:00
Mark Andrews
a34944c8a6 2102. [port] Silence solaris 10 warnings. 2006-11-10 19:00:56 +00:00
Mark Andrews
c157f5fa16 2102. [port] Silence solaris 10 warnings. 2006-11-10 19:00:32 +00:00
Mark Andrews
bc192c1183 2102. [port] Silence solaris 10 warnings. 2006-11-10 18:59:39 +00:00
Mark Andrews
1df43383f8 2104. [port] Fix Solaris SMF error message. 2006-11-10 18:51:06 +00:00
Mark Andrews
4ccea866e6 2104. [port] Fix Solaris SMF error message. 2006-11-10 18:44:46 +00:00
Mark Andrews
29bd966a2c 2103. [port] Add /usr/sfw to list of locations for OpenSSL
under Solaris.
2006-11-10 18:31:16 +00:00
Mark Andrews
73a91e35bf 2103. [port] Add /usr/sfw to list of locations for OpenSSL
under Solaris.
2006-11-10 18:31:10 +00:00
Mark Andrews
4cf228853d 2103. [port] Add /usr/sfw to list of locations for OpenSSL
under Solaris.
2006-11-10 17:55:20 +00:00
Mark Andrews
5e09105428 2102. [port] Silence solaris 10 warnings. 2006-11-10 00:02:50 +00:00
Mark Andrews
9f45ebb473 2102. [port] Silence solaris 10 warnings. 2006-11-10 00:00:29 +00:00
Mark Andrews
1672cc63c1 2102. [port] Silence solaris 10 warnings. 2006-11-09 23:57:58 +00:00
Mark Andrews
d024bae030 regen 2006-11-08 02:08:04 +00:00
Mark Andrews
9f1eb85f28 2099. [port] win32: more manifiest issues. 2006-11-08 02:00:49 +00:00
Mark Andrews
3e13c55c5d 2099. [port] win32: more manifiest issues. 2006-11-08 01:56:59 +00:00
Mark Andrews
63d98873e2 newcopyrights 2006-11-07 23:30:27 +00:00
Mark Andrews
ceea2a72d4 checkpoint 2006-11-07 22:34:06 +00:00
Mark Andrews
d9fd153d41 2099. [port] win32: more manifiest issues. 2006-11-07 21:49:55 +00:00
Mark Andrews
eabe47b7a1 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:35:18 +00:00
Mark Andrews
07b9b2b590 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:34:26 +00:00
Mark Andrews
c90523798b 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:30:59 +00:00
Mark Andrews
9c57a11969 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:28:45 +00:00
Mark Andrews
6805e4e2c4 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:23:06 +00:00
Mark Andrews
75a8f15c41 2100. [port] win32: copy libeay32.dll to Build\Debug. 2006-11-07 21:18:20 +00:00
Mark Andrews
e7073f733b 2100. [port] win32: copy libeay32.dll to Build\Debug. 2006-11-07 21:13:10 +00:00
Mark Andrews
1afb6c548d 2100. [port] win32: copy libeay32.dll to Build\Debug.
Copy Debug\named-checkzone to Debug\named-compilezone.
2006-11-07 20:49:07 +00:00
Mark Andrews
5de1ad6373 2099. [port] win32: more manifiest issues. 2006-11-03 23:40:47 +00:00
Mark Andrews
3349306e9e auto update 2006-11-03 23:16:57 +00:00
Mark Andrews
685e9a4222 auto update 2006-10-31 23:16:56 +00:00
Mark Andrews
2b17a7bd0d auto update 2006-10-27 23:17:16 +00:00
Mark Andrews
a1210da036 2098. [bug] Race in rbtdb.c:no_references(), which occasionally
triggered an INSIST failure about the node lock
                        reference.  [RT #16411]
2006-10-26 05:39:49 +00:00
Mark Andrews
db88737897 update copyright notice 2006-10-26 01:42:27 +00:00
Mark Andrews
28d999933c newcopyrights 2006-10-24 23:31:09 +00:00
Mark Andrews
cfbf8074b9 auto update 2006-10-24 23:17:10 +00:00
Tatuya JINMEI 神明達哉
ef54920b4c 2098. [placeholder] rt16411 2006-10-24 09:41:12 +00:00
Mark Andrews
10e873cb36 add articleinfo support 2006-10-24 00:57:16 +00:00
Mark Andrews
333e58949c using forward zones for accessing specialised serverd 2006-10-24 00:56:35 +00:00
Mark Andrews
8b97f60fec auto update 2006-10-23 23:17:05 +00:00
Mark Andrews
88336f088f regen 2006-10-19 01:11:01 +00:00
Mark Andrews
73c3dc560e make openssl version check a warning 2006-10-19 01:09:31 +00:00
Mark Andrews
ed6d4d8695 regen 2006-10-19 01:02:14 +00:00
Mark Andrews
3ca0e71a86 make openssl version check a warning 2006-10-19 01:01:05 +00:00
Mark Andrews
993f3e4c42 auto update 2006-10-18 23:18:07 +00:00
Mark Andrews
a473029e76 2097. [bug] named could reference a destroyed memory context
after being reloaded / reconfigured. [RT #16428]
2006-10-18 04:18:54 +00:00
Mark Andrews
9453c33aaa 9.3.3rc3 2006-10-17 02:39:43 +00:00
Mark Andrews
00ca39daf1 update copyright notice 2006-10-17 01:45:38 +00:00
Mark Andrews
64d1effe61 newcopyrights 2006-10-16 23:30:26 +00:00
Mark Andrews
8166b16b18 auto update 2006-10-16 23:17:51 +00:00
Mark Andrews
533f2d446e 2096. [bug] libbind: handle applications that fail to detect
res_init() failures better.
2006-10-16 23:00:50 +00:00
Mark Andrews
b5ecd4d276 update 2006-10-16 22:55:19 +00:00
Mark Andrews
411118a594 2096. [bug] libbind: handle applications that fail to detect
res_init() failures better.
2006-10-16 22:54:38 +00:00
Mark Andrews
9597c372bc auto update 2006-10-13 23:17:59 +00:00
Mark Andrews
1261a49b5f newcopyrights 2006-10-11 23:30:23 +00:00
Mark Andrews
bddddb5c4a newcopyrights 2006-10-11 23:30:09 +00:00
Mark Andrews
4308d37090 remove unnecessary dependancies from checktool, dighost, dnssectool and rndcutil 2006-10-11 06:54:10 +00:00
Mark Andrews
a039912a5f remove unnecessary dependancies from checktool, dighost, dnssectool and rndcutil 2006-10-11 06:51:35 +00:00
Mark Andrews
adc7f34bdc WIN32 not WIN 2006-10-11 03:59:42 +00:00
Mark Andrews
b5d4d4d77f WIN32 not WIN 2006-10-11 03:54:56 +00:00
Mark Andrews
8e9557e801 be consistant when identifing/changing openssl versions 2006-10-11 03:54:19 +00:00
Mark Andrews
4fae5fb5a3 be consistant when identifing/changeing openssl versions 2006-10-11 03:48:29 +00:00
Mark Andrews
0ae69bccae update copyright notice 2006-10-11 02:33:30 +00:00
Mark Andrews
15d06587dd update copyright notice 2006-10-11 02:33:28 +00:00
Mark Andrews
79a76fa258 2095. [port] libbind: alway prototype inet_cidr_ntop_ipv6() and
net_cidr_ntop_ipv6(). [RT #16388]
2006-10-11 02:32:50 +00:00
Mark Andrews
6061cc4271 2089. [security] Raise the minimum safe OpenSSL versions to
OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
                        prior to these have known security flaws which
                        are (potentially) exploitable in named. [RT #16391]
2006-10-11 02:21:15 +00:00
Mark Andrews
7c0946e74b 2095. [port] libbind: alway prototype inet_cidr_ntop_ipv6() and
net_cidr_ntop_ipv6(). [RT #16388]
2006-10-11 02:18:18 +00:00
Mark Andrews
0695629678 Windows specific compile time test for:
2089.   [security]      Raise the minimum safe OpenSSL versions to
                        OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
                        prior to these have known security flaws which
                        are (potentially) exploitable in named. [RT #16391]
2006-10-11 02:15:59 +00:00
Mark Andrews
5b356953d7 newcopyrights 2006-10-10 23:30:29 +00:00
Mark Andrews
0cdde978a3 newcopyrights 2006-10-10 23:30:10 +00:00
Mark Andrews
14a2b06605 Use F5 as large RSA exponent w/ OpenSSL 0.9.8 2006-10-10 02:30:10 +00:00
Mark Andrews
c06cf0a3e3 Use F5 as large RSA exponent w/ OpenSSL 0.9.8 2006-10-10 02:28:17 +00:00
Mark Andrews
beb3944a8d 2094. [contrib] Update named-bootconf. [RT# 16404] 2006-10-10 00:07:37 +00:00
Mark Andrews
09cbf84907 2094. [contrib] Update named-bootconf. [RT# 16404] 2006-10-10 00:06:04 +00:00
Mark Andrews
6f6310582e auto update 2006-10-05 23:16:42 +00:00
Mark Andrews
9e2789fd70 2093. [bug] named-checkzone -s was broken.
format was missing : for s
2006-10-05 05:22:34 +00:00
Mark Andrews
3d12828450 regen 2006-10-05 02:50:17 +00:00
Mark Andrews
50722c0d55 update copyright notice 2006-10-05 00:31:43 +00:00
Mark Andrews
3c5c10e491 update copyright notice 2006-10-05 00:31:41 +00:00
Mark Andrews
efb0e886f1 newcopyrights 2006-10-05 00:19:52 +00:00
Mark Andrews
234eb72ce2 newcopyrights 2006-10-05 00:19:33 +00:00
Mark Andrews
6897274116 add .dsp and .dsw 2006-10-05 00:18:21 +00:00
Mark Andrews
b719aabd6b add .dsp and .dsw 2006-10-05 00:14:24 +00:00
Mark Andrews
cf5db717dc regen 2006-10-04 06:39:51 +00:00
Mark Andrews
d1b85ae6b1 0.9.7l/0.9.8d 2006-10-04 06:36:54 +00:00
Mark Andrews
be7bde4a4a update CAN list 2006-10-04 05:38:00 +00:00
Mark Andrews
80bf7a6918 update CAN list 2006-10-04 05:27:05 +00:00
Mark Andrews
dc7da316ad update CAN list 2006-10-04 05:24:00 +00:00
Mark Andrews
6a02b220b0 win32 2006-10-04 03:57:04 +00:00
Mark Andrews
5bbaa0bf5b win32 2006-10-04 03:50:47 +00:00
Mark Andrews
df13009162 win32 2006-10-04 03:27:03 +00:00
Mark Andrews
e4cad8c01f win32 2006-10-04 03:10:59 +00:00
Mark Andrews
65d86196e5 win32 2006-10-04 03:10:00 +00:00
Mark Andrews
0286780202 win32 2006-10-04 03:05:16 +00:00
Mark Andrews
9f53887aef win32 2006-10-04 03:04:29 +00:00
Mark Andrews
543d70c9df win32 2006-10-04 02:51:48 +00:00
Mark Andrews
71d3b2856a win32 2006-10-04 02:50:33 +00:00
Mark Andrews
3dfec9a8f2 win32 2006-10-04 02:44:37 +00:00
Mark Andrews
255e9bff6b win32 2006-10-04 02:08:33 +00:00
Mark Andrews
d7a8baa02c win32 2006-10-04 02:00:36 +00:00
Mark Andrews
91ddbb6e4f update copyright notice 2006-10-03 23:50:52 +00:00
Mark Andrews
345006fcf2 update copyright notice 2006-10-03 23:50:50 +00:00
Mark Andrews
933c6e43f1 auto update 2006-10-03 23:16:49 +00:00
Mark Andrews
992616aaf7 newcopyrights 2006-10-02 23:30:26 +00:00
Mark Andrews
0e65d28f71 newcopyrights 2006-10-02 23:30:09 +00:00
Mark Andrews
9e81e7c2e9 win32 2006-10-02 07:22:48 +00:00
Mark Andrews
75720af254 win32 2006-10-02 07:21:53 +00:00
Mark Andrews
c2e1a2e570 win32 2006-10-02 07:15:22 +00:00
Mark Andrews
5df6758f25 win32 2006-10-02 07:14:09 +00:00
Mark Andrews
bc8711b148 win32 2006-10-02 07:03:05 +00:00
Mark Andrews
0da58d334c win32 2006-10-02 07:02:25 +00:00
Mark Andrews
1679a42a4e win32 2006-10-02 06:31:27 +00:00
Mark Andrews
e6b97751c3 2092. [bug] win32: dig, host, nslookup. Use registry config
if resolv.conf does not exist or no nameservers
                        listed. [RT #15877]
2006-10-02 03:23:11 +00:00
Mark Andrews
b1163a6fe9 2092. [bug] win32: dig, host, nslookup. Use registry config
if resolv.conf does not exist or no nameservers
                        listed. [RT #15877]
2006-10-02 03:21:16 +00:00
Mark Andrews
2e60de4edc 2091. [port] dighost.c: race condition on cleanup. [RT #16417] 2006-10-02 03:14:25 +00:00
Mark Andrews
8af4bf165e 2091. [port] dighost.c: race condition on cleanup. [RT #16417] 2006-10-02 03:08:34 +00:00
Mark Andrews
38a1e5e34b 2090. [port] win32: Visual C++ 2005 command line manifest support.
[RT #16417]
2006-10-02 02:59:26 +00:00
Mark Andrews
5cf0c55948 2090. [port] win32: Visual C++ 2005 command line manifest support.
[RT #16417]
2006-10-02 02:27:41 +00:00
Mark Andrews
077b4765bd 2085. [doc] win32: added index.html and README to zip. [RT #16201] 2006-10-02 02:26:53 +00:00
Mark Andrews
3ab8af6cd7 2089. [security] Raise the minimum safe OpenSSL versions to
OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
                        prior to these have known security flaws which
                        are (potentially) exploitable in named. [RT #16391]

2088.   [security]      Change the default RSA exponent from 3 to 65537.
                        [RT #16391]
2006-10-02 02:07:29 +00:00
Mark Andrews
42858538d5 2089. [security] Raise the minimum safe OpenSSL versions to
OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
                        prior to these have known security flaws which
                        are (potentially) exploitable in named. [RT #16391]

2088.   [security]      Change the default RSA exponent from 3 to 65537.
                        [RT #16391]
2006-10-02 02:06:07 +00:00
Mark Andrews
fda0a03881 2089. [security] Raise the minimum safe OpenSSL versions to
OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
                        prior to these have known security flaws which
                        are (potentially) exploitable in named. [RT #16391]

2088.   [security]      Change the default RSA exponent from 3 to 65537.
                        [RT #16391]
2006-10-02 01:44:27 +00:00
Mark Andrews
53d3679913 2087. [port] libisc failed to compile on OS's w/o a vsnprintf.
[RT #16382]
2006-10-02 01:29:27 +00:00
Mark Andrews
f0cbb54de4 2086. [port] libbind: FreeBSD now has get*by*_r() functions.
[RT #16403]
2006-10-02 01:20:30 +00:00
Mark Andrews
755df9a92a 2086. [port] libbind: FreeBSD now has get*by*_r() functions.
[RT #16403]
2006-10-02 01:14:36 +00:00
Mark Andrews
8109ab9d19 update 2006-10-01 00:02:06 +00:00
Mark Andrews
1b8831de40 update 2006-10-01 00:02:04 +00:00
Mark Andrews
1e9c228493 update copyright notice 2006-09-30 23:58:36 +00:00
Mark Andrews
7860916d9c newcopyrights 2006-09-29 23:30:33 +00:00
Mark Andrews
bc98ae83f1 newcopyrights 2006-09-29 23:30:16 +00:00
Mark Andrews
bf056b7184 regen 2006-09-29 08:34:55 +00:00
Mark Andrews
941f0a2ef9 regen 2006-09-29 08:34:43 +00:00
Mark Andrews
bfedbc0279 check-name -> check-names 2006-09-29 06:34:03 +00:00
Mark Andrews
b1e0b9429b check-name -> check-names 2006-09-29 06:32:36 +00:00
Mark Andrews
325ad350d7 2085. [doc] win32: added index.html and README to zip. [RT #16201] 2006-09-29 06:14:35 +00:00
Mark Andrews
6eb7f6c4f6 2085. [doc] win32: added index.html and README to zip. [RT #16201] 2006-09-29 06:08:47 +00:00
Mark Andrews
e3582ce431 2085. [doc] win32: added index.html and README to zip. [RT #16201] 2006-09-29 05:59:03 +00:00
Mark Andrews
0ca8fddd5b newcopyrights 2006-09-28 23:30:28 +00:00
Mark Andrews
142a2712fb newcopyrights 2006-09-28 23:30:09 +00:00
Mark Andrews
5660da7b7b 2084. [contrib] dbus update for 9.3.3rc2. 2006-09-28 05:55:35 +00:00
Mark Andrews
6fd91ff51b 2084. [contrib] dbus update for 9.3.3rc2. 2006-09-28 05:52:12 +00:00
cvs2git
f7545a00e6 This commit was manufactured by cvs2git to create branch 'v9_3'. 2006-09-28 05:46:20 +00:00
Mark Andrews
c5e5e16331 update copyright notice 2006-09-28 00:03:09 +00:00
Mark Andrews
27f1d60759 newcopyrights 2006-09-27 23:30:12 +00:00
Mark Andrews
c02612f8ab 2083. [port] win32: Visual C++ 2005 support. 2006-09-27 00:29:10 +00:00
cvs2git
5dbe4ddabe This commit was manufactured by cvs2git to create branch 'v9_3'. 2006-09-25 04:24:01 +00:00
Mark Andrews
c068d012c1 regen 2006-09-13 02:56:22 +00:00
Mark Andrews
fb610d7f12 2082. [doc] Document 'cache-file' as a test only option. 2006-09-13 00:26:42 +00:00
Mark Andrews
385f1f0efd 9.3.3rc2 2006-08-31 04:32:09 +00:00
Mark Andrews
d1999e79b4 9.3.3rc2 2006-08-31 04:04:33 +00:00
Mark Andrews
bade6ec7e4 2066. [security] Handle SIG queries gracefully. [RT #16300] 2006-08-31 03:57:11 +00:00
Mark Andrews
1b27b5f50d regen 2006-08-31 00:19:12 +00:00
Mark Andrews
81da209d51 newcopyrights 2006-08-30 23:47:11 +00:00
Mark Andrews
b14b0a9369 minor wording change 2006-08-30 23:43:46 +00:00
Mark Andrews
1a19a3c714 2081. [port] libbind: minor 64-bit portability fix in memcluster.c.
[RT #16360]
2006-08-30 23:35:06 +00:00
Mark Andrews
a85d88ce15 newcopyrights 2006-08-30 23:30:10 +00:00
Mark Andrews
637d8b138a 2080. [port] libbind: res_init.c did not compile on older versions
of Solaris. [RT #16363]
2006-08-30 23:23:01 +00:00
Mark Andrews
2df8756564 update copyright notice 2006-08-25 05:25:50 +00:00
Mark Andrews
5ecf08b9fd newcopyrights 2006-08-24 23:30:09 +00:00
Mark Andrews
ce89478341 2076. [bug] Several files were missing #include <config.h>
causing build failures on OSF. [RT #16341]
2006-08-24 00:43:59 +00:00
Mark Andrews
da2a19f582 2074. [bug] dns_request_createvia2(), dns_request_createvia3(),
dns_request_createraw2() and dns_request_createraw3()
                        failed to send multiple UDP requests. [RT #16349]
2006-08-21 00:50:48 +00:00
Mark Andrews
80051bdd36 update copyright notice 2006-08-10 23:59:28 +00:00
Mark Andrews
68cc80dd86 newcopyrights 2006-08-10 23:30:14 +00:00
Mark Andrews
b0213d15bf move release marker 2006-08-10 02:29:45 +00:00
Mark Andrews
9cb8f6c559 2071. [port] Test whether gcc accepts -fno-strict-aliasing.
[RT #16324]
2006-08-10 02:05:20 +00:00
Mark Andrews
32d442edd0 2071. [port] Test whether gcc accepts -fno-strict-aliasing.
[RT #16324]
2006-08-10 01:55:05 +00:00
Mark Andrews
6e36de3b84 2070. [bug] The remote address was not always displayed when
reporting dispatch failures. [RT #16315]
2006-08-10 01:43:04 +00:00
Mark Andrews
f820f8c20b 2069. [bug] Cross compiling was not working. [RT #16330] 2006-08-09 22:25:03 +00:00
Mark Andrews
09e36e1b91 2067. [bug] 'rndc' could close the socket too early triggering
a INSIST under Windows. [RT #16317]
2006-08-04 03:03:08 +00:00
Mark Andrews
9f59aa57cb update RT # 2006-08-03 23:30:56 +00:00
Mark Andrews
1fc48180b7 9.3.2-WFB-4 2006-08-03 23:18:20 +00:00
Mark Andrews
9ca8b38cfe 2049. [bug] Restore SOA before AXFR when falling back from
a attempted IXFR when transfering in a zone.
                        Allow a initial SOA query before attempting
                        a AXFR to be requested. [RT #16156]
2006-08-03 23:17:35 +00:00
Mark Andrews
9403df6344 update description 2006-08-03 23:10:00 +00:00
Mark Andrews
cefd262e19 update description 2006-08-03 23:08:36 +00:00
Mark Andrews
ca21c07bbe 2066. [security] Handle SIG queries gracefully. [RT #16330] 2006-08-03 23:07:37 +00:00
Mark Andrews
e2bec76b0a 2065. [bug] libbind: probe for HPUX prototypes for
endprotoent_r() and endservent_r().  [RT 16313]
2006-08-03 01:23:32 +00:00
Mark Andrews
bf61707776 9_3_3rc1 2006-08-01 04:37:00 +00:00
Mark Andrews
57f4d01de1 9.3.3rc1 2006-08-01 04:07:11 +00:00
Mark Andrews
245a58b270 spelling 2006-08-01 03:44:00 +00:00
Mark Andrews
4670387f18 9_3_3rc1 2006-08-01 03:34:27 +00:00
Mark Andrews
3f4437682f newcopyrights 2006-08-01 03:11:40 +00:00
Mark Andrews
740552b9ec #endif in wrong place 2006-08-01 01:44:54 +00:00
Mark Andrews
0782fd511b 2064. [bug] libbind: silence AIX compiler warnings. [RT #16218] 2006-08-01 01:20:56 +00:00
Mark Andrews
3483a9734d 2063. [bug] Change #1955 introduced a bug which caused the first
'rndc flush' call to not free memory. [RT #16244]
2006-08-01 01:07:05 +00:00
Mark Andrews
3d6dca7e00 2062. [bug] 'dig +nssearch' was reusing a buffer before it had
been returned by the socket code. [RT #16307]
2006-08-01 00:54:20 +00:00
Mark Andrews
a66f770f13 update copyright notice 2006-07-22 23:52:57 +00:00
Mark Andrews
6040026aa4 newcopyrights 2006-07-22 23:30:09 +00:00
Mark Andrews
d23b1aa83f 2057. [bug] Make setting "ra" dependent on both allow-query and
allow-recursion. [RT #16290]
2006-07-22 01:09:38 +00:00
Mark Andrews
89951958b6 2056. [bug] dig: ixfr= was not being treated case insensitively
at all times. [RT #15955]
2006-07-21 23:52:29 +00:00
Mark Andrews
17ff2a570f 2055. [bug] Missing goto after dropping multicast query.
[RT #15944]
2006-07-21 23:41:41 +00:00
Mark Andrews
93c5fb01e5 update copyright notice 2006-07-21 02:05:56 +00:00
Mark Andrews
d839c53285 newcopyrights 2006-07-20 23:30:09 +00:00
Mark Andrews
76974f97fa 2054. [port] freebsd: do not explicitly link against -lpthread.
[RT #16170]
2006-07-20 06:10:31 +00:00
Mark Andrews
53a212fd3d 2054. [port] freebsd: do not explicitly link against -lpthread.
[RT #16170]
2006-07-20 05:48:38 +00:00
Mark Andrews
a87bbc5f1b 2053. [port] netbsd:libbind: silence compiler warnings. [RT #16220] 2006-07-20 03:59:11 +00:00
Mark Andrews
9a538815a9 2052. [bug] 'rndc' improve connect failed message to report
the failing address. [RT #15978]
2006-07-20 03:48:05 +00:00
Mark Andrews
a5b14f03f1 2051. [port] More strtol() fixes. [RT #16249] 2006-07-20 03:37:57 +00:00
Mark Andrews
7dd3dbdf0b 2050. [bug] Parsing of NSAP records was not case insensitive.
[RT #16287]
2006-07-20 03:26:09 +00:00
Mark Andrews
ca73a98e7e regen 2006-07-20 02:33:32 +00:00
Mark Andrews
a068cdf5f6 update copyright notice 2006-07-20 01:10:29 +00:00
Mark Andrews
2aa59ea6af grammer 2006-07-20 00:15:53 +00:00
Mark Andrews
fd744969f1 newcopyrights 2006-07-19 23:30:08 +00:00
Mark Andrews
e73c776d80 2049. [bug] Restore SOA before AXFR when falling back from
a attempted IXFR when transfering in a zone.
                        Allow a initial SOA query before attempting
                        a AXFR to be requested. [RT #16156]
2006-07-19 01:04:25 +00:00
Mark Andrews
558fcd49c0 2048. [bug] It was possible to loop forever when using
avoid-v4-udp-ports / avoid-v6-udp-ports when
                        the OS always returned the same local port.
                        [RT #16182]
2006-07-19 00:44:04 +00:00
Mark Andrews
1d85999660 2047. [bug] Failed to initialise the interface flags to zero.
[RT #16245]
2006-07-19 00:16:28 +00:00
Mark Andrews
f51cc42952 regen 2006-07-18 20:50:10 +00:00
Mark Andrews
09ebdc0690 spelling 2006-07-18 04:10:07 +00:00
Mark Andrews
2ffd3e41f0 regen 2006-06-29 13:02:32 +00:00
Mark Andrews
b72cbd6017 update copyright notice 2006-06-24 00:25:38 +00:00
Mark Andrews
9d29299e42 newcopyrights 2006-06-21 23:30:09 +00:00
Mark Andrews
27f6124450 move .NOTPARALLEL:/.NO_PARALLEL: so not first target 2006-06-21 03:32:30 +00:00
Mark Andrews
7e987a0f49 newcopyrights 2006-06-20 23:30:10 +00:00
Mark Andrews
92d80b1b27 silence: aix 5.3 missing braces warnings 2006-06-20 07:02:46 +00:00
Mark Andrews
0d3534d436 silence: value computed is not used 2006-06-20 02:53:07 +00:00
Mark Andrews
f0ba4ccc8b sunos 4 and --with-libtool 2006-06-14 05:03:42 +00:00
Mark Andrews
e71bb872b9 update copyright notice 2006-06-09 23:50:53 +00:00
Mark Andrews
ee61d5fea4 newcopyrights 2006-06-09 23:30:09 +00:00
Mark Andrews
923a42cc3f 2043. [port] nsupdate/nslookup: Force the flushing of the prompt
for interactive sessions. [RT#16148]
2006-06-09 07:29:24 +00:00
Mark Andrews
4ea53615c7 regen 2006-06-09 07:14:12 +00:00
Mark Andrews
560fda3158 spelling / grammer 2006-06-09 00:38:57 +00:00
Mark Andrews
9eb0f52ade update copyright notice 2006-06-07 00:29:44 +00:00
Mark Andrews
ab472a1e12 newcopyrights 2006-06-06 23:30:09 +00:00
Mark Andrews
45d391177a 2038. [bug] dig/nslookup/host was unlinking from wrong list
when handling errors. [RT #16122]
2006-06-06 00:58:50 +00:00
Mark Andrews
ab7578b63a OpenBSD 2006-06-06 00:20:44 +00:00
Mark Andrews
5c86f9bd17 update copyright notice 2006-06-06 00:11:40 +00:00
Mark Andrews
b67c21ed12 newcopyrights 2006-06-05 23:30:11 +00:00
Mark Andrews
16d4f9467d 2037. [func] When unlinking the first or last element in a list
check that the list head points to the element to
                        be unlinked. [RT #15959]
2006-06-05 00:40:20 +00:00
Mark Andrews
c37f3b1dc3 2036. [bug] 'rndc recursing' could cause trigger a REQUIRE.
[RT #16075]
2006-06-05 00:15:18 +00:00
Mark Andrews
e376ce3746 9.3.2-WFB-3 2006-06-04 23:39:01 +00:00
Mark Andrews
ba14259a18 regen 2006-06-04 23:37:54 +00:00
Mark Andrews
7d999607f5 2035. [func] Make falling back to TCP on UDP refresh failure
optional. Default "try-tcp-refresh yes;" for BIND 8
                        compatibility. [RT #16123]
2006-06-04 23:33:27 +00:00
Mark Andrews
6eb7fbeb3d 2034. [bug] gcc: set -fno-strict-aliasing. [RT #16124] 2006-06-02 04:53:13 +00:00
Mark Andrews
f985437758 newcopyrights 2006-05-26 04:26:38 +00:00
Mark Andrews
c601da685b 9.3.3b1 2006-05-26 04:24:28 +00:00
Mark Andrews
bbe71f3edc 9.3.3b1 2006-05-26 03:53:32 +00:00
Mark Andrews
275dd70408 update copyright notice 2006-05-26 01:42:54 +00:00
Mark Andrews
99b0861bac newcopyrights 2006-05-26 01:40:26 +00:00
Mark Andrews
49f171cf4d 9.3.3b1 2006-05-26 01:36:26 +00:00
Mark Andrews
e16d0cbef4 newcopyrights 2006-05-25 23:30:10 +00:00
Mark Andrews
d154025cdf 9.3.3b1 2006-05-25 08:17:17 +00:00
Mark Andrews
4889468edd 9.3.3b1 2006-05-25 06:15:57 +00:00
Mark Andrews
dfbbf9bb55 2031. [bug] Emit a error message when "rndc refresh" is called on
a non slave/stub zone. [RT # 16073]
2006-05-24 04:30:24 +00:00
Mark Andrews
164d71038d update copyright notice 2006-05-23 23:51:03 +00:00
Mark Andrews
dc60bfa7ca newcopyrights 2006-05-23 23:30:09 +00:00
Mark Andrews
62e81b1c7d 2030. [bug] We were being overly conservative when disabling
openssl engine support. [RT #16030]
2006-05-23 04:52:11 +00:00
Mark Andrews
cda5d0b711 2029. [bug] host printed out the server multiple times when
specified on the command line. [RT #15992]
2006-05-23 04:43:47 +00:00
Mark Andrews
83acf0d285 newcopyrights 2006-05-19 23:30:11 +00:00
Mark Andrews
96e7674d4b s/x68/x86/ 2006-05-19 04:43:10 +00:00
Mark Andrews
20c21a18a5 2028. [port] linux: socket.c compatability for old systems.
[RT #16015]
2006-05-19 02:53:36 +00:00
Mark Andrews
85cb56e2d4 2027. [port] libbind: solaris x68 support. [RT #16020] 2006-05-19 02:38:15 +00:00
Mark Andrews
7209525e06 update copyright notice 2006-05-19 00:04:00 +00:00
Mark Andrews
d290c012c2 newcopyrights 2006-05-18 23:30:10 +00:00
Mark Andrews
5142baa79c 2026. [bug] Rate limit the two recursive client exceeded messages.
[RT #16044]
2006-05-18 03:15:46 +00:00
Mark Andrews
587807af8d 9.3.2-WFB-2 2006-05-18 02:57:40 +00:00
Mark Andrews
79510d19c5 2025. [func] Update "zone serial unchanged" message. [RT #16026] 2006-05-18 02:44:20 +00:00
Mark Andrews
b1ddbd8c70 2024. [bug] named emited spurious "zone serial unchanged"
messages on reload. [RT #16027]
2006-05-18 02:28:55 +00:00
Mark Andrews
1e13f64e4a 2024. [bug] named emited spurious "zone serial unchanged"
messages on reload. [RT #16027]
2006-05-18 02:15:20 +00:00
Mark Andrews
6738a87034 2023. [bug] "make install" should create ${localstatedir}/run and
${sysconfdir} if they do not exist. [RT #16033]
2006-05-18 01:15:57 +00:00
Mark Andrews
395b1f2a3a regen 2006-05-17 02:38:11 +00:00
Mark Andrews
77dd5104d7 missing <para> 2006-05-17 02:18:05 +00:00
Mark Andrews
b51dbb3f9c grammer, spelling and clarity 2006-05-17 01:52:27 +00:00
Mark Andrews
65c5ba9222 update copyright notice 2006-05-17 00:34:35 +00:00
Mark Andrews
7396a9f80b newcopyrights 2006-05-16 23:30:08 +00:00
Mark Andrews
1c7d6b0f60 grammer, spelling and clarity 2006-05-16 22:27:57 +00:00
Mark Andrews
b1a5e710ac make query-source{-v6} clearer 2006-05-16 06:13:07 +00:00
Mark Andrews
f4d3df45ec 2016. [bug] Return a partial answer if recursion is not
allowed but requested and we had the answer
                        to the original qname. [RT #15945]
2006-05-16 03:29:41 +00:00
Mark Andrews
433646f9d1 regen 2006-05-08 15:46:02 +00:00
Mark Andrews
73205489cc rndc notify is a 9.4 feature 2006-05-04 04:37:14 +00:00
Mark Andrews
908b766e70 comment: cleanng -> cleaning 2006-05-04 02:21:46 +00:00
Mark Andrews
014024edbb 2013. [bug] Handle unexpected TSIGs on unsigned AXFR/IXFR
responses more gracefully. [RT #15941]
2006-05-02 04:21:42 +00:00
Mark Andrews
c26a82053a regen 2006-04-23 10:11:13 +00:00
Michael Graff
186afeb58b pull up my changes from the mainline, to v9_3 2006-04-17 18:27:20 +00:00
Mark Andrews
58977d70a0 checkpoint 2006-04-10 22:50:55 +00:00
Mark Andrews
4b2a691e65 9.3.2-WFB-1 2006-04-10 22:20:14 +00:00
Mark Andrews
7dee63af08 rate limit 'soft limit execeeded' messages 2006-04-10 22:17:05 +00:00
Mark Andrews
969c0fe902 checkpoint 2006-04-07 00:56:11 +00:00
Mark Andrews
287bb6a8f4 checkpoint 2006-03-31 00:29:47 +00:00
Mark Andrews
276d656321 checkpoint 2006-03-31 00:12:24 +00:00
Mark Andrews
251d3142a6 newcopyrights 2006-03-10 23:30:08 +00:00
Mark Andrews
80ae90f6da update 2006-03-10 04:59:13 +00:00
Mark Andrews
77dc5a327c newcopyrights 2006-03-10 00:20:22 +00:00
Mark Andrews
87bb649317 2009. [bug] libbind: coverity fixes. [RT #15808] 2006-03-10 00:17:21 +00:00
Mark Andrews
b13d23c079 newcopyrights 2006-03-08 23:30:11 +00:00
Mark Andrews
e5f9d31b66 2005. [bug] libbind: Retransmission timeouts should be
based on which attempt it is to the nameserver
                        and not the nameserver itself. [RT #13548]
2006-03-08 04:13:31 +00:00
Mark Andrews
0896b92542 2004. [bug] dns_tsig_sign() could pass a NULL pointer to
dst_context_destroy() when cleaning up after a
                        error. [RT #15835]
2006-03-08 03:55:54 +00:00
Mark Andrews
c6dd5f895c 2003. [bug] libbind: The DNS name/address lookup functions could
occasionally follow a random pointer due to
                        structures not being completely zeroed. [RT #15806]
2006-03-08 03:43:44 +00:00
Mark Andrews
605a51c058 newcopyrights 2006-03-06 23:30:08 +00:00
Mark Andrews
873d729387 2002 [bug] libbind: tighten the constraints on when
struct addrinfo._ai_pad exists.  [RT #15783]
2006-03-06 02:27:35 +00:00
Mark Andrews
ab4209ee96 2000. [bug] memmove()/strtol() fix was incomplete. [#RT 15812] 2006-03-06 01:11:48 +00:00
Mark Andrews
e0d2eedd3b update copyright notice 2006-03-05 23:58:50 +00:00
Mark Andrews
324c7d84e0 newcopyrights 2006-03-03 23:30:07 +00:00
Mark Andrews
2b6e723640 add -Wpointer-arith to gcc 2006-03-03 03:32:59 +00:00
Mark Andrews
a2ab972532 update copyright notice 2006-03-02 23:48:48 +00:00
Mark Andrews
ec7c746049 newcopyrights 2006-03-02 23:30:08 +00:00
Mark Andrews
648ea4d391 1998. [bug] Restrict handling of fifos as sockets to just SunOS.
This allows named to connect to entropy gathering
                        daemons that use fifos instead of sockets. [RT #15840]
2006-03-02 23:29:17 +00:00
Mark Andrews
9d0a756020 1997. [bug] Named was failing to replace negative cache entries
when a positive one for the type was learnt.
                        [RT #15818]
2006-03-02 23:18:20 +00:00
Mark Andrews
f5562b6c00 1995. [bug] 'host' was reporting multiple "is an alias" messages.
[RT #15702]
2006-03-02 01:50:17 +00:00
Mark Andrews
a53db79bae update copyright notice 2006-03-02 00:37:20 +00:00
Mark Andrews
b3fe1e8cda newcopyrights 2006-03-01 23:30:08 +00:00
Mark Andrews
538321f30c 1994. [port] OpenSSL 0.9.8 support. [RT #15694] 2006-03-01 02:41:36 +00:00
Mark Andrews
bcb8cea06c 1993. [bug] Log messsage, via syslog, were missing the space
after the timestamp if "print-time yes" was specified.
                        [RT #15844]
2006-03-01 02:25:35 +00:00
Mark Andrews
f9ba9261ee newcopyrights 2006-02-28 23:30:07 +00:00
Mark Andrews
95599b4221 1991. [cleanup] The configuration data, once read, should be treated
as readonly.  Expand the use of const to enforce this
                        at compile time. [RT #15813]
2006-02-28 06:32:54 +00:00
Mark Andrews
89bcc3178c 1990. [bug] libbind: isc's override of broken gettimeofday()
implementions was not always effective.
                        [RT #15709]
2006-02-28 00:10:08 +00:00
Mark Andrews
394849c85f update entry 2006-02-27 21:11:40 +00:00
Mark Andrews
2ce17487ca update copyright notice 2006-02-26 23:49:48 +00:00
Mark Andrews
067e710f40 newcopyrights 2006-02-26 23:30:08 +00:00
Mark Andrews
089321fb44 fix minor typos 2006-02-26 23:06:40 +00:00
Mark Andrews
24e4aa93e5 remove redundant memset 2006-02-26 22:32:22 +00:00
Mark Andrews
97362980d0 update copyright notice 2006-02-26 22:28:36 +00:00
Mark Andrews
147b3de485 newcopyrights 2006-02-24 23:30:07 +00:00
Mark Andrews
7e5b8a729b 1989. [bug] win32: don't check the service password when
re-installing. [RT #15882]
2006-02-24 03:53:20 +00:00
Mark Andrews
6dee4e0d7a newcopyrights 2006-02-23 23:30:07 +00:00
Mark Andrews
de403fd6ee update example 2006-02-23 22:34:05 +00:00
Mark Andrews
b33243b8d1 update copyright notice 2006-02-19 06:50:46 +00:00
Mark Andrews
595336aa79 newcopyrights 2006-02-17 23:30:07 +00:00
Mark Andrews
f0cfe5bd39 1985. [protocol] DLV has now been assigned a official type code of
32769. [RT #15807]

                        Note: care should be taken to ensure you upgrade
                        both named and dnssec-signzone at the same time for
                        zones with DLV records where named is the master
                        server for the zone.  Also any zones that contain
                        DLV records should be removed when upgrading a slave
                        zone.  You do not however have to upgrade all
                        servers for a zone with DLV records simultaniously.
2006-02-17 01:12:54 +00:00
cvs2git
20c873f12f This commit was manufactured by cvs2git to create branch 'v9_3'. 2006-02-17 01:04:15 +00:00
Mark Andrews
33138c5db3 1982. [bug] DNSKEY was being accepted on the parent side of
a delegation.  KEY is still accepted there for
                        RFC 3007 validated updates. [RT #15620]
2006-02-16 01:24:07 +00:00
Mark Andrews
7fafa2e463 update copyright notice 2006-02-13 23:50:52 +00:00
Mark Andrews
15f47f68c9 newcopyrights 2006-02-13 23:30:13 +00:00
Mark Andrews
a054611dd1 1981. [bug] win32: condition.c:wait() could fail to reattain
the mutex lock.
2006-02-13 03:40:59 +00:00
Mark Andrews
e5232c979a update copyright notice 2006-02-03 23:51:37 +00:00
Mark Andrews
c8fb9f74d5 newcopyrights 2006-02-03 23:30:08 +00:00
Mark Andrews
49d458632d 1979. [port] linux: allow named to drop core after changing
user ids. [RT #15753]
2006-02-02 23:37:57 +00:00
Mark Andrews
fe50703b2e newcopyrights 2006-02-02 23:31:11 +00:00
Mark Andrews
f9a8d0e0f6 1978. [port] Handle systems which have a broken recvmsg().
[RT #15742]
2006-02-02 23:13:05 +00:00
Mark Andrews
0e99a2424d 1977. [bug] Silence noisy log message. [RT #15704] 2006-02-02 22:52:44 +00:00
Mark Andrews
4c652abd77 1976. [bug] Handle systems with no IPv4 addresses. [RT #15695] 2006-02-02 22:39:44 +00:00
Mark Andrews
cee51b9f4d update copyright notice 2006-02-01 23:48:51 +00:00
Mark Andrews
48935329ee newcopyrights 2006-02-01 23:30:14 +00:00
Mark Andrews
3f6bc7959d comment typo 2006-02-01 22:39:32 +00:00
Mark Andrews
236d997566 newcopyrights 2006-01-31 23:30:09 +00:00
Mark Andrews
957409728e 1975. [bug] libbind: isc_gethexstring() could misparse multi-line
hex strings with comments. [RT #15814]
2006-01-31 00:53:21 +00:00
Mark Andrews
32f0740056 regen 2006-01-30 02:25:58 +00:00
Mark Andrews
3b68d08f54 1974. [doc] List each of the zone types and associated zone
options seperately in the ARM.
2006-01-30 01:04:43 +00:00
Mark Andrews
2f64ca2fb9 regen 2006-01-29 22:56:29 +00:00
Mark Andrews
601586bc45 1955. [bug] Pre-allocate the cache cleaning interator. [RT #14998]
Fix the CLEANER_IDLE macro to make this change complete. [RT #15815]
2006-01-26 23:09:36 +00:00
Mark Andrews
82fcf9c3bc newcopyrights 2006-01-23 23:30:09 +00:00
Mark Andrews
e16a8fc455 1972. [contrib] DBUS dynamic forwarders integation from
Jason Vas Dias <jvdias@redhat.com>.
2006-01-23 04:59:01 +00:00
cvs2git
02491be9ed This commit was manufactured by cvs2git to create branch 'v9_3'. 2006-01-23 04:53:36 +00:00
Mark Andrews
136f246d8f regen 2006-01-18 04:59:04 +00:00
Mark Andrews
ff73a310df update copyright notice 2006-01-17 23:49:30 +00:00
Mark Andrews
a9e7841d74 newcopyrights 2006-01-17 23:30:13 +00:00
Mark Andrews
75aae56e49 regen 2006-01-17 02:14:36 +00:00
Mark Andrews
479913c1fa xref named.conf(5) 2006-01-17 00:01:46 +00:00
cvs2git
671b906ca4 This commit was manufactured by cvs2git to create branch 'v9_3'. 2006-01-12 02:16:32 +00:00
Mark Andrews
b2040cee7d newcopyrights 2006-01-10 23:30:09 +00:00
Mark Andrews
0f659dc111 1971. [port] linux: make detection of missing IF_NAMESIZE more
robust. [RT #15443]
2006-01-10 05:09:16 +00:00
Mark Andrews
53066ba99c regen 2006-01-07 03:40:16 +00:00
Mark Andrews
6d7df38556 update copyright notice 2006-01-07 00:23:33 +00:00
Mark Andrews
8483f89f55 newcopyrights 2006-01-06 23:30:07 +00:00
Mark Andrews
54dd0df9c9 1970. [bug] nsupdate: adjust UDP timeout when falling back to
unsigned SOA query. [RT #15775]
2006-01-06 04:50:14 +00:00
Mark Andrews
5b55b52bbb RFC 4033, RFC4034 and RFC4035 2006-01-06 04:23:44 +00:00
Mark Andrews
3bb1b3ed23 RFC1918 2006-01-06 04:19:14 +00:00
Mark Andrews
2a0543d01b regen 2006-01-06 01:47:25 +00:00
Mark Andrews
1d28dfe422 1969. [bug] win32: the socket code was freeing the socket
structure too early. [RT #15776]
2006-01-06 01:34:47 +00:00
Mark Andrews
bf7497ab01 1968. [bug] Missing lock in resolver.c:validated(). [RT #15739] 2006-01-06 01:21:08 +00:00
Mark Andrews
fa6c90ade6 1966. [bug] Don't set CD when we have fallen back to plain DNS.
[RT #15727]
2006-01-06 00:47:31 +00:00
Mark Andrews
18900ef649 update copyright notice 2006-01-06 00:01:42 +00:00
Mark Andrews
5304366702 newcopyrights 2006-01-05 23:30:07 +00:00
Mark Andrews
f21dcfa98d 1941. [bug] ncache_adderesult() should set eresult even if no
rdataset is passed to it. [RT #15642]

1939.   [bug]           The resolver could dereference a null pointer after
                        validation if all the queries have timed out.
                        [RT #15528]

1938.   [bug]           The validator was not correctly handling unsecure
                        negative responses at or below a SEP. [RT #15528]
2006-01-05 05:38:47 +00:00
Mark Andrews
9742ad0d4d 1942. [bug] If the name of a DNSKEY match that of one in
trusted-keys do not attempt to validate the DNSKEY
                        using the parents DS RRset. [RT #15649]
2006-01-05 04:45:24 +00:00
Mark Andrews
c836cd1ed5 typo 2006-01-05 03:49:26 +00:00
Mark Andrews
bab1bca3ff 1963. [port] Tru64 4.0E doesn't support send() and recv().
[RT #15586]
2006-01-05 03:46:31 +00:00
Mark Andrews
78bcd2feb1 1962. [bug] Named failed to clear old update-policy when it
was removed. [RT #15491]
2006-01-05 03:38:39 +00:00
Mark Andrews
d5a86dad2e 1961. [bug] Check the port and address of responses forwarded
to dispatch. [RT #15474]
2006-01-05 03:31:06 +00:00
Mark Andrews
2408d854d8 1960. [bug] Update code should set NSEC ttls from SOA MINIMUM.
[RT #15465]
2006-01-05 03:22:08 +00:00
Mark Andrews
741447360a 1919. [contrib] queryperf: a set of new features: collecting/printing
response delays, printing intermediate results, and
                        adjusting query rate for the "target" qps.
2006-01-05 02:06:09 +00:00
Mark Andrews
44836dbc6d fixed typos in error messages 2006-01-05 01:40:45 +00:00
Mark Andrews
d5a141a8d5 1958. [bug] Named failed to update the zone's secure state
until the zone was reloaded. [RT #15412]
2006-01-05 01:34:32 +00:00
Mark Andrews
bf83725de0 1957. [bug] Dig mishandled responses to class ANY queries.
[RT #15402]
2006-01-05 01:04:10 +00:00
Mark Andrews
a6a804c14a 1956. [bug] Improve cross compile support, 'gen' is now built
by native compiler.  See README for additional
                        cross compile support information. [RT #15148]
2006-01-05 00:41:21 +00:00
Mark Andrews
c05d5c333d 1955. [bug] Pre-allocate the cache cleaning interator. [RT #14998] 2006-01-05 00:19:49 +00:00
Mark Andrews
a4c4295268 update copyright notice 2006-01-04 23:50:21 +00:00
Mark Andrews
db159f6ca4 newcopyrights 2006-01-04 23:30:09 +00:00
Mark Andrews
434683bb05 1952. [port] hpux: tell the linker to build a runtime link
path "-Wl,+b:". [RT #14816].
2006-01-04 22:46:27 +00:00
Mark Andrews
2b6fdd9c92 type-punned pointer 2006-01-04 21:43:15 +00:00
Mark Andrews
15c1e65603 ambiguous else 2006-01-04 21:40:02 +00:00
Mark Andrews
577ee67047 1951. [security] Drop queries from particular well known ports.
Don't return FORMERR to queries from particular
                        well known ports.  [RT #15636]
2006-01-04 05:13:19 +00:00
Mark Andrews
a93ccce87d 1950. [port] Solaris 2.5.1 and earlier cannot bind() then connect()
a TCP socket. This prevents the source address being
                        set for TCP connections. [RT #15628]
2006-01-04 04:26:56 +00:00
Mark Andrews
8019162f81 1940. [bug] Fixed a number of error conditions reported by
Coverity.
2006-01-04 03:43:20 +00:00
Mark Andrews
f0af75009b 1948. [bug] If was possible to trigger a REQUIRE failure in
xfrin.c:maybe_free() if named ran out of memory.
                        [RT #15568]
2006-01-04 03:08:54 +00:00
Mark Andrews
95d974159f update copyright notice 2006-01-04 00:37:22 +00:00
Mark Andrews
a7344b0aec newcopyrights 2006-01-03 23:30:12 +00:00
Mark Andrews
7afc8854ef 1946. [bug] resume_dslookup() could trigger a REQUIRE failure
when using forwarders. [RT #15549]
2006-01-03 07:23:52 +00:00
Mark Andrews
9d9c8e0618 1944. [cleanup] isc_hash_create() does not need a read/write lock.
[RT #15522]
2006-01-03 05:55:10 +00:00
Mark Andrews
5b63d78998 spelling 2006-01-03 05:38:18 +00:00
Mark Andrews
0a1ee635ea 1943. [bug] Set the loadtime after rollimg forward the journal.
[RT #15647]
2006-01-03 05:36:53 +00:00
cvs2git
c3dc9e5c93 This commit was manufactured by cvs2git to create branch
'custom_WFB_v9_3_2'.
2005-12-20 23:55:34 +00:00
Mark Andrews
300e919064 Known Issues 2005-12-20 23:55:33 +00:00
Mark Andrews
2d8b300c58 Makefile 2005-12-14 04:19:42 +00:00
Mark Andrews
8acdcbd074 9.3.2 2005-12-14 00:43:14 +00:00
Mark Andrews
b57c65bd56 9.3.2rc1 2005-11-04 01:44:43 +00:00
Mark Andrews
abca368e4c 9.3.2rc1 2005-11-04 01:08:24 +00:00
Mark Andrews
7a0058b509 9.3.2rc1 2005-11-04 00:48:41 +00:00
Mark Andrews
9d8537498f update copyright notice 2005-11-04 00:16:34 +00:00
Mark Andrews
6ba937ec74 9.3.2rc1 2005-11-04 00:09:39 +00:00
Mark Andrews
8b2e1dac37 newcopyrights 2005-11-03 23:35:02 +00:00
Mark Andrews
1819f60896 silence compiler warnings [RT #15562] 2005-11-03 23:08:42 +00:00
Mark Andrews
4e054e82e8 update copyright notice 2005-11-03 00:02:54 +00:00
Mark Andrews
dbb450522b pullup bind8:
1721.   [bug]           Change #1718 was incomplete.  Missing error return
                        on out of memory.
2005-11-03 00:00:52 +00:00
Mark Andrews
4c4d71d365 newcopyrights 2005-11-02 23:33:02 +00:00
Mark Andrews
acc6910be0 regen 2005-11-02 22:54:45 +00:00
Mark Andrews
846d6beed8 extend cname and other data answer 2005-11-02 22:53:51 +00:00
Mark Andrews
af090aaa57 tsig 2005-11-02 04:54:42 +00:00
Mark Andrews
b828507217 address timing issue in tests 2005-11-02 04:50:55 +00:00
Mark Andrews
3170cfa99a 1936. [bug] The validator could leak memory. [RT #15544] 2005-11-02 02:07:47 +00:00
Mark Andrews
7a1469cb46 update 2005-11-01 05:51:50 +00:00
Mark Andrews
8260228324 always clean .o's 2005-10-28 01:53:44 +00:00
Mark Andrews
7478344b24 update copyright notice 2005-10-27 00:27:30 +00:00
Mark Andrews
0de74b5659 newcopyrights 2005-10-26 23:32:54 +00:00
Mark Andrews
94a81187c8 fix isc_timer_gettype return type 2005-10-26 06:52:52 +00:00
Mark Andrews
5d05122645 spelling arguement vs argument 2005-10-26 05:06:40 +00:00
Mark Andrews
9b75ad23c7 regen 2005-10-20 23:57:38 +00:00
Mark Andrews
c71c7d1e13 1932. [bug] hpux: LDFLAGS was getting corrupted. [RT #15530] 2005-10-20 23:47:25 +00:00
Mark Andrews
ce32f2dad0 silence compiler 2005-10-14 05:43:47 +00:00
Mark Andrews
4c5702c53f silence compiler 2005-10-14 05:19:00 +00:00
Mark Andrews
1bdf724019 9.3.2b2 2005-10-14 03:40:46 +00:00
Mark Andrews
efdc8d41c2 update copyright notice 2005-10-14 02:13:07 +00:00
Mark Andrews
3907cf0efd newcopyrights 2005-10-14 01:57:38 +00:00
Mark Andrews
4b54961a93 1930. [port] HPUX: ia64 support. [RT #15473]
1929.   [port]          FreeBSD: extend use of PTHREAD_SCOPE_SYSTEM.
2005-10-14 01:44:50 +00:00
Mark Andrews
5a5d7187e5 1930. [port] HPUX: ia64 support. [RT #15473]
1929.   [port]          FreeBSD: extend use of PTHREAD_SCOPE_SYSTEM.
2005-10-14 01:38:51 +00:00
Mark Andrews
e3d293b5ba regen 2005-10-13 02:34:03 +00:00
Mark Andrews
5ef8dc8899 9.3.2b2 2005-10-12 01:41:41 +00:00
Mark Andrews
83820fb84e 9.3.2b2 2005-10-12 01:35:51 +00:00
Mark Andrews
8c5b819b14 9.3_2b2 2005-10-12 00:05:53 +00:00
Mark Andrews
80da951349 update copyright notice 2005-10-11 23:54:48 +00:00
Mark Andrews
10179fcc8b newcopyrights 2005-10-11 23:36:18 +00:00
Mark Andrews
490d51a34e 9.3.2b2 2005-10-11 23:26:02 +00:00
Mark Andrews
85f24c534f BINDinstall was being installed in the wrong place. 2005-10-11 23:07:14 +00:00
Mark Andrews
0f1b913ace 1926. [bug] The Windows installer did not check for empty
passwords. [RT #15483]
2005-10-11 22:58:26 +00:00
Mark Andrews
b44ee54313 1925. [port] All outer level AC_TRY_RUNs need cross compiling
defaults. [RT #15469]
2005-10-11 22:29:23 +00:00
Mark Andrews
7517ed63de 1924. [port] libbind: hpux ia64 support. [RT #15473] 2005-10-11 00:49:43 +00:00
Mark Andrews
fea9435d27 regen 2005-10-10 02:29:12 +00:00
Mark Andrews
41a78b6a44 update forwarders description 2005-10-10 00:22:24 +00:00
Mark Andrews
e149fb0812 update copyright notice 2005-10-08 00:21:06 +00:00
Mark Andrews
888faac8da newcopyrights 2005-10-07 23:33:20 +00:00
Mark Andrews
563fe908b0 1923. [bug] ns_client_detach() called too early. [RT #15499] 2005-10-07 04:15:21 +00:00
Mark Andrews
9244699cd7 regen 2005-09-15 22:48:53 +00:00
Mark Andrews
8f4ab6c38e adjust for libxslt-1.1.15 2005-09-15 02:28:26 +00:00
Mark Andrews
04a4df9ce8 regen 2005-09-13 13:45:39 +00:00
Mark Andrews
06bc41b9dc spelling 2005-09-13 06:06:44 +00:00
Mark Andrews
00c952aadc update copyright notice 2005-09-13 00:34:54 +00:00
Mark Andrews
26c3fbbe7d newcopyrights 2005-09-12 23:52:00 +00:00
Mark Andrews
d34315b3dc cleanup doc/xsl 2005-09-12 23:17:26 +00:00
Mark Andrews
bb794f48b7 cleanup 2005-09-12 22:47:28 +00:00
Mark Andrews
a8154b9777 cleanup 2005-09-12 22:41:13 +00:00
Mark Andrews
26f8daaac4 fix cleanup 2005-09-12 22:36:47 +00:00
Mark Andrews
710851364b regen 2005-09-12 00:47:30 +00:00
Mark Andrews
c076b50df2 1917. [doc] funcsynopsisinfo wasn't being treated as verbatim
when generating man pages. [RT #15385]
2005-09-12 00:05:27 +00:00
Mark Andrews
0c4d912d97 cleanup 2005-09-09 06:24:35 +00:00
Mark Andrews
f593ad8db2 pullup:
res_init()/res_ninit() could leak memory when re-called.
2005-09-09 00:40:56 +00:00
Mark Andrews
5768a8caed 1915. [bug] dig +ndots was broken. [RT #15215] 2005-09-09 00:29:10 +00:00
Mark Andrews
cf713629fb newcopyrights 2005-09-06 23:39:29 +00:00
Mark Andrews
7b2d65473f copy Bv9ARM.pdf 2005-09-06 07:54:45 +00:00
Mark Andrews
682917c7f0 update copyright notice 2005-09-06 07:29:32 +00:00
Mark Andrews
e3dd90ed41 newcopyrights 2005-09-06 06:58:27 +00:00
Mark Andrews
8e199907f7 1914. [protocol] DS is required to accept mnemonic algorithms
(RFC 4034).  Still emit numeric algorithms for
                        compatability with RFC 3658. [RT #15354]
2005-09-06 06:55:16 +00:00
Mark Andrews
71ac7466b6 9.3.2b1 2005-09-06 06:39:44 +00:00
Mark Andrews
a85eb7d24f update 2005-09-06 06:38:13 +00:00
Mark Andrews
ef4c07fe45 9.3.2 2005-09-06 06:00:08 +00:00
Mark Andrews
1d045e1e51 update 2005-09-06 03:32:48 +00:00
Mark Andrews
ab95687384 add copyright notice 2005-09-06 02:58:40 +00:00
Mark Andrews
08bd0413d2 update 2005-09-06 02:52:58 +00:00
Mark Andrews
cc397089c7 newcopyrights 2005-09-06 02:44:26 +00:00
Mark Andrews
98e2335849 update 2005-09-06 02:23:03 +00:00
Mark Andrews
bc4b7ecd33 update copyright 2005-09-06 02:12:43 +00:00
Mark Andrews
9f1c6291b5 handle copyright less xml 2005-09-06 01:59:59 +00:00
Mark Andrews
ec7c5c3d65 newcopyrights 2005-09-06 01:23:48 +00:00
Mark Andrews
8671a43c42 add xml support 2005-09-06 01:17:41 +00:00
Mark Andrews
e2defb0c45 remove duplicate text 2005-09-06 00:59:52 +00:00
Mark Andrews
9fa8949867 remove spurious text 2005-09-06 00:54:53 +00:00
Mark Andrews
3c2c353ae6 9.3.2 2005-09-06 00:52:02 +00:00
Mark Andrews
e325bb08e0 update for 9.3.2 2005-09-05 05:30:51 +00:00
Mark Andrews
20436e8cd2 regen 2005-09-05 05:13:45 +00:00
Mark Andrews
11bdbf0108 silence compiler warnings 2005-09-03 12:49:07 +00:00
Mark Andrews
57a90a827e update for release 2005-09-02 06:31:40 +00:00
Mark Andrews
63694c0da7 change numbers 2005-09-02 04:56:33 +00:00
Mark Andrews
83457b8483 Pull in host order macros when _XOPEN_SOURCE_EXTENDED is defined. [RT #14966] 2005-09-02 04:04:24 +00:00
Mark Andrews
817fd0f997 update 2005-09-02 01:49:38 +00:00
Mark Andrews
0cca8471e6 new draft 2005-09-02 01:45:07 +00:00
Mark Andrews
7c35427d8a update 2005-09-02 01:42:17 +00:00
cvs2git
103d2b9c79 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-09-02 01:39:30 +00:00
Mark Andrews
07e39ba609 1920. [bug] Update windows socket code. [RT #14965] 2005-09-01 03:16:12 +00:00
Mark Andrews
24b00a2d9c regen 2005-08-30 02:35:01 +00:00
Mark Andrews
57457e87c5 remove references to makekeyset/signkey 2005-08-30 01:57:57 +00:00
Mark Andrews
36173c14b8 remove references to makekeyset and signkey 2005-08-30 01:53:45 +00:00
Mark Andrews
0b583db951 remove make-keyset reference 2005-08-30 01:41:41 +00:00
Mark Andrews
8bb965378f update trusted-keys description 2005-08-30 00:50:29 +00:00
Mark Andrews
13b00f6cb3 silence compiler warning 2005-08-25 04:44:13 +00:00
Mark Andrews
67c0ae02e6 silence compiler warnings 2005-08-25 04:32:55 +00:00
Mark Andrews
7fce88dfa8 1919. [bug] dig's +sigchase code overhauled. [RT #14933]
1918.   [bug]           The DLV code has been re-worked to make no longer
                        query order sensitive. [RT #14933]
2005-08-25 01:54:34 +00:00
Mark Andrews
30111d94d2 silence compiler warning 2005-08-23 04:48:40 +00:00
Mark Andrews
38ee96bf70 1914. [bug] Strings returned from cfg_obj_asstring() should be
treated as read-only.  [RT #15256]
2005-08-23 02:41:44 +00:00
Mark Andrews
f46b97e438 MEMUNLOCK called too early 2005-08-22 01:34:30 +00:00
Mark Andrews
d30621b91e update 2005-08-21 00:13:54 +00:00
Mark Andrews
3d2251b726 win32 cleanup 2005-08-18 13:15:18 +00:00
Mark Andrews
5307023ddd initalise/destroy entropy and hash contexts 2005-08-16 04:43:04 +00:00
Mark Andrews
37be622705 silence compiler warning 2005-08-15 02:04:41 +00:00
Mark Andrews
d81df2792b silence compiler warning 2005-08-12 01:36:23 +00:00
Mark Andrews
cf085c7b83 soft is an int 2005-08-11 15:00:08 +00:00
Mark Andrews
b903045baa SOLARIS2 + HAVE_STROPTS_H 2005-08-11 08:09:20 +00:00
Mark Andrews
9f719d93ed 1910. [cleanup] Don't add DNSKEY records to the additional section. 2005-08-11 05:25:20 +00:00
Mark Andrews
3a2fdfc30c 1909. [bug] ixfr-from-differences failed to ensure that the
serial number increased. [RT #15036]
2005-07-29 00:38:33 +00:00
Mark Andrews
0fddfa3e8d update copyreight notice 2005-07-29 00:13:10 +00:00
Mark Andrews
9527d8facd update 2005-07-28 23:59:09 +00:00
Mark Andrews
c0b0823bce newcopyrights 2005-07-28 23:32:38 +00:00
Mark Andrews
5594d5795e sync w/ bind8 2005-07-28 07:44:54 +00:00
cvs2git
87adab6a9c This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-07-28 06:54:12 +00:00
Mark Andrews
a1d6a00eb4 result was not being assigned. 2005-07-28 05:48:29 +00:00
Mark Andrews
c5de31cbc9 1907. [bug] Extend ISC_SOCKADDR_FORMATSIZE and
ISC_NETADDR_FORMATSIZE to allow for scope details.
2005-07-28 04:58:27 +00:00
Mark Andrews
b45013f842 newcopyrights 2005-07-27 23:32:45 +00:00
Mark Andrews
890a3d97d7 1905. [bug] Recursive clients soft quota support wasn't working
as expected. [RT #15103]
2005-07-27 02:53:16 +00:00
Mark Andrews
c0ffb90e52 update copyright notice 2005-07-23 04:34:37 +00:00
Mark Andrews
eab0b28d3a failed to increment sp on last change. 2005-07-22 05:27:52 +00:00
Mark Andrews
11e5c04ce9 newcopyrights 2005-07-21 23:31:48 +00:00
Mark Andrews
ca0fc37385 1904. [bug] A escaped character is, potentially, converted to
the output character set too early. [RT #14666]
2005-07-20 01:50:47 +00:00
Mark Andrews
e9089240c8 uintptr_t is in <inttypes.h> on some platforms 2005-07-19 07:08:37 +00:00
Mark Andrews
e1abb6a07d regen 2005-07-19 06:15:29 +00:00
Mark Andrews
51e6c43f04 update copyright notice 2005-07-18 23:59:12 +00:00
Mark Andrews
5a23aebf88 newcopyrights 2005-07-18 23:32:36 +00:00
Mark Andrews
098048d91a sync w/ HEAD 2005-07-18 07:33:07 +00:00
Mark Andrews
39c00084f5 sync w/ HEAD 2005-07-18 06:22:11 +00:00
Mark Andrews
ce26edb3c8 1902. [port] Use uintptr_t if available. [RT #14606] 2005-07-18 05:26:17 +00:00
Mark Andrews
aed28d7c8c regen 2005-07-18 02:36:54 +00:00
Mark Andrews
bd100ac59b update copyright notice 2005-07-12 05:47:43 +00:00
Mark Andrews
ffeeffc82f newcopyrights 2005-07-11 23:33:18 +00:00
Mark Andrews
9bb6374985 remove extraneous * after specific solaris version in case statements 2005-07-11 03:26:05 +00:00
Mark Andrews
4e3d171da0 1898. [port] sunos: non blocking i/o support. [RT #14951] 2005-07-08 04:56:03 +00:00
Mark Andrews
6963c68e5f 1896. [bug] The cache could delete expired records too fast for
clients with a virtual time in the past. [RT #14991]
2005-07-07 02:58:53 +00:00
Mark Andrews
fc4f5f0f71 newcopyrights 2005-07-06 23:32:22 +00:00
Mark Andrews
38df00508a newcopyrights 2005-07-05 23:32:25 +00:00
Mark Andrews
f49bde9e35 1895. [bug] fctx_create() could return success even though it
failed. [RT #14993]
2005-07-04 23:18:31 +00:00
Mark Andrews
6865b2cd39 1893. [cleanup] dighost.c: move external declarations into <dig/dig.h>. 2005-07-04 03:29:45 +00:00
Mark Andrews
e391a31850 update copyright notice 2005-07-02 02:42:43 +00:00
Mark Andrews
e6f7d7f3ba newcopyrights 2005-07-01 23:32:44 +00:00
Mark Andrews
9d36849299 1892. [bug] dnssec-signzone, dnssec-keygen: handle negative debug
levels. [RT #14962]
2005-07-01 03:57:18 +00:00
cvs2git
dcb83bfc58 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-06-29 09:19:15 +00:00
Mark Andrews
038637ed34 update copyright notice 2005-06-26 23:17:52 +00:00
Mark Andrews
99551e0be7 regen 2005-06-26 00:05:51 +00:00
Mark Andrews
d06f5b5366 newcopyrights 2005-06-24 23:32:16 +00:00
Mark Andrews
91a096b4da remove garbage line 2005-06-24 00:18:15 +00:00
Mark Andrews
323d84259d update copyright notice 2005-06-24 00:06:55 +00:00
Mark Andrews
7c3b707e27 make adb_test and byname_test run 2005-06-23 23:50:06 +00:00
Mark Andrews
79704d0e0d newcopyrights 2005-06-23 23:33:53 +00:00
Mark Andrews
1217bec721 1890. [func] Add a system test for named-checkconf. [RT #14931] 2005-06-23 07:49:59 +00:00
cvs2git
16c2ffc246 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-06-23 06:52:25 +00:00
Mark Andrews
9178019940 update copyright notice 2005-06-22 00:12:14 +00:00
Mark Andrews
41d53a084a newcopyrights 2005-06-21 23:32:23 +00:00
Mark Andrews
36d30eadfe 9.3.2b1 2005-06-20 03:26:01 +00:00
Mark Andrews
5ebe1a379a remove #define ROOTNS 1 2005-06-19 22:47:27 +00:00
Mark Andrews
e7d6dc5356 simplify conditional code 2005-06-19 22:18:10 +00:00
Mark Andrews
667f38a3a3 extent timeout now that we are have memrecord on 2005-06-19 05:50:47 +00:00
Mark Andrews
7873648560 update copyright notice 2005-06-18 01:03:24 +00:00
Mark Andrews
00458c4915 newcopyrights 2005-06-17 23:32:24 +00:00
Mark Andrews
0e63a76145 turn on memory recording 2005-06-17 02:35:58 +00:00
Mark Andrews
93ac517690 1886. [bug] Fix unreasonably low quantum on call to
dns_rbt_destroy2().  Remove unnecessay unhash_node()
                        call. [RT #14919]
2005-06-17 01:05:40 +00:00
Mark Andrews
21232c22c7 update copyright notice 2005-06-12 00:02:26 +00:00
Mark Andrews
728c9721eb newcopyrights 2005-06-11 23:32:17 +00:00
Mark Andrews
2b21a63580 #1864 had a size(foo) instead of sizeof(*foo) which broke on 64 bit machines. 2005-06-10 07:47:42 +00:00
Mark Andrews
98529358bd 1884. [bug] process_dhtkey() was using the wrong memory context
to free some memory. [RT #14890]
2005-06-10 07:04:58 +00:00
Mark Andrews
7fb85a7790 update copyright notice 2005-06-09 23:54:33 +00:00
Mark Andrews
5a41716a4d newcopyrights 2005-06-09 23:32:44 +00:00
Mark Andrews
3a6eda3188 fix bad hand pullup 2005-06-08 02:35:21 +00:00
Mark Andrews
7dc46bca2b newcopyrights 2005-06-08 02:17:23 +00:00
Mark Andrews
682e8d223a 1883. [port] sunos: portability fixes. [RT #14814] 2005-06-08 02:11:21 +00:00
cvs2git
1e6fbf2799 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-06-08 02:09:19 +00:00
Mark Andrews
a9e8873008 1882. [port] win32: isc__errno2result() now reports its caller.
[RT #13753]

1881.   [port]          win32: Handle ERROR_NETNAME_DELETED.  [RT #13753]
2005-06-08 01:04:53 +00:00
Mark Andrews
cf2aa4ae2b 1860. [port] solaris 2.8: hack_shutup_pthreadmutexinit was
incorrectly set. [RT #14775]
2005-06-08 00:50:25 +00:00
Mark Andrews
c222f039d7 update copyright notice 2005-06-08 00:13:16 +00:00
Mark Andrews
0e96f13c87 newcopyrights 2005-06-07 23:32:30 +00:00
Mark Andrews
aeacf4e632 regen 2005-06-07 03:04:55 +00:00
Mark Andrews
b5bdb414d0 1855. [bug] ixfr-from-differences was failing to detect changes
of ttl due to dns_diff_subtract() was ignoring the ttl
                        of records.  [RT #14616]
2005-06-07 02:02:31 +00:00
Mark Andrews
c84f7be508 1857. [bug] named could trigger a INSIST() if reconfigured /
reloaded too fast.  [RT #14673]
2005-06-07 01:53:21 +00:00
Mark Andrews
fa9710ea80 1861. [bug] dig could trigger a INSIST on certain malformed
responses. [RT #14801]
2005-06-07 01:42:23 +00:00
Mark Andrews
6ee76f79a8 1864. [bug] Don't try the alternative transfer source if you
got a answer / transfer with the main source
                        address. [RT #14802]
2005-06-07 01:22:35 +00:00
Mark Andrews
f577cb3639 1866. [bug] resolv.conf parse errors were being ignored by
dig/host/nslookup. [RT #14841]

1865.   [bug]           Silently ignore nameservers in /etc/resolv.conf with
                        bad addresses. [RT #14841]
2005-06-07 01:00:19 +00:00
Mark Andrews
6c68e33b58 1867. [bug] It was possible to trigger a INSIST in
dlv_validatezonekey(). [RT #14846]
2005-06-07 00:39:35 +00:00
Mark Andrews
a54f7b32eb adjust description 2005-06-06 04:41:54 +00:00
Mark Andrews
9c74402779 style 2005-06-01 01:58:05 +00:00
Mark Andrews
7676f07711 update copyright notice 2005-05-30 01:59:25 +00:00
Mark Andrews
44a4dcc199 newcopyrights 2005-05-27 23:32:23 +00:00
Mark Andrews
03f386596e 1863. [bug] rrset-order fixed error messages not complete. 2005-05-27 00:51:45 +00:00
Mark Andrews
f11b6fc003 update copyright notice 2005-05-24 23:58:17 +00:00
Mark Andrews
069305cf0c newcopyrights 2005-05-20 23:32:09 +00:00
Mark Andrews
a8da471427 1838. [cleanup] Don't allow Linux capabilities to be inherited.
[RT #13707]
2005-05-20 01:37:19 +00:00
Mark Andrews
2e096cee8e 1837. [bug] Compile time option ISC_FACILITY was not effective
for 'named -u <user>'.  [RT #13714]
2005-05-20 01:21:37 +00:00
Mark Andrews
21b37ef960 1845. [bug] Improve error reporting to distingish between
accept()/fcntl() and socket()/fcntl() errors.
                        [RT #13745]
2005-05-19 02:41:23 +00:00
Mark Andrews
a6e3b20e24 typo in comment 2005-05-16 05:30:35 +00:00
Mark Andrews
f846fc78ad comment out debugging prints 2005-05-16 00:01:42 +00:00
Mark Andrews
f1a03cf131 remove deleted files 2005-05-16 00:01:39 +00:00
Mark Andrews
053481ddd7 newcopyrights 2005-05-13 23:35:05 +00:00
Mark Andrews
af5122b853 regen 2005-05-13 02:43:31 +00:00
Mark Andrews
24adb6a37a track the modification years even if we are not going to be updating the copyrights 2005-05-13 01:46:31 +00:00
Mark Andrews
5ade0f042b update copyright notice 2005-05-13 01:22:36 +00:00
Mark Andrews
fc16774e1b perl not C 2005-05-13 01:07:57 +00:00
Mark Andrews
bc4bc62e23 copyright notice is now generated from the source 2005-05-13 00:59:38 +00:00
Rob Austein
17cd3e1e45 regen 2005-05-12 23:57:16 +00:00
Mark Andrews
3310107c09 newcopyrights 2005-05-12 23:36:12 +00:00
Rob Austein
d636ee6bb7 1856. [doc] Switch Docbook toolchain from DSSSL to XSL. 2005-05-12 21:36:17 +00:00
cvs2git
8c872fa86d This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-05-12 20:21:29 +00:00
Mark Andrews
c6bac9e4d6 remove extra < 2005-05-12 08:12:24 +00:00
Mark Andrews
663fcaacae regenerate <bookinfo> / <docinfo> as appropriate. 2005-05-12 07:57:25 +00:00
Mark Andrews
07bb4565ae regenerate <bookinfo> / <docinfo> as appropriate. 2005-05-12 07:54:54 +00:00
Mark Andrews
bf26b9f302 1858. [bug] The flush-zones-on-shutdown option wasn't being
parsed. [RT #14686]
2005-05-12 04:38:53 +00:00
Mark Andrews
ebaff066b1 handle files newer than 2004 2005-05-12 02:30:38 +00:00
Mark Andrews
f8b8a08f59 handle XSL files 2005-05-12 02:13:53 +00:00
Mark Andrews
aa15fad7d0 fully collect the text before a comment in a docbook source 2005-05-12 01:22:55 +00:00
Mark Andrews
60d8d497e1 update copyright notice 2005-05-08 23:55:58 +00:00
Mark Andrews
befa36b961 newcopyrights 2005-05-06 23:33:50 +00:00
Mark Andrews
0442a3da48 1854. [bug] lwres also needs to know the print format for
(long long).  [RT #13754]
2005-05-06 02:16:06 +00:00
Mark Andrews
1cf7ede7c3 1854. [bug] lwres also needs to know the print format for
(long long).  [RT #13754]
2005-05-06 02:09:31 +00:00
Mark Andrews
061ecc7f3a 1853. [bug] Rework how DLV interacts with proveunsecure().
[RT #13605]
2005-05-06 01:58:48 +00:00
Mark Andrews
8b402c3210 remove deleted files 2005-05-04 00:03:43 +00:00
Rob Austein
da1c645ba3 1852. [cleanup] Remove dnssec-signkey and dnssec-makekeyset 2005-05-03 22:51:21 +00:00
Mark Andrews
ef769857e6 update copyright notice 2005-05-02 00:25:54 +00:00
Mark Andrews
a9e404af6a newcopyrights 2005-04-29 23:34:45 +00:00
Mark Andrews
23949d7eab oops the dnssec-signzone.@O@ was needed to set VERSION. 2005-04-29 05:23:26 +00:00
Mark Andrews
4fc8b0376a remove explict build rule for dnssec-signzone.o 2005-04-29 04:30:31 +00:00
Mark Andrews
50403af68a further changes for
1848.   [bug]           Improve SMF integration. [RT #13238]
2005-04-29 01:04:48 +00:00
Mark Andrews
1f93273880 update copyright notice 2005-04-29 00:03:32 +00:00
Mark Andrews
e479b17164 newcopyrights 2005-04-27 23:32:41 +00:00
Mark Andrews
dc8d36e726 1850. [bug] Memory leak in lwres_getipnodebyaddr(). [RT #14591] 2005-04-27 00:47:09 +00:00
Mark Andrews
c1efc51d78 cleanup 2005-04-27 00:04:02 +00:00
Mark Andrews
374b3b0d2a regen 2005-04-26 04:08:06 +00:00
Mark Andrews
093c512e35 update named-checkzone/rndc descriptions to 9.3 level. 2005-04-08 04:45:12 +00:00
Mark Andrews
1df3129bf6 1849. [doc] All forms of the man pages (docbook, man, html) should
have consistant copyright dates.
2005-04-07 03:22:52 +00:00
Mark Andrews
88e4325f09 newcopyrights 2005-04-05 23:32:26 +00:00
Mark Andrews
f1005e3bde Mac OS X 10.3.8 2005-04-05 03:04:47 +00:00
Mark Andrews
324fce9bcb 1848. [bug] Improve SMF integration. [RT #13238] 2005-04-05 02:13:09 +00:00
Mark Andrews
d466ad91a5 1848. [bug] Improve SMF integration. [RT #13238] 2005-04-05 01:29:31 +00:00
Mark Andrews
465ad8b3ab 1848. [bug] Improve SMF integration. [RT #13238] 2005-04-05 01:13:45 +00:00
cvs2git
8c098d85a0 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-04-05 00:58:18 +00:00
Mark Andrews
9daf483b36 newcopyrights 2005-04-03 23:32:10 +00:00
Mark Andrews
110c21bfff regen 2005-04-03 03:31:59 +00:00
Mark Andrews
abe67930fc 1847. [bug] isc_ondestroy_init() is called too late in
in dns_rbtdb_create()/dns_rbtdb_create().
                        [RT #13661]
2005-04-01 07:08:18 +00:00
Mark Andrews
af459656ad 1846. [contrib] query-loc-0.3.0 from Stephane Bortzmeyer
<bortzmeyer@nic.fr>.
2005-04-01 06:14:01 +00:00
cvs2git
6925e153ea This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-04-01 05:35:03 +00:00
Mark Andrews
13a2f1dba9 update copyright notice 2005-03-31 23:56:15 +00:00
Mark Andrews
7b4593a4d5 newcopyrights 2005-03-31 23:32:18 +00:00
Mark Andrews
8be000abe9 1844. [bug] inet_pton() accepted more that 4 hexadecimal digits
for each 16 bit piece of the IPv6 address.  The text
                        representation of a IPv6 address has been tighted
                        to disallow this (draft-ietf-ipv6-addr-arch-v4-02.txt).
                        [RT #5662]
2005-03-31 07:28:26 +00:00
Mark Andrews
8bd7cb5f64 update copyright notice 2005-03-31 04:29:49 +00:00
Mark Andrews
e429f0f6eb Irix, MipsPRO 7.4.1m not 7.3.1m 2005-03-31 04:23:31 +00:00
Mark Andrews
e60bd2c3a6 1841. [bug] "dig +nssearch" now makes a recursive query to
find the list of nameservers to query. [RT #13694]
2005-03-31 02:43:41 +00:00
Mark Andrews
48437ffbc4 Irix, MipsPRO 7.3.1m is known to cause problems. 2005-03-31 00:05:57 +00:00
Mark Andrews
4324ccc924 newcopyrights 2005-03-30 23:32:09 +00:00
Mark Andrews
9554d2fbd2 1843. [cleanup] CINCLUDES takes precedence over CFLAGS. This helps
when CFLAGS contains "-I /usr/local/include"
                        resulting in old header files being used.
2005-03-30 06:02:31 +00:00
Mark Andrews
711d658fd8 1842. [port] cmsg_len() could produce incorrect results on
some platform. [RT #13744]
2005-03-30 05:48:32 +00:00
Mark Andrews
0ebceb2589 add example 2005-03-22 23:38:48 +00:00
Mark Andrews
edeacdcce9 Q: I get "transfer of 'example.com/IN' from 192.168.4.12#53: failed while
receiving responses: permission denied" error messages.
2005-03-22 23:24:48 +00:00
Mark Andrews
f5cbf14f00 update copyright notice 2005-03-22 02:32:07 +00:00
Mark Andrews
ddb8f14294 newcopyrights 2005-03-21 23:32:33 +00:00
Mark Andrews
f3221fd06a 1839. [bug] <isc/hash.h> was not being installed. 2005-03-21 05:52:49 +00:00
Mark Andrews
a769fb6938 update copyright notice 2005-03-20 22:34:01 +00:00
Mark Andrews
5c799ff514 newcopyrights 2005-03-18 23:32:44 +00:00
Mark Andrews
ffc5efbe39 silence compiler warnings 2005-03-18 05:01:33 +00:00
Mark Andrews
7b06fa801b regen 2005-03-18 03:32:19 +00:00
Mark Andrews
faf8240c19 Don't depend on autoconf being called w/ -I ../.. 2005-03-18 03:30:39 +00:00
Mark Andrews
242ef7b98a update copyright notice 2005-03-17 03:58:33 +00:00
Mark Andrews
197982c193 newcopyrights 2005-03-16 23:32:16 +00:00
Mark Andrews
531da298e7 silence compiler warnings 2005-03-16 23:23:38 +00:00
Mark Andrews
ab78d121aa 1836. [cleanup] Silence compiler warnings in hash_test.c 2005-03-16 19:54:39 +00:00
Mark Andrews
5987ec8af8 1836. [cleanup] Silence compiler warnings in hash_test.c 2005-03-16 19:48:01 +00:00
Mark Andrews
e8f1301c71 conflict w/ builtin, log -> lctx. 2005-03-16 13:49:25 +00:00
Mark Andrews
a33ccf2101 missing ${LIBTOOL_MODE_LINK} 2005-03-16 13:45:15 +00:00
Mark Andrews
b8d87d9aaf 1836. [cleanup] Silence compiler warnings in hash_test.c. 2005-03-16 13:41:20 +00:00
Mark Andrews
87f8293e75 regen 2005-03-16 05:02:03 +00:00
Mark Andrews
f067c92dc1 1807. [bug] When forwarding (forward only) set the active domain
from the forward zone name. [RT #13526]
2005-03-16 03:51:08 +00:00
Mark Andrews
7134229281 1820. [bug] Gracefully handle acl loops. [RT #13659] 2005-03-16 03:35:12 +00:00
Mark Andrews
1c9da279ce 1819. [bug] The validator needed to check both the algorithm and
digest types of the DS to determine if it could be
                        used to introduce a secure zone. [RT #13593]
2005-03-16 03:17:39 +00:00
Mark Andrews
6eb7d9a2cb 1835. [bug] Update dnssec-signzone's usage message. [RT #13657] 2005-03-16 03:09:43 +00:00
Mark Andrews
fa9ec634a3 repeated word 2005-03-16 02:52:44 +00:00
Mark Andrews
50237ee3c2 1834. [bug] Bad memset in rdata_test.c. [RT #13658] 2005-03-16 02:45:09 +00:00
Mark Andrews
72386ff95e 1833. [bug] Race condition in isc_mutex_lock_profile(). [RT #13660] 2005-03-16 01:56:42 +00:00
Mark Andrews
37bb8e226a 1832. [bug] named fails to return BADKEY on unknown TSIG algorithm.
[RT #13620]
2005-03-16 01:45:18 +00:00
Mark Andrews
f71c55f4c1 1816. [port] UnixWare: failed to compile lib/isc/unix/net.c.
[RT #13597]
2005-03-16 01:22:33 +00:00
Mark Andrews
b466e58b16 1831. [doc] Update named-checkzone documentation. [RT#13604] 2005-03-16 01:07:18 +00:00
Mark Andrews
3e194297e8 1815. [bug] nsupdate triggered a REQUIRE if the server was set
without also setting the zone and it encountered
                        a CNAME and was using TSIG.  [RT #13086]
2005-03-16 01:03:36 +00:00
Mark Andrews
d1c0ae939a 1803. [bug] dnssec-signzone sometimes failed to remove old
RRSIGs. [RT #13483]
2005-03-16 00:10:38 +00:00
Mark Andrews
a7d7bd7b3d newcopyrights 2005-03-16 00:02:46 +00:00
Mark Andrews
73d0752a0e newcopyrights 2005-03-15 23:59:02 +00:00
Mark Andrews
b8f827fa5f 1830. [bug] adb lame cache has sence of test reversed. [RT #13600] 2005-03-15 23:39:21 +00:00
Mark Andrews
bd9f41f88f 1829. [bug] win32: "pid-file none;" broken. [RT #13563] 2005-03-15 23:16:35 +00:00
Mark Andrews
bcc4ea64fe 1810. [bug] configure, lib/bind/configure make different default
decisions about whether to do a threaded build.
                        [RT #13212]
2005-03-15 23:10:09 +00:00
Mark Andrews
c5f60c9bfb 1810. [bug] configure, lib/bind/configure make different default
decisions about whether to do a threaded build.
                        [RT #13212]
2005-03-15 22:59:16 +00:00
cvs2git
ad7f071952 This commit was manufactured by cvs2git to create branch 'v9_3'. 2005-03-15 22:58:51 +00:00
Mark Andrews
338b5739f0 regen 2005-03-15 08:13:11 +00:00
Mark Andrews
aa10b2eb91 1799. [bug] 'rndc flushname' failed to flush negative cache
entries. [RT #13438]
2005-03-15 02:49:35 +00:00
Mark Andrews
9167f146d4 1809. [bug] "make distclean" failed for libbind if the platform
is not supported.
2005-03-15 02:15:36 +00:00
Mark Andrews
a134c5ca53 dumpb -> dumpdb 2005-03-15 02:12:20 +00:00
Mark Andrews
3cc8b79e59 1828. [bug] isc_rwlock_init() failed to properly cleanup if it
encountered a error. [RT #13549]
2005-03-15 02:04:05 +00:00
Mark Andrews
d7ee413e9f 1827. [bug] host: update usage message for '-a'. [RT #37116] 2005-03-15 01:49:31 +00:00
Mark Andrews
b999d4b195 1802. [bug] Handle connection resets better. [RT #11280] 2005-03-15 01:41:11 +00:00
Mark Andrews
f4d58150b7 1804. [bug] Ensure that if we are queried for glue that it fits
in the additional section or TC is set to tell the
                        client to retry using TCP. [RT #10114]
2005-03-15 01:31:58 +00:00
Mark Andrews
83d6be3cc7 1826. [bug] Missing DESTROYLOCK() in isc_mem_createx() on out
of memory error. [RT #13537]
2005-03-15 01:11:33 +00:00
Mark Andrews
231528cbdb style 2005-03-15 00:46:18 +00:00
Mark Andrews
b5db10b35d 1825. [bug] Missing unlock on out of memory error from in
rbtdb.c:subtractrdataset().  [RT #13519]
2005-03-15 00:34:42 +00:00
Mark Andrews
ea54d2b6ff 1824. [bug] Memory leak on dns_zone_setdbtype() failure.
[RT #13510]
2005-03-15 00:23:55 +00:00
Mark Andrews
b565b2a727 1823. [bug] Wrong macro used to check for point to point interface.
[RT#13418]
2005-03-15 00:09:14 +00:00
Mark Andrews
6878b44251 1795. [bug] "rndc dumpb" was not fully documented. Minor
formating issues with "rndc dumpdb -all".  [RT #13396]
2005-03-14 23:56:31 +00:00
Mark Andrews
d9f98404c8 1822. [bug] check-names test for RT was reversed. [RT #13382] 2005-03-14 23:41:02 +00:00
Mark Andrews
b56956ea0d 1791. [bug] 'host -t a' still printed out AAAA and MX records.
[RT #13230]
2005-03-14 23:35:35 +00:00
Mark Andrews
eed5a71760 1821. [doc] acls definitions are no longer required to be
in named.conf prior to reference.  They can be
                        defined after being referenced.
2005-03-14 23:25:07 +00:00
Mark Andrews
231e8d9e6a update copyright notice 2005-03-03 06:33:38 +00:00
Mark Andrews
23bc4db693 newcopyrights 2005-03-03 05:26:04 +00:00
Mark Andrews
9337fe0c8b 1818. [bug] 'named-checkconf -z' triggered an INSIST. [RT #13599] 2005-03-03 04:52:05 +00:00
Mark Andrews
b2bcf8c3bc 9.3.1 2005-03-03 04:51:08 +00:00
Mark Andrews
d4e3d6e95d update copyright notice 2005-02-09 05:13:03 +00:00
Mark Andrews
67b06ed975 9.3.1rc1 2005-02-09 04:18:53 +00:00
Mark Andrews
f76feed56b regen 2005-02-09 04:16:06 +00:00
Mark Andrews
8fbb0f127c newcopyrights 2005-02-09 03:59:36 +00:00
Mark Andrews
d666b0801f brace in wrong position. 2005-02-09 03:48:57 +00:00
Mark Andrews
6b04fa1903 1812. [port] win32: IN6_IS_ADDR_UNSPECIFIED macro is incorrect.
[RT #13453]
2005-02-09 03:47:19 +00:00
Mark Andrews
bd59b0b193 1806. [bug] The resolver returned the wrong result when a CNAME /
DNAME was encountered when fetching glue from a
                        secure namespace. [RT #13501]

1805.   [bug]           Pending status was not being cleared when DLV was
                        active. [RT #13501]
2005-02-08 23:59:45 +00:00
Mark Andrews
34533fbeab update copyright notice 2005-02-03 23:50:45 +00:00
Mark Andrews
307786440f newcopyrights 2005-02-03 23:32:37 +00:00
Mark Andrews
7b3d9826fe 1808. [bug] zone.c:notify_zone() contained a race condition,
zone->db could change underneath it.  [RT #13511]
2005-02-03 05:19:37 +00:00
Mark Andrews
9f95247dd9 gcc-3.3.5 powerpc generates incorrect code at -02 2005-02-02 05:27:32 +00:00
Mark Andrews
8ff173d309 9.3.1beta2 2005-01-20 00:33:47 +00:00
Mark Andrews
56532f7a72 update for 9.3.1beta2 2005-01-20 00:14:54 +00:00
Mark Andrews
8123a59155 update copyright notice 2005-01-20 00:00:13 +00:00
Mark Andrews
0def7cbc84 newcopyrights 2005-01-19 23:41:47 +00:00
Mark Andrews
d22279b6cd 1800. [bug] Changes #1719 allowed a INSIST to be triggered.
[RT #13428]
2005-01-19 23:38:14 +00:00
Mark Andrews
a4d30ecb83 Q: I get "Error 1067" when starting named under Windows. 2005-01-18 02:05:39 +00:00
Mark Andrews
82b9e983ee newcopyrights 2005-01-10 23:54:53 +00:00
Mark Andrews
ae9e0e99b4 update copyright notice 2005-01-10 23:51:37 +00:00
Mark Andrews
b77cea5e0d newcopyrights 2004-12-13 23:48:21 +00:00
Mark Andrews
52bc28113a 9.3.1beta1 2004-12-13 00:06:44 +00:00
Mark Andrews
605af49146 need to link against libdns. 2004-12-10 00:05:48 +00:00
Mark Andrews
2d65d8f21a 9.3.1beta1 2004-12-09 06:05:36 +00:00
Mark Andrews
9c6875f719 1790. [cleanup] Move lib/dns/sec/dst up into lib/dns. This should
allow parallel make to succeed.
2004-12-09 04:09:54 +00:00
cvs2git
ecffc01c50 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-12-09 01:41:28 +00:00
cvs2git
5dc997c224 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-12-09 01:41:27 +00:00
Mark Andrews
6aff79541a missing @ 2004-12-08 13:18:22 +00:00
Mark Andrews
716589cca8 1789. [bug] Prerequisite test for tkey and dnssec could fail
with "configure --with-libtool".
2004-12-08 06:13:02 +00:00
Mark Andrews
7644ba9eb0 1788. [bug] libbind9.la/libbind9.so needs to link against
libisccfg.la/libisccfg.so.
2004-12-08 02:57:05 +00:00
Mark Andrews
1c7cc2bc73 redo
1775.   [bug]           Only compile getnetent_r.c when threaded. [RT #13205]
2004-12-07 00:38:35 +00:00
Mark Andrews
77cb85c3ee update 2004-12-06 23:56:27 +00:00
Mark Andrews
2712b7b11a 1786. [port] AIX: libt_api needs to be taught to look for
T_testlist in the main executable (--with-libtool).
                        [RT #13239]
2004-12-06 22:55:22 +00:00
cvs2git
28721146d4 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-12-06 22:50:43 +00:00
Mark Andrews
e29836f06f 1775. [bug] Only compile getnetent_r.c when threaded. [RT #13205] 2004-12-06 21:53:25 +00:00
Mark Andrews
0d1bed53fe 1787. [port] HPUX: both "cc" and "gcc" need -Wl,+vnocompatwarnings. 2004-12-06 21:29:35 +00:00
Mark Andrews
218585d755 1785. [bug] libbind9.la/libbind9.so needs to link against
libisc.la/libisc.so.
2004-12-06 06:10:05 +00:00
Mark Andrews
d6d453973b Updated config.guess returns alphaev6-dec-osf5.1b not
alphaev6-dec-osf5.1.
2004-12-06 01:17:17 +00:00
Mark Andrews
c6b17972c5 1784. [cleanup] "libtool -allow-undefined" is the default.
Leave hooks in configure to allow it to be set
                        if needed in the future.
2004-12-05 23:00:47 +00:00
Mark Andrews
9831f25837 1782. [port] OSX: --with-libtool + --enable-libbind broke on
__evOptMonoTime.  [RT #13219]
2004-12-05 22:38:43 +00:00
Mark Andrews
82e2f86e0a 1781. [port] FreeBSD 5.3: set PTHREAD_SCOPE_SYSTEM. [RT #12810] 2004-12-04 06:53:54 +00:00
Mark Andrews
9b0b3a8d08 1783. [cleanup] We only need one copy of libtool.m4, ltmain.sh in the
source tree.
2004-12-03 02:56:39 +00:00
Mark Andrews
91766f1d92 1773. [bug] Fast retry on host / net unreachable. [RT #13153] 2004-12-03 02:09:33 +00:00
Mark Andrews
14b8778b50 1780. [bug] Update libtool to 1.5.10.
1779.   [port]          OSF 5.1: libtool didn't handle -pthread correctly.

Redo w/ fix from generic fix from libtool maintainer.
2004-12-02 23:22:08 +00:00
Mark Andrews
393551e440 1779. [port] OSF 5.1: libtool didn't handle -pthread correctly. 2004-12-01 04:50:44 +00:00
Mark Andrews
73f2c9eca6 1778. [port] HUX 11.11: fix broken IN6ADDR_ANY_INIT and
IN6ADDR_LOOPBACK_INIT macros.
2004-11-30 13:29:26 +00:00
Mark Andrews
0bf9b339c5 1777. [port] OSF 5.1: fix broken IN6ADDR_ANY_INIT and
IN6ADDR_LOOPBACK_INIT macros.
2004-11-30 06:53:37 +00:00
Mark Andrews
9782c0f694 1776. [port] Solaris 2.9: fix broken PTHREAD_MUTEX_INIT macro. 2004-11-30 06:00:56 +00:00
Mark Andrews
2a49a13a86 1774. [port] Aix: Silence compiler warnings / build failures.
[RT #13154]
2004-11-30 01:26:08 +00:00
Mark Andrews
68b5e21d8a 1774. [port] Aix: Silence compiler warnings / build failures.
[RT #13154]
2004-11-30 01:15:44 +00:00
Mark Andrews
ad0ec7c85a 1766. [bug] Update the master file timestamp on successful refresh
as well as the journal's timestamp. [RT# 13062]
2004-11-22 23:54:01 +00:00
Mark Andrews
aee13c00ab 1745. [bug] Dig/host/nslookup accept replies from link locals
regardless of scope if no scope was specified when
                        query was sent. [RT #12745]
2004-11-22 23:30:31 +00:00
Mark Andrews
eec486d28f 2.6. TXT records are no longer automatically split. 2004-11-22 22:33:09 +00:00
Mark Andrews
47ffd357ea 1770. [bug] named-checkconf failed to report missing a missing
file clause for rbt{64} master/hint zones. [RT#13009]
2004-11-22 05:02:41 +00:00
Mark Andrews
3c5addb38a 1767. [port] Builds on IPv6 platforms without IPv6 Advanced API
support for (struct in6_pktinfo) failed.  [RT #13077]
2004-11-18 21:31:16 +00:00
Mark Andrews
f858f26c2e 1769. [port] win32: change compiler flags /MTd ==> /MDd,
/MT ==> /MD.
2004-11-18 01:04:52 +00:00
Mark Andrews
6e8cf5d8db 1768. [bug] nsecnoexistnodata() could be called with a non-NSEC
rdataset. [RT #12907]
2004-11-17 23:53:10 +00:00
Mark Andrews
1168209ba3 1765. [bug] configure --with-openssl=auto failed. [RT #12937] 2004-11-11 00:37:45 +00:00
Mark Andrews
e5fc537f01 1761. [bug] 'rndc dumpdb' didn't report unassociated entries.
[RT #12971]
2004-11-10 22:32:40 +00:00
Mark Andrews
311f1f0c34 1762. [bug] isc_interfaceiter_create() could return ISC_R_SUCCESS
even when it failed. [RT #12995]
2004-11-10 22:22:49 +00:00
Mark Andrews
d337b85366 1759. [bug] Named failed to startup if the OS supported IPv6
but had no IPv6 interfaces configured. [RT #12942]
2004-11-10 22:13:56 +00:00
Mark Andrews
c18218935f 1754. [bug] We wern't always attempting to query the parent
server for the DS records at the zone cut.
                        [RT #12774]
2004-11-10 21:57:35 +00:00
Mark Andrews
cb210a330f 1760. [bug] Host / net unreachable was not penalising rtt
estimates. [RT #12970]
2004-11-10 21:48:01 +00:00
Mark Andrews
b89a927408 1764. [bug] dns_zone_replacedb failed to emit a error message
if there was no SOA record in the replacment db.
                        [RT #13016]
2004-11-09 22:17:17 +00:00
Mark Andrews
b6a4927a19 i1753. [bug] Don't serve a slave zone which has no NS records.
[RT #12894]
2004-10-26 02:08:43 +00:00
Mark Andrews
0f3b0945fb 1740. [bug] Replace rbt's hash algorithm as it performed badly
with certain zones. [RT #12729]
2004-10-25 01:36:07 +00:00
Mark Andrews
d9ddceacd1 1752. [port] Move isc_app_start() to after ns_os_daemonise()
as some fork() implementations unblock the signals
                        that are blocked by isc_app_start(). [RT #12810]
2004-10-25 00:42:54 +00:00
Mark Andrews
af3411965a 1749. [bug] 'check-names response ignore;' failed to ignore.
[RT #12866]
2004-10-21 01:53:53 +00:00
Mark Andrews
82f4e1f960 1742. [bug] Deleting all records at a node then adding a
previously existing record, in a single UPDATE
                        transaction, failed to leave / regenerate the
                        associated RRSIG records. [RT #12788]
2004-10-21 01:40:22 +00:00
Mark Andrews
91157ad69f 1751. [bug] --enable-getifaddrs failed under linux. [RT #12867] 2004-10-20 00:35:05 +00:00
Mark Andrews
b7d2104596 1750. [port] lib/bind/make/rules.in:subdirs was not bash friendly.
[RT #12864]
2004-10-20 00:14:47 +00:00
Mark Andrews
8b6ed4b044 regen 2004-10-18 02:33:10 +00:00
Mark Andrews
664095046a 1747. [bug] BIND 8 compatability: named/named-checkconf failed
to parse "host-statistics-max" in named.conf.
2004-10-17 23:19:51 +00:00
Mark Andrews
b4b63c1829 1742. [bug] If isc_taskmgr_create() was not able to create the
requested number of worker threads then destruction
                        of the manager would trigger an INSIST() failure.
                        [RT #12790]
2004-10-15 00:45:45 +00:00
Mark Andrews
0c22a8c216 1744. [bug] If tuple2msgname() failed to convert a tuple to
a name a REQUIRE could be triggered. [RT #12796]
2004-10-13 22:28:42 +00:00
Mark Andrews
720554c236 1741. [bug] Deleting all records at a node in a secure zone
using a update-policy grant failed. [RT #12787]
2004-10-12 22:04:47 +00:00
Mark Andrews
0621dbd390 1739. [bug] dns_rbt_deletetree() could incorrectly return
ISC_R_QUOTA.  [RT #12695]

1738.   [bug]           Enable overrun checking by default. [RT #12695]
2004-10-11 05:55:51 +00:00
Mark Andrews
c0250728f0 1725. [port] linux: update error message on interaction of threads,
capabilities and setuid support (named -u). [RT #12541]
2004-10-07 02:34:20 +00:00
Mark Andrews
49f155de0c Add credit:
DNSSEC validation code in dig coded by Olivier Courtay
(olivier.courtay@irisa.fr) for the IDsA project (http://idsa.irisa.fr).
2004-10-07 01:12:06 +00:00
Mark Andrews
a1c93e9e81 regen 2004-10-06 23:54:14 +00:00
Mark Andrews
4ab18504f2 1728. [doc] Update check-names documentation.
1727.   [bug]           named-checkzone: check-names support didn't match
                        documentation.
2004-10-06 05:37:40 +00:00
Mark Andrews
119537d5b7 spelling 2004-10-05 22:18:45 +00:00
Mark Andrews
5c76a2c1a8 1732. [bug] 'rrset-order name "*"' wasn't being applied to ".".
[RT #12467]
2004-10-05 04:38:30 +00:00
Mark Andrews
b912fbf2a9 1730. [port] Determine the length type used by the socket API.
[RT #12581]
2004-10-05 03:22:15 +00:00
Mark Andrews
142a2adacf 1731. [port] darwin: relax version test in ifconfig.sh.
[RT #12581]

1730.   [port]          Determine the length type used by the socket API.
                        [RT #12581]
2004-10-05 03:18:17 +00:00
Mark Andrews
985afb86eb 1724. [bug] Look for DNSKEY records with "dig +sigtrace".
[RT #12557]
2004-10-05 03:00:57 +00:00
Mark Andrews
263ed49ecd 1737. [bug] named failed if more that 16 masters were specified.
[RT #12627]
2004-10-05 02:52:26 +00:00
Mark Andrews
543a52a3af 1736. [bug] dst_key_fromnamedfile() could fail to read a
public key. [RT #12687]
2004-10-01 00:15:44 +00:00
Mark Andrews
9170ec032e 1735. [bug] 'dig +sigtrace' could die with a REQUIRE failure.
[RE #12688]
2004-09-30 23:58:53 +00:00
Mark Andrews
a633803768 1733. [bug] Return non-zero exit status on initial load failure.
[RT #12658]
2004-09-29 06:36:44 +00:00
Mark Andrews
e26b8589e5 1734. [cleanup] 'rndc-confgen -a -t' remove extra '/' in path.
[RT #12588]
2004-09-28 07:14:57 +00:00
Mark Andrews
ca92f19e88 Update error message. s/isc_socket_recv()/isc_socket_recv2()/ 2004-09-26 22:37:43 +00:00
Mark Andrews
22c089790b update 2004-09-25 00:05:27 +00:00
Mark Andrews
731d35485b newcopyrights 2004-09-24 23:47:03 +00:00
Mark Andrews
1f3b6c248d 1726. [port] aix5: add support for aix5. 2004-09-24 06:02:55 +00:00
cvs2git
4f176e74be This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-09-24 04:32:35 +00:00
Mark Andrews
b441635b9d 1723. [cleanup] Silence compiler warnings from t_tasks.c. [RT #12493] 2004-09-21 02:39:03 +00:00
Mark Andrews
42aa4502b6 cleanup 2004-09-21 01:13:45 +00:00
Mark Andrews
35f98e7d87 snap1 is not a formal release. backout release changes. 2004-09-21 01:03:58 +00:00
Mark Andrews
7a51fb0b92 newcopyrights 2004-09-20 23:50:40 +00:00
Mark Andrews
fa2f6186e3 9.3.1snap1 2004-09-20 04:17:33 +00:00
Mark Andrews
36f77a5d35 9.3.0 2004-09-20 01:18:20 +00:00
Mark Andrews
2db8e089b7 silence compiler 2004-09-17 13:32:37 +00:00
Mark Andrews
eef4a42dfd 9.3.0 2004-09-17 06:29:38 +00:00
Mark Andrews
a100bd958f silence compiler 2004-09-17 05:50:31 +00:00
Mark Andrews
cd783616cf 9.3.0 2004-09-17 01:29:16 +00:00
Mark Andrews
02c7bf8657 9.3.0 2004-09-17 01:08:12 +00:00
Mark Andrews
0d83d9a6ea silence compiler 2004-09-16 07:06:11 +00:00
Mark Andrews
cf44472ead make -j3 support 2004-09-16 05:12:55 +00:00
Mark Andrews
212cb3d9f4 1722. [bug] Don't commit the journal on malformed ixfr streams.
[RT #12519]

1721.   [bug]           Error message from the journal processing were not
                        always identifing the relevent journal. [RT #12519]
2004-09-16 04:57:02 +00:00
Mark Andrews
ecfe7fb287 1713. [port] linux: extend capset failure message to say:
please ensure that the capset kernel module is
                        loaded.  see insmod(8)
2004-09-16 02:50:04 +00:00
Mark Andrews
338b638de6 move the calculation of remaining 2004-09-16 02:14:14 +00:00
Mark Andrews
bf1bb3c1fe 1720. [bug] 'dig +chase' did not terminate on a RFC 2308 Type 1
negative response. [RT #12506]

1719.   [bug]           named was not correctly caching a RFC 2308 Type 1
                        negative response. [RT #12506]

1718.   [bug]           nsupdate was not handling RFC 2308 Type 3 negative
                        responses when looking for the zone / master server.
                        [RT #12506]
2004-09-16 02:12:19 +00:00
Mark Andrews
a555645b84 silence compiler warnings 2004-09-16 01:00:58 +00:00
Mark Andrews
3e9923a0b6 pullup
1684.   [port]          64 bit size_t issues / compiler warnings.
2004-09-16 00:57:35 +00:00
Mark Andrews
859b6e0a16 1717. [port] solaris: ifconfig.sh did not support Solaris 10.
"ifconfig.sh down" didn't work for Solaris 9.
2004-09-09 01:31:38 +00:00
Mark Andrews
59c9199491 bad descriptions s/dns_label_countlabels/dns_name_countlabels/ 2004-09-08 00:29:34 +00:00
Mark Andrews
0714717f6b clean up */dsset-*, */dlvset-* and ns2/dlv.db 2004-09-07 04:17:14 +00:00
Mark Andrews
7d2e3be688 1716. [doc] named.conf(5) was being installed in the wrong
location.  [RT# 12441]
2004-09-06 21:47:25 +00:00
Mark Andrews
d9ae701127 indenting 2004-09-06 06:24:24 +00:00
Mark Andrews
e301ab74d8 1714. [bug] dig/host/nslookup were only trying the first
address when a nameserver was specified by name.
                        [RT #12286]
2004-09-06 01:33:06 +00:00
Mark Andrews
2cff007a7c 1712. [bug] Missing FULLCHECK for "trusted-key" in dig. 2004-09-03 03:51:42 +00:00
Mark Andrews
a0df2e016f 1711. [func] 'rndc unfreeze' has been deprecated by 'rndc thaw'. 2004-09-03 03:43:32 +00:00
Mark Andrews
88690e92e7 libdns from 9.3 now has INTERFACE 20-29 reserved for it. 2004-09-02 02:40:32 +00:00
Mark Andrews
5491090043 update for 9.3.0rc4 2004-09-01 14:11:54 +00:00
Mark Andrews
df2272387e update for 9.3.0rc4 2004-09-01 07:53:37 +00:00
Mark Andrews
2b7681676d 9.3.0rc4 2004-09-01 07:29:40 +00:00
Mark Andrews
cc42aaa3f1 1709. [port] solaris: add SMF support from Sun. 2004-09-01 07:18:30 +00:00
Mark Andrews
62612c3fea 1708. [cleanup] Replaced dns_fullname_hash() with dns_name_fullhash()
for conformance to the name space convention.  Binary
                        backward compatibility to the old function name is
                        provided. [RT #12376]
2004-09-01 05:19:59 +00:00
Mark Andrews
41b1e05961 fix typo in unexecuted code 2004-09-01 04:32:18 +00:00
Mark Andrews
97468904f8 match startrecv() prototype to function. 2004-09-01 04:27:41 +00:00
Mark Andrews
a62a385b40 pullup:
1682.   [bug]           gethostby*_r() implementations that copied the return
                        pointer got NULL returned on success.
2004-09-01 02:03:07 +00:00
Mark Andrews
083f7974fa copyright 2004-08-30 00:50:11 +00:00
Mark Andrews
a4be4d232d use isc/print.c dates for lwres/print.c
use isc/print.h dates for lwres/print_p.c
2004-08-29 11:02:35 +00:00
Mark Andrews
d203827b51 newcopyrights 2004-08-28 23:47:25 +00:00
Mark Andrews
f4d66abe4b update for 9.3.0 2004-08-28 07:04:10 +00:00
Mark Andrews
ef68ab1f9c regen for 9.3.0 2004-08-28 06:51:18 +00:00
Mark Andrews
9ab0d979a0 1704. [port] lwres needed a snprintf() implementation for
platforms without snprintf().  Add missing
                        "#include <isc/print.h>". [RT #12321]
2004-08-28 06:27:23 +00:00
cvs2git
688f58fe99 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-28 06:20:15 +00:00
Mark Andrews
a4530fc707 1703. [bug] named would loop sending NOTIFY messages when it
failed to receive a response. [RT #12322]
2004-08-28 05:53:37 +00:00
Mark Andrews
619fb87062 1702. [bug] also-notify should not be applied to builtin zones.
[RT #12323]
2004-08-28 05:41:42 +00:00
Mark Andrews
de74c64cee style 2004-08-27 12:25:47 +00:00
Mark Andrews
2616fbc615 1706. [bug] 'rndc stop' failed to cause zones to be flushed
sometimes. [RT #12328]
2004-08-27 12:21:15 +00:00
Mark Andrews
772fa21568 cvs rdiff -r1.1972 -r1.1973 bind9/CHANGES
cvs rdiff -r1.3 -r1.4 bind9/contrib/sdb/ldap/INSTALL.ldap \
    bind9/contrib/sdb/ldap/README.ldap
cvs rdiff -r1.4 -r1.5 bind9/contrib/sdb/ldap/ldapdb.c
2004-08-27 00:12:59 +00:00
Mark Andrews
8794c0564b new draft 2004-08-26 02:32:47 +00:00
Mark Andrews
d7bb053acb 3833: Threat Analysis of the Domain Name System (DNS) 2004-08-25 00:53:50 +00:00
cvs2git
f5dffd8929 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-25 00:53:39 +00:00
Mark Andrews
9eeccf8f2d pullup:
1679.   [bug]           A bad length check was introduced by change #1661
                        in dns_ho.c.
2004-08-24 00:32:15 +00:00
Mark Andrews
c1da0e2631 update for 9.3.0 2004-08-23 09:39:29 +00:00
Tatuya JINMEI 神明達哉
1b49456e24 corrected the position of 3071 2004-08-23 07:05:29 +00:00
Mark Andrews
4e779fa7a5 1. 3071 is missing
2. use tab characters as the delimiter between the RFC number and the
   title for 3007 and 3008 (just for consistency with other entries)
2004-08-23 06:49:52 +00:00
Mark Andrews
e7130e341c 9.3.0 2004-08-23 06:44:02 +00:00
Mark Andrews
1f97281a3d 9.3.0 2004-08-23 06:24:35 +00:00
Mark Andrews
87dcc3250a regen 2004-08-22 23:39:05 +00:00
Mark Andrews
fe8356d7e7 regen 2004-08-21 07:35:01 +00:00
Mark Andrews
132d5f743c 1701. [doc] A minimal named.conf man page. 2004-08-21 06:22:40 +00:00
Mark Andrews
e911214c1c newcopyrights 2004-08-20 23:47:44 +00:00
Mark Andrews
0da1f58e0e 1701. [doc] A minimal named.conf man page. 2004-08-20 22:02:38 +00:00
cvs2git
b0573e1cfd This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-20 21:33:16 +00:00
Mark Andrews
1c76e0d937 update to reflect current lab systems 2004-08-20 05:58:09 +00:00
Mark Andrews
4945c1cdb1 regen 2004-08-20 02:29:40 +00:00
Mark Andrews
033e01473b close some open <varlistentry>s 2004-08-20 01:12:47 +00:00
Mark Andrews
ffd203bb9d 1699. [bug] dnssec-signzone can generate "not exact" errors
when resigning. [RT #12281]
2004-08-20 00:40:38 +00:00
Mark Andrews
e63800abc2 newcopyrights 2004-08-19 23:47:03 +00:00
Mark Andrews
fa21a0dbfc new draft 2004-08-19 23:05:17 +00:00
cvs2git
e325985f07 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-19 22:58:46 +00:00
Mark Andrews
97a2abb0d8 update for 9.3 2004-08-19 05:10:41 +00:00
Mark Andrews
33bcefcf23 copyright 2004-08-19 04:41:13 +00:00
Mark Andrews
82bf816b9b 1700. [func] nslookup is no longer to be treated as deprecated.
Remove "deprecated" warning message.  Add man page.
2004-08-19 02:21:20 +00:00
Mark Andrews
49bbbb34d8 1700. [func] nslookup is no longer to be treated as deprecated.
Remove "deprecated" warning message.  Add man page.
2004-08-18 23:25:58 +00:00
Mark Andrews
731edbdb78 3845: DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format 2004-08-18 00:46:09 +00:00
cvs2git
2824218aa3 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-18 00:39:41 +00:00
cvs2git
4d885d9bc5 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-08-18 00:39:40 +00:00
Mark Andrews
1e51784367 1677. [bug] IN6_IS_ADDR_MC_NODELOCAL() addresses can also have
symbolic scope id's.
2004-08-17 05:53:11 +00:00
Mark Andrews
00318e5b86 add docbook 2004-08-16 23:58:57 +00:00
Mark Andrews
99b37788b8 Q: I don't get RRSIG's returned when I use "dig +dnssec". 2004-08-16 23:42:41 +00:00
Mark Andrews
92f8b74a9f add dnssec-enable note 2004-08-16 23:40:36 +00:00
Mark Andrews
60e22227a3 regen 2004-08-16 04:44:20 +00:00
Mark Andrews
9eea6eab04 1698. [doc] Use reserved IPv6 documentation prefix. 2004-08-16 00:55:29 +00:00
Mark Andrews
4c0c0ffccd regen 2004-08-15 09:28:09 +00:00
Tatuya JINMEI 神明達哉
2e8f397f9d s/6 to 4/Dual-stack/ [RT #12258] 2004-08-15 04:49:47 +00:00
Tatuya JINMEI 神明達哉
ab1a637980 1697. [bug] xxx-source{,-v6} was not effective when it
specified one of listening addresses and a
			different port than the listening port. [RT #12257]
2004-08-15 04:40:08 +00:00
Mark Andrews
efe29eaf0d regen 2004-08-13 23:26:46 +00:00
Tatuya JINMEI 神明達哉
40bc77679a listen-on-v6 is an "option". 2004-08-12 08:31:06 +00:00
Mark Andrews
e19cca9381 1696. [bug] dnssec-signzone failed to clean out nodes that
consisted of only NSEC and RRSIG records.
                        [RT #12154]
2004-08-11 08:56:05 +00:00
Mark Andrews
36412cce7b update 9.3.0rc3 2004-08-11 06:43:58 +00:00
Mark Andrews
4ab7b6064d update for 9.3.0rc3 2004-08-11 06:35:18 +00:00
Mark Andrews
27c6f493b6 9.3.0rc3 2004-08-11 06:19:00 +00:00
Tatuya JINMEI 神明達哉
e1192b8a00 comment wording / style nits. 2004-08-10 04:56:23 +00:00
Tatuya JINMEI 神明達哉
74a31071b4 corrected the RFC number for the ipv6 basic API. 2004-08-10 04:28:15 +00:00
Mark Andrews
3cfd873aae pullup:
1676.   [port]          Solaris 8 has if_nametoindex().
2004-08-10 02:23:42 +00:00
Mark Andrews
0f04093e81 pullup:
1676.   [port]          Solaris 8 has if_nametoindex().

1675.   [bug]           match any returned scope when a scope is not specified
                        on non global scope address in resolv.conf.

1674.   [bug]           getaddrinfo() failed to set sin6_scope_id correctly
                        on some platforms.
2004-08-10 02:19:56 +00:00
Mark Andrews
e41c76e599 improve dns_name_getlabelsequence() description. 2004-08-10 00:41:39 +00:00
Mark Andrews
2f595bfb3e 1695. [bug] DS records when forwarding require special handling.
[RT #12133]
2004-08-10 00:40:41 +00:00
Mark Andrews
82a0ba5ab8 new draft 2004-08-10 00:05:43 +00:00
Tatuya JINMEI 神明達哉
afd17401c8 minor editorial nits. 2004-08-02 04:07:03 +00:00
Mark Andrews
e842d8d4e7 regen 2004-08-01 23:50:31 +00:00
Tatuya JINMEI 神明達哉
460b4a11f6 revised wording a bit in the previous change. 2004-07-29 23:00:36 +00:00
Tatuya JINMEI 神明達哉
8bdc84dc5e updated IPv6 API issues. 2004-07-29 22:39:35 +00:00
Mark Andrews
388c4bdfc1 1693. [bug] max-journal-size was not effective for master zones
with ixfr-from-differences set. [RT# 12024]
2004-07-29 00:17:10 +00:00
Mark Andrews
e91f43a9c4 1694. [bug] Report if the builtin views of "_default" / "_bind"
are defined in named.conf. [RT #12023]
2004-07-29 00:08:08 +00:00
Mark Andrews
529edb0210 pullup:
1672.   [bug]           libbind: failed to print unknown types and classes
                        above 4095. didn't correctly print unknown records
                        with zero length.
2004-07-28 20:16:46 +00:00
Mark Andrews
1a8687fd4c 1692. [bug] Don't set -I, -L and -R flags when libcrypto is in
/usr/lib. [RT #11971]
2004-07-23 04:43:17 +00:00
Mark Andrews
5be0522f56 1690. [bug] Delay detaching view from the client until UPDATE
processing completes when shutting down. [RT #11714]
2004-07-23 02:56:52 +00:00
Mark Andrews
4d3e8ffb6c 1691. [bug] sdb's attachversion was not complete. [RT #11990] 2004-07-22 04:01:58 +00:00
Mark Andrews
164771617c 1689. [bug] DNS_NAME_TOREGION() and DNS_NAME_SPLIT() macros
contained gratuitous semicolons. [RT #11707]
2004-07-22 00:18:58 +00:00
Mark Andrews
179e89211d 1687. [bug] Race condition in dispatch. [RT #10272] 2004-07-21 00:49:28 +00:00
Mark Andrews
c7ea37aa22 new draft 2004-07-20 23:50:00 +00:00
cvs2git
e9cca63f87 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-07-20 23:48:48 +00:00
Mark Andrews
c723ba8b3a new draft 2004-07-20 23:32:30 +00:00
Mark Andrews
26ea2735a1 1686. [bug] Named sent a extraneous NOTIFY when it received a
redundant UPDATE request. [RT #11943]
2004-07-20 07:39:13 +00:00
Mark Andrews
a53261756d 1688. [bug] LDFLAGS was not supported. 2004-07-20 07:02:00 +00:00
Mark Andrews
3c05e29097 new draft 2004-07-20 02:54:59 +00:00
cvs2git
58fd248b15 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-07-20 02:51:29 +00:00
Mark Andrews
6a40cbcdb1 pullup:
1669.   [bug]           Only test the gcc minor version when the major version
                        is known.
2004-07-19 05:53:53 +00:00
Rob Austein
9318629613 1685. [bug] Change #1679 loop tests weren't quite right. 2004-07-02 21:48:27 +00:00
Mark Andrews
dbfaa5fbff 9.3.0rc2 (not 9.3.0rc1) 2004-07-01 06:09:08 +00:00
Mark Andrews
6b97392538 indenting 2004-07-01 04:51:15 +00:00
Mark Andrews
6f9aa70c54 update for 9.3.0rc2 2004-07-01 04:50:26 +00:00
Mark Andrews
e0f4189504 pullup:
1668.   [port]          solaris: allow applications compiling against
                        libbind to be compiled with "cc -Xc".
2004-07-01 04:43:41 +00:00
Mark Andrews
54b6e3478a update for 9.3.0rc2 2004-07-01 03:29:02 +00:00
Mark Andrews
3778ee3623 9.3.0rc2 2004-07-01 02:11:02 +00:00
Mark Andrews
3439d14ec1 silence compiler 2004-07-01 02:01:34 +00:00
Mark Andrews
8858d20a40 1682. [port] Update configure test for (long long) printf format.
[RT #5066]
2004-07-01 00:19:53 +00:00
Mark Andrews
47ea6305d7 1683. [bug] dig +sigchase could leak memory. [RT #11445] 2004-06-30 23:57:52 +00:00
Mark Andrews
33496808c3 1681. [bug] Only set SO_REUSEADDR when a port is specified in
isc_socket_bind(). [RT #11742]
2004-06-30 23:34:55 +00:00
Mark Andrews
15a6bc40e5 order should be signed. 2004-06-30 14:13:05 +00:00
Mark Andrews
fbe0fff062 new draft 2004-06-29 23:41:20 +00:00
cvs2git
84ae9f839a This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-06-29 23:40:08 +00:00
Mark Andrews
68212c7aaa 1675. [bug] named would sometimes add extra NSEC records to
the authority section.
2004-06-29 01:00:56 +00:00
Mark Andrews
64b02b79ee change #1679 still left case where address could not be tried.
fix loop termination condition to ensure that all finds are tried.
2004-06-27 01:29:51 +00:00
Mark Andrews
7c2c98f560 1679. [bug] When there was a single nameserver with multiple
addresses for a zone not all addresses were tried.
                        [RT #11706]
2004-06-25 04:41:24 +00:00
Mark Andrews
fe085924a0 pullup:
document RES_DEBUG2 to that it not assigned.
2004-06-25 00:41:05 +00:00
Mark Andrews
f39e3592c0 pullup:
1665.   [port]          getnameinfo() was broken on machines with 8 octet
                        longs.
2004-06-25 00:35:00 +00:00
Mark Andrews
8650bde812 1678. [bug] RRSIG should use TYPEXXXXX for unknown types. 2004-06-24 00:58:06 +00:00
Mark Andrews
bd390a552a regen 2004-06-23 09:11:02 +00:00
Mark Andrews
d522299a1c 1677. [bug] dig: +aaonly didn't work, +aaflag undocumented. 2004-06-23 04:19:41 +00:00
Mark Andrews
af43d1d890 1674. [port] linux: increase buffer size used to scan
/proc/net/if_inet6.
2004-06-22 04:40:23 +00:00
Mark Andrews
f2801ac1de add a explict dependancy for interfaceiter.@O@. 2004-06-22 02:48:36 +00:00
Mark Andrews
7d8e34f866 1673. [port] linux: issue a error messages if IPv6 interface
scans fails.
2004-06-22 02:10:48 +00:00
Mark Andrews
fda92f1127 1672. [cleanup] Tests which only function in a threaded build
now return R:THREADONLY (rather than R:UNTESTED)
                        in a non-threaded build.
2004-06-21 06:58:02 +00:00
Mark Andrews
1b6cc725ef 1671. [contrib] queryperf: add NAPTR to the list of known types. 2004-06-21 00:45:30 +00:00
Mark Andrews
f7e0111470 1670. [func] Log UPDATE requests to slave zones without an acl as
"disabled" at debug level 3. [RT# 11657]
2004-06-21 00:42:42 +00:00
Rob Austein
bf2aaf77d2 1668. [bug] DIG_SIGCHASE was making bin/dig/host dump core. 2004-06-19 02:30:12 +00:00
Mark Andrews
6f505c64f2 1667. [port] linux: not all versions have IF_NAMESIZE. 2004-06-19 01:03:38 +00:00
Mark Andrews
7e999daec5 copy migration docs
don't make dnssec-signkey and dnssec-makekeyset.
2004-06-18 05:00:32 +00:00
Mark Andrews
2e123bfca2 1666. [bug] The optional port on hostnames in dual-stack-servers
was being ignored.
2004-06-18 04:39:48 +00:00
Mark Andrews
7cb43ccf72 1663. [func] Look for OpenSSL by default. 2004-06-18 01:37:55 +00:00
Mark Andrews
9f982da977 1661. [bug] Restore dns_name_concatenate() call in
adb.c:set_target().  [RT #11582]
2004-06-18 01:22:39 +00:00
Mark Andrews
5770800ff6 1660. [bug] win32: connection_reset_fix() was being called
unconditionally.  [RT #11595]
2004-06-18 01:15:32 +00:00
Mark Andrews
b93af53973 wording 2004-06-17 01:34:48 +00:00
Rob Austein
c292a1436c nsupdate needed KEY for SIG(0), not DNSKEY. 2004-06-17 01:00:38 +00:00
Mark Andrews
055a366fcb 1662. [bug] Change #1658 failed to one use of 'type' to 'keytype'. 2004-06-16 01:05:01 +00:00
Mark Andrews
1510fd627c 9.3.0rc1 2004-06-11 03:36:12 +00:00
Mark Andrews
8b3ae62deb update for 9.3.0rc1 2004-06-11 03:32:36 +00:00
Mark Andrews
f6dc4df155 update for 9.3.0rc1 2004-06-11 03:05:39 +00:00
Mark Andrews
674f96f3b4 regen 2004-06-11 02:32:50 +00:00
Mark Andrews
d6c44967f2 1659. [cleanup] Cleanup some messages that were referring to KEY vs
DNSKEY, NXT vs NSEC and SIG vs RRSIG.

1658.   [func]          Update dnssec-keygen to default to KEY for HMAC-MD5
                        and DH.  Tighten which options apply to KEY and
                        DNSKEY records.
2004-06-11 01:17:36 +00:00
Mark Andrews
fbcc4dd6c2 1655. [bug] Logging multiple versions w/o a size was broken.
[RT #11446]
2004-06-11 00:35:38 +00:00
Mark Andrews
98c575983b 1654. [bug] isc_result_totext() contained array bounds read
error.

1653.   [func]          Add key type checking to dst_key_fromfilename(),
                        DST_TYPE_KEY should be used to read TSIG, TKEY and
                        SIG(0) keys.

1652.   [bug]           TKEY still uses KEY.
2004-06-11 00:31:01 +00:00
Mark Andrews
6284d04192 1657. [doc] ARM: document query log output.
1656.   [doc]           Update DNSSEC description in ARM to cover DS, NSEC
                        DNSKEY and RRSIG.  [RT #11542]
2004-06-11 00:21:04 +00:00
Mark Andrews
b5faf6d860 update 2004-06-09 01:40:18 +00:00
Mark Andrews
5c64ae4fc7 consolidate commits 2004-06-08 07:07:30 +00:00
Mark Andrews
d183bb19d5 new draft 2004-06-08 07:06:57 +00:00
cvs2git
cd69f9a23b This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-06-08 06:50:24 +00:00
Mark Andrews
d6a5247b1d bind9-users -> bind-users 2004-06-08 00:18:54 +00:00
Mark Andrews
81756b76e0 1651. [bug] dig: process multiple dash options.
1650.   [bug]           dig, nslookup: flush standard out after each command.
2004-06-07 03:56:25 +00:00
Mark Andrews
0d3a13fc3a 1647. [bug] It was possible trigger a INSIST when chasing a DS
record that required walking back over a empty node.
                        [RT #11445]
2004-06-07 03:24:57 +00:00
Mark Andrews
0e0bcafc6f regen 2004-06-04 05:39:11 +00:00
Mark Andrews
a61a8d4c49 1649. [bug] Silence "unexpected non-minimal diff" message.
[RT #11206]
2004-06-04 03:44:45 +00:00
Mark Andrews
990e925daf 1644. [bug] Update the journal modification time after a
sucessfull refresh query. [RT #11436]
2004-06-04 02:41:45 +00:00
Mark Andrews
690fbd74af 1648. [func] Update dnssec-lookaside named.conf syntax to support
multiple dnssec-lookaside namespaces (not yet
                        implemented).
2004-06-04 02:33:01 +00:00
Mark Andrews
a11c9a1375 1646. [bug] win32: logging file versions didn't work with
non-UNC filenames.  [RT#11486]
2004-06-04 02:19:09 +00:00
Mark Andrews
9430e4f3ef regen 2004-06-03 05:35:50 +00:00
Mark Andrews
ce15197a90 linux capset 2004-06-03 05:07:31 +00:00
Mark Andrews
24b2306e1c res_servicenumber returns -1 on error. 2004-06-03 04:44:48 +00:00
Mark Andrews
82ac097a65 don't compare unsigned w/ <= 0. 2004-06-03 04:40:16 +00:00
Mark Andrews
d986287bfb update -b usage 2004-06-03 04:20:23 +00:00
Mark Andrews
63f7f42335 make sure executable files are executable. 2004-06-03 02:52:00 +00:00
Mark Andrews
71ec9d45ba update corpauthor 2004-06-03 02:25:00 +00:00
Mark Andrews
a5c92ceae0 645. [bug] named could trigger a REQUIRE failure if multiple
masters with keys are specified.
2004-05-29 00:01:17 +00:00
Mark Andrews
4c7910ecc0 1643. [bug] dns_db_closeversion() could leak memory / node
references. [RT #11163]
2004-05-23 11:07:23 +00:00
Mark Andrews
00d0f780bb regen 2004-05-21 08:25:57 +00:00
Mark Andrews
485dea1234 1642. [port] Support OpenSSL implementations which don't have
DSA support. [RT #11360]
2004-05-21 08:24:05 +00:00
Mark Andrews
745c964410 regen 2004-05-20 02:26:01 +00:00
Mark Andrews
b079d97775 1641. [bug] Update the check-names description in ARM. [RT #11389] 2004-05-20 00:22:30 +00:00
Mark Andrews
856fb57ba8 Temporarially disable dnssec-lookaside-validation test for 9.3.0beta4
To be re-enabled post 9.3.0beta4.
2004-05-18 03:06:24 +00:00
Mark Andrews
f66d610f60 include <sys/param.h> for NetBSD 2004-05-18 01:39:20 +00:00
Mark Andrews
fad39fcec4 mfc71.dll and msvcr71.dll correspond to _MSC_VER 1310 (Wesley Griffin) 2004-05-18 01:20:04 +00:00
Mark Andrews
55ad8514a0 9.3.0beta4 2004-05-17 13:28:21 +00:00
Mark Andrews
31099842b7 update for 9.3.0beta4 2004-05-17 13:21:33 +00:00
Mark Andrews
e95c5af922 README.idnkit got lost 2004-05-17 13:20:43 +00:00
Mark Andrews
d5cb173577 update for 9.3.0beta4 2004-05-17 13:04:37 +00:00
Mark Andrews
b40abaff47 do not install dnssec-makekeyset and dnssec-signkey. 2004-05-17 10:13:12 +00:00
Mark Andrews
0f4fd10c1f Install MFC71.DLL and MSVCR71.DLL if _MSC_VER is 1400 2004-05-17 10:10:27 +00:00
Mark Andrews
4f5ad6b394 pullup:
1661.   [cleanup]       indiscriminate use strlcat/strlcpy make auditing
                        harder.
2004-05-17 07:48:56 +00:00
Mark Andrews
480c310b02 1634. [bug] named didn't supply a useful error message when it
detected duplicate views.  [RT #11208]
2004-05-17 05:58:38 +00:00
Mark Andrews
ce7ab2f050 1640. [bug] win32: isc_socket_cancel(ISC_SOCKCANCEL_ACCEPT) was
incorrectly closing the socket.  [RT #11291]
2004-05-17 03:26:50 +00:00
Mark Andrews
6ed4fc674a LIBTOO_MODE_INSTALL -> LIBTOOL_MODE_INSTALL 2004-05-16 00:16:55 +00:00
Tatuya JINMEI 神明達哉
bb91e37a91 1629. [func] dig now supports IPv6 scoped addresses with the
extended format in the local-server part. [RT #8753]

(pull down to 9.3)
2004-05-15 03:46:13 +00:00
Mark Andrews
e36d757de1 newcopyrights 2004-05-14 23:47:35 +00:00
Mark Andrews
b9923fe96a DVL -> DLV 2004-05-14 05:59:53 +00:00
Mark Andrews
480d13ecad 1638. [bug] "ixfr-from-differences" could generate a REQUIRE
failure if the journal open failed. [RT #11347]
2004-05-14 05:27:47 +00:00
Mark Andrews
065559d47b 1639. [func] Initial dlv system test. 2004-05-14 05:20:52 +00:00
Mark Andrews
c95fa7d1d8 1606. [bug] DVL insecurity proof was failing.
1605.   [func]          New dns_db_find() option DNS_DBFIND_COVERINGNSEC.
2004-05-14 05:06:42 +00:00
cvs2git
9725add14d This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-05-14 04:58:25 +00:00
Mark Andrews
a8efabedaf 1636. [bug] The dump done callback could get ISC_R_SUCCESS even if
a error had occured.  The database version no longer
                        matched the version of the database that was dumped.
2004-05-14 01:18:10 +00:00
Mark Andrews
c75e60d409 1637. [bug] Node reference leak on error in addnoqname(). 2004-05-14 01:16:08 +00:00
Mark Andrews
90af381fa5 move cleanup of in_roothints earlier to make it easier to detect reference
count mismatches.
2004-05-14 01:03:44 +00:00
Mark Andrews
76cdd6db55 1635. [bug] Memory leak on error in query_addds(). 2004-05-14 00:59:54 +00:00
Mark Andrews
d5c2ed9bf4 newcopyrights 2004-05-13 23:47:53 +00:00
Tatuya JINMEI 神明達哉
47f1bd51fb 1630. [contrib] queryperf: add support for IPv6 transport.
(pull down to 9.3)
2004-05-13 05:49:30 +00:00
cvs2git
6183c3faf8 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-05-12 07:06:43 +00:00
Mark Andrews
8a0ec29c91 1633. [bug] named should return NOTIMP to update requests to a
slaves without a allow-update-forwarding acl specified.
                        [RT #11331]
2004-05-12 06:38:46 +00:00
Mark Andrews
d6f8a2e0d1 1632. [bug] nsupdate failed to send prerequisite only UPDATE
messages. [RT #11288]
2004-05-12 04:47:16 +00:00
Mark Andrews
39eb302b25 regen 2004-05-12 02:29:01 +00:00
Mark Andrews
92e8ae81bc refer to transfer-source and notify-source in query-source description. 2004-05-12 02:06:20 +00:00
Mark Andrews
461d10628a 1631. [bug] dns_journal_compact() could sometimes corrupt the
journal. [RT #11124]
2004-05-11 22:23:17 +00:00
Mark Andrews
bca2c316ad 1628. [bug] Typo in Compaq Trucluster support. [RT# 11264] 2004-05-06 03:19:40 +00:00
Mark Andrews
d745f4f425 newcopyrights 2004-05-05 23:47:58 +00:00
Mark Andrews
44058ba2e1 1625. [bug] named failed to load/transfer RFC2535 signed zones
which contained CNAMES. [RT# 11237]
2004-05-05 01:32:17 +00:00
Mark Andrews
1ac9889b58 silence compiler punned warning (adjust signed/unsigned chars). 2004-05-04 03:27:47 +00:00
Mark Andrews
39d246bd28 silence compiler warning (cast to long and use %ld) 2004-05-04 03:19:42 +00:00
Mark Andrews
1a36458df2 1627. [bug] win32: sockets were not being closed when the
last external reference was removed. [RT# 11179]
2004-05-04 00:06:10 +00:00
Mark Andrews
5c7c4ee110 regen 2004-05-03 10:49:33 +00:00
Mark Andrews
be6c54c7c2 1626. [bug] --enable-getifaddrs was broken. [RT#11259] 2004-05-03 10:47:32 +00:00
Mark Andrews
cb9d5a842e windows doesn't have strlcat/strlcpy 2004-04-29 05:12:04 +00:00
Mark Andrews
42e872f679 9.3.0beta3 2004-04-29 03:23:40 +00:00
Mark Andrews
22a4d7c27d 1624. [bug] zonemgr_putio() call should be locked. [RT# 11163] 2004-04-29 01:45:23 +00:00
Mark Andrews
dce4b8574c 1622. [func] probe the system to see if IPV6_(RECV)PKTINFO is
available, and suppress wildcard binding if not.

1621.   [bug]           match-destinations did not work for IPv6 TCP queries.
                        [RT# 11156]
2004-04-29 01:31:23 +00:00
Mark Andrews
2295b58a95 1623. [bug] A serial number of zero was being displayed in the
"sending notifies" log message when also-notify was
                        used. [RT #11177]
2004-04-28 04:23:19 +00:00
Mark Andrews
24132493c8 1620. [func] When loading a zone report if it is signed. [RT #11149] 2004-04-28 04:06:50 +00:00
Mark Andrews
7b964c115e pullup:
decunix/ibm: gethostbyname_r() only supported a small number of addresses.
2004-04-22 03:32:06 +00:00
Mark Andrews
ee38b7e417 1612. [bug] check-names at the option/view level could trigger
an INSIST. [RT# 11116]
2004-04-20 14:12:10 +00:00
Mark Andrews
47536dfd8a 1619. [bug] Missing ISC_LIST_UNLINK in end_reserved_dispatches().
[RT# 11118]
2004-04-20 07:10:33 +00:00
Mark Andrews
dc151b15e5 1616. [compat] Ensure that named's version is visible in the core
dump. [RT #11127]
2004-04-20 06:53:26 +00:00
Mark Andrews
ff5b6141c3 1613. [bug] Builds would fail on machines w/o a if_nametoindex().
Missing #ifdef ISC_PLATFORM_HAVEIFNAMETOINDEX/#endif.
                        [RT #11119]
2004-04-20 06:46:53 +00:00
Mark Andrews
22cf6188e5 silence compiler warning 2004-04-19 23:41:33 +00:00
Mark Andrews
d681f7d69d 1614. [port] win32: silence resource limit messages. [RT# 11101] 2004-04-19 23:16:07 +00:00
Mark Andrews
d7e0d2e0bb 1618. [bug] Fencepost errors in dns_name_ishostname() and
dns_name_ismailbox() could trigger a INSIST().
2004-04-19 21:55:38 +00:00
Mark Andrews
d2d1019a7c 1617. [port] win32: VC++ 6.0 support. 2004-04-19 06:39:56 +00:00
Mark Andrews
60d3a4d5d0 1615. [port] Define ISC_SOCKADDR_LEN_T based on _BSD_SOCKLEN_T_ if
it is defined.
2004-04-19 03:05:22 +00:00
Mark Andrews
e4bcd6ff6c regen 2004-04-16 02:39:18 +00:00
Mark Andrews
69b34284dc 1600. [bug] Duplicate zone pre-load checks were not case
insensitive.

1599.   [bug]           Fix memory leak on error path when checking named.conf.

1598.   [func]          Specify that certain parts of the namespace must
                        be secure (dnssec-must-be-secure).
2004-04-15 23:56:34 +00:00
Mark Andrews
cb9767ed89 1611. [bug] solaris: IPv6 interface scanning failed to cope with
no active IPv6 interfaces.
2004-04-15 07:03:50 +00:00
Mark Andrews
43b3490ad6 1610. [bug] On dual stack machines "dig -b" failed to set the
address type to be looked up with "@server".
                        [RT #11069]
2004-04-15 06:49:09 +00:00
Mark Andrews
d6292562ab #include <time.h>. 2004-04-15 05:34:57 +00:00
Mark Andrews
46278b601d hide ((isc_event_t **) (void *)) cast using a macro, ISC_EVENT_PTR. 2004-04-15 02:10:41 +00:00
Mark Andrews
7a6a3a8a46 Attempt to disable parallel processing. 2004-04-15 00:34:52 +00:00
Mark Andrews
167a37e059 silence compiler warning 2004-04-14 05:12:25 +00:00
Mark Andrews
26d17c7e8a add description for RES_NO_NIBBLE2 2004-04-13 06:53:20 +00:00
Mark Andrews
67746ee333 remove spurious tabs 2004-04-13 05:47:32 +00:00
Mark Andrews
d7fd0fb77d update for 9.3.0beta2 2004-04-13 05:19:07 +00:00
Mark Andrews
122c5ab9bb decunix prototype mismatch
decunix silence compiler warning.
2004-04-13 04:59:29 +00:00
Mark Andrews
2168d2dbd6 regen 2004-04-13 04:11:04 +00:00
Mark Andrews
477c65cb84 9.3.0beta2 2004-04-13 04:00:20 +00:00
Mark Andrews
2d2dab5584 update for 9.3.0beta2 2004-04-13 03:54:46 +00:00
Mark Andrews
5c958ae243 stray nbints reference 2004-04-13 03:24:40 +00:00
Mark Andrews
f3242d8830 9.3.0beta2 2004-04-13 03:22:31 +00:00
Mark Andrews
94ce2c22cc 1609. [func] dig now has support to chase DNSSEC signature chains.
Requires -DDIG_SIGCHASE=1 to be set in STD_CDEFINES.
2004-04-13 03:00:07 +00:00
Mark Andrews
ab6495cba2 1608. [func] dig and host now accept -4/-6 to select IP transport
to use when making queries.
2004-04-13 01:26:26 +00:00
Mark Andrews
a6317dcde6 #ifdef EPFNOSUPPORT 2004-04-12 06:54:59 +00:00
Mark Andrews
35a88fcf64 add missing entry points 2004-04-12 06:52:25 +00:00
Mark Andrews
9b6c8fed04 1601. [bug] Silence spurious warning 'both "recursion no;" and
"allow-recursion" active' warning from view "_bind".
                        [RT# 10920]
2004-04-10 05:02:53 +00:00
Mark Andrews
5884fb2b14 1602. [bug] Logging to a file failed unless a size was specified.
[RT# 10925]
2004-04-10 04:31:40 +00:00
Mark Andrews
0278d417f6 1603. [bug] nsupdate: set interactive based on isatty().
[RT# 10929]
2004-04-10 04:09:22 +00:00
Mark Andrews
eb0c0c16b4 pullup from BIND 8
1657.   [bug]           gmtime_r() called incorrectly.
2004-04-10 03:43:16 +00:00
Mark Andrews
179229b746 add missing double-quote 2004-04-10 02:51:10 +00:00
Mark Andrews
53d5ede874 1607. [bug] dig, host and nslookup were still using random()
to generate query ids. [RT# 11013]
2004-04-08 01:27:01 +00:00
Mark Andrews
891a465e1c 1594. [bug] 'rndc dumpdb' could prevent named from answering
queries while the dump was in progress.  [RT #10565]
2004-04-08 00:12:14 +00:00
Mark Andrews
264c56e370 1604. [bug] A xfrout_ctx_create() failure would result in
xfrout_ctx_destroy() being called with a
                        partially initialized structure.
2004-04-02 06:08:17 +00:00
Mark Andrews
8f20d06637 1593. [bug] rndc should return "unknown command" to unknown
commands. [RT# 10642]
2004-03-22 01:52:23 +00:00
Mark Andrews
5624a0d304 Update description: ISC_R_CONTINUE -> DNS_R_CONTINUE 2004-03-19 05:00:49 +00:00
Mark Andrews
d0296ea93e add RT # 2004-03-18 03:53:08 +00:00
Mark Andrews
8e3946873d silence compiler warning 2004-03-17 05:29:54 +00:00
Mark Andrews
38968e54aa silence compiler 2004-03-17 02:39:13 +00:00
Mark Andrews
e48e01efe7 silence compiler warning 2004-03-17 02:38:19 +00:00
Mark Andrews
7e2f688e8b silence compiler warnings 2004-03-17 01:49:42 +00:00
Mark Andrews
c41aad9f25 silence compiler warnings 2004-03-17 01:13:36 +00:00
Mark Andrews
592458b7af silence compiler warnings 2004-03-17 00:29:52 +00:00
Michael Graff
6edd905eb1 make this work on solaris 2.9 as well 2004-03-16 19:23:29 +00:00
Mark Andrews
fb3c75e885 silence compiler warning 2004-03-16 12:57:17 +00:00
Mark Andrews
987bab7061 silence compiler warning 2004-03-16 12:38:15 +00:00
Mark Andrews
d70759c1f8 silence compiler 2004-03-16 12:34:20 +00:00
Mark Andrews
0861dafe7c silence compiler warnings 2004-03-16 05:50:25 +00:00
Mark Andrews
82da683804 silence compiler 2004-03-16 05:02:31 +00:00
Mark Andrews
058e675526 remove extranous semi-colons 2004-03-16 03:18:02 +00:00
Mark Andrews
6834db3bc7 add #ifdef/#endif 2004-03-16 02:19:19 +00:00
Mark Andrews
de762ee281 libbind linux move/fix prototypes for getnetgrent(), setnetgrent(),
endnetgrent(), innetgr() and getnetgrent_r().
2004-03-16 01:44:12 +00:00
Mark Andrews
2d0bb0aa6a reverse removal of glibc prototype changes 2004-03-16 00:40:47 +00:00
Mark Andrews
4d7d1933cb add -4 and -6 to usage. 2004-03-15 12:27:47 +00:00
Mark Andrews
fddf3abf09 netscope 2004-03-15 09:27:22 +00:00
Mark Andrews
a2313bffb7 update for 9.3.0beta1 2004-03-15 06:19:26 +00:00
Mark Andrews
e2a6969b10 reverse copyrights 2004-03-15 06:00:08 +00:00
Mark Andrews
23972a30cf reverse copyright statements 2004-03-15 05:50:30 +00:00
Mark Andrews
0cf87a5c42 update 2004-03-15 05:08:42 +00:00
Mark Andrews
2e7c2d8172 9.3.0beta1 2004-03-15 03:06:21 +00:00
Mark Andrews
9dc324422c newcopyrights 2004-03-15 03:01:42 +00:00
Mark Andrews
5c798d7ba3 add 2004-03-15 02:56:04 +00:00
Mark Andrews
b3bfcff17b regen 2004-03-15 02:51:52 +00:00
Rob Austein
9da4f455f2 Update draft and rfc collection. 2004-03-15 01:30:14 +00:00
Mark Andrews
01c836687a update 2004-03-15 01:22:43 +00:00
Mark Andrews
2f096f5170 update copyrights 2004-03-15 01:02:56 +00:00
cvs2git
d14a9e6f38 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-03-15 00:45:46 +00:00
Mark Andrews
386756e9cd copyright 2004-03-14 23:55:14 +00:00
Mark Andrews
441be01d84 remove unused variables: dispatchv4, dispatchv6. 2004-03-14 23:01:51 +00:00
Mark Andrews
d330b2828b 1592. [bug] configure_view() could leak a dispatch. 2004-03-14 22:44:47 +00:00
Mark Andrews
50893851eb update 2004-03-14 02:42:42 +00:00
Mark Andrews
0759f0e90e regen 2004-03-14 00:00:31 +00:00
Mark Andrews
17405dd026 missing comma 2004-03-13 23:59:10 +00:00
Rob Austein
d77ceb0c8c spelling 2004-03-13 04:08:29 +00:00
Rob Austein
1bf4c75e1e Update instructions for regenerating IDN patch. 2004-03-13 02:57:28 +00:00
Rob Austein
355ad1c663 IDN patch for bind-9.3.0 2004-03-13 02:20:48 +00:00
Mark Andrews
4d999953a6 newcopyrights 2004-03-12 23:47:19 +00:00
Mark Andrews
292e087f5a windows fixed
reviewer sra
2004-03-12 10:31:27 +00:00
Mark Andrews
cb030ff974 add 2004-03-12 10:30:17 +00:00
Mark Andrews
c939c629ac newcopyrights 2004-03-11 23:47:40 +00:00
Mark Andrews
23a5e760e2 win32 fixes 2004-03-11 05:58:43 +00:00
Mark Andrews
d1f465fe21 parseint region 2004-03-11 05:00:27 +00:00
Mark Andrews
6af9b0c518 add netscope 2004-03-11 04:41:32 +00:00
Mark Andrews
3e15c1567e add cast 2004-03-11 04:23:00 +00:00
Mark Andrews
48db382cdb a6 is gone 2004-03-11 04:13:49 +00:00
Mark Andrews
15d5b2a97c sync win32 supprt w/ HEAD 2004-03-11 01:02:42 +00:00
Mark Andrews
55ac095fb0 remove double 2004-03-11 00:49:37 +00:00
Mark Andrews
b437b03385 openssl-0.9.6f -> openssl-0.9.6k 2004-03-11 00:14:51 +00:00
Mark Andrews
ea52ff5fc8 9.3.0beta19.3.0beta19.3.0beta19.3.0beta19.3.0beta19.3.0beta19.3.0beta19.3.0beta19.3.0beta1 2004-03-10 23:56:52 +00:00
Mark Andrews
755b33e48c update 2004-03-10 23:55:28 +00:00
Mark Andrews
a3fc0d9c30 newcopyrights 2004-03-10 23:49:01 +00:00
Mark Andrews
0783b4216e new draft 2004-03-10 22:57:37 +00:00
cvs2git
b893690267 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-03-10 22:57:00 +00:00
Mark Andrews
da95379459 1589. [func] DNSSEC lookaside validation. 2004-03-10 20:26:12 +00:00
Mark Andrews
4279b64355 update 2004-03-10 06:14:46 +00:00
Mark Andrews
b26cad3dc2 1591. [bug] libbind: updated to BIND 8.4.5. 2004-03-10 05:22:44 +00:00
Mark Andrews
c6f810d2d4 spelling 2004-03-10 05:15:43 +00:00
Mark Andrews
a8ab4d8a47 add missing change messages 2004-03-10 03:57:21 +00:00
Mark Andrews
e0bf6cbdf7 1590. [port] netbsd: update thread support. 2004-03-10 03:26:32 +00:00
Mark Andrews
d02525f23d regen 2004-03-10 03:24:25 +00:00
Mark Andrews
6790f1d962 1589. [func] DNSSEC lookaside validation.
enable-dnssec -> dnssec-enable
2004-03-10 02:55:59 +00:00
cvs2git
6630c9a7e3 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-03-10 02:19:59 +00:00
Mark Andrews
3ec98505e3 1584. [bug] "make test" failed with a readonly source tree.
[RT #10461]
2004-03-10 01:05:57 +00:00
Mark Andrews
3a2a85aafc remove old drafts 2004-03-10 00:55:46 +00:00
Mark Andrews
9b6e6a1e70 1587. [bug] dns_message_settsigkey() failed to clear existing key.
[RT #10590]
2004-03-10 00:48:49 +00:00
Mark Andrews
510ffffaad also accept draft url 2004-03-10 00:48:07 +00:00
Mark Andrews
bfbc9f1ba1 update libbind to BIND 8.4.5 2004-03-09 08:33:56 +00:00
Mark Andrews
2b16db29a5 update copyrights 2004-03-09 05:21:10 +00:00
Mark Andrews
8380c6a02e add #!/bin/sh 2004-03-09 04:23:43 +00:00
Mark Andrews
f48c37d2b6 update for 9.3 2004-03-09 04:20:07 +00:00
cvs2git
2cb37d9a01 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-03-09 03:29:55 +00:00
Mark Andrews
e808d325e4 new draft 2004-03-09 03:05:37 +00:00
Mark Andrews
772631aa89 new draft 2004-03-09 02:40:01 +00:00
Mark Andrews
bdcf936b70 new draft 2004-03-09 02:28:22 +00:00
Mark Andrews
d26c9abacf no longer required. 2004-03-09 02:20:44 +00:00
Mark Andrews
5ad8325553 update 2004-03-08 21:07:54 +00:00
Mark Andrews
511621255e 1528. [cleanup] Simplify some dns_name_ functions based on the
deprecation of bitstring labels.

1527.  [cleanup]       Reduce the number of gettimeofday() calls without
                       losing necessary timer granularity.
2004-03-08 21:06:29 +00:00
Mark Andrews
96436e45c6 pullup:
lookup SOA record w/o TSIG if initial SOA lookup w/ TSIG fails due
to TSIG err.  Required for nsupdate to discover the zone when using
a server which is forwarding updates but doesn't share the secret.
2004-03-08 12:19:32 +00:00
Mark Andrews
af5ee9aff7 TXT failed to handle multiple Copyright lines 2004-03-08 12:08:12 +00:00
Mark Andrews
f33f78f801 update copyrights 2004-03-08 10:05:29 +00:00
Mark Andrews
8229c1631f update 2004-03-08 10:00:13 +00:00
Mark Andrews
6324dadc7a update 2004-03-08 09:15:10 +00:00
Mark Andrews
347c832469 update copyrights 2004-03-08 09:05:15 +00:00
Mark Andrews
ae02b43bb9 update 2004-03-08 07:50:53 +00:00
Mark Andrews
c3138c6928 doc regen / copyrights 2004-03-08 04:04:47 +00:00
Mark Andrews
4e889fcc5a sync w/ HEAD 2004-03-08 02:20:18 +00:00
Mark Andrews
a821d5fa3d DNSSEC bis merge from HEAD:
1581.  [func]          Disable DNSSEC support by default.  To enable
                       DNSSEC specify "enable-dnssec yes;" in named.conf.

1565.  [bug]           CD flag should be copied to outgoing queries unless
                       the query is under a secure entry point in which case
                       CD should be set.

1558.  [func]          New DNSSEC 'disable-algorithms'.  Support entry into
                       child zones for which we don't have a supported
                       algorithm.  Such child zones are treated as unsigned.

1557.  [func]          Implement missing DNSSEC tests for
                       * NOQNAME proof with wildcard answers.
                       * NOWILDARD proof with NXDOMAIN.
                       Cache and return NOQNAME with wildcard answers.

1541.  [func]          NSEC now uses new bitmap format.

1519.  [bug]           dnssec-signzone:nsec_setbit() computed the wrong
                       length of the new bitmap.

1516.  [func]          Roll the DNSSEC types to RRSIG, NSEC and DNSKEY.
2004-03-08 02:08:05 +00:00
Mark Andrews
83a9f037e5 mark zone files 2004-03-08 00:44:50 +00:00
Mark Andrews
3646b4c94c autom4te.cache 2004-03-08 00:39:08 +00:00
Mark Andrews
a54e9be491 add change number 2004-03-07 22:55:18 +00:00
Mark Andrews
19028c75e4 add change number 2004-03-07 22:50:12 +00:00
Mark Andrews
4178709cb7 fix tabing 2004-03-07 22:48:27 +00:00
Mark Andrews
06aa6aacc5 newcopyrights 2004-03-06 23:48:50 +00:00
Mark Andrews
60d8606683 update copyrights 2004-03-06 13:16:26 +00:00
Mark Andrews
a09e55f624 update copyrights 2004-03-06 10:22:54 +00:00
Mark Andrews
cbdd3a318b update lib copyrights 2004-03-06 08:15:48 +00:00
Mark Andrews
2691dfb148 regen w/ updated copyright notice 2004-03-06 07:41:44 +00:00
Mark Andrews
4236cf8f59 cygwin port of libbind should be using bind8 copyright notice. 2004-03-06 07:39:37 +00:00
Mark Andrews
2d755565a0 sync w/ head 2004-03-06 07:33:35 +00:00
Mark Andrews
fb7bbca5d4 add back man and html entries 2004-03-06 07:28:42 +00:00
Mark Andrews
f896e0c1a2 update disclaimer 2004-03-06 07:18:44 +00:00
cvs2git
a42d030f09 This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-03-05 05:14:22 +00:00
Mark Andrews
e14f871685 add targets docclean manclean 2004-03-05 03:09:51 +00:00
Mark Andrews
1336cfca9a newcopyrights 2004-03-04 23:47:34 +00:00
Mark Andrews
3e4b4f68ca HTML.{index,manifest} 2004-03-04 21:15:07 +00:00
Mark Andrews
df3d0e3c73 configure.lineno 2004-03-04 21:14:09 +00:00
Mark Andrews
4521523108 unbalanced tag 2004-03-04 21:05:27 +00:00
Mark Andrews
a3221e6417 regen 2004-03-04 12:21:59 +00:00
Mark Andrews
ed5f057fd5 1580. [bug] Zone destuction on final detach takes a long time.
[RT #3746]

1579.   [bug]           Multiple task managers could not be created.
2004-03-04 06:56:19 +00:00
Mark Andrews
d969d55938 1588. [bug] win32: TCP sockets could become blocked. [RT #10115] 2004-03-04 05:57:07 +00:00
Mark Andrews
92c7f4792b Update copyright management. 2004-03-04 03:21:41 +00:00
Mark Andrews
720af7a861 1583. [bug] Records add via UPDATE failed to get the correct trust
level. [RT #10452]
2004-03-04 02:43:36 +00:00
Mark Andrews
c0aeec776f 1577. [bug] Use isc_uint32_t in ultrasparc optimizer bug
workaround code. [RT #10331]
2004-03-04 01:43:43 +00:00
Mark Andrews
a50b955570 1569. [func] nsupdate new command 'answer' which displays the
complete answer message to the last update.

1568.   [bug]           nsupdate now reports that the update failed in
                        interative mode. [RT# 10236]
2004-03-04 01:22:18 +00:00
Mark Andrews
5857ee76a4 newcopyrights 2004-03-03 23:47:32 +00:00
Mark Andrews
854368aef4 1570. [bug] nsupdate failed to handle classes other than IN.
New keyword 'class' which sets the default class.
                        [RT #10202]
2004-03-03 23:43:02 +00:00
Mark Andrews
87497aa349 1559. [port] named should ignore SIGFSZ. 2004-03-03 23:09:33 +00:00
Mark Andrews
96ecca6f19 1572. [bug] nsupdate: sign the soa query to find the enclosing
zone if the server is specified. [RT #10148]
2004-03-03 22:57:14 +00:00
Mark Andrews
4d16a257ff 1571. [bug] rbt:hash_node() could fail leaving the hash table
in an inconsistant state.  [RT #10208]
2004-03-03 22:40:28 +00:00
Mark Andrews
b7705b8c5e newcopyrights 2004-03-03 09:04:50 +00:00
Mark Andrews
fca29129b0 update 2004-03-03 05:59:27 +00:00
Mark Andrews
15e09f18c6 1544. [bug] Named would logged a single entry to a file despite it
being over the specified size limit.

1543.   [bug]           Logging using "versions unlimited" did not work.
2004-03-03 05:35:00 +00:00
Mark Andrews
a8cd8a9da9 1540. [bug] "rndc reload <dynamiczone>" was silently accepted.
[RT #8934]
2004-03-02 02:36:54 +00:00
Mark Andrews
6bd0e050ee 1574. [bug] Don't attempt to open the controls socket(s) when
running tests. [RT #9091]
2004-03-02 01:59:49 +00:00
Mark Andrews
6129303c0e 1552. [bug] Accept NOTIFY requests from mapped masters if
matched-mapped is set. [RT #10049]
2004-03-02 01:20:42 +00:00
Mark Andrews
5bc136b1a1 1537. [func] New option "querylog". If set specify whether query
logging is to be enabled or disabled at startup.
2004-03-02 01:11:46 +00:00
Mark Andrews
9264523bc0 1556. [bug] nsupdate now treats all names as fully qualified.
[RT #6427]
2004-03-02 00:58:29 +00:00
Mark Andrews
a283f2f6ed regen 2004-02-27 21:49:21 +00:00
Mark Andrews
694b001677 1586. [func] "check-names" is now implemented. 2004-02-27 21:45:34 +00:00
cvs2git
135366a29d This commit was manufactured by cvs2git to create branch 'v9_3'. 2004-02-27 20:44:10 +00:00
Mark Andrews
795a99528c 1533. [func] Warn if both "recusion no;" and "allow-recursion"
are active. [RT# 4389]
2004-02-24 03:37:48 +00:00
Mark Andrews
c9a377ff2e a1573. [port] linux: update to libtool 1.5.2 so that
"make install DESTDIR=/xx" works with
                        "configure --with-libtool".  [RT #9941]
2004-02-24 02:32:40 +00:00
Mark Andrews
cc7dff1423 1573. [port] linux: update to libtool 1.5.2 so that
"make install DESTDIR=/xx" works with
                        "configure --with-libtool".  [RT #9941]
2004-02-24 02:15:33 +00:00
Mark Andrews
a834f52f53 1578. [bug] Don't use CLASS E IPv4 addresses when resolving.
[RT #10346]
2004-02-20 00:50:51 +00:00
Mark Andrews
b0b152c87e 1582. [bug] rrset-order failed to work on RRsets with more
than 32 elements. [RT #10381]
2004-02-19 01:59:44 +00:00
Mark Andrews
f1cb39f19f 1576. [bug] Race condition in dns_dispatch_addresponse().
[RT# 10272]
2004-02-10 06:17:16 +00:00
Mark Andrews
b5e1ded573 1575. [func] Log TSIG name on TSIG verify failure. [RT #4404] 2004-02-10 06:06:31 +00:00
Mark Andrews
550d413f44 cvs rdiff -r1.212 -r1.213 bind9/lib/dns/adb.c
cvs rdiff -r1.109 -r1.110 bind9/lib/dns/sec/dst/dst_api.c
cvs rdiff -r1.37 -r1.38 bind9/lib/dns/sec/dst/dst_parse.c
2004-02-02 04:54:15 +00:00
Mark Andrews
e8961b719e #include <isc/string.h> 2004-02-02 04:42:13 +00:00
Mark Andrews
62050bf741 regen 2004-01-29 05:01:09 +00:00
Mark Andrews
fc6e0aacb0 1566. [port] Support for the cmsg framework on Solaris and HP/UX.
This also solved the problem that match-destinations
                        for IPv6 addresses did not work on these systems.
                        [RT #10221]
2004-01-29 04:48:18 +00:00
Mark Andrews
17f2376aa1 1567. [bug] B.ROOT-SERVERS.NET is now 192.228.79.201. 2004-01-29 04:44:37 +00:00
Mark Andrews
08a1ad875f 1564. [func] Attempt to provide a fallback entropy source to be
used if named is running chrooted and named is unable
                        to open entropy source within the chroot area.
                        [RT #10133]
2004-01-27 02:30:32 +00:00
Mark Andrews
d80c8340d3 update wording 2004-01-27 01:17:41 +00:00
Mark Andrews
0cfef78e0f 1563. [bug] Gracefully fail when unable to obtain neither a IPv4
or a IPv6 dispatch. [RT #10230]
2004-01-26 23:53:41 +00:00
Mark Andrews
52c85d05fc 1562. [bug] isc_socket_create() and isc_socket_accept() could
leak memory under error conditions. [RT #10230]
2004-01-26 23:50:40 +00:00
Mark Andrews
cc79bffa78 1561. [bug] It was possible to release the same name twice if
named ran out of memory. [RT #10197]
2004-01-22 15:32:54 +00:00
Mark Andrews
4d49f85663 1560. [port] FreeBSD: work around FreeBSD 5.2 mapping EAI_NODATA
and EAI_NONAME to the same value.
2004-01-14 23:04:58 +00:00
Mark Andrews
3cdacc6119 seperate out objects from lib/dns 2004-01-14 03:31:00 +00:00
Mark Andrews
524bcb6dd5 1555. [func] 'rrset-order cyclic' no longer has a random starting
point. [RT #7572]
2004-01-12 04:29:42 +00:00
Mark Andrews
5cad37ef17 1551. [port] Open "/dev/null" before calling chroot(). 2004-01-12 04:28:43 +00:00
Mark Andrews
0e3e5cb3e5 1554. [bug] dig, host, nsloolup failed when no nameservers
were specified in /etc/resolv.conf. [RT #8232]
2004-01-12 03:43:00 +00:00
Mark Andrews
b1dc4989d4 add http://people.freebsd.org/~dougb/randomness.html 2004-01-12 03:04:20 +00:00
Mark Andrews
12abbb373a double )) 2004-01-08 08:23:52 +00:00
Mark Andrews
2cd5c7fc6c 1553. [bug] The windows socket code could stop accepting
connections.
2004-01-08 05:38:47 +00:00
Mark Andrews
4afcac2061 ireq -> ifreq 2004-01-07 21:58:47 +00:00
Mark Andrews
e9b5b51094 regen 2004-01-07 05:54:17 +00:00
Mark Andrews
d15739dec3 1550. [port] Call tzset(), if available, before calling chroot(). 2004-01-07 05:53:16 +00:00
Mark Andrews
b8993baacb 1549. [func] named-checkzone can now write out the zone contents
in a easily parsable format (-D and -o).
2004-01-07 05:34:46 +00:00
Mark Andrews
8610acef8a renumber 2004-01-05 08:22:14 +00:00
Mark Andrews
e6660892f8 1536. [bug] Windows socket code failed to log a error description
when returning ISC_R_UNEXPECTED. [RT #9998]
2004-01-05 08:18:07 +00:00
Mark Andrews
fef10e2071 1534. [bug] Race condition when priming cache. [RT# 9940] 2004-01-05 08:02:17 +00:00
Mark Andrews
673e6299fd 1539. [bug] Open UDP sockets for notify-source and transfer-source
that use reserved ports at startup. [RT #9475]
2004-01-05 07:00:12 +00:00
Mark Andrews
3ec38eee2f 1547. [bug] Named wasted memory recording duplicate lame zone
entries. [RT #9341]
2004-01-05 06:47:31 +00:00
Mark Andrews
2137445c62 1535. [bug] When parsing APL records it was possible to silently
accept out of range ADDRESSFAMILY values. [RT# 9979]
2004-01-05 06:19:28 +00:00
Mark Andrews
bb6473e31f 1546. [bug] We were rejecting valid secure CNAME to negative
answers.
2004-01-05 05:46:03 +00:00
Mark Andrews
d11af9b6a5 1545. [bug] It was possible to leak memory if named was unable to
bind to the specified transfer source and TSIG was
                        being used. [RT #10120]
2004-01-05 04:26:15 +00:00
Mark Andrews
ed1782f476 regen 2003-12-01 01:32:37 +00:00
Mark Andrews
09c804a537 solaris specify -R for openssl linking 2003-12-01 01:26:13 +00:00
Mark Andrews
0803fc7234 {strlcpy,strlcat} -> isc_string_{strlcpy,strlcat} 2003-11-17 02:29:47 +00:00
Mark Andrews
99cc0ca5a8 3655: Redefinition of DNS Authenticated Data (AD) bit 2003-11-07 05:12:36 +00:00
cvs2git
eb66ec41a0 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-11-07 05:08:55 +00:00
Mark Andrews
177c55a86b regen 2003-11-05 02:50:59 +00:00
Mark Andrews
c1d1a8c83a 1532. [port] netbsd: the configure test for <sys/sysctl.h>
requires <sys/param.h>.
2003-11-05 02:43:18 +00:00
Mark Andrews
825a74d984 change # 2003-11-04 23:40:32 +00:00
Mark Andrews
9657373a0b add -allow-undefined 2003-11-04 23:37:00 +00:00
Mark Andrews
81614df437 1524. [port] AIX more libtool fixes. 2003-11-04 07:39:37 +00:00
Mark Andrews
a2caa7940a grammar 2003-11-04 06:04:19 +00:00
Mark Andrews
c15b1f12e1 1530. [bug] It was possible to trigger a INSIST() failure if a
slave master file was removed a just the correct
                        moment. [RT #9462]
2003-11-04 05:29:09 +00:00
Mark Andrews
8ee542a032 1529. [bug] "notify explict;" failed to log that NOTIFY messages
were being sent for the zone. [RT# 9442]
2003-11-03 23:49:00 +00:00
Mark Andrews
8b0f264358 repeated words 2003-11-02 22:58:27 +00:00
Mark Andrews
2473427a6a DNS_EVENT_MASTERQUANTUM -> DNS_EVENT_DUMPQUANTUM 2003-10-26 21:34:04 +00:00
Mark Andrews
d9d912a499 sync w/ HEAD 2003-10-22 04:44:37 +00:00
Mark Andrews
ca937e0e78 sync w/ HEAD 2003-10-21 06:24:14 +00:00
Mark Andrews
602558cbe3 sync w/ HEAD 2003-10-21 06:17:00 +00:00
Mark Andrews
ee61dfc5ed sync w/HEAD 2003-10-21 05:56:41 +00:00
Mark Andrews
608740d240 1515. [func] Allow transfer source to be set in a server statement.
[RT #6496]
2003-10-21 05:49:19 +00:00
Mark Andrews
867759d584 1520. [protocol] Add SSHFP (SSH Finger Print) type. 2003-10-21 05:25:16 +00:00
Mark Andrews
6c27fe771f sync w/ HEAD 2003-10-21 05:21:08 +00:00
Mark Andrews
cb247c49c3 "to early" should be "too early". 2003-10-17 07:12:41 +00:00
Mark Andrews
17ca4b4ebc regen configure
sync w/ HEAD
2003-10-17 07:06:16 +00:00
Mark Andrews
00597dcdac want free should be initaliased to ISC_FALSE. 2003-10-17 05:37:20 +00:00
Mark Andrews
f0af00eb5d 1525. [bug] dns_cache_create() could trigger a REQUIRE
failure in isc_mem_put() during error cleanup.
2003-10-16 06:06:07 +00:00
Mark Andrews
25a60b1d80 sync with HEAD 2003-10-15 05:32:25 +00:00
Mark Andrews
69acffbb19 sync with HEAD 2003-10-14 03:48:11 +00:00
Mark Andrews
c298c27f3c remove max-adb-size 2003-10-14 03:04:02 +00:00
Mark Andrews
b1e91bee5b three -> two 2003-10-13 00:41:22 +00:00
Mark Andrews
05130af5e3 sync w/ HEAD 2003-10-10 06:40:20 +00:00
Mark Andrews
97b8f44fa9 sync with HEAD 2003-10-10 06:39:49 +00:00
Mark Andrews
330673ab12 sync with HEAD 2003-10-10 06:34:10 +00:00
Mark Andrews
245c36bd9e sync w/ HEAD 2003-10-10 06:24:33 +00:00
Mark Andrews
e3b6761948 sync w/ HEAD 2003-10-10 05:54:19 +00:00
Mark Andrews
dfb54d56d1 3645: Generic Security Service Algorithm for
Secret Key Transaction Authentication for DNS (GSS-TSIG)
2003-10-10 02:01:06 +00:00
Mark Andrews
c0535cfd3b INSIST -> RUNTIME_CHECK 2003-10-10 00:37:32 +00:00
Mark Andrews
f41aa29350 INSIST -> RUNTIME_CHECK 2003-10-10 00:22:48 +00:00
Mark Andrews
3db497e1ac INSIST -> RUNTIME_CHECK 2003-10-10 00:12:55 +00:00
cvs2git
814bd739bf This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-10-09 23:58:14 +00:00
Mark Andrews
b73d28c2f5 1524. [port] AIX needs to be able to resolve all symbols when
creating shared libraries (--with-libtool).
2003-10-09 04:53:05 +00:00
Mark Andrews
459df98366 CRYPTO_LOCK_ENGINE -> USE_ENGINE 2003-10-09 04:51:03 +00:00
Mark Andrews
29b64bdae2 1523. [bug] Fix race condition in rbtdb. [RT# 9189] 2003-10-08 01:22:51 +00:00
Mark Andrews
df11930cd6 1517. [port] Support for IPv6 interface scanning on HP/UX and
TrueUNIX 5.1.
2003-10-07 04:27:43 +00:00
Mark Andrews
1ed28495fe sync against trunc 2003-10-07 03:28:41 +00:00
Mark Andrews
7b7a69a77b 1522. [bug] dns_db_findnode() relax the requirements on 'name'.
[RT# 9286]
2003-10-03 04:04:03 +00:00
Mark Andrews
ae05eec235 1521. [bug] dns_view_createresolver() failed to check the
result from isc_mem_create(). [RT# 9294]
2003-10-03 03:59:50 +00:00
Mark Andrews
c1fbbac943 1518. [bug] dns_nxt_buildrdata(), and hence dns_nxt_build(),
contained a off-by-one error when working out the
                        number of octets in the bitmap.
2003-10-03 03:39:53 +00:00
Mark Andrews
d20c23f9c4 missing includes [RT#9194] 2003-10-01 01:02:42 +00:00
Mark Andrews
4ce7c52616 1514. [bug] named: isc_hash_destroy() was being called to early.
[RT #9160]
2003-09-24 23:37:15 +00:00
Mark Andrews
388732593d cleanup spaces before semicolons. 2003-09-24 03:47:21 +00:00
Mark Andrews
a3bda87b91 remove ORG 2003-09-23 07:16:42 +00:00
Mark Andrews
0f6098954d 1513. [doc] Add "US" and "ORG" to root-delgation-only exclude list. 2003-09-23 06:03:11 +00:00
Mark Andrews
41f3bf915b 1512. [bug] Extend the delegation-only logging to return query
type, class and responding nameserver.
2003-09-22 00:43:29 +00:00
Mark Andrews
11ba97bb12 1511. [bug] delegation-only was generating false positives
on negative answers from subzones.
2003-09-22 00:41:11 +00:00
Mark Andrews
0345669869 remove extaneous semicolon 2003-09-19 14:34:10 +00:00
Mark Andrews
03c78c0671 wrong element delonly -> rootexclude 2003-09-19 13:26:35 +00:00
Mark Andrews
2964e14cf3 rootexlude -> rootexclude
free and initialise rootdelonly & rootexclude
buy -> by
2003-09-19 13:20:05 +00:00
Mark Andrews
069d5cb493 1510. [func] New view option "root-delegation-only". Apply
delegation-only check to all TLDs and root.
                        Note there are some TLDs that are NOT delegation
                        only (e.g. DE and MUSEUM) these can be excluded
                        from the checks buy using exclude.

                        root-delegation-only exclude { "DE"; "MUSEUM"; };
2003-09-19 12:44:39 +00:00
Mark Andrews
d6d893e17b 1509. [bug] Hint zones should accept delegation-only. Forward
zone should not accept delegation-only.

1508.   [bug]           Don't apply delegation-only checks to answers from
                        forwarders.

1507.   [bug]           Handle BIND 8 style returns to NS queries to parents
                        when making delegation-only checks.

1506.   [bug]           Wrong return type for dns_view_isdelegationonly().

1505.   [bug]           Uninitialised rdataset in sdb. [RT #8750]

1504.   [func]          New zone type "delegation-only".
2003-09-19 06:20:55 +00:00
Mark Andrews
84a23c3adc RFC3597 Handling of Unknown DNS Resource Record (RR) Types 2003-09-11 23:18:05 +00:00
cvs2git
e858241827 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-09-11 22:23:24 +00:00
Mark Andrews
57b54234cd sizeof style 2003-09-11 00:18:18 +00:00
Mark Andrews
0b59ecad12 1469. [func] Log end of outgoing zone transfer at same level
as the start of transfer is logged. [RT #4441]
2003-09-10 05:28:40 +00:00
Mark Andrews
dac5207898 1468. [func] Internal zones are nolonger for 'rndc status'.
[RT #4706]
2003-09-10 05:23:08 +00:00
Mark Andrews
d57cf40022 regen 2003-09-10 05:14:53 +00:00
Mark Andrews
761b909ee7 1430. [port] linux: IPv6 interface scanning support.
1362.  [bug]           remove IFF_RUNNING test when scanning interfaces.

1300.  [port]          Compaq Trucluster support.

1292.  [func]          Enable IPv6 support when using ioctl style interface
                       scanning and OS supports SIOCGLIFADDR using struct
                       if_laddrreq.

1065.  [func]          Runtime support to select new / old style interface
                       scanning using ioctls.

1024.  [port]          Compilation failed on HP-UX 11.11 due to
                       incompatible use of the SIOCGLIFCONF macro
                       name. [RT #1831]
2003-09-10 05:12:54 +00:00
Mark Andrews
0c66b8e9f1 1503. [port] win32: install libeay32.dll outside of system32. 2003-09-09 03:43:20 +00:00
Mark Andrews
50d044736d 1065. [func] Runtime support to select new / old style interface
scanning using ioctl
2003-09-02 04:51:12 +00:00
Mark Andrews
25399c389a Makefile 2003-09-02 04:17:44 +00:00
Mark Andrews
7282bc47d1 signed vs unsigned 2003-09-02 04:13:43 +00:00
Mark Andrews
e5f625c67e fixed a typo in a comment line: s/compatability/compatibility/ 2003-09-02 02:43:55 +00:00
Mark Andrews
5696933e98 typo: s/baliwick/bailiwick/ 2003-09-02 02:27:37 +00:00
Mark Andrews
827deeb399 deconst 2003-09-02 02:25:18 +00:00
Mark Andrews
8ec7cf74bf Only fall back to TCP for slave zones if UDP refresh queries fail.
[RT #8253]
2003-09-02 02:21:51 +00:00
Mark Andrews
0cd7e36916 update ms zone transfer bug info 2003-09-02 02:20:00 +00:00
Mark Andrews
3b26d79464 regen:
1475.   [port]          Probe for old sprintf().
2003-09-02 02:12:10 +00:00
Mark Andrews
bf4c32bd2d 1475. [port] Probe for old sprintf(). 2003-09-02 02:10:51 +00:00
Mark Andrews
8042b96c54 regen 2003-09-02 01:51:22 +00:00
Mark Andrews
26fbc6cb34 1474. [port] Provide strtoul() and memmove() for platforms
without them.
2003-09-02 01:49:48 +00:00
Mark Andrews
4dcb49e971 pullups: misc. 2003-09-02 01:24:20 +00:00
Mark Andrews
3e0672d431 pullup:
zone->masterscnt was being zero'd rather than zone->curmaster = 0
2003-09-02 01:19:45 +00:00
Mark Andrews
fd6027f774 pullup:
use-alt-transfer-source when the master refused soa queries. [RT #5528]
2003-09-02 01:14:27 +00:00
Mark Andrews
d6bdfb9aef 1467. [func] $GENERATES now supports optional class and ttl. 2003-09-02 01:11:37 +00:00
Mark Andrews
713d7d396c libbind9 2003-08-27 07:32:27 +00:00
Mark Andrews
dd8e7329b1 pullup:
1458.   [cleanup]       sprintf() -> snprintf().
2003-08-27 07:22:41 +00:00
Mark Andrews
f046c1a3af regen 2003-08-27 06:56:20 +00:00
Mark Andrews
6d9ed85949 1457. [port] Provide strlcat() and strlcpy() for platforms without
them.
2003-08-27 06:44:02 +00:00
Mark Andrews
75e4f7664f 1455. [bug] <netaddr> missing from server grammar in
doc/misc/options. [RT #5616]
2003-08-27 05:46:32 +00:00
Mark Andrews
add9b80204 regen 2003-08-27 03:22:26 +00:00
Mark Andrews
6733c0e6dd add missing files 2003-08-27 03:16:22 +00:00
Mark Andrews
a84b20bbb0 1454. [port] Use getifaddrs() if available for interface scanning.
--disable-getifaddrs to override.  Glibc currently
                        has a getifaddrs() that does not support IPv6.
                        Use --enable-getifaddrs=glibc to force the use of
                        this version under linux machines.
2003-08-27 03:15:26 +00:00
Mark Andrews
af1b2d4abb misc. pullups 2003-08-27 02:33:42 +00:00
Mark Andrews
e0d0647c9d pullup:
alt-transfer-source-v4 -> alt-transfer-source
2003-08-27 02:23:39 +00:00
Mark Andrews
1c2bf5f1cb 1446. [func] Implemented undocumented alternate transfer sources
from BIND 8.  See use-alt-transfer-source,
                        alt-transfer-source-v4 and alt-transfer-source-v6.
2003-08-27 02:13:50 +00:00
Mark Andrews
7cf2a51f0c 1443. [func] Masters lists can now be specified and referenced
in zone masters clauses and other masters lists.
2003-08-27 01:53:06 +00:00
Mark Andrews
2d7ca109c5 1442. [func] New fuctions for manipulating port lists:
dns_portlist_create(), dns_portlist_add(),
                        dns_portlist_remove(), dns_portlist_match(),
                        dns_portlist_attach() and dns_portlist_detach().

1441.   [func]          It is now possible to tell dig to bind to a specific
                        source port.

1440.   [func]          It is now possible to tell named to avoid using
                        certian source ports (avoid-v4-udp-ports,
                        avoid-v6-udp-ports).
2003-08-27 01:39:27 +00:00
Mark Andrews
e921ddd8f4 1438. [func] Log TSIG (if any) when logging NOTIFY requests. 2003-08-27 01:28:25 +00:00
Mark Andrews
4ddffdf9be version.h 2003-08-27 01:27:34 +00:00
Mark Andrews
0a26225288 1436. [func] dns_zonemgr_resumexfrs() can be used to restart
stalled transfers.
2003-08-26 07:54:22 +00:00
Mark Andrews
7361bfec13 1433. [bug] named could trigger a REQUIRE failure if it could
not get a file descriptor when attempting to write
                        a master file. [RT #4347]
2003-08-26 06:01:17 +00:00
Mark Andrews
19548853e9 1432. [func] The advertised EDNS UDP buffer size can now be set
via named.conf (edns-udp-size).
2003-08-26 05:56:18 +00:00
Mark Andrews
9ea4e48caf pullup:
engine pointer not set to NULL on free.
2003-08-26 05:38:47 +00:00
Mark Andrews
f44cdbe5b9 spelling 2003-08-26 05:32:50 +00:00
Mark Andrews
cb6b45d59c pullup:
arguements reversed
2003-08-26 05:26:08 +00:00
Mark Andrews
c6d78fc563 1422. [func] Log name/type/class when denying a query. [RT #4663] 2003-08-26 05:14:25 +00:00
Mark Andrews
c6f41773a4 1421. [func] Differentiate updates that don't succeed due to
prerequisites (unsuccessful) vs other reasons
                        (failed).
2003-08-26 04:42:22 +00:00
Mark Andrews
c4dc4fd856 1417. [func] ID.SERVER/CHAOS is now a built in zone.
See "server-id" for how to configure.
2003-08-26 04:34:17 +00:00
Mark Andrews
4154634631 1412. [func] You can now specify servers to be tried if a nameserver
has IPv6 address and you only support IPv4 or the
                        reverse. See dual-stack-servers.
2003-08-26 03:24:14 +00:00
Mark Andrews
388672fb80 pullup misc. changes 2003-08-25 05:49:57 +00:00
Mark Andrews
5874ad9039 cygwin support 2003-08-25 05:40:31 +00:00
Mark Andrews
2f91e0f27d 1405. [func] Use arc4random() if available. 2003-08-25 05:24:08 +00:00
Mark Andrews
43e2d66621 1405. [func] Use arc4random() if available. 2003-08-25 05:06:11 +00:00
Mark Andrews
6aba9ae3cb 1403. [func] dnssec-signzone, dnssec-keygen, dnssec-makekeyset
dnssec-signkey now report their version in the
                        usage message.
2003-08-25 04:41:17 +00:00
Mark Andrews
c3fedc9282 1402. [cleanup] A6 has been moved to experimental and is no longer
fully supported.
2003-08-25 04:16:27 +00:00
Mark Andrews
68b63c87ea check for the existance of if_nametoindex(). 2003-08-25 03:31:57 +00:00
Mark Andrews
4d79da8ba0 1502. [bug] nsupdate: adjust timeouts for UPDATE requests over TCP. 2003-08-25 02:42:16 +00:00
Mark Andrews
0146abd893 1501. [func] Allow TCP queue length to be specified via
named.conf, tcp-listen-queue.
2003-08-25 02:33:14 +00:00
Mark Andrews
c7dc6c1d24 1500. [bug] host failed to lookup MX records. Also look up
AAAA records.
2003-08-25 01:51:13 +00:00
Mark Andrews
719e3ac95f pullup:
merge rt3598 (code by marka, pullup by me)
2003-08-25 01:44:12 +00:00
Mark Andrews
39c8267888 1396. [func] dnssec-signzone: adjust the default signing time by
1 hour to allow for clock skew.
2003-08-22 06:40:04 +00:00
Mark Andrews
4621266788 pullup:
emit explict interface message only if we are about to configure the
first interface.
2003-08-22 06:26:19 +00:00
Mark Andrews
fb118b8418 1394. [func] It is now possible to check if a particular element is
in a acl.  Remove duplicate entries from the localnets
                        acl.

1393.   [port]          Bind to individual IPv6 interfaces if IPV6_IPV6ONLY
                        is not available in the kernel to prevent accidently
                        listening on IPv4 interfaces.
2003-08-22 06:24:24 +00:00
Mark Andrews
6627b5242f pullup:
u_int32_t -> isc_uint32_t
2003-08-22 06:10:23 +00:00
Mark Andrews
763f9d9836 pullup:
u_int32_t -> isc_uin32_t
2003-08-22 06:09:25 +00:00
Mark Andrews
8f570b8b09 pullup:
u_int#_t -> isc_uint#_t
2003-08-22 06:08:37 +00:00
Mark Andrews
3420dc3b56 pullup:
isc_netaddr_fromsockaddr failed to set zone for AF_INET
2003-08-22 06:07:33 +00:00
Mark Andrews
c9b505a8ed 1392. [bug] named-checkzone: update usage. 2003-08-22 05:54:37 +00:00
Mark Andrews
370732d189 1391. [func] Add support for IPv6 scoped addresses in named. 2003-08-22 05:17:15 +00:00
Mark Andrews
3ba8b22c72 1390. [func] host now supports ixfr. 2003-08-22 04:02:26 +00:00
Mark Andrews
20a6f010fb pullup:
remove repeated "keep" in comment.
2003-08-22 03:54:45 +00:00
Mark Andrews
303a05c383 1386. [bug] named-checkzone -z stopped on errors in a zone.
[RT #3653]
2003-08-22 03:50:44 +00:00
Mark Andrews
1c273a7b04 1383. [func] Track the serial number in a IXFR response and log if
a mismatch occurs.  This is a more specific error than
                        "not exact". [RT #3445]
2003-08-22 03:22:33 +00:00
Mark Andrews
29c69bb338 pullup:
correct typo in usage message.
2003-08-22 03:20:09 +00:00
Mark Andrews
8bc9be4eb9 pullup:
host exits with a non-zero code for erroneous results
2003-08-22 03:19:45 +00:00
Mark Andrews
b3367d4b0e pullup:
report type and class when logging failures via add_bad
2003-08-22 01:49:59 +00:00
Mark Andrews
785e943834 1380. [func] 'rndc recursing' dump recursing queries to
'recursing-file = "named.recursing";'.
2003-08-21 14:05:47 +00:00
Mark Andrews
38ebaa15d1 pullup:
add missing whitespace if fprintf
2003-08-21 07:38:42 +00:00
Mark Andrews
1f5b23079e pullup:
Generating a response when the qname matches a wildcard and the type
doesn't exist didn't work; the NXT name was improperly expanded and the
wildcard proof was omitted.
2003-08-21 07:05:12 +00:00
Mark Andrews
7521079979 pullup:
Don't call adjust_interfaces unless IPv6 support is enabled. [RT #3593]
2003-08-21 06:57:14 +00:00
Mark Andrews
56ccb82277 pullup:
When a lookup resulted in an nxrrset match of a wildcard, the wildcard
attribute wasn't set on foundname.
2003-08-21 06:48:26 +00:00
Mark Andrews
c28e1b5678 1380. [func] 'rndc recursing' dump recursing queries to
'recursing-file = "named.recursing";'.
2003-08-21 06:17:57 +00:00
Mark Andrews
f0d2117bcc 1379. [func] 'rndc stats' now reports tcp and recursion quota
states.

1378.   [func]          Improved positive feedback for 'rndc {reload|refresh}.

1377.   [func]          dns_zone_load{new}() now reports if the zone was
                        loaded, queued for loading to up to date.

1376.   [func]          New function dns_zone_logc() to log to specified
                        category.
2003-08-21 05:19:21 +00:00
Mark Andrews
9098582352 1375. [func] 'rndc dumpdb' now dumps the adb cache along with the
data cache.
2003-08-21 05:10:53 +00:00
Mark Andrews
f9192a3940 1374. [func] dns_adb_dump() now logs the lame zones associated
with each server.
2003-08-21 04:47:43 +00:00
Mark Andrews
3fe687adf2 pullup:
TRIEDFIND test had wrong sence
2003-08-21 03:50:21 +00:00
Mark Andrews
30296ba800 pullup:
detach from quota in an error case.  I don't know if this is strictly needed,
but it makes sense.  It is probably done later as well, but all places
check for the pointer != NULL, so we'll be ok.
2003-08-21 03:22:48 +00:00
Mark Andrews
2b9f05032c pullup:
change many debug(3) to debug(1), and several debug(*) to info
2003-08-21 02:50:34 +00:00
Mark Andrews
4c98b4d5b2 pullup:
Rework previous slightly, to only signal if we were using WAITUNTIL() and we
actually have a due time
2003-08-21 02:15:50 +00:00
Mark Andrews
4bdd141eef pullup:
When scheduling a new timer, check to see if we missed our last wakeup
by more than 15 seconds.  If we have, SIGNAL().
2003-08-21 02:05:47 +00:00
Mark Andrews
05e00f411b pullup:
add a new log module, timer
2003-08-21 02:02:04 +00:00
Mark Andrews
013781e021 pullup:
add isc_timer_gettype() (useful in debugging code) and a temporary hack of isc_
timermgr_poke
2003-08-20 07:13:06 +00:00
Mark Andrews
143a27871d pullup:
rename 'worklimited' to 'idle'
2003-08-20 06:43:21 +00:00
Mark Andrews
80b0668c88 pullup:
add goo for error checking mutexes on (at least) tru64
2003-08-20 06:40:57 +00:00
Mark Andrews
6cb94e593b pullup:
dns_zone_logc() log to category
raise deferred transfers to INFO level and log to xfer-in.
2003-08-20 06:37:17 +00:00
Mark Andrews
7437b1e21b pullup:
DNSSEC wildcard negative proof responses were longer than necessary in
some cases; the existence of a node for which the qname is a subdomain
obscures all shallower wildcards.

That is, query for y.x.foo.com.  If the response contains an NXT
at x.foo.com, it's not necessary to prove that there's no wildcard at
*.foo.com, since it wouldn't be matched anyway.
2003-08-20 06:36:06 +00:00
Mark Andrews
0544c8411d 1371 [bug] notify-source-v6, transfer-source-v6 and
query-source-v6 with explict addresses and using the
                        same ports as named was listening on could interfere
                        with nameds ability to answer queries sent to those
                        addresses.
2003-08-20 06:05:48 +00:00
Mark Andrews
96151e740c pullup:
'\0' terminate code.
All reasons for marking a server bad should be logged to the lame channel.
2003-08-20 06:02:54 +00:00
Mark Andrews
984d0d58e9 1368. [func] remove support for bitstring labels. 2003-08-20 05:33:18 +00:00
Mark Andrews
d8669da83c 1367. [func] Use response times to select forwarders. 2003-08-20 04:52:46 +00:00
Mark Andrews
9fa13373e5 1220. [func] Support for APL rdata type. 2003-08-20 04:47:23 +00:00
Mark Andrews
3d1d30c8bf pullup:
don't attempt to generate a wildcard proof unless the zone is secure.
2003-08-20 03:29:44 +00:00
Mark Andrews
4efb6955c0 1365. [func] "localhost" and "localnet" acls now include IPv6
addresses / prefixes.
2003-08-20 03:23:12 +00:00
Mark Andrews
67cc3e009b 1364. [func] Log file name when unable to open memory statistics
and dump database files. [RT# 3437]
2003-08-20 03:01:09 +00:00
Mark Andrews
2f6af651ac 1363. [func] Listen-on-v6 now supports specific addresses. 2003-08-20 02:59:06 +00:00
Mark Andrews
464793f9d2 whitespace 2003-08-20 02:51:06 +00:00
Mark Andrews
c56defb98c 1358. [func] log the reason for rejecting a server when resolving
queries.
2003-08-19 07:40:20 +00:00
Mark Andrews
646f21b5bd 1358. [func] log the reason for rejecting a server when resolving
queries.
2003-08-19 07:26:09 +00:00
Mark Andrews
e6bb021434 1354. [bug] Fix DNSSEC wildcard proof for CNAME/DNAME. 2003-08-19 04:11:24 +00:00
Mark Andrews
c7c25e99aa 1344. [func] Log if the serial number on the master has gone
backwards.
                        If you have multiple machines specified in the masters
                        clause you may want to set 'multi-master yes;' to
                        suppress this warning.
2003-08-19 03:11:19 +00:00
Mark Andrews
536f46e845 1343. [func] Log successful notifies received (info). Adjust log
level for failed notifies to notice.
2003-08-19 02:58:19 +00:00
Mark Andrews
326428fcf8 1342. [func] Log remote address with TCP dispatch failures. 2003-08-19 02:53:57 +00:00
Mark Andrews
d735ed8b1f 1341. [func] Allow a rate limiter to be stalled. 2003-08-19 02:49:00 +00:00
Mark Andrews
159115f41e 1336. [func] Nibble lookups under IP6.ARPA are now supported by
dns_byaddr_create().  dns_byaddr_createptrname() is
                        deprecated, use dns_byaddr_createptrname2() instead.
2003-08-19 02:19:41 +00:00
Mark Andrews
d930eaf77b 1331. [func] Generate DNSSEC wildcard proofs. 2003-08-18 07:35:54 +00:00
Mark Andrews
2bb0b0009e 1332. [func] Report the current serial with periodic commits when
rolling forward the journal.
2003-08-18 07:10:11 +00:00
Mark Andrews
eb35881767 1329. [func] named-checkzone will now check if nameservers that
appear to be IP addresses.  Available modes "fail",
                        "warn" (default) and "ignore" the results of the
                        check.
2003-08-18 05:56:58 +00:00
Mark Andrews
f0d1adcdd2 pullup:
don't apply cache-filename to "_bind" view.
2003-08-15 04:14:31 +00:00
Mark Andrews
d8cdda8e1d pullup:
isc_modules[2] not isc_modules[3]
2003-08-15 04:03:56 +00:00
Mark Andrews
f87cbb4806 dd "interface" module 2003-08-15 04:02:46 +00:00
Mark Andrews
9bc39842bb 1313. [func] Query log now says if the query was signed (S) or
if EDNS was used (E).
2003-08-15 03:22:42 +00:00
Mark Andrews
be1078018a 1312. [func] Log TSIG key used w/ outgoing zone transfers. 2003-08-15 03:18:47 +00:00
Mark Andrews
7b1256eb34 Protect both the socket and fifo tests with #ifdef's. 2003-08-15 03:11:45 +00:00
Mark Andrews
5d0f5f98e8 pullup:
null pointer dereference
2003-08-15 03:10:04 +00:00
Mark Andrews
bb4b8c0c53 1309. [func] Log that a zone transfer was covered by a TSIG. 2003-08-15 03:09:13 +00:00
Mark Andrews
b1b705a049 pullup:
uninitalised variable (minimize difference with HEAD).
2003-08-15 03:01:30 +00:00
Mark Andrews
c107aac084 1304. [func] New function: dns_zone_name().
1303.   [func]          Option 'flush-zones-on-shutdown <boolean>;'.
2003-08-15 02:49:35 +00:00
Mark Andrews
d58a15deb2 1302. [func] Extended rndc dumpdb to support dumping of zones and
view selection: 'dumpdb [-all|-zones|-cache] [view]'.
2003-08-15 02:24:28 +00:00
Mark Andrews
4dde5e1d1f 1301. [func] New category 'update-security'. 2003-08-15 02:21:03 +00:00
Mark Andrews
34d527bf02 pullup:
mask of mode format bits and compare result
2003-08-15 02:14:57 +00:00
Mark Andrews
364237ab5f 1293. [func] Entropy can now be retrieved from EGDs. [RT #2438] 2003-08-15 02:11:28 +00:00
Mark Andrews
40803cab47 1291. [func] Enable IPv6 support when using sysctl style interface
scanning.
2003-08-15 02:07:45 +00:00
Mark Andrews
ff0b6d9f9f 1290. [func] "dig axfr" now reports the number of messages
as well as the number of records.
2003-08-15 02:00:33 +00:00
Mark Andrews
b3301d9e99 pullup:
check location before dereference
2003-08-15 01:54:07 +00:00
Mark Andrews
861e5d03f4 1285. [func] lwres: probe the system to see what address families
are currently in use.
2003-08-15 01:48:24 +00:00
Mark Andrews
b4a3336bb2 1283. [func] Use "dataready" accept filter if available. 2003-08-15 01:16:06 +00:00
Mark Andrews
67b45f602c 1281. [func] Log zone when unable to get private keys to update
zone.  Log zone when NXT records are missing from
                        secure zone.
2003-08-15 01:08:33 +00:00
Mark Andrews
0671618280 1213. [func] Report view associated with client if it is not a
standard view (_default or _bind).
2003-08-14 07:00:33 +00:00
Mark Andrews
0940db56ad pullup:
isc_file_renameunique() no longer used mkstemp().
2003-08-14 06:45:07 +00:00
Mark Andrews
4b2653119b 1278. [func] dig: now supports +[no]cl +[no]ttlid. 2003-08-14 06:40:30 +00:00
Mark Andrews
163893dffd 1277. [func] You can now create your own customised printing
styles: dns_master_stylecreate() and
                        dns_master_styledestroy().
2003-08-14 06:32:46 +00:00
Mark Andrews
721cf64313 1271. [bug] "recursion available: {denied,approved}" was too
confusing.
2003-08-14 06:17:23 +00:00
Mark Andrews
45c5fb1fcd 1267. [func] isc_file_openunique() now creates file using mode
0666 rather than 0600.
2003-08-14 06:14:23 +00:00
Mark Andrews
59771f18b8 1254. [func] preferred-glue option from BIND 8.3. 2003-08-14 05:56:10 +00:00
Mark Andrews
d7030b0d7c 1250. [func] Nsupdate will report the address the update was
sent to.
2003-08-14 04:48:58 +00:00
Mark Andrews
69f20fa680 1247. [bug] Don't reset the interface index for link/site local
addresses. [RT #2576]
2003-08-14 04:31:55 +00:00
Mark Andrews
c5e54cacda 1246. [func] New functions isc_sockaddr_issitelocal(),
isc_sockaddr_islinklocal(), isc_netaddr_issitelocal()
                        and isc_netaddr_islinklocal().
2003-08-14 04:25:09 +00:00
Mark Andrews
bcff5b1233 silence compiler 2003-08-14 04:12:46 +00:00
Mark Andrews
7509a66b8e 1235. [func] Report 'out of memory' errors from openssl. 2003-08-14 04:08:24 +00:00
Mark Andrews
892f1e690f 1233. [bug] The flags field of a KEY record can be expressed in
hex as well as decimal.
2003-08-14 04:00:33 +00:00
Mark Andrews
e2ac00112c misc cleanups 2003-08-14 03:22:38 +00:00
Mark Andrews
c98b46eded 1226. [func] Use EDNS for zone refresh queries. [RT #2551] 2003-08-14 02:51:18 +00:00
Mark Andrews
bcc468b92e 1225. [func] dns_message_setopt() no longer requires that
dns_message_renderbegin() to have been called.
2003-08-14 02:41:55 +00:00
Mark Andrews
cb0556144b add a new result code so that parsing a bad KEY record doesn't result in
"unknown class/type".
2003-08-14 02:35:49 +00:00
Mark Andrews
45d8fa0d1a 1224. [bug] 'rrset-order' and 'sortlist' should be additive
not exclusive.

1223.   [func]          'rrset-order' partially works 'cyclic' and 'random'
                        are supported.
2003-08-14 02:34:18 +00:00
Mark Andrews
f8060db436 pullup:
add --enable-largefile support
2003-08-14 02:26:23 +00:00
Mark Andrews
520d66473a 1220. [func] Support for APL rdata type. 2003-08-14 00:52:56 +00:00
Mark Andrews
108a1cfcc0 misc pullups:
*warning messages generated by dns_master_load* should not print
dns_master_load, since it violates the "don't print function names in
error messages" rule.
*When printing a warning about a value not being a valid decimal dotted
quad, it seems excessive to print "warning" when the message is already logged
at log level WARNING by the warn() callback.
*We could select on a closed file descriptor.
2003-08-14 00:50:20 +00:00
Mark Andrews
229b4ea973 1219. [func] Named now reports the TSIG extended error code when
signature verification fails. [RT #1651]
2003-08-14 00:46:22 +00:00
Mark Andrews
6178680406 1217. [func] Report locations of previous key definition when a
duplicate is detected.
2003-08-14 00:40:39 +00:00
Mark Andrews
3b8a9158fa pullup:
add isc_parse_uint16() and isc_parse_uint8()
2003-08-14 00:38:32 +00:00
Mark Andrews
ab148ab902 pullup:
Clean up the implementation cleanup mechanism.  Also remove ->issymmetric,
since it's easier to just do it in dst_api.c.
Move the memory allocation wrappers into openssl_link.c, since they're
openssl specific.
add dst_key_privatefrombuffer(), which coverts a public key into a private
key.
2003-08-13 06:51:34 +00:00
Mark Andrews
3c00cc0767 pullup:
Add REQUIRE()s
2003-08-13 06:22:14 +00:00
Mark Andrews
2e8234c5f3 pullup:
removed unused struct field isc_lex_t::options
2003-08-13 06:20:21 +00:00
Mark Andrews
23a4cb9167 pullup:
dns_master_loadlexer[inc], to load master files from existing lexers
2003-08-13 06:19:15 +00:00
Mark Andrews
50cd7e51de pullup:
isc_lex_setsourcename(), for use when lexing buffers or streams
2003-08-13 06:13:02 +00:00
Mark Andrews
21f5c930d3 pullup:
add dns_rdataslab_tordataset()
2003-08-13 06:11:08 +00:00
Mark Andrews
860158f9b5 1203. [func] Report locations of previous acl and zone definitions
when a duplicate is detected.
2003-08-13 05:41:03 +00:00
Mark Andrews
50c140b7dc 1202. [func] New functions: cfg_obj_line() and cfg_obj_file(). 2003-08-13 05:36:29 +00:00
Mark Andrews
ae643dbc34 pullup: misc cleanups 2003-08-13 05:06:53 +00:00
Mark Andrews
60c8cebb10 pullup: misc cleanups 2003-08-13 04:55:28 +00:00
Mark Andrews
48d5177bea pullup:
RFC 2065 ->  RFC 2535
2003-08-13 04:39:27 +00:00
Mark Andrews
e35bff5098 pullup various doc changes 2003-08-13 04:37:07 +00:00
Mark Andrews
48c4c3d66b 1190. [func] Add the "rndc freeze" and "rndc unfreeze" commands.
[RT #2394]
2003-08-13 04:35:06 +00:00
Mark Andrews
10e99ae4b5 document the key-directory option
document SIG(0) support.
2003-08-13 04:30:15 +00:00
Mark Andrews
d83b5cb4c8 1192. [bug] The seconds fields in LOC records were restricted
to three decimal places.  More decimal places should
                        be allowed but warned about.
2003-08-13 04:26:36 +00:00
Mark Andrews
53fcc33633 pullup:
Reimplemented the built-in CHAOS zones using sdb.
2003-08-13 03:58:12 +00:00
Mark Andrews
4eabedb01f pullup:
DNS_ZONEFLG_FLUSH was not being cleared.
dns_zone_flush() could return a misleading result.
If the zone was being dumped incrementaly when dns_zone_flush() was
called ensure that it gets redumped if the were still outstanding
changes.
2003-08-13 02:24:31 +00:00
Mark Andrews
4cedbe5d3b 1190. [func] Add the "rndc freeze" and "rndc unfreeze" commands.
[RT #2394]
2003-08-13 02:22:12 +00:00
Mark Andrews
820d86cbe6 1187. [bug] named was incorrectly returning DNSSEC records
in negative responses when the DO bit was not set.
2003-08-13 02:18:19 +00:00
Mark Andrews
f09db09817 1190. [func] Add the "rndc freeze" and"rndc unfreeze" commands.
[RT #2394]
2003-08-13 02:08:46 +00:00
Mark Andrews
16f1baf43f pullup:
missing format string argument; add format checking
2003-08-13 02:00:19 +00:00
Mark Andrews
5e381211f9 pullup:
use token.value.as_textregion.base, not token.value.pointer
2003-08-13 01:59:19 +00:00
Mark Andrews
f260e463c6 pullup
make a few dynamic update log messages more informative
2003-08-13 01:58:07 +00:00
Mark Andrews
ad1cdd5b95 1187. [bug] named was incorrectly returning DNSSEC records
in negative responses when the DO bit was not set.
2003-08-13 01:56:03 +00:00
Mark Andrews
fbfcbe90e2 1181. [func] Add the "key-directory" configuration statement,
which allows the server to look for online signing
                        keys in alternate directories.
2003-08-13 01:41:34 +00:00
Mark Andrews
7fc641e8f2 1180. [func] dnssec-keygen should always generate keys with
protocol 3 (DNSSEC), since it's less confusing
                        that way.
2003-08-13 00:53:02 +00:00
Mark Andrews
1fa20ecda2 1179. [func] Add SIG(0) support to nsupdate. 2003-08-13 00:47:33 +00:00
Mark Andrews
193fd4f417 pullup:
Use as_textregion.base not as_pointer.  [RT #2385]
2003-08-13 00:36:56 +00:00
Mark Andrews
4081748055 1177. [func] Report view when loading zones if it is not a
standard view (_default or _bind). [RT #2270]
2003-08-13 00:25:52 +00:00
Mark Andrews
e6f17dd534 1171. [func] Added function isc_region_compare(), updated files in
lib/dns to use this function instead of local one.
2003-08-12 14:16:17 +00:00
Mark Andrews
fe73090122 pullup:
Split off the named.conf grammar into a source module separate
from the configuration parser, to facilitate reuse of the latter for
parsing non-BIND configuration files
2003-08-12 07:10:32 +00:00
Mark Andrews
fc12c58264 1169. [func] Identify recursive queries in the query log. 2003-08-12 05:36:03 +00:00
Mark Andrews
802ef49198 1163. [func] isc_time_formattimestamp() now includes the year. 2003-08-12 05:34:06 +00:00
Mark Andrews
6397057426 1159. [bug] MD and MF are not permitted to be loaded by RFC1123. 2003-08-12 05:21:11 +00:00
Mark Andrews
d5f5d596ac 1159. [bug] MD and MF are not permitted to be loaded by RFC1123. 2003-08-12 05:09:36 +00:00
Mark Andrews
33b82c3a70 1158. [func] Report the client's address when logging notify
messages.
2003-08-12 04:54:59 +00:00
Mark Andrews
79e2dd3eb8 1157. [func] match-clients and match-destinations now accept
keys. [RT #2045]
2003-08-11 05:58:18 +00:00
Mark Andrews
a5bc0b7cea 1155. [func] Recover from master files being removed from under
us.
2003-08-11 05:46:35 +00:00
Mark Andrews
3da9ba9a4c 1153. [func] 'rndc {stop|halt} -p' now reports the process id
of the instance of named being shutdown.
2003-08-11 05:42:52 +00:00
Mark Andrews
9052beb238 pullup
Check return values or cast them to (void), as required by the coding
standards; add exceptions to the coding standards for cases where this is
not desirable
2003-08-11 05:28:23 +00:00
Mark Andrews
2e7d97c5ba 1151. [bug] nslookup failed to check that the arguments to
the port, timeout, and retry options were
                        valid integers and in range. [RT #2099]

1150.   [bug]           named incorrectly accepted TTL values
                        containing plus or minus signs, such as
                        1d+1h-1s.

1149.   [func]          New function isc_parse_uint32().
2003-08-11 04:48:07 +00:00
Mark Andrews
c4f37c7aa8 1148. [func] 'rndc-confgen -a' now provides positive feedback. 2003-08-11 03:57:34 +00:00
Mark Andrews
27e6e3708d 1147. [func] Set IPV6_V6ONLY on IPv6 sockets if supported by
the OS.  listen-on-v6 { any; }; should no longer
                        result in IPv4 queries be accepted.  Similarly
                        control { inet :: ... }; should no longer result
                        in IPv4 connections being accepted.  This can be
                        overridden at compile time by defining
                        ISC_ALLOW_MAPPED=1.
2003-08-08 07:12:27 +00:00
Mark Andrews
e1ccb64c24 1146. [func] Allow IPV6_IPV6ONLY to be set/cleared on a socket if
supported by the OS by a new function
                        isc_socket_ipv6only().
2003-08-08 06:50:17 +00:00
Mark Andrews
806df27930 1145. [func] "host" no longer reports a NOERROR/NODATA response
by printing nothing. [RT #2065]
2003-08-08 06:20:20 +00:00
Mark Andrews
2b6b5bc00c 1143. [bug] When a trusted-keys statement was present and named
was built without crypto support, it would leak memory.
2003-08-08 06:07:52 +00:00
Mark Andrews
62acdc453a 1139. [func] It is now possible to flush a given name from the
cache(s) via 'rndc flushname name [view]'. [RT #2051]
2003-08-08 05:32:36 +00:00
Mark Andrews
c354304ec4 1138. [func] It is now possible to flush a given name from the
cache by calling the new function
                        dns_cache_flushname().
2003-08-08 04:53:11 +00:00
Mark Andrews
f278e2135b pullup DESTROYMUTEXBLOCK, EMPTY_TRANSLATION_UNIT and TIME_NOW 2003-08-08 04:39:46 +00:00
Mark Andrews
fcb70eb568 1137. [func] It is now possible to flush a given name from the
ADB by calling the new function dns_adb_flushname().
2003-08-08 04:35:17 +00:00
Mark Andrews
2bb8b924b9 1135. [func] You can now override the default syslog() facility for
named/lwresd at compile time. [RT #1982]
2003-08-08 04:24:41 +00:00
Mark Andrews
48abf5d772 1132. [func] Improve UPDATE prerequisite failure diagnotic messages. 2003-08-08 04:09:35 +00:00
Mark Andrews
0b5ddcc4c0 1128. [func] sdb drivers can now provide RR data in either text
or wire format, the latter using the new functions
                        dns_sdb_putrdata() and dns_sdb_putnamedrdata().
2003-08-08 04:04:10 +00:00
Mark Andrews
6166435738 1127. [func] rndc: If the server to contact has multiple addresses,
try all of them.
2003-08-08 03:53:53 +00:00
Mark Andrews
72ceb8a6cc pullup:
@Add bind9_getaddresses(), a consistent version of the get_address function
from dig/host/nslookup, nsupdate, and rndc.  This should make it
easier to have the various programs support multiple addresses for a hostname.
2003-08-08 03:40:09 +00:00
Mark Andrews
9699727166 1119. [func] Added support in Win32 for NTFS file/directory ACL's
for access control.
2003-08-07 07:02:31 +00:00
Mark Andrews
8cb3b2fed8 1115. [func] Set maximum values for cleaning-interval,
heartbeat-interval, interface-interval,
                        max-transfer-idle-in, max-transfer-idle-out,
                        max-transfer-time-in, max-transfer-time-out,
                        statistics-interval of 28 days and
                        sig-validity-interval of 3660 days. [RT #2002]
2003-08-07 06:33:30 +00:00
Mark Andrews
83db215ce0 1110. [bug] dig should only accept valid abbreviations of +options.
[RT #2003]
2003-08-07 05:55:08 +00:00
Mark Andrews
d969dc6d89 1105. [port] OpenUNIX 8 enable threads by default. [RT #1970] 2003-08-07 05:43:52 +00:00
Mark Andrews
dcdd24698e 1080. [bug] BIND 8 compatibility: accept bare IP prefixes
as the second element of a two-element top level
                        sort list statement. [RT #1964]
2003-08-07 05:34:35 +00:00
Mark Andrews
0ab730a224 1079. [bug] BIND 8 compatibility: accept bare elements at top
level of sort list treating them as if they were
                        a single element list. [RT #1963]
2003-08-07 05:29:46 +00:00
Mark Andrews
9cadfb2c17 1077. [func] Do not accept further recursive clients when
the total number of of recursive lookups being
                        processed exceeds max-recursive-clients, even
                        if some of the lookups are internally generated.
                        [RT #1915, #1938]
2003-08-07 05:14:01 +00:00
Mark Andrews
9c9e5c572b 1073. [bug] The ADB cache cleaning should also be space driven.
[RT #1915, #1938]
2003-08-07 04:47:36 +00:00
Mark Andrews
636f97b356 1067. [func] Allow quotas to be soft, isc_quota_soft(). 2003-08-07 03:39:26 +00:00
Mark Andrews
e3aff0ace9 1060. [func] Move refresh, stub and notify UDP retry processing
into dns_request.
2003-08-06 07:03:08 +00:00
Mark Andrews
aa5dba300d 1059. [func] dns_request now support will now retry UDP queries,
dns_request_createvia2() and dns_request_createraw2().
2003-08-06 06:26:24 +00:00
Mark Andrews
13dde62605 1058. [func] Limited lifetime ticker timers are now available,
isc_timertype_limited.
2003-08-06 06:18:07 +00:00
Mark Andrews
946a81d121 1055. [func] Version and hostname queries can now be disabled
using "version none;" and "hostname none;",
                        respectively.

1049.   [func]          "pid-file none;" will disable writing a pid file.
                        [RT #1848]
2003-08-06 06:03:24 +00:00
Mark Andrews
4683e36702 1037. [bug] Negative responses whose authority section contain
SOA or NS records whose owner names are not equal
                        equal to or parents of the query name should be
                        rejected. [RT #1862]
2003-08-06 04:53:52 +00:00
Mark Andrews
022541a067 1036. [func] Silently drop requests received via multicast as
long as there is no final multicast DNS standard.

1035.   [bug]           If we respond to multicast queries (which we
                        currently do not), respond from a unicast address
                        as specified in RFC 1123. [RT #137]

1034.   [bug]           Ignore the RD bit on multicast queries as specified
                        in RFC 1123. [RT #137]
2003-08-06 04:30:53 +00:00
Mark Andrews
ad2d350a80 sync descriptions 2003-08-06 02:03:07 +00:00
Mark Andrews
f75356ec50 1032. [func] hostname.bind/txt/chaos now returns the name of
the machine hosting the nameserver.  This is useful
                        in diagnosing problems with anycast servers.
2003-08-04 08:06:49 +00:00
Mark Andrews
a1342ef451 1025. [bug] Don't use multicast addresses to resolve iterative
queries. [RT #101]
2003-08-04 07:39:10 +00:00
Mark Andrews
d354545fb9 1023. [func] Accept hints without TTLs. 2003-08-04 06:53:23 +00:00
Mark Andrews
d97b2b9426 1011. [cleanup] Removed isc_dir_current(). 2003-08-04 06:35:45 +00:00
Mark Andrews
1bec48a4c1 regen
Move configuration checking to libbind9.
2003-08-04 05:54:27 +00:00
Mark Andrews
d841556f11 Move configuration checking to libbind9. 2003-08-04 05:53:40 +00:00
Mark Andrews
ff77225512 pullup:
Move configuration checking to libbind9.
2003-08-04 04:23:56 +00:00
Mark Andrews
7d9ff20f9c 1009. [port] OpenUNIX 8 support. [RT #1728] 2003-08-04 03:06:35 +00:00
Mark Andrews
30f2d01c91 1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2 2003-08-04 02:55:19 +00:00
Mark Andrews
8552753ad4 997. [func] Add support for RSA-SHA1 keys (RFC3110). 2003-08-04 02:31:57 +00:00
Mark Andrews
70ad8bd808 1003. [func] Add the +retry option to dig. 2003-08-04 02:19:12 +00:00
Mark Andrews
7242fb3349 workdir was missing 2003-08-04 02:09:04 +00:00
Mark Andrews
043f46fcde 999. [func] "rndc retransfer zone [class [view]]" added.
[RT #1752]
2003-08-04 02:04:47 +00:00
Mark Andrews
3b89807475 997. [func] Add support for RSA-SHA1 keys (RFC3110). 2003-08-04 01:04:44 +00:00
Mark Andrews
96e8abc92a 996. [func] Issue warning if the configuration filename contains
the chroot path.
2003-08-04 00:53:02 +00:00
Mark Andrews
c8c7e23e28 994. [func] Treat non-authoritative responses to queries for type
NS as referrals even if the NS records are in the
                        answer section, because BIND 8 servers incorrectly
                        send them that way.  This is necessary for DNSSEC
                        validation of the NS records of a secure zone to
                        succeed when the parent is a BIND 8 server. [RT #1706]
2003-08-04 00:31:05 +00:00
Mark Andrews
c089de412c 9.3.0rc1 2003-08-04 00:23:54 +00:00
Mark Andrews
9627b6edd3 993. [func] dig: -v now reports the version. 2003-08-04 00:23:23 +00:00
Mark Andrews
1af2c81e29 991. [func] Lower UDP refresh timeout messages to DEBUG(1). 2003-08-02 01:35:54 +00:00
Mark Andrews
aa46932168 985. [func] Consider network interfaces to be up iff they have
a nonzero IP address rather than based on the
                        IFF_UP flag. [RT #1160]
2003-08-02 01:19:58 +00:00
Mark Andrews
792aa70e13 983. [func] The server now supports generating IXFR difference
sequences for non-dynamic zones by comparing zone
                        versions, when enabled using the new config
                        option "ixfr-from-differences". [RT #1727]
2003-08-02 00:38:59 +00:00
Mark Andrews
9db3cd9779 982. [func] If "memstatistics-file" is set in options the memory
statistics will be written to it.
2003-08-02 00:15:13 +00:00
Mark Andrews
a09a00456c 982. [func] If "memstatistics-file" is set in options the memory
statistics will be written to it.
2003-08-01 23:56:14 +00:00
Mark Andrews
854e4a3bfc 981. [func] The dnssec tools can now take multiple '-r randomfile'
arguments.
2003-08-01 23:50:46 +00:00
Mark Andrews
c0856b8177 979. [func] Incremental master file dumping. dns_master_dumpinc(),
dns_master_dumptostreaminc(), dns_dumpctx_attach(),
                        dns_dumpctx_detach(), dns_dumpctx_cancel(),
                        dns_dumpctx_db() and dns_dumpctx_version().
2003-08-01 23:19:13 +00:00
Mark Andrews
25368e1a5d 976. [func] named-checkconf will now test load master zone
files (-z).  [RT #1468]
2003-08-01 07:09:50 +00:00
Mark Andrews
2e87e4dc01 add mfc70.dll 2003-08-01 04:52:23 +00:00
Mark Andrews
8c1c6e46ae 970. [func] 'max-journal-size' can now be used to set a target
size for a journal.
2003-07-31 23:34:57 +00:00
Mark Andrews
abd79e7de8 970. [func] 'max-journal-size' can now be used to set a target
size for a journal.
2003-07-31 06:56:51 +00:00
Mark Andrews
2a948b5897 969. [func] dig now supports the undocumented dig 8 feature
of allowing arbitrary labels, not just dotted
                        decimal quads, with the -x option.  This can be
                        used to conveniently look up RFC2317 names as in
                        "dig -x 10.0.0.0-127". [RT #827, #1576, #1598]
2003-07-31 04:41:27 +00:00
cvs2git
fb4531edb3 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-30 02:00:55 +00:00
cvs2git
e29fd1db10 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-30 02:00:54 +00:00
cvs2git
255e133afb This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-30 02:00:53 +00:00
cvs2git
421d3804a3 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-30 01:55:50 +00:00
cvs2git
63727e9a3b This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-30 01:04:16 +00:00
cvs2git
2e5b4a743d This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-28 07:03:16 +00:00
cvs2git
bb0807b700 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-25 04:36:47 +00:00
cvs2git
ef1d8051fe This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-25 03:31:47 +00:00
cvs2git
d761f65a20 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-25 03:31:46 +00:00
cvs2git
8491d008f0 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-24 01:17:55 +00:00
cvs2git
767a26aa3a This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-23 06:58:01 +00:00
cvs2git
79df9ecfdd This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-23 06:58:00 +00:00
cvs2git
809ccd1ff4 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-23 02:03:31 +00:00
cvs2git
815c0cd8fa This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-22 04:03:56 +00:00
cvs2git
dd80cef295 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-22 04:03:55 +00:00
cvs2git
00bd0272e8 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-21 05:47:45 +00:00
cvs2git
abe872c276 This commit was manufactured by cvs2git to create branch 'v9_3'. 2003-07-18 04:35:52 +00:00
cvs2git
23045b97b6 This commit was manufactured by cvs2git to create branch 'v9_3'. 2002-07-11 05:44:12 +00:00
cvs2git
0570be3294 This commit was manufactured by cvs2git to create branch 'v9_3'. 2002-02-08 03:57:48 +00:00
cvs2git
92e662f530 This commit was manufactured by cvs2git to create branch 'v9_3'. 2001-08-30 04:33:22 +00:00
1648 changed files with 66929 additions and 66961 deletions

View File

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

1294
CHANGES

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2003 Internet Software Consortium.
Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
$Id: COPYRIGHT,v 1.6.2.6 2006/01/04 00:37:21 marka Exp $
$Id: COPYRIGHT,v 1.6.2.2.8.3 2005/01/10 23:51:37 marka Exp $
Portions Copyright (C) 1996-2001 Nominum, Inc.

View File

@@ -160,26 +160,3 @@
Use --enable-getifaddrs=glibc to force the use of
this version under linux machines.
1502. [bug] nsupdate: adjust timeouts for UPDATE requests over TCP.
1517. [port] Support for IPv6 interface scanning on HP/UX and
TrueUNIX 5.1.
1519. [bug] dnssec-signzone:nsec_setbit() computed the wrong
length of the new bitmap.
1521. [bug] dns_view_createresolver() failed to check the
result from isc_mem_create(). [RT# 9294]
1548. [bug] When parsing APL records it was possible to silently
accept out of range ADDRESSFAMILY values. [RT# 9979]
1554. [bug] dig, host, nslookup failed when no nameservers
were specified in /etc/resolv.conf. [RT #8232]
1560. [port] FreeBSD: work around FreeBSD 5.2 mapping EAI_NODATA
and EAI_NONAME to the same value.
1565. [bug] CD flag should be copied to outgoing queries unless
the query is under a secure entry point in which case
CD should be set.

389
FAQ
View File

@@ -4,36 +4,26 @@ Frequently Asked Questions about BIND 9
Q: Why doesn't -u work on Linux 2.2.x when I build with --enable-threads?
A: Linux threads do not fully implement the Posix threads (pthreads) standard. In
particular, setuid() operates only on the current thread, not the full process.
Because of this limitation, BIND 9 cannot use setuid() on Linux as it can on
all other supported platforms. setuid() cannot be called before creating
threads, since the server does not start listening on reserved ports until
after threads have started.
A: Linux threads do not fully implement the Posix threads (pthreads) standard.
In particular, setuid() operates only on the current thread, not the full
process. Because of this limitation, BIND 9 cannot use setuid() on Linux as
it can on all other supported platforms. setuid() cannot be called before
creating threads, since the server does not start listening on reserved
ports until after threads have started.
In the 2.2.18 or 2.3.99-pre3 and newer kernels, the ability to preserve
capabilities across a setuid() call is present. This allows BIND 9 to call
setuid() early, while retaining the ability to bind reserved ports. This is a
Linux-specific hack.
setuid() early, while retaining the ability to bind reserved ports. This is
a Linux-specific hack.
On a 2.2 kernel, BIND 9 does drop many root privileges, so it should be less of
a security risk than a root process that has not dropped privileges.
On a 2.2 kernel, BIND 9 does drop many root privileges, so it should be less
of a security risk than a root process that has not dropped privileges.
If Linux threads ever work correctly, this restriction will go away.
Configuring BIND9 with the --disable-threads option (the default) causes a
non-threaded version to be built, which will allow -u to be used.
Q: Why do I get the following errors:
general: errno2result.c:109: unexpected error:
general: unable to convert errno to isc_result: 14: Bad address
client: UDP client handler shutting down due to fatal receive error: unexpected error
A: This is the result of a Linux kernel bug.
See: http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2
Q: Why does named log the warning message "no TTL specified - using SOA MINTTL
instead"?
@@ -50,26 +40,23 @@ A: Your zone file is illegal according to RFC1035. It must either have a line
Q: Why do I see 5 (or more) copies of named on Linux?
A: Linux threads each show up as a process under ps. The approximate number of
threads running is n+4, where n is the number of CPUs. Note that the amount of
memory used is not cumulative; if each process is using 10M of memory, only a
total of 10M is used.
Newer versions of Linux's ps command hide the individual threads and require -L
to display them.
threads running is n+4, where n is the number of CPUs. Note that the amount
of memory used is not cumulative; if each process is using 10M of memory,
only a total of 10M is used.
Q: Why does BIND 9 log "permission denied" errors accessing its configuration
files or zones on my Linux system even though it is running as root?
A: On Linux, BIND 9 drops most of its root privileges on startup. This including
the privilege to open files owned by other users. Therefore, if the server is
running as root, the configuration files and zone files should also be owned by
root.
A: On Linux, BIND 9 drops most of its root privileges on startup. This
including the privilege to open files owned by other users. Therefore, if
the server is running as root, the configuration files and zone files should
also be owned by root.
Q: Why do I get errors like "dns_zone_load: zone foo/IN: loading master file bar:
ran out of space"?
Q: Why do I get errors like "dns_zone_load: zone foo/IN: loading master file
bar: ran out of space"?
A: This is often caused by TXT records with missing close quotes. Check that all
TXT records containing quoted strings have both open and close quotes.
A: This is often caused by TXT records with missing close quotes. Check that
all TXT records containing quoted strings have both open and close quotes.
Q: How do I produce a usable core file from a multithreaded named on Linux?
@@ -81,16 +68,16 @@ A: If the Linux kernel is 2.4.7 or newer, multithreaded core dumps are usable
Q: How do I restrict people from looking up the server version?
A: Put a "version" option containing something other than the real version in the
"options" section of named.conf. Note doing this will not prevent attacks and
may impede people trying to diagnose problems with your server. Also it is
possible to "fingerprint" nameservers to determine their version.
A: Put a "version" option containing something other than the real version in
the "options" section of named.conf. Note doing this will not prevent
attacks and may impede people trying to diagnose problems with your server.
Also it is possible to "fingerprint" nameservers to determine their version.
Q: How do I restrict only remote users from looking up the server version?
A: The following view statement will intercept lookups as the internal view that
holds the version information will be matched last. The caveats of the previous
answer still apply, of course.
A: The following view statement will intercept lookups as the internal view
that holds the version information will be matched last. The caveats of the
previous answer still apply, of course.
view "chaos" chaos {
match-clients { <those to be refused>; };
@@ -104,45 +91,48 @@ A: The following view statement will intercept lookups as the internal view that
Q: What do "no source of entropy found" or "could not open entropy source foo"
mean?
A: The server requires a source of entropy to perform certain operations, mostly
DNSSEC related. These messages indicate that you have no source of entropy. On
systems with /dev/random or an equivalent, it is used by default. A source of
entropy can also be defined using the random-device option in named.conf.
A: The server requires a source of entropy to perform certain operations,
mostly DNSSEC related. These messages indicate that you have no source of
entropy. On systems with /dev/random or an equivalent, it is used by
default. A source of entropy can also be defined using the random-device
option in named.conf.
Q: I installed BIND 9 and restarted named, but it's still BIND 8. Why?
A: BIND 9 is installed under /usr/local by default. BIND 8 is often installed
under /usr. Check that the correct named is running.
Q: I'm trying to use TSIG to authenticate dynamic updates or zone transfers. I'm
sure I have the keys set up correctly, but the server is rejecting the TSIG.
Why?
Q: I'm trying to use TSIG to authenticate dynamic updates or zone transfers.
I'm sure I have the keys set up correctly, but the server is rejecting the
TSIG. Why?
A: This may be a clock skew problem. Check that the the clocks on the client and
server are properly synchronised (e.g., using ntp).
A: This may be a clock skew problem. Check that the the clocks on the client
and server are properly synchronised (e.g., using ntp).
Q: I'm trying to compile BIND 9, and "make" is failing due to files not being
found. Why?
A: Using a parallel or distributed "make" to build BIND 9 is not supported, and
doesn't work. If you are using one of these, use normal make or gmake instead.
doesn't work. If you are using one of these, use normal make or gmake
instead.
Q: I have a BIND 9 master and a BIND 8.2.3 slave, and the master is logging error
messages like "notify to 10.0.0.1#53 failed: unexpected end of input". What's
wrong?
Q: I have a BIND 9 master and a BIND 8.2.3 slave, and the master is logging
error messages like "notify to 10.0.0.1#53 failed: unexpected end of input".
What's wrong?
A: This error message is caused by a known bug in BIND 8.2.3 and is fixed in BIND
8.2.4. It can be safely ignored - the notify has been acted on by the slave
despite the error message.
A: This error message is caused by a known bug in BIND 8.2.3 and is fixed in
BIND 8.2.4. It can be safely ignored - the notify has been acted on by the
slave despite the error message.
Q: I keep getting log messages like the following. Why?
Dec 4 23:47:59 client 10.0.0.1#1355: updating zone 'example.com/IN': update
failed: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
failed: 'RRset exists (value dependent)' prerequisite not satisfied
(NXRRSET)
A: DNS updates allow the update request to test to see if certain conditions are
met prior to proceeding with the update. The message above is saying that
conditions were not met and the update is not proceeding. See doc/rfc/
A: DNS updates allow the update request to test to see if certain conditions
are met prior to proceeding with the update. The message above is saying
that conditions were not met and the update is not proceeding. See doc/rfc/
rfc2136.txt for more details on prerequisites.
Q: I keep getting log messages like the following. Why?
@@ -150,11 +140,11 @@ Q: I keep getting log messages like the following. Why?
Jun 21 12:00:00.000 client 10.0.0.1#1234: update denied
A: Someone is trying to update your DNS data using the RFC2136 Dynamic Update
protocol. Windows 2000 machines have a habit of sending dynamic update requests
to DNS servers without being specifically configured to do so. If the update
requests are coming from a Windows 2000 machine, see http://
support.microsoft.com/support/kb/articles/q246/8/04.asp for information about
how to turn them off.
protocol. Windows 2000 machines have a habit of sending dynamic update
requests to DNS servers without being specifically configured to do so. If
the update requests are coming from a Windows 2000 machine, see http://
support.microsoft.com/support/kb/articles/q246/8/04.asp for information
about how to turn them off.
Q: I see a log message like the following. Why?
@@ -162,59 +152,59 @@ Q: I see a log message like the following. Why?
A: You are most likely running named as a non-root user, and that user does not
have permission to write in /var/run. The common ways of fixing this are to
create a /var/run/named directory owned by the named user and set pid-file to "
/var/run/named/named.pid", or set pid-file to "named.pid", which will put the
file in the directory specified by the directory option (which, in this case,
must be writable by the named user).
create a /var/run/named directory owned by the named user and set pid-file
to "/var/run/named/named.pid", or set pid-file to "named.pid", which will
put the file in the directory specified by the directory option (which, in
this case, must be writable by the named user).
Q: When I do a "dig . ns", many of the A records for the root servers are missing.
Why?
Q: When I do a "dig . ns", many of the A records for the root servers are
missing. Why?
A: This is normal and harmless. It is a somewhat confusing side effect of the way
BIND 9 does RFC2181 trust ranking and of the efforts BIND 9 makes to avoid
promoting glue into answers.
A: This is normal and harmless. It is a somewhat confusing side effect of the
way BIND 9 does RFC2181 trust ranking and of the efforts BIND 9 makes to
avoid promoting glue into answers.
When BIND 9 first starts up and primes its cache, it receives the root server
addresses as additional data in an authoritative response from a root server,
and these records are eligible for inclusion as additional data in responses.
Subsequently it receives a subset of the root server addresses as additional
data in a non-authoritative (referral) response from a root server. This causes
the addresses to now be considered non-authoritative (glue) data, which is not
eligible for inclusion in responses.
When BIND 9 first starts up and primes its cache, it receives the root
server addresses as additional data in an authoritative response from a root
server, and these records are eligible for inclusion as additional data in
responses. Subsequently it receives a subset of the root server addresses as
additional data in a non-authoritative (referral) response from a root
server. This causes the addresses to now be considered non-authoritative
(glue) data, which is not eligible for inclusion in responses.
The server does have a complete set of root server addresses cached at all
times, it just may not include all of them as additional data, depending on
whether they were last received as answers or as glue. You can always look up
the addresses with explicit queries like "dig a.root-servers.net A".
whether they were last received as answers or as glue. You can always look
up the addresses with explicit queries like "dig a.root-servers.net A".
Q: Zone transfers from my BIND 9 master to my Windows 2000 slave fail. Why?
A: This may be caused by a bug in the Windows 2000 DNS server where DNS messages
larger than 16K are not handled properly. This can be worked around by setting
the option "transfer-format one-answer;". Also check whether your zone contains
domain names with embedded spaces or other special characters, like "John\
032Doe\213s\032Computer", since such names have been known to cause Windows
2000 slaves to incorrectly reject the zone.
A: This may be caused by a bug in the Windows 2000 DNS server where DNS
messages larger than 16K are not handled properly. This can be worked around
by setting the option "transfer-format one-answer;". Also check whether your
zone contains domain names with embedded spaces or other special characters,
like "John\032Doe\213s\032Computer", since such names have been known to
cause Windows 2000 slaves to incorrectly reject the zone.
Q: Why don't my zones reload when I do an "rndc reload" or SIGHUP?
A: A zone can be updated either by editing zone files and reloading the server or
by dynamic update, but not both. If you have enabled dynamic update for a zone
using the "allow-update" option, you are not supposed to edit the zone file by
hand, and the server will not attempt to reload it.
A: A zone can be updated either by editing zone files and reloading the server
or by dynamic update, but not both. If you have enabled dynamic update for a
zone using the "allow-update" option, you are not supposed to edit the zone
file by hand, and the server will not attempt to reload it.
Q: I can query the nameserver from the nameserver but not from other machines.
Why?
A: This is usually the result of the firewall configuration stopping the queries
and / or the replies.
A: This is usually the result of the firewall configuration stopping the
queries and / or the replies.
Q: How can I make a server a slave for both an internal and an external view at
the same time? When I tried, both views on the slave were transferred from the
same view on the master.
the same time? When I tried, both views on the slave were transferred from
the same view on the master.
A: You will need to give the master and slave multiple IP addresses and use those
to make sure you reach the correct view on the other machine.
A: You will need to give the master and slave multiple IP addresses and use
those to make sure you reach the correct view on the other machine.
Master: 10.0.1.1 (internal), 10.0.1.2 (external, IP alias)
internal:
@@ -242,8 +232,8 @@ A: You will need to give the master and slave multiple IP addresses and use thos
transfer-source 10.0.1.4;
query-source address 10.0.1.4;
You put the external address on the alias so that all the other dns clients on
these boxes see the internal view by default.
You put the external address on the alias so that all the other dns clients
on these boxes see the internal view by default.
A: BIND 9.3 and later: Use TSIG to select the appropriate view.
@@ -258,7 +248,7 @@ A: BIND 9.3 and later: Use TSIG to select the appropriate view.
};
view "external" {
match-clients { key external; any; };
server 10.0.1.2 { keys external; };
server 10.0.0.2 { keys external; };
recursion no;
...
};
@@ -274,7 +264,7 @@ A: BIND 9.3 and later: Use TSIG to select the appropriate view.
};
view "external" {
match-clients { key external; any; };
server 10.0.1.1 { keys external; };
server 10.0.0.1 { keys external; };
recursion no;
...
};
@@ -282,8 +272,8 @@ A: BIND 9.3 and later: Use TSIG to select the appropriate view.
Q: I have FreeBSD 4.x and "rndc-confgen -a" just sits there.
A: /dev/random is not configured. Use rndcontrol(8) to tell the kernel to use
certain interrupts as a source of random events. You can make this permanent by
setting rand_irqs in /etc/rc.conf.
certain interrupts as a source of random events. You can make this permanent
by setting rand_irqs in /etc/rc.conf.
/etc/rc.conf
rand_irqs="3 14 15"
@@ -293,33 +283,34 @@ A: /dev/random is not configured. Use rndcontrol(8) to tell the kernel to use
Q: Why is named listening on UDP port other than 53?
A: Named uses a system selected port to make queries of other nameservers. This
behaviour can be overridden by using query-source to lock down the port and/or
address. See also notify-source and transfer-source.
behaviour can be overridden by using query-source to lock down the port and/
or address. See also notify-source and transfer-source.
Q: I get error messages like "multiple RRs of singleton type" and "CNAME and other
data" when transferring a zone. What does this mean?
Q: I get error messages like "multiple RRs of singleton type" and "CNAME and
other data" when transferring a zone. What does this mean?
A: These indicate a malformed master zone. You can identify the exact records
involved by transferring the zone using dig then running named-checkzone on it.
involved by transferring the zone using dig then running named-checkzone on
it.
dig axfr example.com @master-server > tmp
named-checkzone example.com tmp
A CNAME record cannot exist with the same name as another record except for the
DNSSEC records which prove its existance (NSEC).
A CNAME record cannot exist with the same name as another record except for
the DNSSEC records which prove its existance (NSEC).
RFC 1034, Section 3.6.2: "If a CNAME RR is present at a node, no other data
should be present; this ensures that the data for a canonical name and its
aliases cannot be different. This rule also insures that a cached CNAME can be
used without checking with an authoritative server for other RR types."
aliases cannot be different. This rule also insures that a cached CNAME can
be used without checking with an authoritative server for other RR types."
Q: I get error messages like "named.conf:99: unexpected end of input" where 99 is
the last line of named.conf.
Q: I get error messages like "named.conf:99: unexpected end of input" where 99
is the last line of named.conf.
A: Some text editors (notepad and wordpad) fail to put a line title indication
(e.g. CR/LF) on the last line of a text file. This can be fixed by "adding" a
blank line to the end of the file. Named expects to see EOF immediately after
EOL and treats text files where this is not met as truncated.
(e.g. CR/LF) on the last line of a text file. This can be fixed by "adding"
a blank line to the end of the file. Named expects to see EOF immediately
after EOL and treats text files where this is not met as truncated.
Q: I get warning messages like "zone example.com/IN: refresh: failure trying
master 1.2.3.4#53: timed out".
@@ -328,15 +319,15 @@ A: Check that you can make UDP queries from the slave to the master
dig +norec example.com soa @1.2.3.4
You could be generating queries faster than the slave can cope with. Lower the
serial query rate.
You could be generating queries faster than the slave can cope with. Lower
the serial query rate.
serial-query-rate 5; // default 20
Q: How do I share a dynamic zone between multiple views?
A: You choose one view to be master and the second a slave and transfer the zone
between views.
A: You choose one view to be master and the second a slave and transfer the
zone between views.
Master 10.0.1.1:
key "external" {
@@ -379,14 +370,14 @@ Q: I get a error message like "zone wireless.ietf56.ietf.org/IN: loading master
file primaries/wireless.ietf56.ietf.org: no owner".
A: This error is produced when a line in the master file contains leading white
space (tab/space) but the is no current record owner name to inherit the name
from. Usually this is the result of putting white space before a comment.
Forgeting the "@" for the SOA record or indenting the master file.
space (tab/space) but the is no current record owner name to inherit the
name from. Usually this is the result of putting white space before a
comment. Forgeting the "@" for the SOA record or indenting the master file.
Q: Why are my logs in GMT (UTC).
A: You are running chrooted (-t) and have not supplied local timzone information
in the chroot area.
A: You are running chrooted (-t) and have not supplied local timzone
information in the chroot area.
FreeBSD: /etc/localtime
Solaris: /etc/TIMEZONE and /usr/share/lib/zoneinfo
@@ -404,23 +395,23 @@ Q: I get "rndc: connect failed: connection refused" when I try to run rndc.
A: This is usually a configuration error.
First ensure that named is running and no errors are being reported at startup
(/var/log/messages or equivalent). Running "named -g <usual arguments>" from a
title can help at this point.
First ensure that named is running and no errors are being reported at
startup (/var/log/messages or equivalent). Running "named -g <usual
arguments>" from a title can help at this point.
Secondly ensure that named is configured to use rndc either by "rndc-confgen
-a", rndc-confgen or manually. The Administrators Reference manual has details
on how to do this.
-a", rndc-confgen or manually. The Administrators Reference manual has
details on how to do this.
Old versions of rndc-confgen used localhost rather than 127.0.0.1 in /etc/
rndc.conf for the default server. Update /etc/rndc.conf if necessary so that
the default server listed in /etc/rndc.conf matches the addresses used in
named.conf. "localhost" has two address (127.0.0.1 and ::1).
If you use "rndc-confgen -a" and named is running with -t or -u ensure that /
etc/rndc.conf has the correct ownership and that a copy is in the chroot area.
You can do this by re-running "rndc-confgen -a" with appropriate -t and -u
arguments.
If you use "rndc-confgen -a" and named is running with -t or -u ensure that
/etc/rndc.conf has the correct ownership and that a copy is in the chroot
area. You can do this by re-running "rndc-confgen -a" with appropriate -t
and -u arguments.
Q: I don't get RRSIG's returned when I use "dig +dnssec".
@@ -428,11 +419,12 @@ A: You need to ensure DNSSEC is enabled (dnssec-enable yes;).
Q: I get "Error 1067" when starting named under Windows.
A: This is the service manager saying that named exited. You need to examine the
Application log in the EventViewer to find out why.
A: This is the service manager saying that named exited. You need to examine
the Application log in the EventViewer to find out why.
Common causes are that you failed to create "named.conf" (usually "C:\windows\
dns\etc\named.conf") or failed to specify the directory in named.conf.
Common causes are that you failed to create "named.conf" (usually "C:\
windows\dns\etc\named.conf") or failed to specify the directory in
named.conf.
options {
Directory "C:\windows\dns\etc";
@@ -447,11 +439,11 @@ A: These indicate a filesystem permission error preventing named creating /
"dumping master file: sl/tmp-XXXX5il3sQ: open: permission denied"
Named needs write permission on the directory containing the file. Named writes
the new cache file to a temporary file then renames it to the name specified in
named.conf to ensure that the contents are always complete. This is to prevent
named loading a partial zone in the event of power failure or similar
interrupting the write of the master file.
Named needs write permission on the directory containing the file. Named
writes the new cache file to a temporary file then renames it to the name
specified in named.conf to ensure that the contents are always complete.
This is to prevent named loading a partial zone in the event of power
failure or similar interrupting the write of the master file.
Note file names are relative to the directory specified in options and any
chroot directory ([<chroot dir>/][<options dir>]).
@@ -497,8 +489,8 @@ A: If the IN-ADDR.ARPA name covered refers to a internal address space you are
If you are not using these private addresses then a client has queried for
them. You can just ignore the messages, get the offending client to stop
sending you these messages as they are most probably leaking them or setup your
own zones empty zones to serve answers to these queries.
sending you these messages as they are most probably leaking them or setup
your own zones empty zones to serve answers to these queries.
zone "10.IN-ADDR.ARPA" {
type master;
@@ -531,102 +523,3 @@ A: If the IN-ADDR.ARPA name covered refers to a internal address space you are
Future versions of named are likely to do this automatically.
Q: I'm running BIND on Red Hat Enterprise Linux or Fedora Core -
Why can't named update slave zone database files?
Why can't named create DDNS journal files or update the master zones from
journals?
Why can't named create custom log files?
A: Red Hat Security Enhanced Linux (SELinux) policy security protections :
Red Hat have adopted the National Security Agency's SELinux security policy (
see http://www.nsa.gov/selinux ) and recommendations for BIND security , which
are more secure than running named in a chroot and make use of the bind-chroot
environment unecessary .
By default, named is not allowed by the SELinux policy to write, create or
delete any files EXCEPT in these directories:
$ROOTDIR/var/named/slaves
$ROOTDIR/var/named/data
$ROOTDIR/var/tmp
where $ROOTDIR may be set in /etc/sysconfig/named if bind-chroot is installed.
The SELinux policy particularly does NOT allow named to modify the $ROOTDIR/var
/named directory, the default location for master zone database files.
SELinux policy overrules file access permissions - so even if all the files
under /var/named have ownership named:named and mode rw-rw-r--, named will
still not be able to write or create files except in the directories above,
with SELinux in Enforcing mode.
So, to allow named to update slave or DDNS zone files, it is best to locate
them in $ROOTDIR/var/named/slaves, with named.conf zone statements such as:
zone "slave.zone." IN {
type slave;
file "slaves/slave.zone.db";
...
};
zone "ddns.zone." IN {
type master;
allow-updates {...};
file "slaves/ddns.zone.db";
};
To allow named to create its cache dump and statistics files, for example, you
could use named.conf options statements such as:
options {
...
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
...
};
You can also tell SELinux to allow named to update any zone database files, by
setting the SELinux tunable boolean parameter 'named_write_master_zones=1',
using the system-config-securitylevel GUI, using the 'setsebool' command, or in
/etc/selinux/targeted/booleans.
You can disable SELinux protection for named entirely by setting the
'named_disable_trans=1' SELinux tunable boolean parameter.
The SELinux named policy defines these SELinux contexts for named:
named_zone_t : for zone database files - $ROOTDIR/var/named/*
named_conf_t : for named configuration files - $ROOTDIR/etc/{named,rndc}.*
named_cache_t: for files modifiable by named - $ROOTDIR/var/{tmp,named/{slaves,data}}
If you want to retain use of the SELinux policy for named, and put named files
in different locations, you can do so by changing the context of the custom
file locations .
To create a custom configuration file location, eg. '/root/named.conf', to use
with the 'named -c' option, do:
# chcon system_u:object_r:named_conf_t /root/named.conf
To create a custom modifiable named data location, eg. '/var/log/named' for a
log file, do:
# chcon system_u:object_r:named_cache_t /var/log/named
To create a custom zone file location, eg. /root/zones/, do:
# chcon system_u:object_r:named_zone_t /root/zones/{.,*}
See these man-pages for more information : selinux(8), named_selinux(8), chcon
(1), setsebool(8)

198
FAQ.xml
View File

@@ -1,7 +1,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
<!--
- Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: FAQ.xml,v 1.4.8.5 2006/02/27 21:11:57 marka Exp $ -->
<!-- $Id: FAQ.xml,v 1.4.6.3 2005/11/02 22:53:51 marka Exp $ -->
<article class="faq">
<title>Frequently Asked Questions about BIND 9</title>
@@ -64,26 +64,6 @@
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why do I get the following errors:
<programlisting>general: errno2result.c:109: unexpected error:
general: unable to convert errno to isc_result: 14: Bad address
client: UDP client handler shutting down due to fatal receive error: unexpected error</programlisting>
</para>
</question>
<answer>
<para>
This is the result of a Linux kernel bug.
</para>
<para>
See:
<ulink url="http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2">http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -125,10 +105,6 @@ example.com. 86400 IN SOA ns hostmaster ( 1 3600 1800 1814400 3600 )</programlis
is not cumulative; if each process is using 10M of memory,
only a total of 10M is used.
</para>
<para>
Newer versions of Linux's ps command hide the individual threads
and require -L to display them.
</para>
</answer>
</qandaentry>
@@ -540,7 +516,7 @@ Master 10.0.1.1:
};
view "external" {
match-clients { key external; any; };
server 10.0.1.2 { keys external; };
server 10.0.0.2 { keys external; };
recursion no;
...
};
@@ -556,7 +532,7 @@ Slave 10.0.1.2:
};
view "external" {
match-clients { key external; any; };
server 10.0.1.1 { keys external; };
server 10.0.0.1 { keys external; };
recursion no;
...
};</programlisting>
@@ -1021,177 +997,11 @@ empty:
1 3600 1200 604800 10800 )
@ 10800 IN NS &lt;name-of-server&gt;.</programlisting>
</informalexample>
<para>
<note>
Future versions of named are likely to do this automatically.
</note>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I'm running BIND on Red Hat Enterprise Linux or Fedora Core -
</para>
<para>
Why can't named update slave zone database files?
</para>
<para>
Why can't named create DDNS journal files or update
the master zones from journals?
</para>
<para>
Why can't named create custom log files?
</para>
</question>
<answer>
<para>
Red Hat Security Enhanced Linux (SELinux) policy security
protections :
</para>
<para>
Red Hat have adopted the National Security Agency's
SELinux security policy ( see http://www.nsa.gov/selinux
) and recommendations for BIND security , which are more
secure than running named in a chroot and make use of
the bind-chroot environment unecessary .
</para>
<para>
By default, named is not allowed by the SELinux policy
to write, create or delete any files EXCEPT in these
directories:
<informalexample>
<programlisting>
$ROOTDIR/var/named/slaves
$ROOTDIR/var/named/data
$ROOTDIR/var/tmp
</programlisting>
</informalexample>
where $ROOTDIR may be set in /etc/sysconfig/named if
bind-chroot is installed.
</para>
<para>
The SELinux policy particularly does NOT allow named to modify
the $ROOTDIR/var/named directory, the default location for master
zone database files.
</para>
<para>
SELinux policy overrules file access permissions - so
even if all the files under /var/named have ownership
named:named and mode rw-rw-r--, named will still not be
able to write or create files except in the directories
above, with SELinux in Enforcing mode.
</para>
<para>
So, to allow named to update slave or DDNS zone files,
it is best to locate them in $ROOTDIR/var/named/slaves,
with named.conf zone statements such as:
<informalexample>
<programlisting>
zone "slave.zone." IN {
type slave;
file "slaves/slave.zone.db";
...
};
zone "ddns.zone." IN {
type master;
allow-updates {...};
file "slaves/ddns.zone.db";
};
</programlisting>
</informalexample>
</para>
<para>
To allow named to create its cache dump and statistics
files, for example, you could use named.conf options
statements such as:
<informalexample>
<programlisting>
options {
...
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
...
};
</programlisting>
</informalexample>
</para>
<para>
You can also tell SELinux to allow named to update any
zone database files, by setting the SELinux tunable boolean
parameter 'named_write_master_zones=1', using the
system-config-securitylevel GUI, using the 'setsebool'
command, or in /etc/selinux/targeted/booleans.
</para>
<para>
You can disable SELinux protection for named entirely by
setting the 'named_disable_trans=1' SELinux tunable boolean
parameter.
</para>
<para>
The SELinux named policy defines these SELinux contexts for named:
<informalexample>
<programlisting>
named_zone_t : for zone database files - $ROOTDIR/var/named/*
named_conf_t : for named configuration files - $ROOTDIR/etc/{named,rndc}.*
named_cache_t: for files modifiable by named - $ROOTDIR/var/{tmp,named/{slaves,data}}
</programlisting>
</informalexample>
</para>
<para>
If you want to retain use of the SELinux policy for named,
and put named files in different locations, you can do
so by changing the context of the custom file locations
.
</para>
<para>
To create a custom configuration file location, eg.
'/root/named.conf', to use with the 'named -c' option,
do:
<informalexample>
<programlisting>
# chcon system_u:object_r:named_conf_t /root/named.conf
</programlisting>
</informalexample>
</para>
<para>
To create a custom modifiable named data location, eg.
'/var/log/named' for a log file, do:
<informalexample>
<programlisting>
# chcon system_u:object_r:named_cache_t /var/log/named
</programlisting>
</informalexample>
</para>
<para>
To create a custom zone file location, eg. /root/zones/, do:
<informalexample>
<programlisting>
# chcon system_u:object_r:named_zone_t /root/zones/{.,*}
</programlisting>
</informalexample>
</para>
<para>
See these man-pages for more information : selinux(8),
named_selinux(8), chcon(1), setsebool(8)
</para>
</answer>
</qandaentry>
</qandaset>
</article>

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001, 2003 Internet Software Consortium.
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.41.2.5 2006/05/19 00:03:59 marka Exp $
# $Id: Makefile.in,v 1.41.2.2.2.2 2004/03/08 04:04:12 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -44,8 +44,7 @@ maintainer-clean::
rm -f configure
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir}
install:: isc-config.sh installdirs
${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}

166
README
View File

@@ -28,7 +28,7 @@ BIND 9
BIND version 9 development has been underwritten by the following
organisations:
organizations:
Sun Microsystems, Inc.
Hewlett Packard
@@ -43,59 +43,71 @@ BIND 9
Nominum, Inc.
BIND 9.2.6
BIND 9.3.2
BIND 9.2.6 is a maintenance release, containing fixes for
a number of bugs in 9.2.5.
BIND 9.3.2 is a maintenance release, containing fixes for
a number of bugs in 9.3.1.
libbind: corresponds to that from BIND 8.4.7-REL.
libbind: corresponds to that from BIND 8.4.7-REL.
BIND 9.2.5
Known Issues:
BIND 9.2.5 is a maintenance release, containing fixes for
a number of bugs in 9.2.4.
The following INSIST can be triggered with DNSSEC enabled.
libbind: corresponds to that from BIND 8.4.6-REL.
resolver.c:762: INSIST(result != 0 || dns_rdataset_isassociated(event->rdataset) || fctx->type == ((dns_rdatatype_t)dns_rdatatype_any) || fctx->type == ((dns_rdatatype_t)dns_rdatatype_rrsig)) failed
BIND 9.2.4
BIND 9.2.4 is a maintenance release, containing fixes for
a number of bugs in 9.2.3.
We are still trying to isolate the cause. If you have core
dump please send a bug report to bind9-bugs@isc.org with
the location of the core, named executable and OS details.
Note: contrib/nanny contains a perl script to restart named
in the event of a INSIST/REQUIRE/ENSURE failure.
BIND 9.3.1
BIND 9.3.1 is a maintenance release, containing fixes for
a number of bugs in 9.3.0.
libbind: corresponds to that from BIND 8.4.6-REL.
BIND 9.3.0
BIND 9.3.0 has a number of new features over 9.2,
including:
DNSSEC is now DS based (RFC 3658).
See also RFC 3845, doc/draft/draft-ietf-dnsext-dnssec-*.
DNSSEC lookaside validation.
check-names is now implemented.
rrset-order in more complete.
IPv4/IPv6 transition support, dual-stack-servers.
IXFR deltas can now be generated when loading master files,
ixfr-from-differences.
It is now possible to specify the size of a journal, max-journal-size.
It is now possible to define a named set of master servers to be
used in masters clause, masters.
The advertised EDNS UDP size can now be set, edns-udp-size.
allow-v6-synthesis has been obsoleted.
NOTE:
* Zones containing MD and MF will now be rejected.
* dig, nslookup name. now report "Not Implemented" as
NOTIMP rather than NOTIMPL. This will have impact on scripts
that are looking for NOTIMPL.
libbind: corresponds to that from BIND 8.4.5.
BIND 9.2.3
BIND 9.2.3 is a maintenance release, containing fixes for
a number of bugs in 9.2.2.
A new zone type delegation-only is now supported.
A new view option root-delegation-only is now supported.
libbind: corresponds to that from BIND 8.4.0.
BIND 9.2.2
BIND 9.2.2 is a maintenance release, containing fixes for
a number of bugs in 9.2.1 but no new features. RFC 2535
style DNSSEC is disabled as it is incompatible with the
forthcoming DS style DNSSEC.
libbind: from BIND 8.3.3. [CERT CA-2002-19]
Minimum OpenSSL version now 0.9.6e. [CERT CA-2002-23]
BIND 9.2.1
BIND 9.2.1 is a maintenance release, containing fixes for
a number of bugs in 9.2.0 but no new features.
NOTE: dig, nslookup name. now report "Not Implemented" as
NOTIMP rather than NOTIMPL. This will have impact on scripts
that are looking for NOTIMPL.
BIND 9.2.0
BIND 9.2.0 introduces a number of new features over 9.1,
BIND 9.2.0 has a number of new features over 9.1,
including:
- The size of the cache can now be limited using the
@@ -149,8 +161,8 @@ BIND 9.2.0
BIND 9.2 is capable of acting as an authoritative server
for DNSSEC secured zones. This functionality is believed to
be stable and complete except for lacking support for wildcard
records in secure zones.
be stable and complete except for lacking support for
verifications involving wildcard records in secure zones.
When acting as a caching server, BIND 9.2 can be configured
to perform DNSSEC secure resolution on behalf of its clients.
@@ -174,16 +186,14 @@ BIND 9.2.0
This is due to a bug in "/dev/random" and impacts the
server's DNSSEC support.
OS X 10.1.4 (Darwin 5.4) reports errors like
OS X 10.1.4 (Darwin 5.4), OS X 10.1.5 (Darwin 5.5) and
OS X 10.2 (Darwin 6.0) reports errors like
"fcntl(3, F_SETFL, 4): Operation not supported by device".
This is due to a bug in "/dev/random" and impacts the
server's DNSSEC support.
--with-libtool does not work on AIX.
--with-libtool does not work on SunOS 4. configure
requires "printf" which is not available.
A bug in the Windows 2000 DNS server can cause zone transfers
from a BIND 9 server to a W2K server to fail. For details,
see the "Zone Transfers" section in doc/misc/migration.
@@ -199,13 +209,13 @@ Building
We've had successful builds and tests on the following systems:
COMPAQ Tru64 UNIX 5.1B
FreeBSD 4.10, 5.2.1
HP-UX 11.11
NetBSD 1.5
Slackware Linux 8.1
Solaris 8, 9, 9 (x86)
Windows NT/2000/XP/2003
COMPAQ Tru64 UNIX 5.1B
FreeBSD 4.10, 5.2.1
HP-UX 11.11
NetBSD 1.5
Slackware Linux 8.1
Solaris 8, 9, 9 (x86)
Windows NT/2000/XP/2003
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
@@ -215,11 +225,11 @@ Building
Slackware Linux 7.x, 8.0
Red Hat Linux 7.1
Debian GNU/Linux 2.2 and 3.0
OpenBSD 2.6, 2.8, 2.9, 3.1, 3.6, 3.8
Mandrake 8.1
OpenBSD 2.6, 2.8, 2.9
UnixWare 7.1.1
HP-UX 10.20
BSD/OS 4.2
OpenUNIX 8
Mac OS X 10.1, 10.3.8
To build, just
@@ -238,7 +248,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
@@ -250,29 +260,15 @@ Building
Defaults to empty string.
Possible settings:
-DISC_RFC2535
Enable support RFC 2535 style DNSSEC. This
is incompatable with the upcoming DS support
and SHOULD NOT be set unless you are currently
making use of it.
-DNS_CLIENT_DROPPORT=0
Disable dropping queries from particular well
known ports.
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)
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.
@@ -325,9 +321,8 @@ Building
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
if the optimiser is enabled. Use -O0 to disable the optimiser.
* gcc ultrasparc generates incorrect code at -02.
* 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.
@@ -336,6 +331,7 @@ Building
on your system, and some require Perl; see bin/tests/system/README
for details.
Documentation
The BIND 9 Administrator Reference Manual is included with the
@@ -361,17 +357,13 @@ Bug Reports and Mailing Lists
bind9-bugs@isc.org
Configuration questions should be sent to the BIND 9 Users
mailing list. Compilation questions should be sent to the
BIND 9 Users mailing list.
To join the BIND Users mailing list, send mail to
bind-users-request@isc.org
archives of which can be found via
http://www.isc.org/ml-archives/
http://www.isc.org/ops/lists/
If you're planning on making changes to the BIND 9 source
code, you might want to join the BIND Workers mailing list.

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
* Copyright (C) 1999-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: acconfig.h,v 1.35.2.10 2004/12/04 06:44:36 marka Exp $ */
/* $Id: acconfig.h,v 1.35.2.4.2.10 2004/12/04 06:50:02 marka Exp $ */
/***
*** This file is not to be included by any public header files, because
@@ -53,6 +53,9 @@
/* define if catgets() is available */
#undef HAVE_CATGETS
/* define if getifaddrs() exists */
#undef HAVE_GETIFADDRS
/* define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
#undef HAVE_IFLIST_SYSCTL
@@ -131,6 +134,12 @@ int sigwait(const unsigned int *set, int *sig);
/* 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

View File

@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.22.2.1 2004/03/09 06:09:08 marka Exp $
# $Id: Makefile.in,v 1.22.208.1 2004/03/06 10:21:10 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) 2000-2003 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.15.2.6 2004/07/20 07:00:09 marka Exp $
# $Id: Makefile.in,v 1.15.2.3.8.6 2004/07/20 07:01:48 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,27 +21,30 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_INCLUDES@
@BIND9_MAKE_INCLUDES@
CINCLUDES = ${DNS_INCLUDES} ${ISCCFG_INCLUDES} ${ISC_INCLUDES}
CINCLUDES = ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
${ISC_INCLUDES}
CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCLIBS = ../../lib/isc/libisc.@A@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
LIBS = @LIBS@
SUBDIRS =
# Alphabetically
TARGETS = named-checkconf named-checkzone
TARGETS = named-checkconf@EXEEXT@ named-checkzone@EXEEXT@
# Alphabetically
SRCS = named-checkconf.c named-checkzone.c check-tool.c
@@ -55,21 +58,24 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
named-checkconf.@O@: named-checkconf.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-c ${srcdir}/named-checkconf.c
named-checkzone.@O@: named-checkzone.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-c ${srcdir}/named-checkzone.c
named-checkconf: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
${ISCCFGDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ named-checkconf.@O@ \
check-tool.@O@ ${ISCCFGLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
named-checkconf@EXEEXT@: named-checkconf.@O@ check-tool.@O@ ${ISCDEPLIBS} \
${ISCCFGDEPLIBS} ${BIND9DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
named-checkconf.@O@ check-tool.@O@ ${BIND9LIBS} ${ISCCFGLIBS} \
${DNSLIBS} ${ISCLIBS} ${LIBS}
named-checkzone: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ named-checkzone.@O@ \
check-tool.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS}
named-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
named-checkzone.@O@ check-tool.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS}
doc man:: ${MANOBJS}
@@ -80,9 +86,9 @@ installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: named-checkconf named-checkzone installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone ${DESTDIR}${sbindir}
install:: named-checkconf@EXEEXT@ named-checkzone@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf@EXEEXT@ ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone@EXEEXT@ ${DESTDIR}${sbindir}
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
clean distclean::

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
* Copyright (C) 2000-2002 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
@@ -15,18 +15,44 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.c,v 1.4.2.1 2004/03/09 06:09:08 marka Exp $ */
/* $Id: check-tool.c,v 1.4.12.7 2004/11/30 01:15:40 marka Exp $ */
#include <config.h>
#include <stdio.h>
#include <string.h>
#include "check-tool.h"
#include <isc/util.h>
#include <isc/buffer.h>
#include <isc/log.h>
#include <isc/region.h>
#include <isc/stdio.h>
#include <isc/types.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/types.h>
#include <dns/zone.h>
#define CHECK(r) \
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
static const char *dbtype[] = { "rbt" };
int debug = 0;
isc_boolean_t nomerge = ISC_TRUE;
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_MANYERRORS |
DNS_ZONEOPT_CHECKNAMES;
isc_result_t
setup_logging(isc_mem_t *mctx, isc_log_t **logp) {
isc_logdestination_t destination;
@@ -50,3 +76,87 @@ setup_logging(isc_mem_t *mctx, isc_log_t **logp) {
*logp = log;
return (ISC_R_SUCCESS);
}
isc_result_t
load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
const char *classname, dns_zone_t **zonep)
{
isc_result_t result;
dns_rdataclass_t rdclass;
isc_textregion_t region;
isc_buffer_t buffer;
dns_fixedname_t fixorigin;
dns_name_t *origin;
dns_zone_t *zone = NULL;
REQUIRE(zonep == NULL || *zonep == NULL);
if (debug)
fprintf(stderr, "loading \"%s\" from \"%s\" class \"%s\"\n",
zonename, filename, classname);
CHECK(dns_zone_create(&zone, mctx));
dns_zone_settype(zone, dns_zone_master);
isc_buffer_init(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
dns_fixedname_init(&fixorigin);
origin = dns_fixedname_name(&fixorigin);
CHECK(dns_name_fromtext(origin, &buffer, dns_rootname,
ISC_FALSE, NULL));
CHECK(dns_zone_setorigin(zone, origin));
CHECK(dns_zone_setdbtype(zone, 1, (const char * const *) dbtype));
CHECK(dns_zone_setfile(zone, filename));
DE_CONST(classname, region.base);
region.length = strlen(classname);
CHECK(dns_rdataclass_fromtext(&rdclass, &region));
dns_zone_setclass(zone, rdclass);
dns_zone_setoption(zone, zone_options, ISC_TRUE);
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
CHECK(dns_zone_load(zone));
if (zonep != NULL){
*zonep = zone;
zone = NULL;
}
cleanup:
if (zone != NULL)
dns_zone_detach(&zone);
return (result);
}
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename)
{
isc_result_t result;
FILE *output = stdout;
if (debug) {
if (filename != NULL)
fprintf(stderr, "dumping \"%s\" to \"%s\"\n",
zonename, filename);
else
fprintf(stderr, "dumping \"%s\"\n", zonename);
}
if (filename != NULL) {
result = isc_stdio_open(filename, "w+", &output);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not open output "
"file \"%s\" for writing\n", filename);
return (ISC_R_FAILURE);
}
}
result = dns_zone_fulldumptostream(zone, output);
if (filename != NULL)
(void)isc_stdio_close(output);
return (result);
}

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
* Copyright (C) 2000-2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.h,v 1.2.2.1 2004/03/09 06:09:09 marka Exp $ */
/* $Id: check-tool.h,v 1.2.12.5 2004/03/08 04:04:13 marka Exp $ */
#ifndef CHECK_TOOL_H
#define CHECK_TOOL_H
@@ -23,12 +23,24 @@
#include <isc/lang.h>
#include <isc/types.h>
#include <dns/types.h>
ISC_LANG_BEGINDECLS
isc_result_t
setup_logging(isc_mem_t *mctx, isc_log_t **logp);
isc_result_t
load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
const char *classname, dns_zone_t **zonep);
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename);
extern int debug;
extern isc_boolean_t nomerge;
extern unsigned int zone_options;
ISC_LANG_ENDDECLS
#endif

View File

@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkconf.8,v 1.11.2.6 2006/06/29 13:02:05 marka Exp $
.\" $Id: named-checkconf.8,v 1.11.12.7 2005/10/13 02:33:41 marka Exp $
.\"
.hy 0
.ad l
.\" Title: named\-checkconf
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 14, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "NAMED\-CHECKCONF" "8" "June 14, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,23 +30,30 @@
named\-checkconf \- named configuration file syntax checking tool
.SH "SYNOPSIS"
.HP 16
\fBnamed\-checkconf\fR [\fB\-v\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
\fBnamed\-checkconf\fR [\fB\-v\fR] [\fB\-j\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} [\fB\-z\fR]
.SH "DESCRIPTION"
.PP
\fBnamed\-checkconf\fR
checks the syntax, but not the semantics, of a named configuration file.
.SH "OPTIONS"
.TP 3n
.TP
\-t \fIdirectory\fR
chroot to
\fIdirectory\fR
so that include directives in the configuration file are processed as if run by a similarly chrooted named.
.TP 3n
.TP
\-v
Print the version of the
\fBnamed\-checkconf\fR
program and exit.
.TP 3n
.TP
\-z
Perform a check load the master zonefiles found in
\fInamed.conf\fR.
.TP
\-j
When loading a zonefile read the journal if it exists.
.TP
filename
The name of the configuration file to be checked. If not specified, it defaults to
\fI/etc/named.conf\fR.
@@ -64,5 +68,3 @@ BIND 9 Administrator Reference Manual.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkconf.c,v 1.12.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: named-checkconf.c,v 1.12.12.9 2005/03/03 06:33:38 marka Exp $ */
#include <config.h>
@@ -25,29 +25,44 @@
#include <isc/commandline.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/util.h>
#include <isccfg/cfg.h>
#include <isccfg/check.h>
#include <isccfg/namedconf.h>
#include <bind9/check.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/result.h>
#include "check-tool.h"
isc_log_t *logc = NULL;
#define CHECK(r)\
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
static void
usage(void) {
fprintf(stderr, "usage: named-checkconf [-v] [-t directory] [named.conf]\n");
fprintf(stderr, "usage: named-checkconf [-j] [-v] [-z] [-t directory] "
"[named.conf]\n");
exit(1);
}
static isc_result_t
directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
directory_callback(const char *clausename, cfg_obj_t *obj, void *arg) {
isc_result_t result;
const char *directory;
char *directory;
REQUIRE(strcasecmp("directory", clausename) == 0);
@@ -61,7 +76,7 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
result = isc_dir_chdir(directory);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(obj, logc, ISC_LOG_ERROR,
"change directory to '%s' failed: %s",
"change directory to '%s' failed: %s\n",
directory, isc_result_totext(result));
return (result);
}
@@ -69,6 +84,119 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
return (ISC_R_SUCCESS);
}
static isc_result_t
configure_zone(const char *vclass, const char *view, cfg_obj_t *zconfig,
isc_mem_t *mctx)
{
isc_result_t result;
const char *zclass;
const char *zname;
const char *zfile;
cfg_obj_t *zoptions = NULL;
cfg_obj_t *classobj = NULL;
cfg_obj_t *typeobj = NULL;
cfg_obj_t *fileobj = NULL;
cfg_obj_t *dbobj = NULL;
zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
classobj = cfg_tuple_get(zconfig, "class");
if (!cfg_obj_isstring(classobj))
zclass = vclass;
else
zclass = cfg_obj_asstring(classobj);
zoptions = cfg_tuple_get(zconfig, "options");
cfg_map_get(zoptions, "type", &typeobj);
if (typeobj == NULL)
return (ISC_R_FAILURE);
if (strcasecmp(cfg_obj_asstring(typeobj), "master") != 0)
return (ISC_R_SUCCESS);
cfg_map_get(zoptions, "database", &dbobj);
if (dbobj != NULL)
return (ISC_R_SUCCESS);
cfg_map_get(zoptions, "file", &fileobj);
if (fileobj == NULL)
return (ISC_R_FAILURE);
zfile = cfg_obj_asstring(fileobj);
result = load_zone(mctx, zname, zfile, zclass, NULL);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "%s/%s/%s: %s\n", view, zname, zclass,
dns_result_totext(result));
return(result);
}
static isc_result_t
configure_view(const char *vclass, const char *view, cfg_obj_t *config,
cfg_obj_t *vconfig, isc_mem_t *mctx)
{
cfg_listelt_t *element;
cfg_obj_t *voptions;
cfg_obj_t *zonelist;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult;
voptions = NULL;
if (vconfig != NULL)
voptions = cfg_tuple_get(vconfig, "options");
zonelist = NULL;
if (voptions != NULL)
(void)cfg_map_get(voptions, "zone", &zonelist);
else
(void)cfg_map_get(config, "zone", &zonelist);
for (element = cfg_list_first(zonelist);
element != NULL;
element = cfg_list_next(element))
{
cfg_obj_t *zconfig = cfg_listelt_value(element);
tresult = configure_zone(vclass, view, zconfig, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
return (result);
}
static isc_result_t
load_zones_fromconfig(cfg_obj_t *config, isc_mem_t *mctx) {
cfg_listelt_t *element;
cfg_obj_t *classobj;
cfg_obj_t *views;
cfg_obj_t *vconfig;
const char *vclass;
isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult;
views = NULL;
(void)cfg_map_get(config, "view", &views);
for (element = cfg_list_first(views);
element != NULL;
element = cfg_list_next(element))
{
const char *vname;
vclass = "IN";
vconfig = cfg_listelt_value(element);
if (vconfig != NULL) {
classobj = cfg_tuple_get(vconfig, "class");
if (cfg_obj_isstring(classobj))
vclass = cfg_obj_asstring(classobj);
}
vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name"));
tresult = configure_view(vclass, vname, config, vconfig, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
if (views == NULL) {
tresult = configure_view("IN", "_default", config, NULL, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
return (result);
}
int
main(int argc, char **argv) {
int c;
@@ -78,9 +206,19 @@ main(int argc, char **argv) {
isc_mem_t *mctx = NULL;
isc_result_t result;
int exit_status = 0;
while ((c = isc_commandline_parse(argc, argv, "t:v")) != EOF) {
isc_entropy_t *ectx = NULL;
isc_boolean_t load_zones = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv, "djt:vz")) != EOF) {
switch (c) {
case 'd':
debug++;
break;
case 'j':
nomerge = ISC_FALSE;
break;
case 't':
result = isc_dir_chroot(isc_commandline_argument);
if (result != ISC_R_SUCCESS) {
@@ -100,6 +238,10 @@ main(int argc, char **argv) {
printf(VERSION "\n");
exit(0);
case 'z':
load_zones = ISC_TRUE;
break;
default:
usage();
}
@@ -114,6 +256,12 @@ main(int argc, char **argv) {
RUNTIME_CHECK(setup_logging(mctx, &logc) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
== ISC_R_SUCCESS);
dns_result_register();
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
cfg_parser_setcallback(parser, directory_callback, NULL);
@@ -122,16 +270,27 @@ main(int argc, char **argv) {
ISC_R_SUCCESS)
exit(1);
result = cfg_check_namedconf(config, logc, mctx);
result = bind9_check_namedconf(config, logc, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
if (result == ISC_R_SUCCESS && load_zones) {
dns_log_init(logc);
dns_log_setcontext(logc);
result = load_zones_fromconfig(config, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
}
cfg_obj_destroy(parser, &config);
cfg_parser_destroy(&parser);
isc_log_destroy(&logc);
isc_hash_destroy();
isc_entropy_detach(&ectx);
isc_mem_destroy(&mctx);
return (exit_status);

View File

@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkconf.docbook,v 1.3.2.5 2005/05/12 21:35:05 sra Exp $ -->
<!-- $Id: named-checkconf.docbook,v 1.3.2.1.8.7 2005/05/12 21:35:56 sra Exp $ -->
<refentry>
<refentryinfo>
@@ -54,8 +54,10 @@
<cmdsynopsis>
<command>named-checkconf</command>
<arg><option>-v</option></arg>
<arg><option>-j</option></arg>
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="req">filename</arg>
<arg><option>-z</option></arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -92,6 +94,25 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Perform a check load the master zonefiles found in
<filename>named.conf</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j</term>
<listitem>
<para>
When loading a zonefile read the journal if it exists.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>filename</term>
<listitem>

View File

@@ -14,32 +14,32 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkconf.html,v 1.5.2.14 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: named-checkconf.html,v 1.5.2.1.4.12 2005/10/13 02:33:42 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkconf</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">named-checkconf</span> &#8212; named configuration file syntax checking tool</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-v</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename}</p></div>
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549421"></a><h2>DESCRIPTION</h2>
<a name="id2525865"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">named-checkconf</strong></span> checks the syntax, but not
the semantics, of a named configuration file.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549434"></a><h2>OPTIONS</h2>
<a name="id2525878"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
@@ -52,6 +52,15 @@
Print the version of the <span><strong class="command">named-checkconf</strong></span>
program and exit.
</p></dd>
<dt><span class="term">-z</span></dt>
<dd><p>
Perform a check load the master zonefiles found in
<code class="filename">named.conf</code>.
</p></dd>
<dt><span class="term">-j</span></dt>
<dd><p>
When loading a zonefile read the journal if it exists.
</p></dd>
<dt><span class="term">filename</span></dt>
<dd><p>
The name of the configuration file to be checked. If not
@@ -60,21 +69,21 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549497"></a><h2>RETURN VALUES</h2>
<a name="id2525970"></a><h2>RETURN VALUES</h2>
<p>
<span><strong class="command">named-checkconf</strong></span> returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549510"></a><h2>SEE ALSO</h2>
<a name="id2525982"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549533"></a><h2>AUTHOR</h2>
<a name="id2526006"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>

View File

@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkzone.8,v 1.11.2.7 2006/06/29 13:02:05 marka Exp $
.\" $Id: named-checkzone.8,v 1.11.2.1.8.8 2005/10/13 02:33:41 marka Exp $
.\"
.hy 0
.ad l
.\" Title: named\-checkzone
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 13, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "NAMED\-CHECKZONE" "8" "June 13, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,7 +30,7 @@
named\-checkzone \- zone file validity checking tool
.SH "SYNOPSIS"
.HP 16
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] {zonename} {filename}
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] {zonename} {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkzone\fR
@@ -43,27 +40,61 @@ does when loading a zone. This makes
\fBnamed\-checkzone\fR
useful for checking zone files before configuring them into a name server.
.SH "OPTIONS"
.TP 3n
.TP
\-d
Enable debugging.
.TP 3n
.TP
\-q
Quiet mode \- exit code only.
.TP 3n
.TP
\-v
Print the version of the
\fBnamed\-checkzone\fR
program and exit.
.TP 3n
.TP
\-j
When loading the zone file read the journal if it exists.
.TP 3n
.TP
\-c \fIclass\fR
Specify the class of the zone. If not specified "IN" is assumed.
.TP 3n
.TP
\-k \fImode\fR
Perform
\fB"check\-name"\fR
checks with the specified failure mode. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.TP
\-n \fImode\fR
Specify whether NS records should be checked to see if they are addresses. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.TP
\-o \fIfilename\fR
Write zone output to
\fIfilename\fR.
.TP
\-t \fIdirectory\fR
chroot to
\fIdirectory\fR
so that include directives in the configuration file are processed as if run by a similarly chrooted named.
.TP
\-w \fIdirectory\fR
chdir to
\fIdirectory\fR
so that relative filenames in master file $INCLUDE directives work. This is similar to the directory clause in
\fInamed.conf\fR.
.TP
\-D
Dump zone file in canonical format.
.TP
zonename
The domain name of the zone being checked.
.TP 3n
.TP
filename
The name of the zone file.
.SH "RETURN VALUES"
@@ -78,5 +109,3 @@ BIND 9 Administrator Reference Manual.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) 1999-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkzone.c,v 1.13.2.5 2004/10/25 01:45:25 marka Exp $ */
/* $Id: named-checkzone.c,v 1.13.2.3.8.11 2004/10/25 01:36:06 marka Exp $ */
#include <config.h>
@@ -23,6 +23,7 @@
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/log.h>
@@ -43,14 +44,13 @@
#include "check-tool.h"
static int debug = 0;
isc_boolean_t nomerge = ISC_TRUE;
static int quiet = 0;
static isc_mem_t *mctx = NULL;
static isc_entropy_t *ectx = NULL;
dns_zone_t *zone = NULL;
dns_zonetype_t zonetype = dns_zone_master;
static const char *dbtype[] = { "rbt" };
static int dumpzone = 0;
static const char *output_filename;
#define ERRRET(result, function) \
do { \
@@ -65,58 +65,12 @@ static const char *dbtype[] = { "rbt" };
static void
usage(void) {
fprintf(stderr,
"usage: named-checkzone [-djqv] [-c class] zonename filename \n");
"usage: named-checkzone [-djqvD] [-c class] [-o output] "
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
"[-n (ignore|warn|fail)] zonename filename\n");
exit(1);
}
static isc_result_t
setup(char *zonename, char *filename, char *classname) {
isc_result_t result;
dns_rdataclass_t rdclass;
isc_textregion_t region;
isc_buffer_t buffer;
dns_fixedname_t fixorigin;
dns_name_t *origin;
if (debug)
fprintf(stderr, "loading \"%s\" from \"%s\" class \"%s\"\n",
zonename, filename, classname);
result = dns_zone_create(&zone, mctx);
ERRRET(result, "dns_zone_new");
dns_zone_settype(zone, zonetype);
isc_buffer_init(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
dns_fixedname_init(&fixorigin);
result = dns_name_fromtext(dns_fixedname_name(&fixorigin),
&buffer, dns_rootname, ISC_FALSE, NULL);
ERRRET(result, "dns_name_fromtext");
origin = dns_fixedname_name(&fixorigin);
result = dns_zone_setorigin(zone, origin);
ERRRET(result, "dns_zone_setorigin");
result = dns_zone_setdbtype(zone, 1, (const char * const *) dbtype);
ERRRET(result, "dns_zone_setdatabase");
result = dns_zone_setfile(zone, filename);
ERRRET(result, "dns_zone_setdatabase");
region.base = classname;
region.length = strlen(classname);
result = dns_rdataclass_fromtext(&rdclass, &region);
ERRRET(result, "dns_rdataclass_fromtext");
dns_zone_setclass(zone, rdclass);
dns_zone_setoption(zone, DNS_ZONEOPT_MANYERRORS, ISC_TRUE);
dns_zone_setoption(zone, DNS_ZONEOPT_NOMERGE, nomerge);
result = dns_zone_load(zone);
return (result);
}
static void
destroy(void) {
if (zone != NULL)
@@ -132,12 +86,14 @@ main(int argc, char **argv) {
isc_result_t result;
char classname_in[] = "IN";
char *classname = classname_in;
const char *workdir = NULL;
while ((c = isc_commandline_parse(argc, argv, "c:djqsv")) != EOF) {
while ((c = isc_commandline_parse(argc, argv, "c:dijk:n:qst:o:vw:D")) != EOF) {
switch (c) {
case 'c':
classname = isc_commandline_argument;
break;
case 'd':
debug++;
break;
@@ -145,17 +101,84 @@ main(int argc, char **argv) {
case 'j':
nomerge = ISC_FALSE;
break;
case 'n':
if (!strcmp(isc_commandline_argument, "ignore"))
zone_options &= ~(DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS);
else if (!strcmp(isc_commandline_argument, "warn")) {
zone_options |= DNS_ZONEOPT_CHECKNS;
zone_options &= ~DNS_ZONEOPT_FATALNS;
} else if (!strcmp(isc_commandline_argument, "fail"))
zone_options |= DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS;
break;
case 'k':
if (!strcmp(isc_commandline_argument, "warn")) {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (!strcmp(isc_commandline_argument,
"fail")) {
zone_options |= DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (!strcmp(isc_commandline_argument,
"ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL);
}
break;
case 'q':
quiet++;
break;
case 't':
result = isc_dir_chroot(isc_commandline_argument);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "isc_dir_chroot: %s: %s\n",
isc_commandline_argument,
isc_result_totext(result));
exit(1);
}
result = isc_dir_chdir("/");
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "isc_dir_chdir: %s\n",
isc_result_totext(result));
exit(1);
}
break;
case 'o':
output_filename = isc_commandline_argument;
break;
case 'v':
printf(VERSION "\n");
exit(0);
case 'w':
workdir = isc_commandline_argument;
break;
case 'D':
dumpzone++;
break;
default:
usage();
}
}
if (workdir != NULL) {
result = isc_dir_chdir(workdir);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "isc_dir_chdir: %s: %s\n",
workdir, isc_result_totext(result));
exit(1);
}
}
if (isc_commandline_index + 2 > argc)
usage();
@@ -173,7 +196,12 @@ main(int argc, char **argv) {
origin = argv[isc_commandline_index++];
filename = argv[isc_commandline_index++];
result = setup(origin, filename, classname);
result = load_zone(mctx, origin, filename, classname, &zone);
if (result == ISC_R_SUCCESS && dumpzone) {
result = dump_zone(origin, zone, output_filename);
}
if (!quiet && result == ISC_R_SUCCESS)
fprintf(stdout, "OK\n");
destroy();

View File

@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.docbook,v 1.3.2.6 2005/05/12 21:35:05 sra Exp $ -->
<!-- $Id: named-checkzone.docbook,v 1.3.2.2.8.11 2005/05/12 21:35:57 sra Exp $ -->
<refentry>
<refentryinfo>
@@ -58,6 +58,12 @@
<arg><option>-q</option></arg>
<arg><option>-v</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-w <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-D</option></arg>
<arg choice="req">zonename</arg>
<arg choice="req">filename</arg>
</cmdsynopsis>
@@ -124,6 +130,71 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Perform <command>"check-name"</command> checks with the specified failure mode.
Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether NS records should be checked to see if they
are addresses. Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-o <replaceable class="parameter">filename</replaceable></term>
<listitem>
<para>
Write zone output to <filename>filename</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
chroot to <filename>directory</filename> so that include
directives in the configuration file are processed as if
run by a similarly chrooted named.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-w <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
chdir to <filename>directory</filename> so that relative
filenames in master file $INCLUDE directives work. This
is similar to the directory clause in
<filename>named.conf</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-D</term>
<listitem>
<para>
Dump zone file in canonical format.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonename</term>
<listitem>

View File

@@ -14,25 +14,25 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.html,v 1.5.2.14 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: named-checkzone.html,v 1.5.2.2.4.13 2005/10/13 02:33:42 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>named-checkzone</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">named-checkzone</span> &#8212; zone file validity checking tool</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named-checkzone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</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">-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">-k <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">-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>] {zonename} {filename}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549440"></a><h2>DESCRIPTION</h2>
<a name="id2525922"></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>
@@ -42,7 +42,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549460"></a><h2>OPTIONS</h2>
<a name="id2525942"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
@@ -65,6 +65,41 @@
<dd><p>
Specify the class of the zone. If not specified "IN" is assumed.
</p></dd>
<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Perform <span><strong class="command">"check-name"</strong></span> checks with the specified failure mode.
Possible modes are <span><strong class="command">"fail"</strong></span>,
<span><strong class="command">"warn"</strong></span> (default) and
<span><strong class="command">"ignore"</strong></span>.
</p></dd>
<dt><span class="term">-n <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Specify whether NS records should be checked to see if they
are addresses. Possible modes are <span><strong class="command">"fail"</strong></span>,
<span><strong class="command">"warn"</strong></span> (default) and
<span><strong class="command">"ignore"</strong></span>.
</p></dd>
<dt><span class="term">-o <em class="replaceable"><code>filename</code></em></span></dt>
<dd><p>
Write zone output to <code class="filename">filename</code>.
</p></dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
chroot to <code class="filename">directory</code> so that include
directives in the configuration file are processed as if
run by a similarly chrooted named.
</p></dd>
<dt><span class="term">-w <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
chdir to <code class="filename">directory</code> so that relative
filenames in master file $INCLUDE directives work. This
is similar to the directory clause in
<code class="filename">named.conf</code>.
</p></dd>
<dt><span class="term">-D</span></dt>
<dd><p>
Dump zone file in canonical format.
</p></dd>
<dt><span class="term">zonename</span></dt>
<dd><p>
The domain name of the zone being checked.
@@ -76,14 +111,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549639"></a><h2>RETURN VALUES</h2>
<a name="id2526187"></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="id2549652"></a><h2>SEE ALSO</h2>
<a name="id2526200"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<em class="citetitle">RFC 1035</em>,
@@ -91,7 +126,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549678"></a><h2>AUTHOR</h2>
<a name="id2526227"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>

View File

@@ -1,113 +0,0 @@
# Microsoft Developer Studio Project File - Name="checktool" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static-Link Library" 0x0104
CFG=checktool - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "checktool.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "checktool.mak" CFG="checktool - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "checktool - Win32 Release" (based on "Win32 (x86) Static-Link Library")
!MESSAGE "checktool - Win32 Debug" (based on "Win32 (x86) Static-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "checktool - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /out:"Release/checktool.lib"
!ELSEIF "$(CFG)" == "checktool - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /debug out:"Debug/checktool.lib"
!ENDIF
# Begin Target
# Name "checktool - Win32 Release"
# Name "checktool - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Group "Main Dns Lib"
# PROP Default_Filter "c"
# Begin Source File
SOURCE=..\check-tool.c
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "checktool"=".\checktool.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named-checkconf.exe"
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named-checkconf.exe"
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
!ENDIF
@@ -88,6 +88,10 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\check-tool.c"
# End Source File
# Begin Source File
SOURCE="..\named-checkconf.c"
# End Source File
# End Group

View File

@@ -25,80 +25,8 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
@@ -108,10 +36,21 @@ INTDIR=.\Release
OutDir=.\Release
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\namedcheckconf.bsc"
!ELSE
ALL : "libdns - Win32 Release" "libisccfg - Win32 Release" "libisc - Win32 Release" "..\..\..\Build\Release\named-checkconf.exe" "$(OUTDIR)\namedcheckconf.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libisc - Win32 ReleaseCLEAN" "libisccfg - Win32 ReleaseCLEAN" "libdns - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkconf.obj"
@@ -119,45 +58,11 @@ CLEAN :
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\namedcheckconf.bsc"
-@erase "..\..\..\Build\Release\named-checkconf.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckconf.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckconf.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\namedcheckconf.bsc"
BSC32_SBRS= \
@@ -170,16 +75,18 @@ BSC32_SBRS= \
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/isccfg/win32/Release/libisccfg.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkconf.pdb" /machine:I386 /out:"../../../Build/Release/named-checkconf.exe"
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccfg/win32/Release/libisccfg.lib ../../../lib/bind9/win32/Release/libbind9.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkconf.pdb" /machine:I386 /out:"../../../Build/Release/named-checkconf.exe"
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj"
"$(INTDIR)\named-checkconf.obj" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\isccfg\win32\Release\libisccfg.lib" \
"..\..\..\lib\dns\win32\Release\libdns.lib"
"..\..\..\Build\Release\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
@@ -189,10 +96,21 @@ INTDIR=.\Debug
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\namedcheckconf.bsc"
!ELSE
ALL : "libdns - Win32 Debug" "libisccfg - Win32 Debug" "libisc - Win32 Debug" "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\namedcheckconf.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libisc - Win32 DebugCLEAN" "libisccfg - Win32 DebugCLEAN" "libdns - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkconf.obj"
@@ -203,13 +121,37 @@ CLEAN :
-@erase "$(OUTDIR)\namedcheckconf.bsc"
-@erase "..\..\..\Build\Debug\named-checkconf.exe"
-@erase "..\..\..\Build\Debug\named-checkconf.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\namedcheckconf.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkconf.sbr"
"$(OUTDIR)\namedcheckconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/bind9/win32/Debug/libbind9.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkconf.pdb" /debug /machine:I386 /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
"..\..\..\lib\dns\win32\Debug\libdns.lib"
"..\..\..\Build\Debug\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
@@ -241,32 +183,6 @@ CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../li
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\namedcheckconf.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkconf.sbr"
"$(OUTDIR)\namedcheckconf.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkconf.pdb" /debug /machine:I386 /out:"../../../Build/Debug/named-checkconf.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj"
"..\..\..\Build\Debug\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("namedcheckconf.dep")
@@ -290,42 +206,84 @@ SOURCE="..\named-checkconf.c"
$(CPP) $(CPP_PROJ) $(SOURCE)
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\check\win32"
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\check\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisccfg - Win32 Release" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release"
cd "..\..\..\bin\check\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisccfg - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisccfg - Win32 Debug" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Debug"
cd "..\..\..\bin\check\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisccfg - Win32 DebugCLEAN" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\check\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\check\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!ENDIF
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -42,7 +42,8 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /YX /FD /c
# SUBTRACT CPP /Fr
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +51,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/checktool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named-checkzone.exe"
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named-checkzone.exe"
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
@@ -75,7 +76,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/checktool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
!ENDIF
@@ -88,6 +89,10 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\check-tool.c"
# End Source File
# Begin Source File
SOURCE="..\named-checkzone.c"
# End Source File
# End Group

View File

@@ -25,107 +25,36 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
ALL : "..\..\..\Build\Release\named-checkzone.exe" "$(OUTDIR)\namedcheckzone.bsc"
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\named-checkzone.exe"
!ELSE
ALL : "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\named-checkzone.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkzone.obj"
-@erase "$(INTDIR)\named-checkzone.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\namedcheckzone.bsc"
-@erase "..\..\..\Build\Release\named-checkzone.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /Fp"$(INTDIR)\namedcheckzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
@@ -161,25 +90,19 @@ RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\namedcheckzone.bsc"
BSC32_SBRS= \
"$(INTDIR)\check-tool.sbr" \
"$(INTDIR)\named-checkzone.sbr"
"$(OUTDIR)\namedcheckzone.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named-checkzone.pdb" /machine:I386 /out:"../../../Build/Release/named-checkzone.exe"
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkzone.obj"
"$(INTDIR)\named-checkzone.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib"
"..\..\..\Build\Release\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
@@ -189,10 +112,21 @@ INTDIR=.\Debug
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\namedcheckzone.bsc"
!ELSE
ALL : "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\namedcheckzone.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkzone.obj"
@@ -203,7 +137,6 @@ CLEAN :
-@erase "$(OUTDIR)\namedcheckzone.bsc"
-@erase "..\..\..\Build\Debug\named-checkzone.exe"
-@erase "..\..\..\Build\Debug\named-checkzone.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -257,13 +190,14 @@ LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named-checkzone.pdb" /debug /machine:I386 /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkzone.obj"
"$(INTDIR)\named-checkzone.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib"
"..\..\..\Build\Debug\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
@@ -280,34 +214,92 @@ LINK32_OBJS= \
!IF "$(CFG)" == "namedcheckzone - Win32 Release" || "$(CFG)" == "namedcheckzone - Win32 Debug"
SOURCE="..\check-tool.c"
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
"$(INTDIR)\check-tool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE="..\named-checkzone.c"
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
"$(INTDIR)\named-checkzone.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
"$(INTDIR)\named-checkzone.obj" "$(INTDIR)\named-checkzone.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\check\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\check\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!IF "$(CFG)" == "namedcheckzone - Win32 Release"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\check\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\check\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ENDIF
!ENDIF
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
# Copyright (C) 2000-2002 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.25.2.4 2004/08/18 23:22:52 marka Exp $
# $Id: Makefile.in,v 1.25.12.12 2004/08/18 23:25:57 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,26 +21,35 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_INCLUDES@
@BIND9_MAKE_INCLUDES@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${ISC_INCLUDES}
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISC_INCLUDES} ${LWRES_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
ISCLIBS = ../../lib/isc/libisc.@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} ${ISCDEPLIBS}
DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} ${ISCCFGDEPLIBS} \
${LWRESDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \
${ISCCFGLIBS} @LIBS@
SUBDIRS =
TARGETS = dig host nslookup
TARGETS = dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@
OBJS = dig.@O@ dighost.@O@ host.@O@ nslookup.@O@
@@ -56,14 +65,17 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
dig: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dig.@O@ dighost.@O@ ${UOBJS} ${LIBS}
dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dig.@O@ dighost.@O@ ${UOBJS} ${LIBS}
host: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ host.@O@ dighost.@O@ ${UOBJS} ${LIBS}
host@EXEEXT@: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
host.@O@ dighost.@O@ ${UOBJS} ${LIBS}
nslookup: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nslookup.@O@ dighost.@O@ ${UOBJS} ${LIBS}
nslookup@EXEEXT@: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
nslookup.@O@ dighost.@O@ ${UOBJS} ${LIBS}
doc man:: ${MANOBJS}
@@ -77,8 +89,13 @@ installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
install:: dig host nslookup installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} dig ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} host ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} nslookup ${DESTDIR}${bindir}
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man1; done
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

View File

@@ -1,5 +1,5 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\" Copyright (C) 2000-2003 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
@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dig.1,v 1.14.2.10 2006/06/29 13:02:05 marka Exp $
.\" $Id: dig.1,v 1.14.2.4.2.10 2005/10/13 02:33:42 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dig
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: Jun 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "DIG" "1" "Jun 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,7 +30,7 @@
dig \- DNS lookup utility
.SH "SYNOPSIS"
.HP 4
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fIname:key\fR\fR] [name] [type] [class] [queryopt...]
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
.HP 4
\fBdig\fR [\fB\-h\fR]
.HP 4
@@ -61,7 +58,7 @@ will try each of the servers listed in
.PP
When no command line arguments or options are given, will perform an NS query for "." (the root).
.PP
It is possible to set per user defaults for
It is possible to set per\-user defaults for
\fBdig\fR
via
\fI${HOME}/.digrc\fR. This file is read and any options in it are applied before the command line arguments.
@@ -71,14 +68,12 @@ A typical invocation of
\fBdig\fR
looks like:
.sp
.RS 3n
.nf
dig @server name type
.fi
.RE
.sp
where:
.TP 3n
.TP
\fBserver\fR
is the name or IP address of the name server to query. This can be an IPv4 address in dotted\-decimal notation or an IPv6 address in colon\-delimited notation. When the supplied
\fIserver\fR
@@ -91,10 +86,10 @@ argument is provided,
consults
\fI/etc/resolv.conf\fR
and queries the name servers listed there. The reply from the name server that responds is displayed.
.TP 3n
.TP
\fBname\fR
is the name of the resource record that is to be looked up.
.TP 3n
.TP
\fBtype\fR
indicates what type of query is required \(em ANY, A, MX, SIG, etc.
\fItype\fR
@@ -108,7 +103,7 @@ will perform a lookup for an A record.
The
\fB\-b\fR
option sets the source IP address of the query to
\fIaddress\fR. This must be a valid address on one of the host's network interfaces.
\fIaddress\fR. This must be a valid address on one of the host's network interfaces or "0.0.0.0" or "::". An optional port may be specified by appending "#<port>"
.PP
The default query class (IN for internet) is overridden by the
\fB\-c\fR
@@ -134,6 +129,16 @@ is the port number that
will send its queries instead of the standard DNS port number 53. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number.
.PP
The
\fB\-4\fR
option forces
\fBdig\fR
to only use IPv4 query transport. The
\fB\-6\fR
option forces
\fBdig\fR
to only use IPv6 query transport.
.PP
The
\fB\-t\fR
option sets the query type to
\fItype\fR. It can be any valid query type which is supported in BIND9. The default query type "A", unless the
@@ -157,9 +162,9 @@ arguments.
\fBdig\fR
automatically performs a lookup for a name like
11.12.13.10.in\-addr.arpa
and sets the query type and class to PTR and IN respectively. By default, IPv6 addresses are looked up using the IP6.ARPA domain and binary labels as defined in RFC2874. To use the older RFC1886 method using the IP6.INT domain and "nibble" labels, specify the
\fB\-n\fR
(nibble) option.
and sets the query type and class to PTR and IN respectively. By default, IPv6 addresses are looked up using nibble format under the IP6.ARPA domain. To use the older RFC1886 method using the IP6.INT domain specify the
\fB\-i\fR
option. Bit string labels (RFC2874) are now experimental and are not attempted.
.PP
To sign the DNS queries sent by
\fBdig\fR
@@ -192,18 +197,18 @@ Each query option is identified by a keyword preceded by a plus sign (+). Some k
no
to negate the meaning of that keyword. Other keywords assign values to options like the timeout interval. They have the form
\fB+keyword=value\fR. The query options are:
.TP 3n
.TP
\fB+[no]tcp\fR
Use [do not use] TCP when querying name servers. The default behaviour is to use UDP unless an AXFR or IXFR query is requested, in which case a TCP connection is used.
.TP 3n
.TP
\fB+[no]vc\fR
Use [do not use] TCP when querying name servers. This alternate syntax to
\fI+[no]tcp\fR
is provided for backwards compatibility. The "vc" stands for "virtual circuit".
.TP 3n
.TP
\fB+[no]ignore\fR
Ignore truncation in UDP responses instead of retrying with TCP. By default, TCP retries are performed.
.TP 3n
.TP
\fB+domain=somename\fR
Set the search list to contain the single domain
\fIsomename\fR, as if specified in a
@@ -212,27 +217,35 @@ directive in
\fI/etc/resolv.conf\fR, and enable search list processing as if the
\fI+search\fR
option were given.
.TP 3n
.TP
\fB+[no]search\fR
Use [do not use] the search list defined by the searchlist or domain directive in
\fIresolv.conf\fR
(if any). The search list is not used by default.
.TP 3n
.TP
\fB+[no]defname\fR
Deprecated, treated as a synonym for
\fI+[no]search\fR
.TP 3n
.TP
\fB+[no]aaonly\fR
This option does nothing. It is provided for compatibility with old versions of
\fBdig\fR
where it set an unimplemented resolver flag.
.TP 3n
Sets the "aa" flag in the query.
.TP
\fB+[no]aaflag\fR
A synonym for
\fI+[no]aaonly\fR.
.TP
\fB+[no]adflag\fR
Set [do not set] the AD (authentic data) bit in the query. The AD bit currently has a standard meaning only in responses, not in queries, but the ability to set the bit in the query is provided for completeness.
.TP 3n
.TP
\fB+[no]cdflag\fR
Set [do not set] the CD (checking disabled) bit in the query. This requests the server to not perform DNSSEC validation of responses.
.TP 3n
.TP
\fB+[no]cl\fR
Display [do not display] the CLASS when printing the record.
.TP
\fB+[no]ttlid\fR
Display [do not display] the TTL when printing the record.
.TP
\fB+[no]recurse\fR
Toggle the setting of the RD (recursion desired) bit in the query. This bit is set by default, which means
\fBdig\fR
@@ -241,68 +254,74 @@ normally sends recursive queries. Recursion is automatically disabled when the
or
\fI+trace\fR
query options are used.
.TP 3n
.TP
\fB+[no]nssearch\fR
When this option is set,
\fBdig\fR
attempts to find the authoritative name servers for the zone containing the name being looked up and display the SOA record that each name server has for the zone.
.TP 3n
.TP
\fB+[no]trace\fR
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.
.TP 3n
.TP
\fB+[no]cmd\fR
toggles the printing of the initial comment in the output identifying the version of
\fBdig\fR
and the query options that have been applied. This comment is printed by default.
.TP 3n
.TP
\fB+[no]short\fR
Provide a terse answer. The default is to print the answer in a verbose form.
.TP 3n
.TP
\fB+[no]identify\fR
Show [or do not show] the IP address and port number that supplied the answer when the
\fI+short\fR
option is enabled. If short form answers are requested, the default is not to show the source address and port number of the server that provided the answer.
.TP 3n
.TP
\fB+[no]comments\fR
Toggle the display of comment lines in the output. The default is to print comments.
.TP 3n
.TP
\fB+[no]stats\fR
This query option toggles the printing of statistics: when the query was made, the size of the reply and so on. The default behaviour is to print the query statistics.
.TP 3n
.TP
\fB+[no]qr\fR
Print [do not print] the query as it is sent. By default, the query is not printed.
.TP 3n
.TP
\fB+[no]question\fR
Print [do not print] the question section of a query when an answer is returned. The default is to print the question section as a comment.
.TP 3n
.TP
\fB+[no]answer\fR
Display [do not display] the answer section of a reply. The default is to display it.
.TP 3n
.TP
\fB+[no]authority\fR
Display [do not display] the authority section of a reply. The default is to display it.
.TP 3n
.TP
\fB+[no]additional\fR
Display [do not display] the additional section of a reply. The default is to display it.
.TP 3n
.TP
\fB+[no]all\fR
Set or clear all display flags.
.TP 3n
.TP
\fB+time=T\fR
Sets the timeout for a query to
\fIT\fR
seconds. The default time out is 5 seconds. An attempt to set
\fIT\fR
to less than 1 will result in a query timeout of 1 second being applied.
.TP 3n
.TP
\fB+tries=T\fR
Sets the number of times to retry UDP queries to server to
Sets the number of times to try UDP queries to server to
\fIT\fR
instead of the default, 3. If
\fIT\fR
is less than or equal to zero, the number of retries is silently rounded up to 1.
.TP 3n
is less than or equal to zero, the number of tries is silently rounded up to 1.
.TP
\fB+retry=T\fR
Sets the number of times to retry UDP queries to server to
\fIT\fR
instead of the default, 2. Unlike
\fI+tries\fR, this does not include the initial query.
.TP
\fB+ndots=D\fR
Set the number of dots that have to appear in
\fIname\fR
@@ -315,25 +334,45 @@ or
\fBdomain\fR
directive in
\fI/etc/resolv.conf\fR.
.TP 3n
.TP
\fB+bufsize=B\fR
Set the UDP message buffer size advertised using EDNS0 to
\fIB\fR
bytes. The maximum and minimum sizes of this buffer are 65535 and 0 respectively. Values outside this range are rounded up or down appropriately.
.TP 3n
.TP
\fB+[no]multiline\fR
Print records like the SOA records in a verbose multi\-line format with human\-readable comments. The default is to print each record on a single line, to facilitate machine parsing of the
\fBdig\fR
output.
.TP 3n
.TP
\fB+[no]fail\fR
Do not try the next server if you receive a SERVFAIL. The default is to not try the next server which is the reverse of normal stub resolver behaviour.
.TP 3n
.TP
\fB+[no]besteffort\fR
Attempt to display the contents of messages which are malformed. The default is to not display malformed answers.
.TP 3n
.TP
\fB+[no]dnssec\fR
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query.
.TP
\fB+[no]sigchase\fR
Chase DNSSEC signature chains. Requires dig be compiled with \-DDIG_SIGCHASE.
.TP
\fB+trusted\-key=####\fR
Specifies a file containing trusted keys to be used with
\fB+sigchase\fR. Each DNSKEY record must be on its own line.
.sp
If not specified
\fBdig\fR
will look for
\fI/etc/trusted\-key.key\fR
then
\fItrusted\-key.key\fR
in the current directory.
.sp
Requires dig be compiled with \-DDIG_SIGCHASE.
.TP
\fB+[no]topdown\fR
When chasing DNSSEC signature chains perform a top down validation. Requires dig be compiled with \-DDIG_SIGCHASE.
.SH "MULTIPLE QUERIES"
.PP
The BIND 9 implementation of
@@ -350,11 +389,9 @@ A global set of query options, which should be applied to all queries, can also
\fB+[no]cmd\fR
option) can be overridden by a query\-specific set of query options. For example:
.sp
.RS 3n
.nf
dig +qr www.isc.org any \-x 127.0.0.1 isc.org ns +noqr
.fi
.RE
.sp
shows how
\fBdig\fR
@@ -384,5 +421,3 @@ RFC1035.
.SH "BUGS "
.PP
There are probably too many query options.
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.c,v 1.157.2.22 2006/07/22 23:52:56 marka Exp $ */
/* $Id: dig.c,v 1.157.2.13.2.29 2005/10/14 01:38:40 marka Exp $ */
#include <config.h>
#include <stdlib.h>
@@ -24,6 +24,7 @@
#include <isc/app.h>
#include <isc/netaddr.h>
#include <isc/parseint.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -40,6 +41,8 @@
#include <dns/rdataclass.h>
#include <dns/result.h>
#include <bind9/getaddresses.h>
#include <dig/dig.h>
#define ADD_STRING(b, s) { \
@@ -62,7 +65,7 @@ static char domainopt[DNS_NAME_MAXTEXT];
static isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
ip6_int = ISC_FALSE, plusquest = ISC_FALSE, pluscomm = ISC_FALSE,
multiline = ISC_FALSE;
multiline = ISC_FALSE, nottl = ISC_FALSE, noclass = ISC_FALSE;
static const char *opcodetext[] = {
"QUERY",
@@ -107,8 +110,8 @@ static void
print_usage(FILE *fp) {
fputs(
"Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}\n"
" {global-d-opt} host [@local-server] {local-d-opt}\n"
" [ host [@local-server] {local-d-opt} [...]]\n", fp);
" {global-d-opt} host [@local-server] {local-d-opt}\n"
" [ host [@local-server] {local-d-opt} [...]]\n", fp);
}
static void
@@ -119,11 +122,16 @@ usage(void) {
exit(1);
}
static void
version(void) {
fputs("DiG " VERSION "\n", stderr);
}
static void
help(void) {
print_usage(stdout);
fputs(
"Where: domain are in the Domain Name System\n"
"Where: domain is in the Domain Name System\n"
" q-class is one of (in,hs,ch,...) [default: in]\n"
" q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]\n"
" (Use ixfr=version for type ixfr)\n"
@@ -131,17 +139,20 @@ help(void) {
" -x dot-notation (shortcut for in-addr lookups)\n"
" -i (IP6.INT reverse IPv6 lookups)\n"
" -f filename (batch mode)\n"
" -b address (bind to source address)\n"
" -b address[#port] (bind to source address/port)\n"
" -p port (specify port number)\n"
" -t type (specify query type)\n"
" -c class (specify query class)\n"
" -k keyfile (specify tsig key file)\n"
" -y name:key (specify named base64 tsig key)\n"
" -4 (use IPv4 query transport only)\n"
" -6 (use IPv6 query transport only)\n"
" d-opt is of the form +keyword[=value], where keyword is:\n"
" +[no]vc (TCP mode)\n"
" +[no]tcp (TCP mode, alternate syntax)\n"
" +time=### (Set query timeout) [5]\n"
" +tries=### (Set number of UDP attempts) [3]\n"
" +retry=### (Set number of UDP retries) [2]\n"
" +domain=### (Set default domainname)\n"
" +bufsize=### (Set EDNS0 Max UDP packet size)\n"
" +ndots=### (Set NDOTS value)\n"
@@ -152,9 +163,10 @@ help(void) {
"\n"
" +[no]fail (Don't try next server on SERVFAIL)\n"
" +[no]besteffort (Try to parse even illegal messages)\n"
" +[no]aaonly (Set AA flag in query)\n"
" +[no]aaonly (Set AA flag in query (+[no]aaflag))\n"
" +[no]adflag (Set AD flag in query)\n"
" +[no]cdflag (Set CD flag in query)\n"
" +[no]cl (Control display of class in records)\n"
" +[no]cmd (Control display of command line)\n"
" +[no]comments (Control display of comment lines)\n"
" +[no]question (Control display of question)\n"
@@ -164,15 +176,25 @@ help(void) {
" +[no]stats (Control display of statistics)\n"
" +[no]short (Disable everything except short\n"
" form of answer)\n"
" +[no]ttlid (Control display of ttls in records)\n"
" +[no]all (Set or clear all display flags)\n"
" +[no]qr (Print question before sending)\n"
" +[no]nssearch (Search all authoritative nameservers)\n"
" +[no]identify (ID responders in short answers)\n"
" +[no]trace (Trace delegation down from root)\n"
" +[no]dnssec (Request DNSSEC records)\n"
#ifdef DIG_SIGCHASE
" +[no]sigchase (Chase DNSSEC signatures)\n"
" +trusted-key=#### (Trusted Key when chasing DNSSEC sigs)\n"
#if DIG_SIGCHASE_TD
" +[no]topdown (Do DNSSEC validation top down mode)\n"
#endif
#endif
" +[no]multiline (Print records in an expanded format)\n"
" global d-opts and servers (before host name) affect all queries.\n"
" local d-opts and servers (after host name) affect only that lookup.\n",
" local d-opts and servers (after host name) affect only that lookup.\n"
" -h (print help and exit)\n"
" -v (print version and exit)\n",
stdout);
}
@@ -183,14 +205,12 @@ void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_uint64_t diff;
isc_time_t now;
isc_result_t result;
time_t tnow;
char fromtext[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_format(from, fromtext, sizeof(fromtext));
result = isc_time_now(&now);
check_result(result, "isc_time_now");
TIME_NOW(&now);
if (query->lookup->stats && !short_form) {
diff = isc_time_microdiff(&now, &query->time_sent);
@@ -199,8 +219,8 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
time(&tnow);
printf(";; WHEN: %s", ctime(&tnow));
if (query->lookup->doing_xfr) {
printf(";; XFR size: %d records\n",
query->rr_count);
printf(";; XFR size: %u records (messages %u)\n",
query->rr_count, query->msg_count);
} else {
printf(";; MSG SIZE rcvd: %d\n", bytes);
@@ -252,9 +272,7 @@ say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t *buf) {
result = dns_rdata_totext(rdata, NULL, buf);
check_result(result, "dns_rdata_totext");
if (query->lookup->identify) {
result = isc_time_now(&now);
if (result != ISC_R_SUCCESS)
return (result);
TIME_NOW(&now);
diff = isc_time_microdiff(&now, &query->time_sent);
ADD_STRING(buf, " from server ");
ADD_STRING(buf, query->servname);
@@ -317,6 +335,51 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags,
return (ISC_R_SUCCESS);
}
#ifdef DIG_SIGCHASE
isc_result_t
printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
isc_buffer_t *target)
{
isc_result_t result;
dns_master_style_t *style = NULL;
unsigned int styleflags = 0;
if (rdataset == NULL || owner_name == NULL || target == NULL)
return(ISC_FALSE);
styleflags |= DNS_STYLEFLAG_REL_OWNER;
if (nottl)
styleflags |= DNS_STYLEFLAG_NO_TTL;
if (noclass)
styleflags |= DNS_STYLEFLAG_NO_CLASS;
if (multiline) {
styleflags |= DNS_STYLEFLAG_OMIT_OWNER;
styleflags |= DNS_STYLEFLAG_OMIT_CLASS;
styleflags |= DNS_STYLEFLAG_REL_DATA;
styleflags |= DNS_STYLEFLAG_OMIT_TTL;
styleflags |= DNS_STYLEFLAG_TTL;
styleflags |= DNS_STYLEFLAG_MULTILINE;
styleflags |= DNS_STYLEFLAG_COMMENT;
}
if (multiline || (nottl && noclass))
result = dns_master_stylecreate(&style, styleflags,
24, 24, 24, 32, 80, 8, mctx);
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
check_result(result, "dns_master_stylecreate");
result = dns_master_rdatasettotext(owner_name, rdataset, style, target);
if (style != NULL)
dns_master_styledestroy(&style, mctx);
return(result);
}
#endif
/*
* Callback from dighost.c to print the reply from a server
@@ -327,12 +390,33 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_messagetextflag_t flags;
isc_buffer_t *buf = NULL;
unsigned int len = OUTPUTBUF;
const dns_master_style_t *style;
dns_master_style_t *style = NULL;
unsigned int styleflags = 0;
if (multiline)
style = &dns_master_style_default;
else
style = &dns_master_style_debug;
styleflags |= DNS_STYLEFLAG_REL_OWNER;
if (nottl)
styleflags |= DNS_STYLEFLAG_NO_TTL;
if (noclass)
styleflags |= DNS_STYLEFLAG_NO_CLASS;
if (multiline) {
styleflags |= DNS_STYLEFLAG_OMIT_OWNER;
styleflags |= DNS_STYLEFLAG_OMIT_CLASS;
styleflags |= DNS_STYLEFLAG_REL_DATA;
styleflags |= DNS_STYLEFLAG_OMIT_TTL;
styleflags |= DNS_STYLEFLAG_TTL;
styleflags |= DNS_STYLEFLAG_MULTILINE;
styleflags |= DNS_STYLEFLAG_COMMENT;
}
if (multiline || (nottl && noclass))
result = dns_master_stylecreate(&style, styleflags,
24, 24, 24, 32, 80, 8, mctx);
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
check_result(result, "dns_master_stylecreate");
if (query->lookup->cmdline[0] != 0) {
if (!short_form)
@@ -396,8 +480,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
repopulate_buffer:
if (query->lookup->comments && headers && !short_form)
{
if (query->lookup->comments && headers && !short_form) {
result = dns_message_pseudosectiontotext(msg,
DNS_PSEUDOSECTION_OPT,
style, flags, buf);
@@ -409,7 +492,7 @@ buftoosmall:
if (result == ISC_R_SUCCESS)
goto repopulate_buffer;
else
return (result);
goto cleanup;
}
check_result(result,
"dns_message_pseudosectiontotext");
@@ -488,6 +571,10 @@ buftoosmall:
printf("%.*s", (int)isc_buffer_usedlength(buf),
(char *)isc_buffer_base(buf));
isc_buffer_free(&buf);
cleanup:
if (style != NULL)
dns_master_styledestroy(&style, mctx);
return (result);
}
@@ -526,7 +613,7 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
strncat(lookup->cmdline, append, remaining);
}
if (first) {
snprintf(append, sizeof (append),
snprintf(append, sizeof(append),
";; global options: %s %s\n",
short_form ? "short_form" : "",
printcmd ? "printcmd" : "");
@@ -576,14 +663,14 @@ reorder_args(int argc, char *argv[]) {
static isc_uint32_t
parse_uint(char *arg, const char *desc, isc_uint32_t max) {
char *endp;
isc_result_t result;
isc_uint32_t tmp;
tmp = strtoul(arg, &endp, 10);
if (*endp != '\0')
fatal("%s '%s' must be numeric", desc, arg);
if (tmp > max)
fatal("%s '%s' out of range", desc, arg);
result = isc_parse_uint32(&tmp, arg, 10);
if (result == ISC_R_SUCCESS && tmp > max)
result = ISC_R_RANGE;
if (result != ISC_R_SUCCESS)
fatal("%s '%s': %s", desc, arg, isc_result_totext(result));
return (tmp);
}
@@ -601,32 +688,53 @@ plus_option(char *option, isc_boolean_t is_batchfile,
char option_store[256];
char *cmd, *value, *ptr;
isc_boolean_t state = ISC_TRUE;
#ifdef DIG_SIGCHASE
size_t n;
#endif
strncpy(option_store, option, sizeof(option_store));
option_store[sizeof(option_store)-1]=0;
ptr = option_store;
cmd=next_token(&ptr,"=");
cmd = next_token(&ptr,"=");
if (cmd == NULL) {
printf(";; Invalid option %s\n",option_store);
printf(";; Invalid option %s\n", option_store);
return;
}
value=ptr;
if (strncasecmp(cmd,"no",2)==0) {
value = ptr;
if (strncasecmp(cmd, "no", 2)==0) {
cmd += 2;
state = ISC_FALSE;
}
#define FULLCHECK(A) \
do { \
size_t _l = strlen(cmd); \
if (_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) \
goto invalid_option; \
} while (0)
#define FULLCHECK2(A, B) \
do { \
size_t _l = strlen(cmd); \
if ((_l >= sizeof(A) || strncasecmp(cmd, A, _l) != 0) && \
(_l >= sizeof(B) || strncasecmp(cmd, B, _l) != 0)) \
goto invalid_option; \
} while (0)
switch (cmd[0]) {
case 'a':
switch (cmd[1]) {
case 'a': /* aaflag */
case 'a': /* aaonly / aaflag */
FULLCHECK2("aaonly", "aaflag");
lookup->aaonly = state;
break;
case 'd':
switch (cmd[2]) {
case 'd': /* additional */
FULLCHECK("additional");
lookup->section_additional = state;
break;
case 'f': /* adflag */
FULLCHECK("adflag");
lookup->adflag = state;
break;
default:
@@ -634,6 +742,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
}
break;
case 'l': /* all */
FULLCHECK("all");
lookup->section_question = state;
lookup->section_authority = state;
lookup->section_answer = state;
@@ -643,9 +752,11 @@ plus_option(char *option, isc_boolean_t is_batchfile,
printcmd = state;
break;
case 'n': /* answer */
FULLCHECK("answer");
lookup->section_answer = state;
break;
case 'u': /* authority */
FULLCHECK("authority");
lookup->section_authority = state;
break;
default:
@@ -655,9 +766,11 @@ plus_option(char *option, isc_boolean_t is_batchfile,
case 'b':
switch (cmd[1]) {
case 'e':/* besteffort */
FULLCHECK("besteffort");
lookup->besteffort = state;
break;
case 'u':/* bufsize */
FULLCHECK("bufsize");
if (value == NULL)
goto need_value;
if (!state)
@@ -672,12 +785,19 @@ plus_option(char *option, isc_boolean_t is_batchfile,
case 'c':
switch (cmd[1]) {
case 'd':/* cdflag */
FULLCHECK("cdflag");
lookup->cdflag = state;
break;
case 'l': /* cl */
FULLCHECK("cl");
noclass = ISC_TF(!state);
break;
case 'm': /* cmd */
FULLCHECK("cmd");
printcmd = state;
break;
case 'o': /* comments */
FULLCHECK("comments");
lookup->comments = state;
if (lookup == default_lookup)
pluscomm = state;
@@ -689,12 +809,15 @@ plus_option(char *option, isc_boolean_t is_batchfile,
case 'd':
switch (cmd[1]) {
case 'e': /* defname */
FULLCHECK("defname");
usesearch = state;
break;
case 'n': /* dnssec */
FULLCHECK("dnssec");
lookup->dnssec = state;
break;
case 'o': /* domain */
FULLCHECK("domain");
if (value == NULL)
goto need_value;
if (!state)
@@ -707,24 +830,29 @@ plus_option(char *option, isc_boolean_t is_batchfile,
}
break;
case 'f': /* fail */
FULLCHECK("fail");
lookup->servfail_stops = state;
break;
case 'i':
switch (cmd[1]) {
case 'd': /* identify */
FULLCHECK("identify");
lookup->identify = state;
break;
case 'g': /* ignore */
default: /* Inherets default for compatibility */
FULLCHECK("ignore");
lookup->ignore = ISC_TRUE;
}
break;
case 'm': /* multiline */
FULLCHECK("multiline");
multiline = state;
break;
case 'n':
switch (cmd[1]) {
case 'd': /* ndots */
FULLCHECK("ndots");
if (value == NULL)
goto need_value;
if (!state)
@@ -732,6 +860,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
ndots = parse_uint(value, "ndots", MAXNDOTS);
break;
case 's': /* nssearch */
FULLCHECK("nssearch");
lookup->ns_search_only = state;
if (state) {
lookup->trace_root = ISC_TRUE;
@@ -754,9 +883,11 @@ plus_option(char *option, isc_boolean_t is_batchfile,
case 'q':
switch (cmd[1]) {
case 'r': /* qr */
FULLCHECK("qr");
qr = state;
break;
case 'u': /* question */
FULLCHECK("question");
lookup->section_question = state;
if (lookup == default_lookup)
plusquest = state;
@@ -765,15 +896,40 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto invalid_option;
}
break;
case 'r': /* recurse */
lookup->recurse = state;
case 'r':
switch (cmd[1]) {
case 'e':
switch (cmd[2]) {
case 'c': /* recurse */
FULLCHECK("recurse");
lookup->recurse = state;
break;
case 't': /* retry / retries */
FULLCHECK2("retry", "retries");
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
lookup->retries = parse_uint(value, "retries",
MAXTRIES - 1);
lookup->retries++;
break;
default:
goto invalid_option;
}
break;
default:
goto invalid_option;
}
break;
case 's':
switch (cmd[1]) {
case 'e': /* search */
FULLCHECK("search");
usesearch = state;
break;
case 'h': /* short */
FULLCHECK("short");
short_form = state;
if (state) {
printcmd = ISC_FALSE;
@@ -785,7 +941,16 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->stats = ISC_FALSE;
}
break;
#ifdef DIG_SIGCHASE
case 'i': /* sigchase */
FULLCHECK("sigchase");
lookup->sigchase = state;
if (lookup->sigchase)
lookup->dnssec = ISC_TRUE;
break;
#endif
case 't': /* stats */
FULLCHECK("stats");
lookup->stats = state;
break;
default:
@@ -795,10 +960,12 @@ plus_option(char *option, isc_boolean_t is_batchfile,
case 't':
switch (cmd[1]) {
case 'c': /* tcp */
FULLCHECK("tcp");
if (!is_batchfile)
lookup->tcp_mode = state;
break;
case 'i': /* timeout */
FULLCHECK("timeout");
if (value == NULL)
goto need_value;
if (!state)
@@ -807,9 +974,16 @@ plus_option(char *option, isc_boolean_t is_batchfile,
if (timeout == 0)
timeout = 1;
break;
#if DIG_SIGCHASE_TD
case 'o': /* topdown */
FULLCHECK("topdown");
lookup->do_topdown = state;
break;
#endif
case 'r':
switch (cmd[2]) {
case 'a': /* trace */
FULLCHECK("trace");
lookup->trace = state;
lookup->trace_root = state;
if (state) {
@@ -823,24 +997,43 @@ plus_option(char *option, isc_boolean_t is_batchfile,
}
break;
case 'i': /* tries */
FULLCHECK("tries");
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
lookup->retries = parse_uint(value, "retries",
MAXTRIES);
lookup->retries = parse_uint(value, "tries",
MAXTRIES);
if (lookup->retries == 0)
lookup->retries = 1;
break;
#ifdef DIG_SIGCHASE
case 'u': /* trusted-key */
FULLCHECK("trusted-key");
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
n = strlcpy(trustedkey, ptr,
sizeof(trustedkey));
if (n >= sizeof(trustedkey))
fatal("trusted key too large");
break;
#endif
default:
goto invalid_option;
}
break;
case 't': /* ttlid */
FULLCHECK("ttlid");
nottl = ISC_TF(!state);
break;
default:
goto invalid_option;
}
break;
case 'v':
FULLCHECK("vc");
if (!is_batchfile)
lookup->tcp_mode = state;
break;
@@ -857,11 +1050,13 @@ plus_option(char *option, isc_boolean_t is_batchfile,
/*
* ISC_TRUE returned if value was used
*/
static const char *single_dash_opts = "46dhimnv";
static const char *dash_opts = "46bcdfhikmnptvyx";
static isc_boolean_t
dash_option(char *option, char *next, dig_lookup_t **lookup,
isc_boolean_t *open_type_class)
{
char cmd, *value, *ptr;
char opt, *value, *ptr;
isc_result_t result;
isc_boolean_t value_from_next;
isc_textregion_t tr;
@@ -870,8 +1065,69 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
char textname[MXNAME];
struct in_addr in4;
struct in6_addr in6;
in_port_t srcport;
char *hash, *cmd;
cmd = option[0];
while (strpbrk(option, single_dash_opts) == &option[0]) {
/*
* Since the -[46dhimnv] options do not take an argument,
* account for them (in any number and/or combination)
* if they appear as the first character(s) of a q-opt.
*/
opt = option[0];
switch (opt) {
case '4':
if (have_ipv4) {
isc_net_disableipv6();
have_ipv6 = ISC_FALSE;
} else {
fatal("can't find IPv4 networking");
return (ISC_FALSE);
}
break;
case '6':
if (have_ipv6) {
isc_net_disableipv4();
have_ipv4 = ISC_FALSE;
} else {
fatal("can't find IPv6 networking");
return (ISC_FALSE);
}
break;
case 'd':
ptr = strpbrk(&option[1], dash_opts);
if (ptr != &option[1]) {
cmd = option;
FULLCHECK("debug");
debugging = ISC_TRUE;
return (ISC_FALSE);
} else
debugging = ISC_TRUE;
break;
case 'h':
help();
exit(0);
break;
case 'i':
ip6_int = ISC_TRUE;
break;
case 'm': /* memdebug */
/* memdebug is handled in preparse_args() */
break;
case 'n':
/* deprecated */
break;
case 'v':
version();
exit(0);
break;
}
if (strlen(option) > 1U)
option = &option[1];
else
return (ISC_FALSE);
}
opt = option[0];
if (strlen(option) > 1U) {
value_from_next = ISC_FALSE;
value = &option[1];
@@ -879,34 +1135,31 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
value_from_next = ISC_TRUE;
value = next;
}
switch (cmd) {
case 'd':
debugging = ISC_TRUE;
return (ISC_FALSE);
case 'h':
help();
exit(0);
break;
case 'i':
ip6_int = ISC_TRUE;
return (ISC_FALSE);
case 'm': /* memdebug */
/* memdebug is handled in preparse_args() */
return (ISC_FALSE);
case 'n':
/* deprecated */
return (ISC_FALSE);
}
if (value == NULL)
goto invalid_option;
switch (cmd) {
switch (opt) {
case 'b':
if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1)
isc_sockaddr_fromin6(&bind_address, &in6, 0);
else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1)
isc_sockaddr_fromin(&bind_address, &in4, 0);
else
hash = strchr(value, '#');
if (hash != NULL) {
srcport = (in_port_t)
parse_uint(hash + 1,
"port number", MAXPORT);
*hash = '\0';
} else
srcport = 0;
if (have_ipv6 && inet_pton(AF_INET6, value, &in6) == 1) {
isc_sockaddr_fromin6(&bind_address, &in6, srcport);
isc_net_disableipv4();
} else if (have_ipv4 && inet_pton(AF_INET, value, &in4) == 1) {
isc_sockaddr_fromin(&bind_address, &in4, srcport);
isc_net_disableipv6();
} else {
if (hash != NULL)
*hash = '#';
fatal("invalid address %s", value);
}
if (hash != NULL)
*hash = '#';
specified_source = ISC_TRUE;
return (value_from_next);
case 'c':
@@ -947,8 +1200,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS &&
rdtype == dns_rdatatype_ixfr)
{
rdtype == dns_rdatatype_ixfr) {
result = DNS_R_UNKNOWN;
}
}
@@ -994,9 +1246,8 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
return (value_from_next);
case 'x':
*lookup = clone_lookup(default_lookup, ISC_TRUE);
if (get_reverse(textname, value, ip6_int, ISC_FALSE)
== ISC_R_SUCCESS)
{
if (get_reverse(textname, sizeof(textname), value,
ip6_int, ISC_FALSE) == ISC_R_SUCCESS) {
strncpy((*lookup)->textname, textname,
sizeof((*lookup)->textname));
debug("looking up %s", (*lookup)->textname);
@@ -1034,20 +1285,26 @@ static void
preparse_args(int argc, char **argv) {
int rc;
char **rv;
char *option;
rc = argc;
rv = argv;
for (rc--, rv++; rc > 0; rc--, rv++) {
if (strcmp(rv[0], "-m") == 0) {
memdebugging = ISC_TRUE;
isc_mem_debugging = ISC_MEM_DEBUGTRACE |
ISC_MEM_DEBUGRECORD;
return;
if (rv[0][0] != '-')
continue;
option = &rv[0][1];
while (strpbrk(option, single_dash_opts) == &option[0]) {
if (option[0] == 'm') {
memdebugging = ISC_TRUE;
isc_mem_debugging = ISC_MEM_DEBUGTRACE |
ISC_MEM_DEBUGRECORD;
return;
}
option = &option[1];
}
}
}
static void
getaddresses(dig_lookup_t *lookup, const char *host) {
isc_result_t result;
@@ -1057,10 +1314,11 @@ getaddresses(dig_lookup_t *lookup, const char *host) {
dig_server_t *srv;
char tmp[ISC_NETADDR_FORMATSIZE];
result = get_addresses(host, 0, sockaddrs, DIG_MAX_ADDRESSES, &count);
result = bind9_getaddresses(host, 0, sockaddrs,
DIG_MAX_ADDRESSES, &count);
if (result != ISC_R_SUCCESS)
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
for (i = 0; i < count; i++) {
isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
@@ -1110,14 +1368,17 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
#ifndef NOPOSIX
/*
* Treat .digrc as a special batchfile
* Treat ${HOME}/.digrc as a special batchfile
*/
INSIST(batchfp == NULL);
homedir = getenv("HOME");
if (homedir != NULL)
snprintf(rcfile, sizeof(rcfile), "%s/.digrc", homedir);
else
strcpy(rcfile, ".digrc");
batchfp = fopen(rcfile, "r");
if (homedir != NULL) {
unsigned int n;
n = snprintf(rcfile, sizeof(rcfile), "%s/.digrc",
homedir);
if (n < sizeof(rcfile))
batchfp = fopen(rcfile, "r");
}
if (batchfp != NULL) {
while (fgets(batchline, sizeof(batchline),
batchfp) != 0) {
@@ -1128,7 +1389,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
while ((bargv[bargc] != NULL) &&
(bargc < 62)) {
bargc++;
bargv[bargc] = next_token(&input, " \t\r\n");
bargv[bargc] =
next_token(&input, " \t\r\n");
}
bargv[0] = argv[0];
@@ -1175,17 +1437,16 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
* Anything which isn't an option
*/
if (open_type_class) {
if (strncasecmp(rv[0], "ixfr=", 5) == 0) {
if (strncmp(rv[0], "ixfr=", 5) == 0) {
rdtype = dns_rdatatype_ixfr;
result = ISC_R_SUCCESS;
} else {
tr.base = rv[0];
tr.length = strlen(rv[0]);
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS &&
rdtype == dns_rdatatype_ixfr)
{
rdtype == dns_rdatatype_ixfr) {
result = DNS_R_UNKNOWN;
fprintf(stderr, ";; Warning, "
"ixfr requires a "
@@ -1193,28 +1454,30 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
continue;
}
}
if (result == ISC_R_SUCCESS)
{
if (result == ISC_R_SUCCESS) {
if (lookup->rdtypeset) {
fprintf(stderr, ";; Warning, "
"extra type option\n");
}
if (rdtype == dns_rdatatype_ixfr) {
lookup->rdtype = dns_rdatatype_ixfr;
lookup->rdtype =
dns_rdatatype_ixfr;
lookup->rdtypeset = ISC_TRUE;
lookup->ixfr_serial =
parse_uint(&rv[0][5],
"serial number",
MAXSERIAL);
lookup->section_question = plusquest;
lookup->section_question =
plusquest;
lookup->comments = pluscomm;
} else {
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
if (rdtype == dns_rdatatype_axfr) {
lookup->section_question =
if (rdtype ==
dns_rdatatype_axfr) {
lookup->section_question =
plusquest;
lookup->comments = pluscomm;
lookup->comments = pluscomm;
}
lookup->ixfr_serial = ISC_FALSE;
}
@@ -1261,7 +1524,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
perror(batchname);
if (exitcode < 8)
exitcode = 8;
fatal("Couldn't open specified batch file");
fatal("couldn't open specified batch file");
}
/* XXX Remove code dup from shutdown code */
next_line:
@@ -1308,9 +1571,9 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
}
/*
* Callback from dighost.c to allow program-specific shutdown code. Here,
* Here, we're possibly reading from a batch file, then shutting down for
* real if there's nothing in the batch file to read.
* Callback from dighost.c to allow program-specific shutdown code.
* Here, we're possibly reading from a batch file, then shutting down
* for real if there's nothing in the batch file to read.
*/
void
dighost_shutdown(void) {
@@ -1397,6 +1660,9 @@ main(int argc, char **argv) {
fclose(batchfp);
batchname = NULL;
}
#ifdef DIG_SIGCHASE
clean_trustedkey();
#endif
cancel_all();
destroy_libs();
isc_app_finish();

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.docbook,v 1.4.2.11 2005/05/12 21:35:06 sra Exp $ -->
<!-- $Id: dig.docbook,v 1.4.2.7.4.12 2005/08/30 00:50:29 marka Exp $ -->
<refentry>
@@ -41,6 +41,7 @@
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
@@ -63,6 +64,8 @@
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
<arg><option>-x <replaceable class="parameter">addr</replaceable></option></arg>
<arg><option>-y <replaceable class="parameter">name:key</replaceable></option></arg>
<arg><option>-4</option></arg>
<arg><option>-6</option></arg>
<arg choice="opt">name</arg>
<arg choice="opt">type</arg>
<arg choice="opt">class</arg>
@@ -115,7 +118,7 @@ NS query for "." (the root).
</para>
<para>
It is possible to set per user defaults for <command>dig</command> via
It is possible to set per-user defaults for <command>dig</command> via
<filename>${HOME}/.digrc</filename>. This file is read and any options in it
are applied before the command line arguments.
</para>
@@ -169,7 +172,8 @@ ANY, A, MX, SIG, etc.
<para>
The <option>-b</option> option sets the source IP address of the query
to <parameter>address</parameter>. This must be a valid address on
one of the host's network interfaces.
one of the host's network interfaces or "0.0.0.0" or "::". An optional port
may be specified by appending "#&lt;port&gt;"
</para>
<para>
@@ -196,6 +200,12 @@ to test a name server that has been configured to listen for queries
on a non-standard port number.
</para>
<para>
The <option>-4</option> option forces <command>dig</command> to only
use IPv4 query transport. The <option>-6</option> option forces
<command>dig</command> to only use IPv6 query transport.
</para>
<para>
The <option>-t</option> option sets the query type to
<parameter>type</parameter>. It can be any valid query type which is
@@ -219,9 +229,10 @@ When this option is used, there is no need to provide the
automatically performs a lookup for a name like
<literal>11.12.13.10.in-addr.arpa</literal> and sets the query type and
class to PTR and IN respectively. By default, IPv6 addresses are
looked up using the IP6.ARPA domain and binary labels as defined in
RFC2874. To use the older RFC1886 method using the IP6.INT domain and
"nibble" labels, specify the <option>-n</option> (nibble) option.
looked up using nibble format under the IP6.ARPA domain.
To use the older RFC1886 method using the IP6.INT domain
specify the <option>-i</option> option. Bit string labels (RFC2874)
are now experimental and are not attempted.
</para>
<para>
@@ -312,9 +323,12 @@ Deprecated, treated as a synonym for <parameter>+[no]search</parameter>
<varlistentry><term><option>+[no]aaonly</option></term>
<listitem><para>
This option does nothing. It is provided for compatibility with old
versions of <command>dig</command> where it set an unimplemented
resolver flag.
Sets the "aa" flag in the query.
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]aaflag</option></term>
<listitem><para>
A synonym for <parameter>+[no]aaonly</parameter>.
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]adflag</option></term>
@@ -331,6 +345,16 @@ Set [do not set] the CD (checking disabled) bit in the query. This
requests the server to not perform DNSSEC validation of responses.
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]cl</option></term>
<listitem><para>
Display [do not display] the CLASS when printing the record.
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]ttlid</option></term>
<listitem><para>
Display [do not display] the TTL when printing the record.
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]recurse</option></term>
<listitem><para>
Toggle the setting of the RD (recursion desired) bit in the query.
@@ -438,10 +462,18 @@ in a query timeout of 1 second being applied.
<varlistentry><term><option>+tries=T</option></term>
<listitem><para>
Sets the number of times to retry UDP queries to server to
Sets the number of times to try UDP queries to server to
<parameter>T</parameter> instead of the default, 3. If
<parameter>T</parameter> is less than or equal to zero, the number of
retries is silently rounded up to 1.
tries is silently rounded up to 1.
</para></listitem></varlistentry>
<varlistentry><term><option>+retry=T</option></term>
<listitem><para>
Sets the number of times to retry UDP queries to server to
<parameter>T</parameter> instead of the default, 2. Unlike
<parameter>+tries</parameter>, this does not include the initial
query.
</para></listitem></varlistentry>
<varlistentry><term><option>+ndots=D</option></term>
@@ -471,30 +503,59 @@ Print records like the SOA records in a verbose multi-line
format with human-readable comments. The default is to print
each record on a single line, to facilitate machine parsing
of the <command>dig</command> output.
</para>
</listitem></varlistentry>
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]fail</option></term>
<listitem><para>
Do not try the next server if you receive a SERVFAIL. The default is
to not try the next server which is the reverse of normal stub resolver
behaviour.
</para>
</para></listitem></varlistentry>
</listitem></varlistentry>
<varlistentry><term><option>+[no]besteffort</option></term>
<listitem><para>
Attempt to display the contents of messages which are malformed.
The default is to not display malformed answers.
</para>
</para></listitem></varlistentry>
</listitem></varlistentry>
<varlistentry><term><option>+[no]dnssec</option></term>
<listitem><para>
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO)
in the OPT record in the additional section of the query.
</para>
</listitem></varlistentry>
</para></listitem></varlistentry>
<varlistentry><term><option>+[no]sigchase</option></term>
<listitem><para>
Chase DNSSEC signature chains. Requires dig be compiled with
-DDIG_SIGCHASE.
</para></listitem></varlistentry>
<varlistentry>
<term><option>+trusted-key=####</option></term>
<listitem>
<para>
Specifies a file containing trusted keys to be used with
<option>+sigchase</option>. Each DNSKEY record must be
on its own line.
</para>
<para>
If not specified <command>dig</command> will look for
<filename>/etc/trusted-key.key</filename> then
<filename>trusted-key.key</filename> in the current directory.
</para>
<para>
Requires dig be compiled with -DDIG_SIGCHASE.
</para>
</listitem>
</varlistentry>
<varlistentry><term><option>+[no]topdown</option></term>
<listitem><para>
When chasing DNSSEC signature chains perform a top down validation.
Requires dig be compiled with -DDIG_SIGCHASE.
</para></listitem></varlistentry>
</variablelist>

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -14,27 +14,27 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.html,v 1.6.2.15 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: dig.html,v 1.6.2.4.2.13 2005/10/13 02:33:43 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dig</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>dig &#8212; DNS lookup utility</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>name:key</code></em></code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549529"></a><h2>DESCRIPTION</h2>
<a name="id2525976"></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
@@ -63,13 +63,13 @@ When no command line arguments or options are given, will perform an
NS query for "." (the root).
</p>
<p>
It is possible to set per user defaults for <span><strong class="command">dig</strong></span> via
It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
<code class="filename">${HOME}/.digrc</code>. This file is read and any options in it
are applied before the command line arguments.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549656"></a><h2>SIMPLE USAGE</h2>
<a name="id2526035"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -107,11 +107,12 @@ ANY, A, MX, SIG, etc.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549735"></a><h2>OPTIONS</h2>
<a name="id2526114"></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 address on
one of the host's network interfaces.
one of the host's network interfaces or "0.0.0.0" or "::". An optional port
may be specified by appending "#&lt;port&gt;"
</p>
<p>
The default query class (IN for internet) is overridden by the
@@ -135,6 +136,11 @@ to test a name server that has been configured to listen for queries
on a non-standard port number.
</p>
<p>
The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span> to only
use IPv4 query transport. The <code class="option">-6</code> option forces
<span><strong class="command">dig</strong></span> to only use IPv6 query transport.
</p>
<p>
The <code class="option">-t</code> option sets the query type to
<em class="parameter"><code>type</code></em>. It can be any valid query type which is
supported in BIND9. The default query type "A", unless the
@@ -156,9 +162,10 @@ When this option is used, there is no need to provide the
automatically performs a lookup for a name like
<code class="literal">11.12.13.10.in-addr.arpa</code> and sets the query type and
class to PTR and IN respectively. By default, IPv6 addresses are
looked up using the IP6.ARPA domain and binary labels as defined in
RFC2874. To use the older RFC1886 method using the IP6.INT domain and
"nibble" labels, specify the <code class="option">-n</code> (nibble) option.
looked up using nibble format under the IP6.ARPA domain.
To use the older RFC1886 method using the IP6.INT domain
specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
are now experimental and are not attempted.
</p>
<p>
To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and their
@@ -181,7 +188,7 @@ being used. In BIND, this is done by providing appropriate
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549969"></a><h2>QUERY OPTIONS</h2>
<a name="id2526365"></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
@@ -236,9 +243,11 @@ Deprecated, treated as a synonym for <em class="parameter"><code>+[no]search</co
</p></dd>
<dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
<dd><p>
This option does nothing. It is provided for compatibility with old
versions of <span><strong class="command">dig</strong></span> where it set an unimplemented
resolver flag.
Sets the "aa" flag in the query.
</p></dd>
<dt><span class="term"><code class="option">+[no]aaflag</code></span></dt>
<dd><p>
A synonym for <em class="parameter"><code>+[no]aaonly</code></em>.
</p></dd>
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
<dd><p>
@@ -252,6 +261,14 @@ completeness.
Set [do not set] the CD (checking disabled) bit in the query. This
requests the server to not perform DNSSEC validation of responses.
</p></dd>
<dt><span class="term"><code class="option">+[no]cl</code></span></dt>
<dd><p>
Display [do not display] the CLASS when printing the record.
</p></dd>
<dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
<dd><p>
Display [do not display] the TTL when printing the record.
</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.
@@ -344,10 +361,17 @@ in a query timeout of 1 second being applied.
</p></dd>
<dt><span class="term"><code class="option">+tries=T</code></span></dt>
<dd><p>
Sets the number of times to retry UDP queries to server to
Sets the number of times to try UDP queries to server to
<em class="parameter"><code>T</code></em> instead of the default, 3. If
<em class="parameter"><code>T</code></em> is less than or equal to zero, the number of
retries is silently rounded up to 1.
tries is silently rounded up to 1.
</p></dd>
<dt><span class="term"><code class="option">+retry=T</code></span></dt>
<dd><p>
Sets the number of times to retry UDP queries to server to
<em class="parameter"><code>T</code></em> instead of the default, 2. Unlike
<em class="parameter"><code>+tries</code></em>, this does not include the initial
query.
</p></dd>
<dt><span class="term"><code class="option">+ndots=D</code></span></dt>
<dd><p>
@@ -390,13 +414,39 @@ The default is to not display malformed answers.
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO)
in the OPT record in the additional section of the query.
</p></dd>
<dt><span class="term"><code class="option">+[no]sigchase</code></span></dt>
<dd><p>
Chase DNSSEC signature chains. Requires dig be compiled with
-DDIG_SIGCHASE.
</p></dd>
<dt><span class="term"><code class="option">+trusted-key=####</code></span></dt>
<dd>
<p>
Specifies a file containing trusted keys to be used with
<code class="option">+sigchase</code>. Each DNSKEY record must be
on its own line.
</p>
<p>
If not specified <span><strong class="command">dig</strong></span> will look for
<code class="filename">/etc/trusted-key.key</code> then
<code class="filename">trusted-key.key</code> in the current directory.
</p>
<p>
Requires dig be compiled with -DDIG_SIGCHASE.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]topdown</code></span></dt>
<dd><p>
When chasing DNSSEC signature chains perform a top down validation.
Requires dig be compiled with -DDIG_SIGCHASE.
</p></dd>
</dl></div>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550535"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2527033"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span> supports
specifying multiple queries on the command line (in addition to
@@ -437,7 +487,7 @@ will not print the initial query when it looks up the NS records for
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550594"></a><h2>FILES</h2>
<a name="id2527092"></a><h2>FILES</h2>
<p>
<code class="filename">/etc/resolv.conf</code>
</p>
@@ -446,7 +496,7 @@ will not print the initial query when it looks up the NS records for
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550613"></a><h2>SEE ALSO</h2>
<a name="id2527111"></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>,
@@ -455,7 +505,7 @@ will not print the initial query when it looks up the NS records for
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550651"></a><h2>BUGS </h2>
<a name="id2527149"></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,5 +1,5 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2000-2002 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
@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: host.1,v 1.11.2.6 2006/06/29 13:02:05 marka Exp $
.\" $Id: host.1,v 1.11.2.1.4.7 2005/10/13 02:33:43 marka Exp $
.\"
.hy 0
.ad l
.\" Title: host
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: Jun 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "HOST" "1" "Jun 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,7 +30,7 @@
host \- DNS lookup utility
.SH "SYNOPSIS"
.HP 5
\fBhost\fR [\fB\-aCdlnrTwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] {name} [server]
\fBhost\fR [\fB\-aCdlnrTwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-4\fR] [\fB\-6\fR] {name} [server]
.SH "DESCRIPTION"
.PP
\fBhost\fR
@@ -89,11 +86,13 @@ List mode is selected by the
option. This makes
\fBhost\fR
perform a zone transfer for zone
\fIname\fR. The argument is provided for compatibility with older implementations. This option is equivalent to making a query of type AXFR.
\fIname\fR. Transfer the zone printing out the NS, PTR and address records (A/AAAA). If combined with
\fB\-a\fR
all records will be printed.
.PP
The
\fB\-n\fR
option specifies that reverse lookups of IPv6 addresses should use the IP6.INT domain and "nibble" labels as defined in RFC1886. The default is to use IP6.ARPA and binary labels as defined in RFC2874.
\fB\-i\fR
option specifies that reverse lookups of IPv6 addresses should use the IP6.INT domain as defined in RFC1886. The default is to use IP6.ARPA.
.PP
The
\fB\-N\fR
@@ -137,6 +136,16 @@ uses UDP when making queries. The
option makes it use a TCP connection when querying the name server. TCP will be automatically selected for queries that require it, such as zone transfer (AXFR) requests.
.PP
The
\fB\-4\fR
option forces
\fBhost\fR
to only use IPv4 query transport. The
\fB\-6\fR
option forces
\fBhost\fR
to only use IPv6 query transport.
.PP
The
\fB\-t\fR
option is used to select the query type.
\fItype\fR
@@ -148,7 +157,7 @@ option was given, queries will be made for SOA records, and if
\fIname\fR
is a dotted\-decimal IPv4 address or colon\-delimited IPv6 address,
\fBhost\fR
will query for PTR records.
will query for PTR records. If a query type of IXFR is chosen the starting serial number can be specified by appending an equal followed by the starting serial number (e.g. \-t IXFR=12345678).
.PP
The time to wait for a reply can be controlled through the
\fB\-W\fR
@@ -174,5 +183,3 @@ will effectively wait forever for a reply. The time to wait for a response will
.PP
\fBdig\fR(1),
\fBnamed\fR(8).
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -15,18 +15,19 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: host.c,v 1.76.2.10 2005/07/04 03:22:04 marka Exp $ */
/* $Id: host.c,v 1.76.2.5.2.13 2005/07/04 03:29:45 marka Exp $ */
#include <config.h>
#include <stdlib.h>
#include <limits.h>
#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>
@@ -40,6 +41,8 @@
#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;
@@ -82,123 +85,40 @@ static const char *rcodetext[] = {
"BADVERS"
};
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 {
unsigned int type;
const char *text;
};
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 void
show_usage(void) {
fputs(
"Usage: host [-aCdlrTwv] [-c class] [-n] [-N ndots] [-t type] [-W time]\n"
"Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]\n"
" [-R number] hostname [server]\n"
" -a is equivalent to -v -t ANY\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"
" -d is equivalent to -v\n"
" -l lists all hosts in a domain, using AXFR\n"
" -i Use the old IN6.INT form of IPv6 reverse lookup\n"
" -i IP6.INT reverse lookups\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"
@@ -206,7 +126,9 @@ show_usage(void) {
" -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", stderr);
" -W specifies how long to wait for a reply\n"
" -4 use IPv4 query transport only\n"
" -6 use IPv6 query transport only\n", stderr);
exit(1);
}
@@ -216,17 +138,14 @@ dighost_shutdown(void) {
}
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
{
received(int bytes, isc_sockaddr_t *from, 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));
result = isc_time_now(&now);
check_result(result, "isc_time_now");
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);
@@ -275,8 +194,18 @@ say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,
printf("\n");
isc_buffer_free(&b);
}
#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,
@@ -292,7 +221,6 @@ 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;
@@ -350,15 +278,27 @@ 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);
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";
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:
say_message(print_name, rtt,
&rdata, query);
dns_rdata_reset(&rdata);
@@ -417,9 +357,16 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_rdataset_t *opt, *tsig = NULL;
dns_name_t *tsigname;
isc_result_t result = ISC_R_SUCCESS;
int force_error;
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) {
char sockstr[ISC_SOCKADDR_FORMATSIZE];
@@ -438,6 +385,38 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
msg->rcode, rcodetext[msg->rcode]);
return (ISC_R_SUCCESS);
}
if (default_lookups && query->lookup->rdtype == dns_rdatatype_a) {
char namestr[DNS_NAME_FORMATSIZE];
dig_lookup_t *lookup;
/* Add AAAA and MX lookups. */
dns_name_format(query->lookup->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], rcodetext[msg->rcode],
@@ -530,6 +509,16 @@ 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);
}
@@ -543,12 +532,13 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
isc_result_t result = ISC_R_SUCCESS;
dns_rdatatype_t rdtype;
dns_rdataclass_t rdclass;
isc_uint32_t serial = 0;
UNUSED(is_batchfile);
lookup = make_empty_lookup();
while ((c = isc_commandline_parse(argc, argv, "ilvwrdt:c:aTCN:R:W:Dn"))
while ((c = isc_commandline_parse(argc, argv, "lvwrdt:c:aTCN:R:W:Dni46"))
!= EOF) {
switch (c) {
case 'l':
@@ -565,27 +555,41 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
lookup->recurse = ISC_FALSE;
break;
case 't':
tr.base = isc_commandline_argument;
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
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,
(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)
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
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;
list_type = rdtype;
} else
list_type = rdtype;
list_addresses = ISC_FALSE;
default_lookups = ISC_FALSE;
break;
case 'c':
tr.base = isc_commandline_argument;
@@ -601,6 +605,7 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
}
default_lookups = ISC_FALSE;
break;
case 'a':
if (!lookup->rdtypeset ||
@@ -610,11 +615,13 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
list_addresses = ISC_FALSE;
lookup->rdtypeset = ISC_TRUE;
short_form = ISC_FALSE;
default_lookups = ISC_FALSE;
break;
case 'i':
lookup->ip6_int = ISC_TRUE;
break;
case 'n':
/* deprecated */
break;
case 'w':
/*
@@ -629,9 +636,9 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
timeout = 1;
break;
case 'R':
tries = atoi(isc_commandline_argument);
if (tries < 1)
tries = 1;
tries = atoi(isc_commandline_argument) + 1;
if (tries < 2)
tries = 2;
break;
case 'T':
lookup->tcp_mode = ISC_TRUE;
@@ -645,6 +652,7 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
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",
@@ -654,11 +662,28 @@ 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;
}
}
if (isc_commandline_index >= argc) {
lookup->retries = tries;
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) {
@@ -668,12 +693,13 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
}
lookup->pending = ISC_FALSE;
if (get_reverse(store, hostname, lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS)
{
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;
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
default_lookups = ISC_FALSE;
} else {
strncpy(lookup->textname, hostname, sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1]=0;
@@ -688,6 +714,8 @@ 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);
@@ -707,6 +735,6 @@ main(int argc, char **argv) {
cancel_all();
destroy_libs();
isc_app_finish();
return (0);
return ((seen_error == 0) ? 0 : 1);
}

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000-2002 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
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.docbook,v 1.2.2.5 2005/05/12 21:35:06 sra Exp $ -->
<!-- $Id: host.docbook,v 1.2.2.2.4.7 2005/05/13 01:22:32 marka Exp $ -->
<refentry>
@@ -42,7 +42,6 @@
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
@@ -61,6 +60,8 @@
<arg><option>-R <replaceable class="parameter">number</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
<arg><option>-W <replaceable class="parameter">wait</replaceable></option></arg>
<arg><option>-4</option></arg>
<arg><option>-6</option></arg>
<arg choice="req">name</arg>
<arg choice="opt">server</arg>
</cmdsynopsis>
@@ -120,16 +121,16 @@ output.
<para>
List mode is selected by the <option>-l</option> option. This makes
<command>host</command> perform a zone transfer for zone
<parameter>name</parameter>. The argument is provided for
compatibility with older implementations. This option is equivalent
to making a query of type AXFR.
<parameter>name</parameter>. Transfer the zone printing out the NS, PTR
and address records (A/AAAA). If combined with <option>-a</option>
all records will be printed.
</para>
<para>
The <option>-n</option>
The <option>-i</option>
option specifies that reverse lookups of IPv6 addresses should
use the IP6.INT domain and "nibble" labels as defined in RFC1886.
The default is to use IP6.ARPA and binary labels as defined in RFC2874.
use the IP6.INT domain as defined in RFC1886.
The default is to use IP6.ARPA.
</para>
<para>
@@ -171,6 +172,12 @@ the name server. TCP will be automatically selected for queries that
require it, such as zone transfer (AXFR) requests.
</para>
<para>
The <option>-4</option> option forces <command>host</command> to only
use IPv4 query transport. The <option>-6</option> option forces
<command>host</command> to only use IPv6 query transport.
</para>
<para>
The <option>-t</option> option is used to select the query type.
<parameter>type</parameter> can be any recognised query type: CNAME,
@@ -180,7 +187,9 @@ type. By default it looks for A records, but if the
<option>-C</option> option was given, queries will be made for SOA
records, and if <parameter>name</parameter> is a dotted-decimal IPv4
address or colon-delimited IPv6 address, <command>host</command> will
query for PTR records.
query for PTR records. If a query type of IXFR is chosen the starting
serial number can be specified by appending an equal followed by the
starting serial number (e.g. -t IXFR=12345678).
</para>
<para>

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000-2002 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
@@ -14,25 +14,25 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.html,v 1.4.2.12 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: host.html,v 1.4.2.1.4.12 2005/10/13 02:33:44 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>host</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>host &#8212; DNS lookup utility</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] {name} [server]</p></div>
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549461"></a><h2>DESCRIPTION</h2>
<a name="id2525901"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
@@ -79,15 +79,15 @@ output.
<p>
List mode is selected by the <code class="option">-l</code> option. This makes
<span><strong class="command">host</strong></span> perform a zone transfer for zone
<em class="parameter"><code>name</code></em>. The argument is provided for
compatibility with older implementations. This option is equivalent
to making a query of type AXFR.
<em class="parameter"><code>name</code></em>. Transfer the zone printing out the NS, PTR
and address records (A/AAAA). If combined with <code class="option">-a</code>
all records will be printed.
</p>
<p>
The <code class="option">-n</code>
The <code class="option">-i</code>
option specifies that reverse lookups of IPv6 addresses should
use the IP6.INT domain and "nibble" labels as defined in RFC1886.
The default is to use IP6.ARPA and binary labels as defined in RFC2874.
use the IP6.INT domain as defined in RFC1886.
The default is to use IP6.ARPA.
</p>
<p>
The <code class="option">-N</code> option sets the number of dots that have to be
@@ -125,6 +125,11 @@ the name server. TCP will be automatically selected for queries that
require it, such as zone transfer (AXFR) requests.
</p>
<p>
The <code class="option">-4</code> option forces <span><strong class="command">host</strong></span> to only
use IPv4 query transport. The <code class="option">-6</code> option forces
<span><strong class="command">host</strong></span> to only use IPv6 query transport.
</p>
<p>
The <code class="option">-t</code> option is used to select the query type.
<em class="parameter"><code>type</code></em> can be any recognised query type: CNAME,
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
@@ -133,7 +138,9 @@ type. By default it looks for A records, but if the
<code class="option">-C</code> option was given, queries will be made for SOA
records, and if <em class="parameter"><code>name</code></em> is a dotted-decimal IPv4
address or colon-delimited IPv6 address, <span><strong class="command">host</strong></span> will
query for PTR records.
query for PTR records. If a query type of IXFR is chosen the starting
serial number can be specified by appending an equal followed by the
starting serial number (e.g. -t IXFR=12345678).
</p>
<p>
The time to wait for a reply can be controlled through the
@@ -148,13 +155,13 @@ value for an integer quantity.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549846"></a><h2>FILES</h2>
<a name="id2526241"></a><h2>FILES</h2>
<p>
<code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549859"></a><h2>SEE ALSO</h2>
<a name="id2526253"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.h,v 1.71.2.14 2006/10/03 23:50:49 marka Exp $ */
/* $Id: dig.h,v 1.71.2.6.2.11 2005/07/04 03:29:45 marka Exp $ */
#ifndef DIG_H
#define DIG_H
@@ -66,19 +66,33 @@
* in a tight loop of constant lookups. It's value is arbitrary.
*/
/*
* Defaults for the sigchase suboptions. Consolidated here because
* these control the layout of dig_lookup_t (among other things).
*/
#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;
struct dig_lookup {
isc_boolean_t
pending, /* Pending a successful answer */
waiting_senddone,
pending_clear,
waiting_connect,
doing_xfr,
ns_search_only, /* dig +nssearch, host -C */
@@ -104,10 +118,27 @@ struct dig_lookup {
new_search,
besteffort,
dnssec;
#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 */
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;
@@ -142,7 +173,6 @@ struct dig_lookup {
struct dig_query {
dig_lookup_t *lookup;
isc_boolean_t waiting_connect,
pending_free,
first_pass,
first_soa_rcvd,
second_rr_rcvd,
@@ -151,6 +181,7 @@ struct dig_query {
warn_id;
isc_uint32_t first_rr_serial;
isc_uint32_t second_rr_serial;
isc_uint32_t msg_count;
isc_uint32_t rr_count;
char *servname;
char *userarg;
@@ -179,6 +210,12 @@ 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;
@@ -199,13 +236,15 @@ extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern int sendcount;
extern int ndots;
extern int tries;
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];
#ifdef DIG_SIGCHASE
extern char trustedkey[MXNAME];
#endif
extern dns_tsigkey_t *key;
extern isc_boolean_t validated;
extern isc_taskmgr_t *taskmgr;
@@ -214,6 +253,7 @@ extern isc_boolean_t free_now;
extern isc_boolean_t debugging, memdebugging;
extern char *progname;
extern int tries;
extern int fatalexit;
/*
@@ -223,11 +263,7 @@ void
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
isc_result_t
get_addresses(const char *hostname, in_port_t port,
isc_sockaddr_t *addrs, int addrsize, int *addrcount);
isc_result_t
get_reverse(char *reverse, char *value, isc_boolean_t ip6int,
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
isc_boolean_t strict);
void
@@ -266,18 +302,18 @@ requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
dig_lookup_t *
make_empty_lookup(void);
void
flush_server_list(void);
void
set_nameserver(char *opt);
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);
void
clone_server_list(dig_serverlist_t src,
dig_serverlist_t *dest);
@@ -291,9 +327,19 @@ 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.
*/
#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);
@@ -318,6 +364,14 @@ 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

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -12,17 +12,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: nslookup.1,v 1.1.4.7 2006/06/29 13:02:05 marka Exp $
.\" $Id: nslookup.1,v 1.1.6.5 2005/10/13 02:33:43 marka Exp $
.\"
.hy 0
.ad l
.\" Title: nslookup
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: Jun 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "NSLOOKUP" "1" "Jun 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -42,28 +39,26 @@ has two modes: interactive and non\-interactive. Interactive mode allows the use
.SH "ARGUMENTS"
.PP
Interactive mode is entered in the following cases:
.TP 3n
.TP 3
1.
when no arguments are given (the default name server will be used)
.TP 3n
.TP
2.
when the first argument is a hyphen (\-) and the second argument is the host name or Internet address of a name server.
.sp
.RE
.PP
Non\-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument. The optional second argument specifies the host name or address of a name server.
.PP
Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen. For example, to change the default query type to host information, and the initial timeout to 10 seconds, type:
.sp .RS 3n .nf nslookup \-query=hinfo \-timeout=10 .fi .RE
.IP .sp .nf nslookup \-query=hinfo \-timeout=10 .fi
.SH "INTERACTIVE COMMANDS"
.TP 3n
.TP
host [server]
Look up information for host using the current default server or using server, if specified. If host is an Internet address and the query type is A or PTR, the name of the host is returned. If host is a name and does not have a trailing period, the search list is used to qualify the name.
.sp
To look up a host not in the current domain, append a period to the name.
.TP 3n
.TP
\fBserver\fR \fIdomain\fR
.TP 3n
.TP
\fBlserver\fR \fIdomain\fR
Change the default server to
\fIdomain\fR;
@@ -72,107 +67,107 @@ uses the initial server to look up information about
\fIdomain\fR, while
\fBserver\fR
uses the current default server. If an authoritative answer can't be found, the names of servers that might have the answer are returned.
.TP 3n
.TP
\fBroot\fR
not implemented
.TP 3n
.TP
\fBfinger\fR
not implemented
.TP 3n
.TP
\fBls\fR
not implemented
.TP 3n
.TP
\fBview\fR
not implemented
.TP 3n
.TP
\fBhelp\fR
not implemented
.TP 3n
.TP
\fB?\fR
not implemented
.TP 3n
.TP
\fBexit\fR
Exits the program.
.TP 3n
.TP
\fBset\fR \fIkeyword\fR\fI[=value]\fR
This command is used to change state information that affects the lookups. Valid keywords are:
.RS 3n
.TP 3n
.RS
.TP
\fBall\fR
Prints the current values of the frequently used options to
\fBset\fR. Information about the current default server and host is also printed.
.TP 3n
.TP
\fBclass=\fR\fIvalue\fR
Change the query class to one of:
.RS 3n
.TP 3n
.RS
.TP
\fBIN\fR
the Internet class
.TP 3n
.TP
\fBCH\fR
the Chaos class
.TP 3n
.TP
\fBHS\fR
the Hesiod class
.TP 3n
.TP
\fBANY\fR
wildcard
.RE
.IP "" 3n
.IP
The class specifies the protocol group of the information.
.sp
(Default = IN; abbreviation = cl)
.TP 3n
.TP
\fB\fI[no]\fR\fR\fBdebug\fR
Turn debugging mode on. A lot more information is printed about the packet sent to the server and the resulting answer.
.sp
(Default = nodebug; abbreviation =
[no]deb)
.TP 3n
.TP
\fB\fI[no]\fR\fR\fBd2\fR
Turn debugging mode on. A lot more information is printed about the packet sent to the server and the resulting answer.
.sp
(Default = nod2)
.TP 3n
.TP
\fBdomain=\fR\fIname\fR
Sets the search list to
\fIname\fR.
.TP 3n
.TP
\fB\fI[no]\fR\fR\fBsearch\fR
If the lookup request contains at least one period but doesn't end with a trailing period, append the domain names in the domain search list to the request until an answer is received.
.sp
(Default = search)
.TP 3n
.TP
\fBport=\fR\fIvalue\fR
Change the default TCP/UDP name server port to
\fIvalue\fR.
.sp
(Default = 53; abbreviation = po)
.TP 3n
.TP
\fBquerytype=\fR\fIvalue\fR
.TP 3n
.TP
\fBtype=\fR\fIvalue\fR
Change the type of the information query.
Change the top of the information query.
.sp
(Default = A; abbreviations = q, ty)
.TP 3n
.TP
\fB\fI[no]\fR\fR\fBrecurse\fR
Tell the name server to query other servers if it does not have the information.
.sp
(Default = recurse; abbreviation = [no]rec)
.TP 3n
.TP
\fBretry=\fR\fInumber\fR
Set the number of retries to number.
.TP 3n
.TP
\fBtimeout=\fR\fInumber\fR
Change the initial timeout interval for waiting for a reply to number seconds.
.TP 3n
.TP
\fB\fI[no]\fR\fR\fBvc\fR
Always use a virtual circuit when sending requests to the server.
.sp
(Default = novc)
.RE
.IP "" 3n
.IP
.SH "FILES"
.PP
\fI/etc/resolv.conf\fR
@@ -184,5 +179,3 @@ Always use a virtual circuit when sending requests to the server.
.SH "AUTHOR"
.PP
Andrew Cherenson
.SH "COPYRIGHT"
Copyright \(co 2004\-2006 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nslookup.c,v 1.90.2.13 2006/06/09 23:50:52 marka Exp $ */
/* $Id: nslookup.c,v 1.90.2.4.2.10 2005/07/12 05:47:42 marka Exp $ */
#include <config.h>
@@ -25,6 +25,7 @@
#include <isc/buffer.h>
#include <isc/commandline.h>
#include <isc/event.h>
#include <isc/parseint.h>
#include <isc/string.h>
#include <isc/timer.h>
#include <isc/util.h>
@@ -119,7 +120,8 @@ static const char *rtypetext[] = {
"v6 address = ", /* 38 */
"dname = ", /* 39 */
"rtype_40 = ", /* 40 */
"optional = "}; /* 41 */
"optional = " /* 41 */
};
#define N_KNOWN_RRTYPES (sizeof(rtypetext) / sizeof(rtypetext[0]))
@@ -174,7 +176,18 @@ printa(dns_rdata_t *rdata) {
printf("Address: %.*s\n", (int)isc_buffer_usedlength(&b),
(char *)isc_buffer_base(&b));
}
#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 void
printrdata(dns_rdata_t *rdata) {
isc_result_t result;
@@ -503,7 +516,46 @@ safecpy(char *dest, char *src, int size) {
strncpy(dest, src, size);
dest[size-1] = 0;
}
static isc_result_t
parse_uint(isc_uint32_t *uip, const char *value, isc_uint32_t max,
const char *desc) {
isc_uint32_t n;
isc_result_t result = isc_parse_uint32(&n, value, 10);
if (result == ISC_R_SUCCESS && n > max)
result = ISC_R_RANGE;
if (result != ISC_R_SUCCESS) {
printf("invalid %s '%s': %s\n", desc,
value, isc_result_totext(result));
return result;
}
*uip = n;
return (ISC_R_SUCCESS);
}
static void
set_port(const char *value) {
isc_uint32_t n;
isc_result_t result = parse_uint(&n, value, 65535, "port");
if (result == ISC_R_SUCCESS)
port = (isc_uint16_t) n;
}
static void
set_timeout(const char *value) {
isc_uint32_t n;
isc_result_t result = parse_uint(&n, value, UINT_MAX, "timeout");
if (result == ISC_R_SUCCESS)
timeout = n;
}
static void
set_tries(const char *value) {
isc_uint32_t n;
isc_result_t result = parse_uint(&n, value, INT_MAX, "tries");
if (result == ISC_R_SUCCESS)
tries = n;
}
static void
setoption(char *opt) {
@@ -542,21 +594,21 @@ setoption(char *opt) {
set_search_domain(domainopt);
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "port=", 5) == 0) {
port = atoi(&opt[5]);
set_port(&opt[5]);
} else if (strncasecmp(opt, "po=", 3) == 0) {
port = atoi(&opt[3]);
set_port(&opt[3]);
} else if (strncasecmp(opt, "timeout=", 8) == 0) {
timeout = atoi(&opt[8]);
set_timeout(&opt[8]);
} else if (strncasecmp(opt, "t=", 2) == 0) {
timeout = atoi(&opt[2]);
set_timeout(&opt[2]);
} else if (strncasecmp(opt, "rec", 3) == 0) {
recurse = ISC_TRUE;
} else if (strncasecmp(opt, "norec", 5) == 0) {
recurse = ISC_FALSE;
} else if (strncasecmp(opt, "retry=", 6) == 0) {
tries = atoi(&opt[6]);
set_tries(&opt[6]);
} else if (strncasecmp(opt, "ret=", 4) == 0) {
tries = atoi(&opt[4]);
set_tries(&opt[4]);
} else if (strncasecmp(opt, "def", 3) == 0) {
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "nodef", 5) == 0) {
@@ -573,11 +625,11 @@ setoption(char *opt) {
debugging = ISC_TRUE;
} else if (strncasecmp(opt, "nod2", 4) == 0) {
debugging = ISC_FALSE;
} else if (strncasecmp(opt, "search",3) == 0) {
} else if (strncasecmp(opt, "search", 3) == 0) {
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "nosearch",5) == 0) {
} else if (strncasecmp(opt, "nosearch", 5) == 0) {
usesearch = ISC_FALSE;
} else if (strncasecmp(opt, "sil",3) == 0) {
} else if (strncasecmp(opt, "sil", 3) == 0) {
/* deprecation_msg = ISC_FALSE; */
} else {
printf("*** Invalid option: %s\n", opt);
@@ -609,9 +661,8 @@ addlookup(char *opt) {
rdclass = dns_rdataclass_in;
}
lookup = make_empty_lookup();
if (get_reverse(store, opt, lookup->ip6_int, ISC_TRUE)
== ISC_R_SUCCESS)
{
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, ISC_TRUE)
== ISC_R_SUCCESS) {
safecpy(lookup->textname, store, sizeof(lookup->textname));
lookup->rdtype = dns_rdatatype_ptr;
lookup->rdtypeset = ISC_TRUE;
@@ -657,7 +708,6 @@ get_next_command(void) {
if (buf == NULL)
fatal("memory allocation failure");
fputs("> ", stderr);
fflush(stderr);
isc_app_block();
ptr = fgets(buf, COMMSIZE, stdin);
isc_app_unblock();
@@ -683,15 +733,13 @@ get_next_command(void) {
in_use = ISC_FALSE;
goto cleanup;
} else if (strcasecmp(ptr, "help") == 0 ||
strcasecmp(ptr, "?") == 0)
{
strcasecmp(ptr, "?") == 0) {
printf("The '%s' command is not yet implemented.\n", ptr);
goto cleanup;
} else if (strcasecmp(ptr, "finger") == 0 ||
strcasecmp(ptr, "root") == 0 ||
strcasecmp(ptr, "ls") == 0 ||
strcasecmp(ptr, "view") == 0)
{
strcasecmp(ptr, "view") == 0) {
printf("The '%s' command is not implemented.\n", ptr);
goto cleanup;
} else

View File

@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and 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: nslookup.docbook,v 1.3.4.7 2006/01/06 00:01:41 marka Exp $ -->
<!-- $Id: nslookup.docbook,v 1.3.6.5 2005/05/13 01:22:33 marka Exp $ -->
<!--
- Copyright (c) 1985, 1989
@@ -68,7 +68,6 @@
<copyright>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
</docinfo>
@@ -264,7 +263,7 @@ the lookups. Valid keywords are:
<varlistentry><term><constant>type=</constant><replaceable>value</replaceable></term>
<listitem><para>
Change the type of the information query.
Change the top of the information query.
</para><para>
(Default = A; abbreviations = q, ty)
</para></listitem></varlistentry>

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -13,15 +13,15 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nslookup.html,v 1.1.4.13 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: nslookup.html,v 1.1.6.9 2005/10/13 02:33:44 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>nslookup</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482694"></a><div class="titlepage"></div>
<a name="id2463728"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p>nslookup &#8212; query Internet name servers interactively</p>
@@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">nslookup</code> [<code class="option">-option</code>] [name | -] [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549404"></a><h2>DESCRIPTION</h2>
<a name="id2525973"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">Nslookup</strong></span>
is a program to query Internet domain name servers. <span><strong class="command">Nslookup</strong></span>
@@ -43,7 +43,7 @@ domain.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549421"></a><h2>ARGUMENTS</h2>
<a name="id2525990"></a><h2>ARGUMENTS</h2>
<p>
Interactive mode is entered in the following cases:
</p>
@@ -75,7 +75,7 @@ nslookup -query=hinfo -timeout=10
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549464"></a><h2>INTERACTIVE COMMANDS</h2>
<a name="id2526033"></a><h2>INTERACTIVE COMMANDS</h2>
<div class="variablelist"><dl>
<dt><span class="term">host [<span class="optional">server</span>]</span></dt>
<dd>
@@ -200,7 +200,7 @@ the lookups. Valid keywords are:
<dt><span class="term"><code class="constant">type=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
<p>
Change the type of the information query.
Change the top of the information query.
</p>
<p>
(Default = A; abbreviations = q, ty)
@@ -241,13 +241,13 @@ the lookups. Valid keywords are:
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549990"></a><h2>FILES</h2>
<a name="id2526490"></a><h2>FILES</h2>
<p>
<code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550003"></a><h2>SEE ALSO</h2>
<a name="id2526503"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
@@ -255,7 +255,7 @@ the lookups. Valid keywords are:
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550038"></a><h2>Author</h2>
<a name="id2526538"></a><h2>Author</h2>
<p>
Andrew Cherenson
</p>

View File

@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
!ENDIF
@@ -90,10 +90,18 @@ LINK32=link.exe
SOURCE=..\dig.c
# End Source File
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\include\dig\dig.h
# End Source File
# End Group
# Begin Group "Resource Files"

View File

@@ -25,148 +25,56 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "dig - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\dig.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\dig.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dig.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" /machine:I386 /out:"../../../Build/Release/dig.exe"
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dig.pdb" /machine:I386 /out:"../../../Build/Release/dig.exe"
LINK32_OBJS= \
"$(INTDIR)\dig.obj" \
"$(INTDIR)\dighost.obj"
"$(INTDIR)\dighost.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
@@ -176,10 +84,21 @@ INTDIR=.\Debug
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dig.sbr"
-@erase "$(INTDIR)\dighost.obj"
@@ -190,45 +109,11 @@ CLEAN :
-@erase "$(OUTDIR)\dig.pdb"
-@erase "..\..\..\Build\Debug\dig.exe"
-@erase "..\..\..\Build\Debug\dig.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
BSC32_SBRS= \
@@ -241,19 +126,52 @@ BSC32_SBRS= \
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dig.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dig.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dig.obj" \
"$(INTDIR)\dighost.obj"
"$(INTDIR)\dighost.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("dig.dep")
@@ -301,24 +219,110 @@ SOURCE=..\dighost.c
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!IF "$(CFG)" == "dig - Win32 Release"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,113 +0,0 @@
# Microsoft Developer Studio Project File - Name="dighost" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static-Link Library" 0x0104
CFG=dighost - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "dighost.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "dighost.mak" CFG="dighost - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dighost - Win32 Release" (based on "Win32 (x86) Static-Link Library")
!MESSAGE "dighost - Win32 Debug" (based on "Win32 (x86) Static-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "dighost - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddighost
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /out:"Release/dighost.lib"
!ELSEIF "$(CFG)" == "dighost - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddighost
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /debug out:"Debug/dighost.lib"
!ENDIF
# Begin Target
# Name "dighost - Win32 Release"
# Name "dighost - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Group "Main Dns Lib"
# PROP Default_Filter "c"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "dighost"=".\dighost.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
!ENDIF
@@ -88,6 +88,10 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# Begin Source File
SOURCE=..\host.c
# End Source File
# End Group

View File

@@ -25,148 +25,56 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "host - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\host.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\host.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\host.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\host.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\host.pdb" /machine:I386 /out:"../../../Build/Release/host.exe"
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\host.pdb" /machine:I386 /out:"../../../Build/Release/host.exe"
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\host.obj"
"$(INTDIR)\host.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
@@ -176,10 +84,21 @@ INTDIR=.\Debug
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\host.exe" "$(OUTDIR)\host.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\host.exe" "$(OUTDIR)\host.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\host.obj"
@@ -190,45 +109,11 @@ CLEAN :
-@erase "$(OUTDIR)\host.pdb"
-@erase "..\..\..\Build\Debug\host.exe"
-@erase "..\..\..\Build\Debug\host.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.bsc"
BSC32_SBRS= \
@@ -241,19 +126,52 @@ BSC32_SBRS= \
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\host.pdb" /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\host.pdb" /debug /machine:I386 /out:"../../../Build/Debug/host.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\host.obj"
"$(INTDIR)\host.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("host.dep")
@@ -301,24 +219,110 @@ SOURCE=..\host.c
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!IF "$(CFG)" == "host - Win32 Release"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "host - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Release/dighost.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nslookup.exe"
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nslookup.exe"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
@@ -66,7 +66,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /u /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib Debug/dighost.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
!ENDIF
@@ -88,6 +88,10 @@ LINK32=link.exe
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# Begin Source File
SOURCE=..\nslookup.c
# End Source File
# End Group

View File

@@ -25,148 +25,56 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "nslookup - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\nslookup.exe"
!ELSE
ALL : "liblwres - Win32 Release" "libbind9 - Win32 Release" "libisc - Win32 Release" "libdns - Win32 Release" "..\..\..\Build\Release\nslookup.exe"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 ReleaseCLEAN" "libisc - Win32 ReleaseCLEAN" "libbind9 - Win32 ReleaseCLEAN" "liblwres - Win32 ReleaseCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\nslookup.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\nslookup.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nslookup.pdb" /machine:I386 /out:"../../../Build/Release/nslookup.exe"
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nslookup.pdb" /machine:I386 /out:"../../../Build/Release/nslookup.exe"
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\nslookup.obj"
"$(INTDIR)\nslookup.obj" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isc\win32\Release\libisc.lib" \
"..\..\..\lib\bind9\win32\Release\libbind9.lib" \
"..\..\..\lib\lwres\win32\Release\liblwres.lib"
"..\..\..\Build\Release\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
@@ -176,10 +84,21 @@ INTDIR=.\Debug
OutDir=.\Debug
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Debug\nslookup.exe" "$(OUTDIR)\nslookup.bsc"
!ELSE
ALL : "liblwres - Win32 Debug" "libbind9 - Win32 Debug" "libisc - Win32 Debug" "libdns - Win32 Debug" "..\..\..\Build\Debug\nslookup.exe" "$(OUTDIR)\nslookup.bsc"
!ENDIF
!IF "$(RECURSE)" == "1"
CLEAN :"libdns - Win32 DebugCLEAN" "libisc - Win32 DebugCLEAN" "libbind9 - Win32 DebugCLEAN" "liblwres - Win32 DebugCLEAN"
!ELSE
CLEAN :
!ENDIF
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\nslookup.obj"
@@ -190,45 +109,11 @@ CLEAN :
-@erase "$(OUTDIR)\nslookup.pdb"
-@erase "..\..\..\Build\Debug\nslookup.exe"
-@erase "..\..\..\Build\Debug\nslookup.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.bsc"
BSC32_SBRS= \
@@ -241,19 +126,52 @@ BSC32_SBRS= \
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nslookup.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/bind9/win32/Debug/libbind9.lib ../../../lib/lwres/win32/Debug/liblwres.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nslookup.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nslookup.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\nslookup.obj"
"$(INTDIR)\nslookup.obj" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib" \
"..\..\..\lib\bind9\win32\Debug\libbind9.lib" \
"..\..\..\lib\lwres\win32\Debug\liblwres.lib"
"..\..\..\Build\Debug\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("nslookup.dep")
@@ -301,24 +219,110 @@ SOURCE=..\nslookup.c
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"libdns - Win32 Release" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libdns - Win32 Debug" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libdns - Win32 DebugCLEAN" :
cd "..\..\..\lib\dns\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libdns.mak" CFG="libdns - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
!IF "$(CFG)" == "nslookup - Win32 Release"
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
"libisc - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libisc - Win32 Debug" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libisc - Win32 DebugCLEAN" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"libbind9 - Win32 Release" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"libbind9 - Win32 Debug" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"libbind9 - Win32 DebugCLEAN" :
cd "..\..\..\lib\bind9\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libbind9.mak" CFG="libbind9 - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release"
"liblwres - Win32 Release" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"liblwres - Win32 Debug" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug"
cd "..\..\..\bin\dig\win32"
"liblwres - Win32 DebugCLEAN" :
cd "..\..\..\lib\lwres\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\liblwres.mak" CFG="liblwres - Win32 Debug" RECURSE=1 CLEAN
cd "..\..\..\bin\dig\win32"
!ENDIF
!ENDIF
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
# Copyright (C) 2000-2002 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.19.2.5 2005/05/02 00:25:33 marka Exp $
# $Id: Makefile.in,v 1.19.12.12 2005/05/02 00:25:54 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,14 +21,14 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_INCLUDES@
@BIND9_MAKE_INCLUDES@
CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES =
CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
@@ -39,46 +39,31 @@ DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
# Alphabetically
TARGETS = dnssec-keygen \
dnssec-makekeyset \
dnssec-signkey \
dnssec-signzone
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@
OBJS = dnssectool.@O@
SRCS = dnssec-keygen.c dnssec-makekeyset.c \
dnssec-signkey.c dnssec-signzone.c \
dnssectool.c
SRCS = dnssec-keygen.c dnssec-signzone.c dnssectool.c
MANPAGES = dnssec-keygen.8 \
dnssec-makekeyset.8 \
dnssec-signkey.8 \
dnssec-signzone.8
MANPAGES = dnssec-keygen.8 dnssec-signzone.8
HTMLPAGES = dnssec-keygen.html \
dnssec-makekeyset.html \
dnssec-signkey.html \
dnssec-signzone.html
HTMLPAGES = dnssec-keygen.html dnssec-signzone.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
dnssec-keygen: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-keygen.@O@ ${OBJS} ${LIBS}
dnssec-makekeyset: dnssec-makekeyset.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-makekeyset.@O@ ${OBJS} ${LIBS}
dnssec-signkey: dnssec-signkey.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-signkey.@O@ ${OBJS} ${LIBS}
dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-keygen.@O@ ${OBJS} ${LIBS}
dnssec-signzone.@O@: dnssec-signzone.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
-c ${srcdir}/dnssec-signzone.c
dnssec-signzone: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-signzone.@O@ ${OBJS} ${LIBS}
dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-signzone.@O@ ${OBJS} ${LIBS}
doc man:: ${MANOBJS}

View File

@@ -1,5 +1,5 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001 Internet Software Consortium.
.\" Copyright (C) 2000-2003 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
@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keygen.8,v 1.19.2.6 2006/06/29 13:02:05 marka Exp $
.\" $Id: dnssec-keygen.8,v 1.19.12.9 2005/10/13 02:33:45 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-keygen
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "DNSSEC\-KEYGEN" "8" "June 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,44 +30,52 @@
dnssec\-keygen \- DNSSEC key generation tool
.SH "SYNOPSIS"
.HP 14
\fBdnssec\-keygen\fR {\-a\ \fIalgorithm\fR} {\-b\ \fIkeysize\fR} {\-n\ \fInametype\fR} [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-e\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-p\ \fR\fB\fIprotocol\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] {name}
\fBdnssec\-keygen\fR {\-a\ \fIalgorithm\fR} {\-b\ \fIkeysize\fR} {\-n\ \fInametype\fR} [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-e\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-k\fR] [\fB\-p\ \fR\fB\fIprotocol\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] {name}
.SH "DESCRIPTION"
.PP
\fBdnssec\-keygen\fR
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC <TBA\\>. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
.SH "OPTIONS"
.TP 3n
.TP
\-a \fIalgorithm\fR
Selects the cryptographic algorithm. The value of
\fBalgorithm\fR
must be one of RSAMD5 or RSA, DSA, DH (Diffie Hellman), or HMAC\-MD5. These values are case insensitive.
must be one of RSAMD5 (RSA) or RSASHA1, DSA, DH (Diffie Hellman), or HMAC\-MD5. These values are case insensitive.
.sp
Note that for DNSSEC, DSA is a mandatory to implement algorithm, and RSA is recommended. For TSIG, HMAC\-MD5 is mandatory.
.TP 3n
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended. For TSIG, HMAC\-MD5 is mandatory.
.sp
Note 2: HMAC\-MD5 and DH automatically set the \-k flag.
.TP
\-b \fIkeysize\fR
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC\-MD5 keys must be between 1 and 512 bits.
.TP 3n
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC\-MD5 keys must be between 1 and 512 bits.
.TP
\-n \fInametype\fR
Specifies the owner type of the key. The value of
\fBnametype\fR
must either be ZONE (for a DNSSEC zone key), HOST or ENTITY (for a key associated with a host), or USER (for a key associated with a user). These values are case insensitive.
.TP 3n
must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). These values are case insensitive.
.TP
\-c \fIclass\fR
Indicates that the DNS record containing the key should have the specified class. If not specified, class IN is used.
.TP 3n
.TP
\-e
If generating an RSA key, use a large exponent.
.TP 3n
If generating an RSAMD5/RSASHA1 key, use a large exponent.
.TP
\-f \fIflag\fR
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flag is KSK (Key Signing Key) DNSKEY.
.TP
\-g \fIgenerator\fR
If generating a Diffie Hellman key, use this generator. Allowed values are 2 and 5. If no generator is specified, a known prime from RFC 2539 will be used if possible; otherwise the default is 2.
.TP 3n
.TP
\-h
Prints a short summary of the options and arguments to
\fBdnssec\-keygen\fR.
.TP 3n
.TP
\-k
Generate KEY records rather than DNSKEY records.
.TP
\-p \fIprotocol\fR
Sets the protocol value for the generated key. The protocol is a number between 0 and 255. The default is 2 (email) for keys of type USER and 3 (DNSSEC) for all other key types. Other possible values for this argument are listed in RFC 2535 and its successors.
.TP 3n
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.
.TP
\-r \fIrandomdev\fR
Specifies the source of randomness. If the operating system does not provide a
\fI/dev/random\fR
@@ -79,15 +84,15 @@ or equivalent device, the default source of randomness is keyboard input.
specifies the name of a character device or file containing random data to be used instead of the default. The special value
\fIkeyboard\fR
indicates that keyboard input should be used.
.TP 3n
.TP
\-s \fIstrength\fR
Specifies the strength value of the key. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC.
.TP 3n
.TP
\-t \fItype\fR
Indicates the use of the key.
\fBtype\fR
must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data.
.TP 3n
.TP
\-v \fIlevel\fR
Sets the debugging level.
.SH "GENERATED KEYS"
@@ -96,22 +101,19 @@ When
\fBdnssec\-keygen\fR
completes successfully, it prints a string of the form
\fIKnnnn.+aaa+iiiii\fR
to the standard output. This is an identification string for the key it has generated. These strings can be used as arguments to
\fBdnssec\-makekeyset\fR.
.TP 3n
to the standard output. This is an identification string for the key it has generated.
.TP 3
\(bu
\fInnnn\fR
is the key name.
.TP 3n
.TP
\(bu
\fIaaa\fR
is the numeric representation of the algorithm.
.TP 3n
.TP
\(bu
\fIiiiii\fR
is the key identifier (or footprint).
.sp
.RE
.PP
\fBdnssec\-keygen\fR
creates two file, with names based on the printed string.
@@ -152,8 +154,6 @@ and
\fIKexample.com.+003+26160.private\fR
.SH "SEE ALSO"
.PP
\fBdnssec\-makekeyset\fR(8),
\fBdnssec\-signkey\fR(8),
\fBdnssec\-signzone\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2535,
@@ -162,5 +162,3 @@ RFC 2539.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,6 +1,6 @@
/*
* Portions Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000, 2001 Internet Software Consortium.
* Portions Copyright (C) 2000-2003 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -16,7 +16,7 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-keygen.c,v 1.48.2.2 2004/03/09 06:09:14 marka Exp $ */
/* $Id: dnssec-keygen.c,v 1.48.2.1.10.11 2004/06/11 01:17:34 marka Exp $ */
#include <config.h>
@@ -47,6 +47,8 @@
const char *program = "dnssec-keygen";
int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 | HMAC-MD5";
static isc_boolean_t
dsa_size_ok(int size) {
return (ISC_TF(size >= 512 && size <= 1024 && size % 64 == 0));
@@ -57,28 +59,33 @@ usage(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, " %s -a alg -b bits -n type [options] name\n\n",
program);
fprintf(stderr, "Version: %s\n", VERSION);
fprintf(stderr, "Required options:\n");
fprintf(stderr, " -a algorithm: RSA | RSAMD5 | DH | DSA | HMAC-MD5"
"\n");
fprintf(stderr, " -a algorithm: %s\n", algs);
fprintf(stderr, " -b key size, in bits:\n");
fprintf(stderr, " RSA:\t\t[512..%d]\n", MAX_RSA);
fprintf(stderr, " RSAMD5:\t\t[512..%d]\n", MAX_RSA);
fprintf(stderr, " RSASHA1:\t\t[512..%d]\n", MAX_RSA);
fprintf(stderr, " DH:\t\t[128..4096]\n");
fprintf(stderr, " DSA:\t\t[512..1024] and divisible by 64\n");
fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER\n");
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | OTHER\n");
fprintf(stderr, " name: owner of the key\n");
fprintf(stderr, "Other options:\n");
fprintf(stderr, " -c class (default: IN)\n");
fprintf(stderr, " -e use large exponent (RSA only)\n");
fprintf(stderr, " -g use specified generator (DH only)\n");
fprintf(stderr, " -t type: AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF "
"(default: AUTHCONF)\n");
fprintf(stderr, " -p protocol value "
"(default: 2 [email] for USER, 3 [dnssec] otherwise)\n");
fprintf(stderr, " -s strength value this key signs DNS records "
"with (default: 0)\n");
fprintf(stderr, " -r randomdev (a file containing random data)\n");
fprintf(stderr, " -v verbose level\n");
fprintf(stderr, " -c <class> (default: IN)\n");
fprintf(stderr, " -e use large exponent (RSAMD5/RSASHA1 only)\n");
fprintf(stderr, " -f keyflag: KSK\n");
fprintf(stderr, " -g <generator> use specified generator "
"(DH only)\n");
fprintf(stderr, " -t <type>: "
"AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF "
"(default: AUTHCONF)\n");
fprintf(stderr, " -p <protocol>: "
"default: 3 [dnssec]\n");
fprintf(stderr, " -s <strength> strength value this key signs DNS "
"records with (default: 0)\n");
fprintf(stderr, " -r <randomdev>: a file containing random data\n");
fprintf(stderr, " -v <verbose level>\n");
fprintf(stderr, " -k : generate a TYPE=KEY key\n");
fprintf(stderr, "Output:\n");
fprintf(stderr, " K<name>+<alg>+<id>.key, "
"K<name>+<alg>+<id>.private\n");
@@ -90,12 +97,11 @@ int
main(int argc, char **argv) {
char *algname = NULL, *nametype = NULL, *type = NULL;
char *classname = NULL;
char *randomfile = NULL;
char *prog, *endp;
char *endp;
dst_key_t *key = NULL, *oldkey;
dns_fixedname_t fname;
dns_name_t *name;
isc_uint16_t flags = 0;
isc_uint16_t flags = 0, ksk = 0;
dns_secalg_t alg;
isc_boolean_t conflict = ISC_FALSE, null_key = ISC_FALSE;
isc_mem_t *mctx = NULL;
@@ -108,23 +114,17 @@ main(int argc, char **argv) {
isc_log_t *log = NULL;
isc_entropy_t *ectx = NULL;
dns_rdataclass_t rdclass;
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
if ((prog = strrchr(argv[0],'/')) == NULL)
prog = isc_mem_strdup(mctx, argv[0]);
else
prog = isc_mem_strdup(mctx, ++prog);
if (prog == NULL)
fatal("out of memory");
int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC;
if (argc == 1)
usage();
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
dns_result_register();
while ((ch = isc_commandline_parse(argc, argv,
"a:b:c:eg:n:t:p:s:hr:v:")) != -1)
"a:b:c:ef:g:kn:t:p:s:r:v:h")) != -1)
{
switch (ch) {
case 'a':
@@ -141,21 +141,27 @@ main(int argc, char **argv) {
case 'e':
rsa_exp = 1;
break;
case 'f':
if (strcasecmp(isc_commandline_argument, "KSK") == 0)
ksk = DNS_KEYFLAG_KSK;
else
fatal("unknown flag '%s'",
isc_commandline_argument);
break;
case 'g':
generator = strtol(isc_commandline_argument,
&endp, 10);
if (*endp != '\0' || generator <= 0)
fatal("-g requires a positive number");
break;
case 'k':
options |= DST_TYPE_KEY;
break;
case 'n':
nametype = isc_commandline_argument;
if (nametype == NULL)
fatal("out of memory");
break;
case 't':
type = isc_commandline_argument;
if (type == NULL)
fatal("out of memory");
break;
case 'p':
protocol = strtol(isc_commandline_argument, &endp, 10);
@@ -171,7 +177,7 @@ main(int argc, char **argv) {
"[0..15]");
break;
case 'r':
randomfile = isc_commandline_argument;
setup_entropy(mctx, isc_commandline_argument, &ectx);
break;
case 'v':
endp = NULL;
@@ -189,7 +195,8 @@ main(int argc, char **argv) {
}
}
setup_entropy(mctx, randomfile, &ectx);
if (ectx == NULL)
setup_entropy(mctx, NULL, &ectx);
ret = dst_lib_init(mctx, ectx,
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
if (ret != ISC_R_SUCCESS)
@@ -204,19 +211,20 @@ main(int argc, char **argv) {
if (algname == NULL)
fatal("no algorithm was specified");
if (strcasecmp(algname, "RSA") == 0)
alg = DNS_KEYALG_RSA;
else if (strcasecmp(algname, "HMAC-MD5") == 0)
if (strcasecmp(algname, "HMAC-MD5") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACMD5;
else {
} else {
r.base = algname;
r.length = strlen(algname);
ret = dns_secalg_fromtext(&alg, &r);
if (ret != ISC_R_SUCCESS)
fatal("unknown algorithm %s", algname);
if (alg == DST_ALG_DH)
options |= DST_TYPE_KEY;
}
if (type != NULL) {
if (type != NULL && (options & DST_TYPE_KEY) != 0) {
if (strcasecmp(type, "NOAUTH") == 0)
flags |= DNS_KEYTYPE_NOAUTH;
else if (strcasecmp(type, "NOCONF") == 0)
@@ -236,7 +244,8 @@ main(int argc, char **argv) {
fatal("key size not specified (-b option)");
switch (alg) {
case DNS_KEYALG_RSA:
case DNS_KEYALG_RSAMD5:
case DNS_KEYALG_RSASHA1:
if (size != 0 && (size < 512 || size > MAX_RSA))
fatal("RSA key size %d out of range", size);
break;
@@ -246,7 +255,7 @@ main(int argc, char **argv) {
break;
case DNS_KEYALG_DSA:
if (size != 0 && !dsa_size_ok(size))
fatal("Invalid DSS key size: %d", size);
fatal("invalid DSS key size: %d", size);
break;
case DST_ALG_HMACMD5:
if (size < 1 || size > 512)
@@ -254,49 +263,53 @@ main(int argc, char **argv) {
break;
}
if (alg != DNS_KEYALG_RSA && rsa_exp != 0)
fatal("specified RSA exponent without RSA");
if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1) &&
rsa_exp != 0)
fatal("specified RSA exponent for a non-RSA key");
if (alg != DNS_KEYALG_DH && generator != 0)
fatal("specified DH generator without DH");
fatal("specified DH generator for a non-DH key");
if (nametype == NULL)
fatal("no nametype specified");
if (strcasecmp(nametype, "zone") == 0)
flags |= DNS_KEYOWNER_ZONE;
else if (strcasecmp(nametype, "host") == 0 ||
strcasecmp(nametype, "entity") == 0)
flags |= DNS_KEYOWNER_ENTITY;
else if (strcasecmp(nametype, "user") == 0)
flags |= DNS_KEYOWNER_USER;
else
fatal("invalid nametype %s", nametype);
if (classname != NULL) {
r.base = classname;
r.length = strlen(classname);
ret = dns_rdataclass_fromtext(&rdclass, &r);
if (ret != ISC_R_SUCCESS)
fatal("unknown class %s",classname);
} else
rdclass = dns_rdataclass_in;
flags |= signatory;
if (protocol == -1) {
if ((flags & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_USER)
protocol = DNS_KEYPROTO_EMAIL;
else if ((options & DST_TYPE_KEY) != 0) { /* KEY */
if (strcasecmp(nametype, "host") == 0 ||
strcasecmp(nametype, "entity") == 0)
flags |= DNS_KEYOWNER_ENTITY;
else if (strcasecmp(nametype, "user") == 0)
flags |= DNS_KEYOWNER_USER;
else
protocol = DNS_KEYPROTO_DNSSEC;
}
fatal("invalid KEY nametype %s", nametype);
} else if (strcasecmp(nametype, "other") != 0) /* DNSKEY */
fatal("invalid DNSKEY nametype %s", nametype);
rdclass = strtoclass(classname);
if ((options & DST_TYPE_KEY) != 0) /* KEY */
flags |= signatory;
else if ((flags & DNS_KEYOWNER_ZONE) != 0) /* DNSKEY */
flags |= ksk;
if (protocol == -1)
protocol = DNS_KEYPROTO_DNSSEC;
else if ((options & DST_TYPE_KEY) == 0 &&
protocol != DNS_KEYPROTO_DNSSEC)
fatal("invalid DNSKEY protocol: %d", protocol);
if ((flags & DNS_KEYFLAG_TYPEMASK) == DNS_KEYTYPE_NOKEY) {
if (size > 0)
fatal("Specified null key with non-zero size");
fatal("specified null key with non-zero size");
if ((flags & DNS_KEYFLAG_SIGNATORYMASK) != 0)
fatal("Specified null key with signing authority");
fatal("specified null key with signing authority");
}
if ((flags & DNS_KEYFLAG_OWNERMASK) == DNS_KEYOWNER_ZONE &&
(alg == DNS_KEYALG_DH || alg == DST_ALG_HMACMD5))
fatal("a key with algorithm '%s' cannot be a zone key",
algname);
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&buf, argv[isc_commandline_index],
@@ -304,11 +317,12 @@ main(int argc, char **argv) {
isc_buffer_add(&buf, strlen(argv[isc_commandline_index]));
ret = dns_name_fromtext(name, &buf, dns_rootname, ISC_FALSE, NULL);
if (ret != ISC_R_SUCCESS)
fatal("Invalid key name %s: %s", argv[isc_commandline_index],
fatal("invalid key name %s: %s", argv[isc_commandline_index],
isc_result_totext(ret));
switch(alg) {
case DNS_KEYALG_RSA:
case DNS_KEYALG_RSAMD5:
case DNS_KEYALG_RSASHA1:
param = rsa_exp;
break;
case DNS_KEYALG_DH:
@@ -337,8 +351,8 @@ main(int argc, char **argv) {
if (ret != ISC_R_SUCCESS) {
char namestr[DNS_NAME_FORMATSIZE];
char algstr[ALG_FORMATSIZE];
dns_name_format(name, namestr, sizeof namestr);
alg_format(alg, algstr, sizeof algstr);
dns_name_format(name, namestr, sizeof(namestr));
alg_format(alg, algstr, sizeof(algstr));
fatal("failed to generate key %s/%s: %s\n",
namestr, algstr, isc_result_totext(ret));
exit(-1);
@@ -377,10 +391,10 @@ main(int argc, char **argv) {
fatal("cannot generate a null key when a key with id 0 "
"already exists");
ret = dst_key_tofile(key, DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, NULL);
ret = dst_key_tofile(key, options, NULL);
if (ret != ISC_R_SUCCESS) {
char keystr[KEY_FORMATSIZE];
key_format(key, keystr, sizeof keystr);
key_format(key, keystr, sizeof(keystr));
fatal("failed to write key %s: %s\n", keystr,
isc_result_totext(ret));
}
@@ -388,7 +402,6 @@ main(int argc, char **argv) {
isc_buffer_clear(&buf);
ret = dst_key_buildfilename(key, 0, NULL, &buf);
printf("%s\n", filename);
isc_mem_free(mctx, prog);
dst_key_free(&key);
cleanup_logging(&log);

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.docbook,v 1.3.2.4 2005/05/12 21:35:07 sra Exp $ -->
<!-- $Id: dnssec-keygen.docbook,v 1.3.12.9 2005/08/30 01:41:41 marka Exp $ -->
<refentry>
<refentryinfo>
@@ -40,6 +40,8 @@
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
@@ -57,8 +59,10 @@
<arg choice="req">-n <replaceable class="parameter">nametype</replaceable></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-e</option></arg>
<arg><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
<arg><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
<arg><option>-h</option></arg>
<arg><option>-k</option></arg>
<arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">strength</replaceable></option></arg>
@@ -72,7 +76,7 @@
<title>DESCRIPTION</title>
<para>
<command>dnssec-keygen</command> generates keys for DNSSEC
(Secure DNS), as defined in RFC 2535. It can also generate
(Secure DNS), as defined in RFC 2535 and RFC &lt;TBA\&gt;. It can also generate
keys for use with TSIG (Transaction Signatures), as
defined in RFC 2845.
</para>
@@ -87,13 +91,16 @@
<listitem>
<para>
Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5 or RSA,
<option>algorithm</option> must be one of RSAMD5 (RSA) or RSASHA1,
DSA, DH (Diffie Hellman), or HMAC-MD5. These values
are case insensitive.
</para>
<para>
Note that for DNSSEC, DSA is a mandatory to implement algorithm,
and RSA is recommended. For TSIG, HMAC-MD5 is mandatory.
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm,
and DSA is recommended. For TSIG, HMAC-MD5 is mandatory.
</para>
<para>
Note 2: HMAC-MD5 and DH automatically set the -k flag.
</para>
</listitem>
</varlistentry>
@@ -103,7 +110,7 @@
<listitem>
<para>
Specifies the number of bits in the key. The choice of key
size depends on the algorithm used. RSA keys must be between
size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be between
512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC-MD5 keys must be
@@ -118,8 +125,8 @@
<para>
Specifies the owner type of the key. The value of
<option>nametype</option> must either be ZONE (for a DNSSEC
zone key), HOST or ENTITY (for a key associated with a host),
or USER (for a key associated with a user). These values are
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)),
USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). These values are
case insensitive.
</para>
</listitem>
@@ -139,7 +146,17 @@
<term>-e</term>
<listitem>
<para>
If generating an RSA key, use a large exponent.
If generating an RSAMD5/RSASHA1 key, use a large exponent.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable class="parameter">flag</replaceable></term>
<listitem>
<para>
Set the specified flag in the flag field of the KEY/DNSKEY record.
The only recognized flag is KSK (Key Signing Key) DNSKEY.
</para>
</listitem>
</varlistentry>
@@ -166,13 +183,21 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-k</term>
<listitem>
<para>
Generate KEY records rather than DNSKEY records.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable class="parameter">protocol</replaceable></term>
<listitem>
<para>
Sets the protocol value for the generated key. The protocol
is a number between 0 and 255. The default is 2 (email) for
keys of type USER and 3 (DNSSEC) for all other key types.
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.
</para>
@@ -236,8 +261,7 @@
When <command>dnssec-keygen</command> completes successfully,
it prints a string of the form <filename>Knnnn.+aaa+iiiii</filename>
to the standard output. This is an identification string for
the key it has generated. These strings can be used as arguments
to <command>dnssec-makekeyset</command>.
the key it has generated.
</para>
<itemizedlist>
<listitem>
@@ -307,14 +331,6 @@
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dnssec-makekeyset</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-signkey</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-signzone</refentrytitle>
<manvolnum>8</manvolnum>

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -14,52 +14,55 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.html,v 1.5.2.12 2006/06/29 13:02:05 marka Exp $ -->
<!-- $Id: dnssec-keygen.html,v 1.5.2.1.4.13 2005/10/13 02:33:45 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-keygen</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">dnssec-keygen</span> &#8212; DNSSEC key generation tool</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-p <em class="replaceable"><code>protocol</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>] {name}</p></div>
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</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>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549501"></a><h2>DESCRIPTION</h2>
<a name="id2525956"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">dnssec-keygen</strong></span> generates keys for DNSSEC
(Secure DNS), as defined in RFC 2535. It can also generate
(Secure DNS), as defined in RFC 2535 and RFC &lt;TBA\&gt;. It can also generate
keys for use with TSIG (Transaction Signatures), as
defined in RFC 2845.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549514"></a><h2>OPTIONS</h2>
<a name="id2525969"></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 or RSA,
<code class="option">algorithm</code> must be one of RSAMD5 (RSA) or RSASHA1,
DSA, DH (Diffie Hellman), or HMAC-MD5. These values
are case insensitive.
</p>
<p>
Note that for DNSSEC, DSA is a mandatory to implement algorithm,
and RSA is recommended. For TSIG, HMAC-MD5 is mandatory.
Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm,
and DSA is recommended. For TSIG, HMAC-MD5 is mandatory.
</p>
<p>
Note 2: HMAC-MD5 and DH automatically set the -k flag.
</p>
</dd>
<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
<dd><p>
Specifies the number of bits in the key. The choice of key
size depends on the algorithm used. RSA keys must be between
size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be between
512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC-MD5 keys must be
@@ -69,8 +72,8 @@
<dd><p>
Specifies the owner type of the key. The value of
<code class="option">nametype</code> must either be ZONE (for a DNSSEC
zone key), HOST or ENTITY (for a key associated with a host),
or USER (for a key associated with a user). These values are
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)),
USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). These values are
case insensitive.
</p></dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
@@ -80,7 +83,12 @@
</p></dd>
<dt><span class="term">-e</span></dt>
<dd><p>
If generating an RSA key, use a large exponent.
If generating an RSAMD5/RSASHA1 key, use a large exponent.
</p></dd>
<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
<dd><p>
Set the specified flag in the flag field of the KEY/DNSKEY record.
The only recognized flag is KSK (Key Signing Key) DNSKEY.
</p></dd>
<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt>
<dd><p>
@@ -94,11 +102,14 @@
Prints a short summary of the options and arguments to
<span><strong class="command">dnssec-keygen</strong></span>.
</p></dd>
<dt><span class="term">-k</span></dt>
<dd><p>
Generate KEY records rather than DNSKEY records.
</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
is a number between 0 and 255. The default is 2 (email) for
keys of type USER and 3 (DNSSEC) for all other key types.
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.
</p></dd>
@@ -133,13 +144,12 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549886"></a><h2>GENERATED KEYS</h2>
<a name="id2526306"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes successfully,
it prints a string of the form <code class="filename">Knnnn.+aaa+iiiii</code>
to the standard output. This is an identification string for
the key it has generated. These strings can be used as arguments
to <span><strong class="command">dnssec-makekeyset</strong></span>.
the key it has generated.
</p>
<div class="itemizedlist"><ul type="disc">
<li><p>
@@ -177,7 +187,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549978"></a><h2>EXAMPLE</h2>
<a name="id2526394"></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
@@ -199,10 +209,8 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550024"></a><h2>SEE ALSO</h2>
<a name="id2526440"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dnssec-makekeyset</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signkey</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>,
@@ -211,7 +219,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550076"></a><h2>AUTHOR</h2>
<a name="id2526473"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>

View File

@@ -1,120 +0,0 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 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.
.\"
.\" $Id: dnssec-makekeyset.8,v 1.16.2.8 2006/06/29 13:02:05 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-makekeyset
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.TH "DNSSEC\-MAKEKEYSET" "8" "June 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
dnssec\-makekeyset \- DNSSEC zone signing tool
.SH "SYNOPSIS"
.HP 18
\fBdnssec\-makekeyset\fR [\fB\-a\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-h\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-t\fR\fIttl\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {key...}
.SH "DESCRIPTION"
.PP
\fBdnssec\-makekeyset\fR
generates a key set from one or more keys created by
\fBdnssec\-keygen\fR. It creates a file containing a KEY record for each key, and self\-signs the key set with each zone key. The output file is of the form
\fIkeyset\-nnnn.\fR, where
\fInnnn\fR
is the zone name.
.SH "OPTIONS"
.TP 3n
\-a
Verify all generated signatures.
.TP 3n
\-s \fIstart\-time\fR
Specify the date and time when the generated SIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no
\fBstart\-time\fR
is specified, the current time is used.
.TP 3n
\-e \fIend\-time\fR
Specify the date and time when the generated SIG records expire. 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
\fBend\-time\fR
is specified, 30 days from the start time is used as a default.
.TP 3n
\-h
Prints a short summary of the options and arguments to
\fBdnssec\-makekeyset\fR.
.TP 3n
\-p
Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited.
.TP 3n
\-r \fIrandomdev\fR
Specifies the source of randomness. If the operating system does not provide a
\fI/dev/random\fR
or equivalent device, the default source of randomness is keyboard input.
\fIrandomdev\fR
specifies the name of a character device or file containing random data to be used instead of the default. The special value
\fIkeyboard\fR
indicates that keyboard input should be used.
.TP 3n
\-t \fIttl\fR
Specify the TTL (time to live) of the KEY and SIG records. The default is 3600 seconds.
.TP 3n
\-v \fIlevel\fR
Sets the debugging level.
.TP 3n
key
The list of keys to be included in the keyset file. These keys are expressed in the form
\fIKnnnn.+aaa+iiiii\fR
as generated by
\fBdnssec\-keygen\fR.
.SH "EXAMPLE"
.PP
The following command generates a keyset containing the DSA key for
\fBexample.com\fR
generated in the
\fBdnssec\-keygen\fR
man page.
.PP
\fBdnssec\-makekeyset \-t 86400 \-s 20000701120000 \-e +2592000 Kexample.com.+003+26160\fR
.PP
In this example,
\fBdnssec\-makekeyset\fR
creates the file
\fIkeyset\-example.com.\fR. This file contains the specified key and a self\-generated signature.
.PP
The DNS administrator for
\fBexample.com\fR
could send
\fIkeyset\-example.com.\fR
to the DNS administrator for
\fB.com\fR
for signing, if the .com zone is DNSSEC\-aware and the administrators of the two zones have some mechanism for authenticating each other and exchanging the keys and signatures securely.
.SH "SEE ALSO"
.PP
\fBdnssec\-keygen\fR(8),
\fBdnssec\-signkey\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2535.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,473 +0,0 @@
/*
* Portions Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000, 2001 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 ISC AND NETWORK ASSOCIATES 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: dnssec-makekeyset.c,v 1.52.2.4 2005/06/08 00:12:17 marka Exp $ */
#include <config.h>
#include <stdlib.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/hash.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 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-a\n");
fprintf(stderr, "\t\tverify generated signatures\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-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, "\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");
fprintf(stderr, "\n");
fprintf(stderr, "Output:\n");
fprintf(stderr, "\tkeyset (keyset-<name>)\n");
exit(0);
}
static isc_boolean_t
zonekey_on_list(dst_key_t *key) {
keynode_t *keynode;
for (keynode = ISC_LIST_HEAD(keylist);
keynode != NULL;
keynode = ISC_LIST_NEXT(keynode, link))
{
if (dst_key_compare(keynode->key, key))
return (ISC_TRUE);
}
return (ISC_FALSE);
}
static isc_boolean_t
rdata_on_list(dns_rdata_t *rdata, dns_rdatalist_t *list) {
dns_rdata_t *trdata;
for (trdata = ISC_LIST_HEAD(list->rdata);
trdata != NULL;
trdata = ISC_LIST_NEXT(trdata, link))
{
if (dns_rdata_compare(trdata, rdata) == 0)
return (ISC_TRUE);
}
return (ISC_FALSE);
}
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;
unsigned int eflags;
isc_boolean_t pseudorandom = ISC_FALSE;
isc_boolean_t tryverify = ISC_FALSE;
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, "as:e:t:r:v:ph")) != -1)
{
switch (ch) {
case 'a':
tryverify = ISC_TRUE;
break;
case 's':
startstr = isc_commandline_argument;
break;
case 'e':
endstr = isc_commandline_argument;
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_commandline_argument;
break;
case 'v':
endp = NULL;
verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0')
fatal("verbose level must be numeric");
break;
case 'p':
pseudorandom = ISC_TRUE;
break;
case 'h':
default:
usage();
}
}
argc -= isc_commandline_index;
argv += isc_commandline_index;
if (argc < 1)
usage();
setup_entropy(mctx, randomfile, &ectx);
eflags = ISC_ENTROPY_BLOCKING;
if (!pseudorandom)
eflags |= ISC_ENTROPY_GOODONLY;
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
if (result != ISC_R_SUCCESS)
fatal("could not create hash context");
result = dst_lib_init(mctx, ectx, eflags);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst: %s",
isc_result_totext(result));
isc_stdtime_get(&now);
if (startstr != NULL)
starttime = strtotime(startstr, now, now);
else
starttime = now;
if (endstr != NULL)
endtime = strtotime(endstr, now, starttime);
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 = 0;
rdatalist.type = dns_rdatatype_key;
rdatalist.covers = 0;
rdatalist.ttl = ttl;
ISC_LIST_INIT(keylist);
for (i = 0; i < argc; i++) {
char namestr[DNS_NAME_FORMATSIZE];
isc_buffer_t namebuf;
key = NULL;
result = dst_key_fromnamedfile(argv[i], DST_TYPE_PUBLIC,
mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("error loading key from %s: %s", argv[i],
isc_result_totext(result));
if (rdatalist.rdclass == 0)
rdatalist.rdclass = dst_key_class(key);
isc_buffer_init(&namebuf, namestr, sizeof namestr);
result = dns_name_tofilenametext(dst_key_name(key),
ISC_FALSE,
&namebuf);
check_result(result, "dns_name_tofilenametext");
isc_buffer_putuint8(&namebuf, 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 {
char savednamestr[DNS_NAME_FORMATSIZE];
dns_name_format(savedname, savednamestr,
sizeof savednamestr);
if (!dns_name_equal(savedname, dst_key_name(key)) != 0)
fatal("all keys must have the same owner - %s "
"and %s do not match",
savednamestr, namestr);
}
if (output == NULL) {
output = isc_mem_allocate(mctx,
strlen("keyset-") +
strlen(namestr) + 1);
if (output == NULL)
fatal("out of memory");
strcpy(output, "keyset-");
strcat(output, namestr);
}
if (domain == NULL) {
dns_fixedname_init(&fdomain);
domain = dns_fixedname_name(&fdomain);
dns_name_copy(dst_key_name(key), domain, NULL);
}
if (dst_key_iszonekey(key)) {
dst_key_t *zonekey = NULL;
result = dst_key_fromnamedfile(argv[i],
DST_TYPE_PUBLIC |
DST_TYPE_PRIVATE,
mctx, &zonekey);
if (result != ISC_R_SUCCESS)
fatal("failed to read private key %s: %s",
argv[i], isc_result_totext(result));
if (!zonekey_on_list(zonekey)) {
keynode = isc_mem_get(mctx,
sizeof (keynode_t));
if (keynode == NULL)
fatal("out of memory");
keynode->key = zonekey;
ISC_LIST_INITANDAPPEND(keylist, keynode, link);
} else
dst_key_free(&zonekey);
}
rdata = isc_mem_get(mctx, sizeof(dns_rdata_t));
if (rdata == NULL)
fatal("out of memory");
dns_rdata_init(rdata);
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, rdatalist.rdclass,
dns_rdatatype_key, &r);
if (!rdata_on_list(rdata, &rdatalist))
ISC_LIST_APPEND(rdatalist.rdata, rdata, link);
else {
isc_mem_put(mctx, data, BUFSIZE);
isc_mem_put(mctx, rdata, sizeof *rdata);
}
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 = rdatalist.rdclass;
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");
dns_rdata_init(rdata);
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) {
char keystr[KEY_FORMATSIZE];
key_format(keynode->key, keystr, sizeof keystr);
fatal("failed to sign keyset with key %s: %s",
keystr, isc_result_totext(result));
}
if (tryverify) {
result = dns_dnssec_verify(domain, &rdataset,
keynode->key, ISC_TRUE,
mctx, rdata);
if (result != ISC_R_SUCCESS) {
char keystr[KEY_FORMATSIZE];
key_format(keynode->key, keystr, sizeof keystr);
fatal("signature from key '%s' failed to "
"verify: %s",
keystr, 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", dns_rootname, dns_dbtype_zone,
rdataset.rdclass, 0, NULL, &db);
if (result != ISC_R_SUCCESS) {
char domainstr[DNS_NAME_FORMATSIZE];
dns_name_format(domain, domainstr, sizeof domainstr);
fatal("failed to create a database for %s", domainstr);
}
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) {
char domainstr[DNS_NAME_FORMATSIZE];
dns_name_format(domain, domainstr, sizeof domainstr);
fatal("failed to write database for %s to %s",
domainstr, output);
}
printf("%s\n", 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));
}
cleanup_logging(&log);
isc_hash_destroy();
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,249 +0,0 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 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.
-->
<!-- $Id: dnssec-makekeyset.docbook,v 1.2.2.7 2005/05/12 21:35:07 sra Exp $ -->
<refentry>
<refentryinfo>
<date>June 30, 2000</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>dnssec-makekeyset</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
<year>2004</year>
<year>2005</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>dnssec-makekeyset</application></refname>
<refpurpose>DNSSEC zone signing tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>dnssec-makekeyset</command>
<arg><option>-a</option></arg>
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
<arg><option>-e <replaceable class="parameter">end-time</replaceable></option></arg>
<arg><option>-h</option></arg>
<arg><option>-p</option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-t</option><replaceable class="parameter">ttl</replaceable></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="req" rep="repeat">key</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>dnssec-makekeyset</command> generates a key set from one
or more keys created by <command>dnssec-keygen</command>. It creates
a file containing a KEY record for each key, and self-signs the key
set with each zone key. The output file is of the form
<filename>keyset-nnnn.</filename>, where <filename>nnnn</filename>
is the zone name.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Verify all generated signatures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">start-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <option>start-time</option> is specified, the current
time is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e <replaceable class="parameter">end-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
expire. 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>end-time</option> is
specified, 30 days from the start time is used as a default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-makekeyset</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p</term>
<listitem>
<para>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
<listitem>
<para>
Specifies the source of randomness. If the operating
system does not provide a <filename>/dev/random</filename>
or equivalent device, the default source of randomness
is keyboard input. <filename>randomdev</filename> specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<filename>keyboard</filename> indicates that keyboard
input should be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">ttl</replaceable></term>
<listitem>
<para>
Specify the TTL (time to live) of the KEY and SIG records.
The default is 3600 seconds.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v <replaceable class="parameter">level</replaceable></term>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>key</term>
<listitem>
<para>
The list of keys to be included in the keyset file. These keys
are expressed in the form <filename>Knnnn.+aaa+iiiii</filename>
as generated by <command>dnssec-keygen</command>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>EXAMPLE</title>
<para>
The following command generates a keyset containing the DSA key for
<userinput>example.com</userinput> generated in the
<command>dnssec-keygen</command> man page.
</para>
<para>
<userinput>dnssec-makekeyset -t 86400 -s 20000701120000 -e +2592000 Kexample.com.+003+26160</userinput>
</para>
<para>
In this example, <command>dnssec-makekeyset</command> creates
the file <filename>keyset-example.com.</filename>. This file
contains the specified key and a self-generated signature.
</para>
<para>
The DNS administrator for <userinput>example.com</userinput> could
send <filename>keyset-example.com.</filename> to the DNS
administrator for <userinput>.com</userinput> for signing, if the
.com zone is DNSSEC-aware and the administrators of the two zones
have some mechanism for authenticating each other and exchanging
the keys and signatures securely.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dnssec-keygen</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-signkey</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 2535</citetitle>.
</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry>
<!--
- Local variables:
- mode: sgml
- End:
-->

View File

@@ -1,153 +0,0 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 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.
-->
<!-- $Id: dnssec-makekeyset.html,v 1.4.2.14 2006/06/29 13:02:06 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-makekeyset</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">dnssec-makekeyset</span> &#8212; DNSSEC zone signing tool</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-makekeyset</code> [<code class="option">-a</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-h</code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-t</code><em class="replaceable"><code>ttl</code></em>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {key...}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549465"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">dnssec-makekeyset</strong></span> generates a key set from one
or more keys created by <span><strong class="command">dnssec-keygen</strong></span>. It creates
a file containing a KEY record for each key, and self-signs the key
set with each zone key. The output file is of the form
<code class="filename">keyset-nnnn.</code>, where <code class="filename">nnnn</code>
is the zone name.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549489"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
Verify all generated signatures.
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <code class="option">start-time</code> is specified, the current
time is used.
</p></dd>
<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
expire. 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">end-time</code> is
specified, 30 days from the start time is used as a default.
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
Prints a short summary of the options and arguments to
<span><strong class="command">dnssec-makekeyset</strong></span>.
</p></dd>
<dt><span class="term">-p</span></dt>
<dd><p>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</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
system does not provide a <code class="filename">/dev/random</code>
or equivalent device, the default source of randomness
is keyboard input. <code class="filename">randomdev</code> specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
</p></dd>
<dt><span class="term">-t <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Specify the TTL (time to live) of the KEY and SIG records.
The default is 3600 seconds.
</p></dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
<dd><p>
Sets the debugging level.
</p></dd>
<dt><span class="term">key</span></dt>
<dd><p>
The list of keys to be included in the keyset file. These keys
are expressed in the form <code class="filename">Knnnn.+aaa+iiiii</code>
as generated by <span><strong class="command">dnssec-keygen</strong></span>.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549804"></a><h2>EXAMPLE</h2>
<p>
The following command generates a keyset containing the DSA key for
<strong class="userinput"><code>example.com</code></strong> generated in the
<span><strong class="command">dnssec-keygen</strong></span> man page.
</p>
<p>
<strong class="userinput"><code>dnssec-makekeyset -t 86400 -s 20000701120000 -e +2592000 Kexample.com.+003+26160</code></strong>
</p>
<p>
In this example, <span><strong class="command">dnssec-makekeyset</strong></span> creates
the file <code class="filename">keyset-example.com.</code>. This file
contains the specified key and a self-generated signature.
</p>
<p>
The DNS administrator for <strong class="userinput"><code>example.com</code></strong> could
send <code class="filename">keyset-example.com.</code> to the DNS
administrator for <strong class="userinput"><code>.com</code></strong> for signing, if the
.com zone is DNSSEC-aware and the administrators of the two zones
have some mechanism for authenticating each other and exchanging
the keys and signatures securely.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549850"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signkey</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549886"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>
</html>

View File

@@ -1,120 +0,0 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 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.
.\"
.\" $Id: dnssec-signkey.8,v 1.18.2.7 2006/06/29 13:02:05 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-signkey
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.TH "DNSSEC\-SIGNKEY" "8" "June 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
dnssec\-signkey \- DNSSEC key set signing tool
.SH "SYNOPSIS"
.HP 15
\fBdnssec\-signkey\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-h\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {keyset} {key...}
.SH "DESCRIPTION"
.PP
\fBdnssec\-signkey\fR
signs a keyset. Typically the keyset will be for a child zone, and will have been generated by
\fBdnssec\-makekeyset\fR. The child zone's keyset is signed with the zone keys for its parent zone. The output file is of the form
\fIsignedkey\-nnnn.\fR, where
\fInnnn\fR
is the zone name.
.SH "OPTIONS"
.TP 3n
\-a
Verify all generated signatures.
.TP 3n
\-c \fIclass\fR
Specifies the DNS class of the key sets.
.TP 3n
\-s \fIstart\-time\fR
Specify the date and time when the generated SIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no
\fBstart\-time\fR
is specified, the current time is used.
.TP 3n
\-e \fIend\-time\fR
Specify the date and time when the generated SIG records expire. 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
\fBend\-time\fR
is specified, 30 days from the start time is used as a default.
.TP 3n
\-h
Prints a short summary of the options and arguments to
\fBdnssec\-signkey\fR.
.TP 3n
\-p
Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited.
.TP 3n
\-r \fIrandomdev\fR
Specifies the source of randomness. If the operating system does not provide a
\fI/dev/random\fR
or equivalent device, the default source of randomness is keyboard input.
\fIrandomdev\fR
specifies the name of a character device or file containing random data to be used instead of the default. The special value
\fIkeyboard\fR
indicates that keyboard input should be used.
.TP 3n
\-v \fIlevel\fR
Sets the debugging level.
.TP 3n
keyset
The file containing the child's keyset.
.TP 3n
key
The keys used to sign the child's keyset.
.SH "EXAMPLE"
.PP
The DNS administrator for a DNSSEC\-aware
\fB.com\fR
zone would use the following command to sign the
\fIkeyset\fR
file for
\fBexample.com\fR
created by
\fBdnssec\-makekeyset\fR
with a key generated by
\fBdnssec\-keygen\fR:
.PP
\fBdnssec\-signkey keyset\-example.com. Kcom.+003+51944\fR
.PP
In this example,
\fBdnssec\-signkey\fR
creates the file
\fIsignedkey\-example.com.\fR, which contains the
\fBexample.com\fR
keys and the signatures by the
\fB.com\fR
keys.
.SH "SEE ALSO"
.PP
\fBdnssec\-keygen\fR(8),
\fBdnssec\-makekeyset\fR(8),
\fBdnssec\-signzone\fR(8).
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

View File

@@ -1,478 +0,0 @@
/*
* Portions Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000, 2001, 2003 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 ISC AND NETWORK ASSOCIATES 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: dnssec-signkey.c,v 1.50.2.6 2005/06/08 00:12:17 marka Exp $ */
#include <config.h>
#include <stdlib.h>
#include <isc/string.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/mem.h>
#include <isc/util.h>
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/dnssec.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/rdatasetiter.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 starttime = 0, endtime = 0, 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-a\n");
fprintf(stderr, "\t\tverify generated signatures\n");
fprintf(stderr, "\t-c class (IN)\n");
fprintf(stderr, "\t-s YYYYMMDDHHMMSS|+offset:\n");
fprintf(stderr, "\t\tSIG start time - absolute|offset (from keyset)\n");
fprintf(stderr, "\t-e YYYYMMDDHHMMSS|+offset|\"now\"+offset]:\n");
fprintf(stderr, "\t\tSIG end time - absolute|from start|from now "
"(from keyset)\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 with keyset to be signed (keyset-<name>)\n");
fprintf(stderr, "keys:\n");
fprintf(stderr, "\tkeyfile (Kname+alg+tag)\n");
fprintf(stderr, "\n");
fprintf(stderr, "Output:\n");
fprintf(stderr, "\tsigned keyset (signedkey-<name>)\n");
exit(0);
}
static void
loadkeys(dns_name_t *name, dns_rdataset_t *rdataset) {
dst_key_t *key;
dns_rdata_t rdata = DNS_RDATA_INIT;
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_rdata_reset(&rdata);
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_LIST_INITANDAPPEND(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 *startstr = NULL, *endstr = NULL, *classname = NULL;
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;
dns_dbiterator_t *dbiter;
dns_rdatasetiter_t *rdsiter;
dst_key_t *key = NULL;
dns_rdata_t *rdata;
dns_rdata_t sigrdata = DNS_RDATA_INIT;
dns_rdatalist_t sigrdatalist;
dns_rdataset_t rdataset, sigrdataset, newsigrdataset;
dns_rdata_sig_t sig;
isc_result_t result;
isc_buffer_t b;
isc_textregion_t tr;
isc_log_t *log = NULL;
keynode_t *keynode;
isc_boolean_t pseudorandom = ISC_FALSE;
unsigned int eflags;
dns_rdataclass_t rdclass;
static isc_boolean_t tryverify = ISC_FALSE;
result = isc_mem_create(0, 0, &mctx);
check_result(result, "isc_mem_create()");
dns_result_register();
while ((ch = isc_commandline_parse(argc, argv, "ac:s:e:pr:v:h")) != -1)
{
switch (ch) {
case 'a':
tryverify = ISC_TRUE;
break;
case 'c':
classname = isc_commandline_argument;
break;
case 's':
startstr = isc_commandline_argument;
break;
case 'e':
endstr = isc_commandline_argument;
break;
case 'p':
pseudorandom = ISC_TRUE;
break;
case 'r':
randomfile = isc_commandline_argument;
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();
if (classname != NULL) {
tr.base = classname;
tr.length = strlen(classname);
result = dns_rdataclass_fromtext(&rdclass, &tr);
if (result != ISC_R_SUCCESS)
fatal("unknown class %s",classname);
} else
rdclass = dns_rdataclass_in;
setup_entropy(mctx, randomfile, &ectx);
eflags = ISC_ENTROPY_BLOCKING;
if (!pseudorandom)
eflags |= ISC_ENTROPY_GOODONLY;
result = isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE);
if (result != ISC_R_SUCCESS)
fatal("could not create hash context");
result = dst_lib_init(mctx, ectx, eflags);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst: %s",
isc_result_totext(result));
isc_stdtime_get(&now);
if ((startstr == NULL || endstr == NULL) &&
!(startstr == NULL && endstr == NULL))
fatal("if -s or -e is specified, both must be");
setup_logging(verbose, mctx, &log);
if (strlen(argv[0]) < 8U || strncmp(argv[0], "keyset-", 7) != 0)
fatal("keyset file '%s' must start with keyset-", argv[0]);
db = NULL;
result = dns_db_create(mctx, "rbt", dns_rootname, dns_dbtype_zone,
rdclass, 0, NULL, &db);
check_result(result, "dns_db_create()");
result = dns_db_load(db, argv[0]);
if (result != ISC_R_SUCCESS && result != DNS_R_SEENINCLUDE)
fatal("failed to load database from '%s': %s", argv[0],
isc_result_totext(result));
dns_fixedname_init(&fdomain);
domain = dns_fixedname_name(&fdomain);
dbiter = NULL;
result = dns_db_createiterator(db, ISC_FALSE, &dbiter);
check_result(result, "dns_db_createiterator()");
result = dns_dbiterator_first(dbiter);
check_result(result, "dns_dbiterator_first()");
while (result == ISC_R_SUCCESS) {
node = NULL;
dns_dbiterator_current(dbiter, &node, domain);
rdsiter = NULL;
result = dns_db_allrdatasets(db, node, NULL, 0, &rdsiter);
check_result(result, "dns_db_allrdatasets()");
result = dns_rdatasetiter_first(rdsiter);
dns_rdatasetiter_destroy(&rdsiter);
if (result == ISC_R_SUCCESS)
break;
dns_db_detachnode(db, &node);
result = dns_dbiterator_next(dbiter);
}
dns_dbiterator_destroy(&dbiter);
if (result != ISC_R_SUCCESS)
fatal("failed to find data in keyset file");
isc_buffer_init(&b, tdomain, sizeof(tdomain) - 1);
result = dns_name_tofilenametext(domain, ISC_FALSE, &b);
check_result(result, "dns_name_tofilenametext()");
isc_buffer_putuint8(&b, 0);
output = isc_mem_allocate(mctx,
strlen("signedkey-") + strlen(tdomain) + 1);
if (output == NULL)
fatal("out of memory");
strcpy(output, "signedkey-");
strcat(output, tdomain);
version = NULL;
dns_db_newversion(db, &version);
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) {
char domainstr[DNS_NAME_FORMATSIZE];
dns_name_format(domain, domainstr, sizeof domainstr);
fatal("failed to find rdataset '%s KEY': %s",
domainstr, 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) {
char keystr[KEY_FORMATSIZE];
key_format(key, keystr, sizeof keystr);
fatal("signature by key '%s' did not verify: %s",
keystr, isc_result_totext(result));
}
dns_rdata_reset(&sigrdata);
dns_rdata_freestruct(&sig);
result = dns_rdataset_next(&sigrdataset);
} while (result == ISC_R_SUCCESS);
if (startstr != NULL) {
starttime = strtotime(startstr, now, now);
endtime = strtotime(endstr, now, starttime);
} else {
starttime = sig.timesigned;
endtime = sig.timeexpire;
}
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_PUBLIC |
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");
dns_rdata_init(rdata);
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,
&starttime, &endtime,
mctx, &b, rdata);
isc_entropy_stopcallbacksources(ectx);
if (result != ISC_R_SUCCESS) {
char keystr[KEY_FORMATSIZE];
key_format(key, keystr, sizeof keystr);
fatal("key '%s' failed to sign data: %s",
keystr, isc_result_totext(result));
}
if (tryverify) {
result = dns_dnssec_verify(domain, &rdataset, key,
ISC_TRUE, mctx, rdata);
if (result != ISC_R_SUCCESS) {
char keystr[KEY_FORMATSIZE];
key_format(key, keystr, sizeof keystr);
fatal("signature from key '%s' failed to "
"verify: %s",
keystr, 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));
printf("%s\n", output);
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));
}
cleanup_logging(&log);
isc_mem_free(mctx, output);
isc_hash_destroy();
cleanup_entropy(&ectx);
dst_lib_destroy();
if (verbose > 10)
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);
return (0);
}

View File

@@ -1,253 +0,0 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 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.
-->
<!-- $Id: dnssec-signkey.docbook,v 1.2.2.6 2005/05/12 21:35:08 sra Exp $ -->
<refentry>
<refentryinfo>
<date>June 30, 2000</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>dnssec-signkey</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
<year>2004</year>
<year>2005</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>dnssec-signkey</application></refname>
<refpurpose>DNSSEC key set signing tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>dnssec-signkey</command>
<arg><option>-a</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
<arg><option>-e <replaceable class="parameter">end-time</replaceable></option></arg>
<arg><option>-h</option></arg>
<arg><option>-p</option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="req">keyset</arg>
<arg choice="req" rep="repeat">key</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>dnssec-signkey</command> signs a keyset. Typically
the keyset will be for a child zone, and will have been generated
by <command>dnssec-makekeyset</command>. The child zone's keyset
is signed with the zone keys for its parent zone. The output file
is of the form <filename>signedkey-nnnn.</filename>, where
<filename>nnnn</filename> is the zone name.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Verify all generated signatures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Specifies the DNS class of the key sets.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">start-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <option>start-time</option> is specified, the current
time is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e <replaceable class="parameter">end-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
expire. 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>end-time</option> is
specified, 30 days from the start time is used as a default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-signkey</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p</term>
<listitem>
<para>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">randomdev</replaceable></term>
<listitem>
<para>
Specifies the source of randomness. If the operating
system does not provide a <filename>/dev/random</filename>
or equivalent device, the default source of randomness
is keyboard input. <filename>randomdev</filename> specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<filename>keyboard</filename> indicates that keyboard
input should be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v <replaceable class="parameter">level</replaceable></term>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>keyset</term>
<listitem>
<para>
The file containing the child's keyset.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>key</term>
<listitem>
<para>
The keys used to sign the child's keyset.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>EXAMPLE</title>
<para>
The DNS administrator for a DNSSEC-aware <userinput>.com</userinput>
zone would use the following command to sign the
<filename>keyset</filename> file for <userinput>example.com</userinput>
created by <command>dnssec-makekeyset</command> with a key generated
by <command>dnssec-keygen</command>:
</para>
<para>
<userinput>dnssec-signkey keyset-example.com. Kcom.+003+51944</userinput>
</para>
<para>
In this example, <command>dnssec-signkey</command> creates
the file <filename>signedkey-example.com.</filename>, which
contains the <userinput>example.com</userinput> keys and the
signatures by the <userinput>.com</userinput> keys.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dnssec-keygen</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-makekeyset</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-signzone</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry>
<!--
- Local variables:
- mode: sgml
- End:
-->

View File

@@ -1,148 +0,0 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 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.
-->
<!-- $Id: dnssec-signkey.html,v 1.4.2.13 2006/06/29 13:02:06 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-signkey</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">dnssec-signkey</span> &#8212; DNSSEC key set signing tool</p>
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dnssec-signkey</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-h</code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {keyset} {key...}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549470"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">dnssec-signkey</strong></span> signs a keyset. Typically
the keyset will be for a child zone, and will have been generated
by <span><strong class="command">dnssec-makekeyset</strong></span>. The child zone's keyset
is signed with the zone keys for its parent zone. The output file
is of the form <code class="filename">signedkey-nnnn.</code>, where
<code class="filename">nnnn</code> is the zone name.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549493"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
Verify all generated signatures.
</p></dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd><p>
Specifies the DNS class of the key sets.
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <code class="option">start-time</code> is specified, the current
time is used.
</p></dd>
<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
expire. 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">end-time</code> is
specified, 30 days from the start time is used as a default.
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
Prints a short summary of the options and arguments to
<span><strong class="command">dnssec-signkey</strong></span>.
</p></dd>
<dt><span class="term">-p</span></dt>
<dd><p>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</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
system does not provide a <code class="filename">/dev/random</code>
or equivalent device, the default source of randomness
is keyboard input. <code class="filename">randomdev</code> specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
</p></dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
<dd><p>
Sets the debugging level.
</p></dd>
<dt><span class="term">keyset</span></dt>
<dd><p>
The file containing the child's keyset.
</p></dd>
<dt><span class="term">key</span></dt>
<dd><p>
The keys used to sign the child's keyset.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549750"></a><h2>EXAMPLE</h2>
<p>
The DNS administrator for a DNSSEC-aware <strong class="userinput"><code>.com</code></strong>
zone would use the following command to sign the
<code class="filename">keyset</code> file for <strong class="userinput"><code>example.com</code></strong>
created by <span><strong class="command">dnssec-makekeyset</strong></span> with a key generated
by <span><strong class="command">dnssec-keygen</strong></span>:
</p>
<p>
<strong class="userinput"><code>dnssec-signkey keyset-example.com. Kcom.+003+51944</code></strong>
</p>
<p>
In this example, <span><strong class="command">dnssec-signkey</strong></span> creates
the file <code class="filename">signedkey-example.com.</code>, which
contains the <strong class="userinput"><code>example.com</code></strong> keys and the
signatures by the <strong class="userinput"><code>.com</code></strong> keys.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549802"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-makekeyset</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549841"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>
</html>

View File

@@ -1,5 +1,5 @@
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\" Copyright (C) 2000-2003 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
@@ -13,17 +13,14 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-signzone.8,v 1.23.2.9 2006/06/29 13:02:05 marka Exp $
.\" $Id: dnssec-signzone.8,v 1.23.2.1.4.10 2005/10/13 02:33:45 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-signzone
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
.\" Date: June 30, 2000
.\" Manual: BIND9
.\" Source: BIND9
.\"
.\" ** You probably do not want to edit this file directly **
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
@@ -33,54 +30,61 @@
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\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-h\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-n\ \fR\fB\fInthreads\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {zonefile} [key...]
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\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\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-n\ \fR\fB\fInthreads\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {zonefile} [key...]
.SH "DESCRIPTION"
.PP
\fBdnssec\-signzone\fR
signs a zone. It generates NXT and SIG records and produces a signed version of the zone. If there is a
\fIsignedkey\fR
file from the zone's parent, the parent's signatures will be incorporated into the generated signed zone file. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a
\fIsignedkey\fR
signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a
\fIkeyset\fR
file for each child zone.
.SH "OPTIONS"
.TP 3n
.TP
\-a
Verify all generated signatures.
.TP 3n
.TP
\-c \fIclass\fR
Specifies the DNS class of the zone.
.TP 3n
.TP
\-k \fIkey\fR
Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times.
.TP
\-l \fIdomain\fR
Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records.
.TP
\-d \fIdirectory\fR
Look for
\fIsignedkey\fR
\fIkeyset\fR
files in
\fBdirectory\fR
as the directory
.TP 3n
.TP
\-g
Generate DS records for child zones from keyset files. Existing DS records will be removed.
.TP
\-s \fIstart\-time\fR
Specify the date and time when the generated SIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no
Specify the date and time when the generated RRSIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no
\fBstart\-time\fR
is specified, the current time is used.
.TP 3n
is specified, the current time minus 1 hour (to allow for clock skew) is used.
.TP
\-e \fIend\-time\fR
Specify the date and time when the generated SIG records expire. As with
Specify the date and time when the generated RRSIG records expire. 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
\fBend\-time\fR
is specified, 30 days from the start time is used as a default.
.TP 3n
.TP
\-f \fIoutput\-file\fR
The name of the output file containing the signed zone. The default is to append
\fI.signed\fR
to the input file.
.TP 3n
.TP
\-h
Prints a short summary of the options and arguments to
\fBdnssec\-signzone\fR.
.TP 3n
.TP
\-i \fIinterval\fR
When a previously signed zone is passed as input, records may be resigned. The
\fBinterval\fR
option specifies the cycle interval as an offset from the current time (in seconds). If a SIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced.
option specifies the cycle interval as an offset from the current time (in seconds). If a RRSIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced.
.sp
The default cycle interval is one quarter of the difference between the signature end and start times. So if neither
\fBend\-time\fR
@@ -88,17 +92,17 @@ or
\fBstart\-time\fR
are specified,
\fBdnssec\-signzone\fR
generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing SIG records are due to expire in less than 7.5 days, they would be replaced.
.TP 3n
generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing RRSIG records are due to expire in less than 7.5 days, they would be replaced.
.TP
\-n \fIncpus\fR
Specifies the number of threads to use. By default, one thread is started for each detected CPU.
.TP 3n
.TP
\-o \fIorigin\fR
The zone origin. If not specified, the name of the zone file is assumed to be the origin.
.TP 3n
.TP
\-p
Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited.
.TP 3n
.TP
\-r \fIrandomdev\fR
Specifies the source of randomness. If the operating system does not provide a
\fI/dev/random\fR
@@ -107,16 +111,19 @@ or equivalent device, the default source of randomness is keyboard input.
specifies the name of a character device or file containing random data to be used instead of the default. The special value
\fIkeyboard\fR
indicates that keyboard input should be used.
.TP 3n
.TP
\-t
Print statistics at completion.
.TP 3n
.TP
\-v \fIlevel\fR
Sets the debugging level.
.TP 3n
.TP
\-z
Ignore KSK flag on key when determining what to sign.
.TP
zonefile
The file containing the zone to be signed.
.TP 3n
.TP
key
The keys used to sign the zone. If no keys are specified, the default all zone keys that have private key files in the current directory.
.SH "EXAMPLE"
@@ -126,8 +133,8 @@ The following command signs the
zone with the DSA key generated in the
\fBdnssec\-keygen\fR
man page. The zone's keys must be in the zone. If there are
\fIsignedkey\fR
files associated with this zone or any child zones, they must be in the current directory.
\fIkeyset\fR
files associated with child zones, they must be in the current directory.
\fBexample.com\fR, the following command would be issued:
.PP
\fBdnssec\-signzone \-o example.com db.example.com Kexample.com.+003+26160\fR
@@ -143,11 +150,8 @@ file.
.SH "SEE ALSO"
.PP
\fBdnssec\-keygen\fR(8),
\fBdnssec\-signkey\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2535.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005 Internet Systems Consortium, Inc. ("ISC")

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.docbook,v 1.2.2.8 2005/06/24 00:18:41 marka Exp $ -->
<!-- $Id: dnssec-signzone.docbook,v 1.2.2.2.4.11 2005/06/24 00:18:15 marka Exp $ -->
<refentry>
<refentryinfo>
@@ -40,6 +40,7 @@
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
@@ -56,17 +57,21 @@
<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>-s <replaceable class="parameter">start-time</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>
<arg><option>-g</option></arg>
<arg><option>-h</option></arg>
<arg><option>-k <replaceable class="parameter">key</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>-n <replaceable class="parameter">nthreads</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">origin</replaceable></option></arg>
<arg><option>-p</option></arg>
<arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">start-time</replaceable></option></arg>
<arg><option>-t</option></arg>
<arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg><option>-z</option></arg>
<arg choice="req">zonefile</arg>
<arg rep="repeat">key</arg>
</cmdsynopsis>
@@ -75,14 +80,12 @@
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>dnssec-signzone</command> signs a zone. It generates NXT
and SIG records and produces a signed version of the zone. If there
is a <filename>signedkey</filename> file from the zone's parent,
the parent's signatures will be incorporated into the generated
signed zone file. The security status of delegations from the
signed zone (that is, whether the child zones are secure or not) is
determined by the presence or absence of a
<filename>signedkey</filename> file for each child zone.
<command>dnssec-signzone</command> signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
zone. The security status of delegations from the signed zone
(that is, whether the child zones are secure or not) is
determined by the presence or absence of a
<filename>keyset</filename> file for each child zone.
</para>
</refsect1>
@@ -108,28 +111,58 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">key</replaceable></term>
<listitem>
<para>
Treat specified key as a key signing key ignoring any
key flags. This option may be specified multiple times.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-l <replaceable class="parameter">domain</replaceable></term>
<listitem>
<para>
Generate a DLV set in addition to the key (DNSKEY) and DS sets.
The domain is appended to the name of the records.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Look for <filename>signedkey</filename> files in
Look for <filename>keyset</filename> files in
<option>directory</option> as the directory
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-g</term>
<listitem>
<para>
Generate DS records for child zones from keyset files.
Existing DS records will be removed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">start-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
Specify the date and time when the generated RRSIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <option>start-time</option> is specified, the current
time is used.
time minus 1 hour (to allow for clock skew) is used.
</para>
</listitem>
</varlistentry>
@@ -138,7 +171,7 @@
<term>-e <replaceable class="parameter">end-time</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records
Specify the date and time when the generated RRSIG records
expire. 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
@@ -177,7 +210,7 @@
When a previously signed zone is passed as input, records
may be resigned. The <option>interval</option> option
specifies the cycle interval as an offset from the current
time (in seconds). If a SIG record expires after the
time (in seconds). If a RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</para>
@@ -187,7 +220,7 @@
<option>end-time</option> or <option>start-time</option>
are specified, <command>dnssec-signzone</command> generates
signatures that are valid for 30 days, with a cycle
interval of 7.5 days. Therefore, if any existing SIG records
interval of 7.5 days. Therefore, if any existing RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</para>
@@ -260,6 +293,15 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Ignore KSK flag on key when determining what to sign.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonefile</term>
<listitem>
@@ -289,8 +331,8 @@
The following command signs the <userinput>example.com</userinput>
zone with the DSA key generated in the <command>dnssec-keygen</command>
man page. The zone's keys must be in the zone. If there are
<filename>signedkey</filename> files associated with this zone
or any child zones, they must be in the current directory.
<filename>keyset</filename> files associated with child zones,
they must be in the current directory.
<userinput>example.com</userinput>, the following command would be
issued:
</para>
@@ -315,10 +357,6 @@
<refentrytitle>dnssec-keygen</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>dnssec-signkey</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 2535</citetitle>.
</para>

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
- Copyright (C) 2000-2003 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
@@ -14,38 +14,36 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.html,v 1.4.2.14 2006/06/29 13:02:06 marka Exp $ -->
<!-- $Id: dnssec-signzone.html,v 1.4.2.1.4.14 2005/10/13 02:33:46 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>dnssec-signzone</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.70.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2482688"></a><div class="titlepage"></div>
<a name="id2463721"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">dnssec-signzone</span> &#8212; DNSSEC zone signing tool</p>
</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">-s <em class="replaceable"><code>start-time</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">-h</code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nthreads</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></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">-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>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">-n <em class="replaceable"><code>nthreads</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549515"></a><h2>DESCRIPTION</h2>
<a name="id2525979"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">dnssec-signzone</strong></span> signs a zone. It generates NXT
and SIG records and produces a signed version of the zone. If there
is a <code class="filename">signedkey</code> file from the zone's parent,
the parent's signatures will be incorporated into the generated
signed zone file. The security status of delegations from the
signed zone (that is, whether the child zones are secure or not) is
determined by the presence or absence of a
<code class="filename">signedkey</code> file for each child zone.
<span><strong class="command">dnssec-signzone</strong></span> signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
zone. The security status of delegations from the signed zone
(that is, whether the child zones are secure or not) is
determined by the presence or absence of a
<code class="filename">keyset</code> file for each child zone.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2549534"></a><h2>OPTIONS</h2>
<a name="id2525995"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -55,25 +53,40 @@
<dd><p>
Specifies the DNS class of the zone.
</p></dd>
<dt><span class="term">-k <em class="replaceable"><code>key</code></em></span></dt>
<dd><p>
Treat specified key as a key signing key ignoring any
key flags. This option may be specified multiple times.
</p></dd>
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
<dd><p>
Generate a DLV set in addition to the key (DNSKEY) and DS sets.
The domain is appended to the name of the records.
</p></dd>
<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
Look for <code class="filename">signedkey</code> files in
Look for <code class="filename">keyset</code> files in
<code class="option">directory</code> as the directory
</p></dd>
<dt><span class="term">-g</span></dt>
<dd><p>
Generate DS records for child zones from keyset files.
Existing DS records will be removed.
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
Specify the date and time when the generated RRSIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <code class="option">start-time</code> is specified, the current
time is used.
time minus 1 hour (to allow for clock skew) is used.
</p></dd>
<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated SIG records
Specify the date and time when the generated RRSIG records
expire. 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
@@ -98,7 +111,7 @@
When a previously signed zone is passed as input, records
may be resigned. The <code class="option">interval</code> option
specifies the cycle interval as an offset from the current
time (in seconds). If a SIG record expires after the
time (in seconds). If a RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</p>
@@ -108,7 +121,7 @@
<code class="option">end-time</code> or <code class="option">start-time</code>
are specified, <span><strong class="command">dnssec-signzone</strong></span> generates
signatures that are valid for 30 days, with a cycle
interval of 7.5 days. Therefore, if any existing SIG records
interval of 7.5 days. Therefore, if any existing RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</p>
@@ -149,6 +162,10 @@
<dd><p>
Sets the debugging level.
</p></dd>
<dt><span class="term">-z</span></dt>
<dd><p>
Ignore KSK flag on key when determining what to sign.
</p></dd>
<dt><span class="term">zonefile</span></dt>
<dd><p>
The file containing the zone to be signed.
@@ -162,13 +179,13 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2549984"></a><h2>EXAMPLE</h2>
<a name="id2526435"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated in the <span><strong class="command">dnssec-keygen</strong></span>
man page. The zone's keys must be in the zone. If there are
<code class="filename">signedkey</code> files associated with this zone
or any child zones, they must be in the current directory.
<code class="filename">keyset</code> files associated with child zones,
they must be in the current directory.
<strong class="userinput"><code>example.com</code></strong>, the following command would be
issued:
</p>
@@ -186,16 +203,15 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550034"></a><h2>SEE ALSO</h2>
<a name="id2526485"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signkey</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2550070"></a><h2>AUTHOR</h2>
<a name="id2526512"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.c,v 1.31.2.7 2005/07/02 02:42:29 marka Exp $ */
/* $Id: dnssectool.c,v 1.31.2.3.2.6 2005/07/02 02:42:43 marka Exp $ */
#include <config.h>
@@ -23,6 +23,8 @@
#include <isc/buffer.h>
#include <isc/entropy.h>
#include <isc/list.h>
#include <isc/mem.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
@@ -31,6 +33,7 @@
#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>
@@ -41,7 +44,15 @@
extern int verbose;
extern const char *program;
static isc_entropysource_t *source = NULL;
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;
void
@@ -107,12 +118,12 @@ alg_format(const dns_secalg_t alg, char *cp, unsigned int size) {
}
void
sig_format(dns_rdata_sig_t *sig, char *cp, unsigned int size) {
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) {
char namestr[DNS_NAME_FORMATSIZE];
char algstr[DNS_NAME_FORMATSIZE];
dns_name_format(&sig->signer, namestr, sizeof namestr);
alg_format(sig->algorithm, algstr, sizeof algstr);
dns_name_format(&sig->signer, namestr, sizeof(namestr));
alg_format(sig->algorithm, algstr, sizeof(algstr));
snprintf(cp, size, "%s/%s/%d", namestr, algstr, sig->keyid);
}
@@ -121,8 +132,8 @@ key_format(const dst_key_t *key, char *cp, unsigned int size) {
char namestr[DNS_NAME_FORMATSIZE];
char algstr[DNS_NAME_FORMATSIZE];
dns_name_format(dst_key_name(key), namestr, sizeof namestr);
alg_format((dns_secalg_t) dst_key_alg(key), algstr, sizeof algstr);
dns_name_format(dst_key_name(key), namestr, sizeof(namestr));
alg_format((dns_secalg_t) dst_key_alg(key), algstr, sizeof(algstr));
snprintf(cp, size, "%s/%s/%d", namestr, algstr, dst_key_id(key));
}
@@ -200,6 +211,8 @@ cleanup_logging(isc_log_t **logp) {
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);
@@ -208,6 +221,7 @@ setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
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) {
@@ -221,17 +235,32 @@ setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **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);
}
}
void
cleanup_entropy(isc_entropy_t **ectx) {
if (source != NULL)
isc_entropy_destroysource(&source);
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));
}
isc_entropy_detach(ectx);
}
isc_stdtime_t
strtotime(char *str, isc_int64_t now, isc_int64_t base) {
strtotime(const char *str, isc_int64_t now, isc_int64_t base) {
isc_int64_t val, offset;
isc_result_t result;
char *endp;
@@ -260,3 +289,19 @@ strtotime(char *str, isc_int64_t now, isc_int64_t base) {
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);
}

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
* Copyright (C) 2000, 2001, 2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.h,v 1.15.2.1 2004/03/09 06:09:16 marka Exp $ */
/* $Id: dnssectool.h,v 1.15.12.3 2004/03/08 04:04:18 marka Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
@@ -48,7 +48,7 @@ alg_format(const dns_secalg_t alg, char *cp, unsigned int size);
#define ALG_FORMATSIZE 10
void
sig_format(dns_rdata_sig_t *sig, char *cp, unsigned int size);
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size);
#define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + ALG_FORMATSIZE + sizeof("65535"))
void
@@ -68,6 +68,9 @@ void
cleanup_entropy(isc_entropy_t **ectx);
isc_stdtime_t
strtotime(char *str, isc_int64_t now, isc_int64_t base);
strtotime(const char *str, isc_int64_t now, isc_int64_t base);
dns_rdataclass_t
strtoclass(const char *str);
#endif /* DNSSEC_DNSSECTOOL_H */

View File

@@ -1,113 +0,0 @@
# Microsoft Developer Studio Project File - Name="dnssectool" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static-Link Library" 0x0104
CFG=dnssectool - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "dnssectool.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "dnssectool.mak" CFG="dnssectool - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dnssectool - Win32 Release" (based on "Win32 (x86) Static-Link Library")
!MESSAGE "dnssectool - Win32 Debug" (based on "Win32 (x86) Static-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "dnssectool - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddnssectool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /out:"Release/dnssectool.lib"
!ELSEIF "$(CFG)" == "dnssectool - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddnssectool
# SUBTRACT CPP /X
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32
# ADD LINK32 /debug out:"Debug/dnssectool.lib"
!ENDIF
# Begin Target
# Name "dnssectool - Win32 Release"
# Name "dnssectool - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# Begin Group "Main Dns Lib"
# PROP Default_Filter "c"
# Begin Source File
SOURCE=..\dnssectool.c
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "dighost"=".\dnssectool.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-keygen.exe"
# ADD LINK32 user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-keygen.exe"
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keygen.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keygen.exe" /pdbtype:sept
!ENDIF
@@ -90,6 +90,10 @@ LINK32=link.exe
SOURCE="..\dnssec-keygen.c"
# End Source File
# Begin Source File
SOURCE=..\dnssectool.c
# End Source File
# End Group
# Begin Group "Header Files"

View File

@@ -25,81 +25,6 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "keygen - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "keygen - Win32 Release"
OUTDIR=.\Release
@@ -113,7 +38,6 @@ CLEAN :
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-keygen.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -166,7 +90,6 @@ LINK32_OBJS= \
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
@@ -190,7 +113,6 @@ CLEAN :
-@erase "$(OUTDIR)\keygen.bsc"
-@erase "..\..\..\Build\Debug\dnssec-keygen.exe"
-@erase "..\..\..\Build\Debug\dnssec-keygen.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -250,7 +172,6 @@ LINK32_OBJS= \
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
@@ -304,21 +225,3 @@ SOURCE=..\dnssectool.c
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,103 +0,0 @@
# Microsoft Developer Studio Project File - Name="makekeyset" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=makekeyset - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "makekeyset.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "makekeyset.mak" CFG="makekeyset - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "makekeyset - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "makekeyset - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "makekeyset - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-makekeyset.exe"
!ELSEIF "$(CFG)" == "makekeyset - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-makekeyset.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "makekeyset - Win32 Release"
# Name "makekeyset - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\dnssec-makekeyset.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "makekeyset"=".\makekeyset.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,343 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on makekeyset.dsp
!IF "$(CFG)" == ""
CFG=makekeyset - Win32 Debug
!MESSAGE No configuration specified. Defaulting to makekeyset - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "makekeyset - Win32 Release" && "$(CFG)" != "makekeyset - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "makekeyset.mak" CFG="makekeyset - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "makekeyset - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "makekeyset - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
!IF "$(CFG)" == "makekeyset - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "makekeyset - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\dnssec-makekeyset.exe"
CLEAN :
-@erase "$(INTDIR)\dnssec-makekeyset.obj"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-makekeyset.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\makekeyset.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\makekeyset.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dnssec-makekeyset.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-makekeyset.exe"
LINK32_OBJS= \
"$(INTDIR)\dnssec-makekeyset.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Release\dnssec-makekeyset.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "makekeyset - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\dnssec-makekeyset.exe" "$(OUTDIR)\makekeyset.bsc"
CLEAN :
-@erase "$(INTDIR)\dnssec-makekeyset.obj"
-@erase "$(INTDIR)\dnssec-makekeyset.sbr"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\dnssectool.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dnssec-makekeyset.pdb"
-@erase "$(OUTDIR)\makekeyset.bsc"
-@erase "..\..\..\Build\Debug\dnssec-makekeyset.exe"
-@erase "..\..\..\Build\Debug\dnssec-makekeyset.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\makekeyset.bsc"
BSC32_SBRS= \
"$(INTDIR)\dnssec-makekeyset.sbr" \
"$(INTDIR)\dnssectool.sbr"
"$(OUTDIR)\makekeyset.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dnssec-makekeyset.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-makekeyset.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dnssec-makekeyset.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Debug\dnssec-makekeyset.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("makekeyset.dep")
!INCLUDE "makekeyset.dep"
!ELSE
!MESSAGE Warning: cannot find "makekeyset.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "makekeyset - Win32 Release" || "$(CFG)" == "makekeyset - Win32 Debug"
SOURCE="..\dnssec-makekeyset.c"
!IF "$(CFG)" == "makekeyset - Win32 Release"
"$(INTDIR)\dnssec-makekeyset.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "makekeyset - Win32 Debug"
"$(INTDIR)\dnssec-makekeyset.obj" "$(INTDIR)\dnssec-makekeyset.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dnssectool.c
!IF "$(CFG)" == "makekeyset - Win32 Release"
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "makekeyset - Win32 Debug"
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,103 +0,0 @@
# Microsoft Developer Studio Project File - Name="signkey" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=signkey - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "signkey.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "signkey.mak" CFG="signkey - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "signkey - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "signkey - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "signkey - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-signkey.exe"
!ELSEIF "$(CFG)" == "signkey - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR /FD /GZ /c
# SUBTRACT CPP /X /YX
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signkey.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "signkey - Win32 Release"
# Name "signkey - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\dnssec-signkey.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,342 +0,0 @@
# Microsoft Developer Studio Generated NMAKE File, Based on signkey.dsp
!IF "$(CFG)" == ""
CFG=signkey - Win32 Debug
!MESSAGE No configuration specified. Defaulting to signkey - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "signkey - Win32 Release" && "$(CFG)" != "signkey - Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "signkey.mak" CFG="signkey - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "signkey - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "signkey - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
!IF "$(CFG)" == "signkey - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "signkey - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\dnssec-signkey.exe"
CLEAN :
-@erase "$(INTDIR)\dnssec-signkey.obj"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-signkey.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signkey.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\signkey.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\dnssec-signkey.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-signkey.exe"
LINK32_OBJS= \
"$(INTDIR)\dnssec-signkey.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Release\dnssec-signkey.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "signkey - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\dnssec-signkey.exe" "$(OUTDIR)\signkey.bsc"
CLEAN :
-@erase "$(INTDIR)\dnssec-signkey.obj"
-@erase "$(INTDIR)\dnssec-signkey.sbr"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\dnssectool.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dnssec-signkey.pdb"
-@erase "$(OUTDIR)\signkey.bsc"
-@erase "..\..\..\Build\Debug\dnssec-signkey.exe"
-@erase "..\..\..\Build\Debug\dnssec-signkey.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\signkey.bsc"
BSC32_SBRS= \
"$(INTDIR)\dnssec-signkey.sbr" \
"$(INTDIR)\dnssectool.sbr"
"$(OUTDIR)\signkey.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\dnssec-signkey.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signkey.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dnssec-signkey.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Debug\dnssec-signkey.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("signkey.dep")
!INCLUDE "signkey.dep"
!ELSE
!MESSAGE Warning: cannot find "signkey.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "signkey - Win32 Release" || "$(CFG)" == "signkey - Win32 Debug"
SOURCE="..\dnssec-signkey.c"
!IF "$(CFG)" == "signkey - Win32 Release"
"$(INTDIR)\dnssec-signkey.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "signkey - Win32 Debug"
"$(INTDIR)\dnssec-signkey.obj" "$(INTDIR)\dnssec-signkey.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dnssectool.c
!IF "$(CFG)" == "signkey - Win32 Release"
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "signkey - Win32 Debug"
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -50,7 +50,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 user32.lib advapi32.lib Release/dnssectool.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-signzone.exe"
# ADD LINK32 user32.lib advapi32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-signzone.exe"
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
@@ -75,7 +75,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib Debug/dnssectool.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signzone.exe" /pdbtype:sept
# ADD LINK32 user32.lib advapi32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signzone.exe" /pdbtype:sept
!ENDIF
@@ -90,6 +90,9 @@ LINK32=link.exe
SOURCE="..\dnssec-signzone.c"
# End Source File
# Begin Source File
SOURCE=..\dnssectool.c
# End Source File
# End Group
# Begin Group "Header Files"

View File

@@ -25,81 +25,6 @@ NULL=
NULL=nul
!ENDIF
!IF "$(CFG)" == "signzone - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
!ELSE
_VC_MANIFEST_INC=1
_VC_MANIFEST_BASENAME=__VC80.Debug
!ENDIF
####################################################
# Specifying name of temporary resource file used only in incremental builds:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_AUTO_RES=$(_VC_MANIFEST_BASENAME).auto.res
!else
_VC_MANIFEST_AUTO_RES=
!endif
####################################################
# _VC_MANIFEST_EMBED_EXE - command to embed manifest in EXE:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1
!endif
####################################################
# _VC_MANIFEST_EMBED_DLL - command to embed manifest in DLL:
!if "$(_VC_MANIFEST_INC)" == "1"
#MT_SPECIAL_RETURN=1090650113
#MT_SPECIAL_SWITCH=-notify_resource_update
MT_SPECIAL_RETURN=0
MT_SPECIAL_SWITCH=
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -out:$(_VC_MANIFEST_BASENAME).auto.manifest $(MT_SPECIAL_SWITCH) & \
if "%ERRORLEVEL%" == "$(MT_SPECIAL_RETURN)" \
rc /r $(_VC_MANIFEST_BASENAME).auto.rc & \
link $** /out:$@ $(LFLAGS)
!else
_VC_MANIFEST_EMBED_EXE= \
if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2
!endif
####################################################
# _VC_MANIFEST_CLEAN - command to clean resources files generated temporarily:
!if "$(_VC_MANIFEST_INC)" == "1"
_VC_MANIFEST_CLEAN=-del $(_VC_MANIFEST_BASENAME).auto.res \
$(_VC_MANIFEST_BASENAME).auto.rc \
$(_VC_MANIFEST_BASENAME).auto.manifest
!else
_VC_MANIFEST_CLEAN=
!endif
!IF "$(CFG)" == "signzone - Win32 Release"
OUTDIR=.\Release
@@ -113,7 +38,6 @@ CLEAN :
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-signzone.exe"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -166,7 +90,6 @@ LINK32_OBJS= \
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
@@ -190,7 +113,6 @@ CLEAN :
-@erase "$(OUTDIR)\signzone.bsc"
-@erase "..\..\..\Build\Debug\dnssec-signzone.exe"
-@erase "..\..\..\Build\Debug\dnssec-signzone.ilk"
-@$(_VC_MANIFEST_CLEAN)
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -250,7 +172,6 @@ LINK32_OBJS= \
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
@@ -304,21 +225,3 @@ SOURCE=..\dnssectool.c
!ENDIF
####################################################
# Commands to generate initial empty manifest file and the RC file
# that references it, and for generating the .res file:
$(_VC_MANIFEST_BASENAME).auto.res : $(_VC_MANIFEST_BASENAME).auto.rc
$(_VC_MANIFEST_BASENAME).auto.rc : $(_VC_MANIFEST_BASENAME).auto.manifest
type <<$@
#include <winuser.h>
1RT_MANIFEST"$(_VC_MANIFEST_BASENAME).auto.manifest"
<< KEEP
$(_VC_MANIFEST_BASENAME).auto.manifest :
type <<$@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
</assembly>
<< KEEP

View File

@@ -1,5 +1,5 @@
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
# Copyright (C) 1998-2002 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.74.2.5 2004/09/06 21:42:06 marka Exp $
# $Id: Makefile.in,v 1.74.12.11 2004/09/06 21:47:25 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_INCLUDES@
@BIND9_MAKE_INCLUDES@
#
# Add database drivers here.
@@ -32,36 +32,39 @@ DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
${LWRES_INCLUDES} ${DNS_INCLUDES} \
${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DBDRIVER_INCLUDES}
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
ISCLIBS = ../../lib/isc/libisc.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
BIND9LIBS = ../../lib/bind9/libbind9.@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} \
DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \
${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} \
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
SUBDIRS = unix
TARGETS = named lwresd
TARGETS = named@EXEEXT@ lwresd@EXEEXT@
OBJS = aclconf.@O@ client.@O@ config.@O@ control.@O@ controlconf.@O@ interfacemgr.@O@ \
OBJS = aclconf.@O@ 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@ \
tkeyconf.@O@ tsigconf.@O@ update.@O@ xfrout.@O@ \
@@ -72,7 +75,8 @@ OBJS = aclconf.@O@ client.@O@ config.@O@ control.@O@ controlconf.@O@ interfacem
UOBJS = unix/os.@O@
SRCS = aclconf.c client.c config.c control.c controlconf.c interfacemgr.c \
SRCS = aclconf.c 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 \
tkeyconf.c tsigconf.c update.c xfrout.c \
@@ -90,21 +94,24 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
main.@O@: main.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
config.@O@: config.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-c ${srcdir}/config.c
named: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS} ${UOBJS} ${LIBS}
named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
${OBJS} ${UOBJS} ${LIBS}
lwresd: named
rm -f lwresd
@LN@ named lwresd
lwresd@EXEEXT@: named@EXEEXT@
rm -f lwresd@EXEEXT@
@LN@ named@EXEEXT@ lwresd@EXEEXT@
doc man:: ${MANOBJS}
@@ -112,16 +119,17 @@ docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
rm -f ${TARGETS}
rm -f ${TARGETS} ${OBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: named lwresd installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f lwresd; @LN@ named lwresd)
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

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: aclconf.c,v 1.27.2.5 2006/03/02 00:37:17 marka Exp $ */
/* $Id: aclconf.c,v 1.27.12.5 2005/03/17 03:58:25 marka Exp $ */
#include <config.h>
@@ -23,6 +23,8 @@
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
#include <isccfg/namedconf.h>
#include <dns/acl.h>
#include <dns/fixedname.h>
#include <dns/log.h>
@@ -52,10 +54,10 @@ ns_aclconfctx_destroy(ns_aclconfctx_t *ctx) {
* Find the definition of the named acl whose name is "name".
*/
static isc_result_t
get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) {
get_acl_def(cfg_obj_t *cctx, char *name, cfg_obj_t **ret) {
isc_result_t result;
const cfg_obj_t *acls = NULL;
const cfg_listelt_t *elt;
cfg_obj_t *acls = NULL;
cfg_listelt_t *elt;
result = cfg_map_get(cctx, "acl", &acls);
if (result != ISC_R_SUCCESS)
@@ -63,7 +65,7 @@ get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) {
for (elt = cfg_list_first(acls);
elt != NULL;
elt = cfg_list_next(elt)) {
const cfg_obj_t *acl = cfg_listelt_value(elt);
cfg_obj_t *acl = cfg_listelt_value(elt);
const char *aclname = cfg_obj_asstring(cfg_tuple_get(acl, "name"));
if (strcasecmp(aclname, name) == 0) {
*ret = cfg_tuple_get(acl, "value");
@@ -74,15 +76,15 @@ get_acl_def(const cfg_obj_t *cctx, const char *name, const cfg_obj_t **ret) {
}
static isc_result_t
convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
convert_named_acl(cfg_obj_t *nameobj, cfg_obj_t *cctx,
ns_aclconfctx_t *ctx, isc_mem_t *mctx,
dns_acl_t **target)
{
isc_result_t result;
const cfg_obj_t *cacl = NULL;
cfg_obj_t *cacl = NULL;
dns_acl_t *dacl;
dns_acl_t loop;
const char *aclname = cfg_obj_asstring(nameobj);
char *aclname = cfg_obj_asstring(nameobj);
/* Look for an already-converted version. */
for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache);
@@ -111,7 +113,7 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
*/
memset(&loop, 0, sizeof(loop));
ISC_LINK_INIT(&loop, nextincache);
DE_CONST(aclname, loop.name);
loop.name = aclname;
loop.magic = LOOP_MAGIC;
ISC_LIST_APPEND(ctx->named_acl_cache, &loop, nextincache);
result = ns_acl_fromconfig(cacl, cctx, ctx, mctx, &dacl);
@@ -129,7 +131,7 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
}
static isc_result_t
convert_keyname(const cfg_obj_t *keyobj, isc_mem_t *mctx, dns_name_t *dnsname) {
convert_keyname(cfg_obj_t *keyobj, isc_mem_t *mctx, dns_name_t *dnsname) {
isc_result_t result;
isc_buffer_t buf;
dns_fixedname_t fixname;
@@ -152,8 +154,8 @@ convert_keyname(const cfg_obj_t *keyobj, isc_mem_t *mctx, dns_name_t *dnsname) {
}
isc_result_t
ns_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
ns_acl_fromconfig(cfg_obj_t *caml,
cfg_obj_t *cctx,
ns_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target)
@@ -162,7 +164,7 @@ ns_acl_fromconfig(const cfg_obj_t *caml,
unsigned int count;
dns_acl_t *dacl = NULL;
dns_aclelement_t *de;
const cfg_listelt_t *elt;
cfg_listelt_t *elt;
REQUIRE(target != NULL && *target == NULL);
@@ -181,7 +183,7 @@ ns_acl_fromconfig(const cfg_obj_t *caml,
elt != NULL;
elt = cfg_list_next(elt))
{
const cfg_obj_t *ce = cfg_listelt_value(elt);
cfg_obj_t *ce = cfg_listelt_value(elt);
if (cfg_obj_istuple(ce)) {
/* This must be a negated element. */
ce = cfg_tuple_get(ce, "value");
@@ -213,7 +215,7 @@ ns_acl_fromconfig(const cfg_obj_t *caml,
goto cleanup;
} else if (cfg_obj_isstring(ce)) {
/* ACL name */
const char *name = cfg_obj_asstring(ce);
char *name = cfg_obj_asstring(ce);
if (strcasecmp(name, "localhost") == 0) {
de->type = dns_aclelementtype_localhost;
} else if (strcasecmp(name, "localnets") == 0) {

228
bin/named/builtin.c Normal file
View File

@@ -0,0 +1,228 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 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.
*/
/* $Id: builtin.c,v 1.4.106.4 2004/03/08 04:04:18 marka Exp $ */
/*
* The built-in "version", "hostname", "id" and "authors" databases.
*/
#include <config.h>
#include <string.h>
#include <stdio.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/sdb.h>
#include <dns/result.h>
#include <named/builtin.h>
#include <named/globals.h>
#include <named/server.h>
#include <named/os.h>
typedef struct builtin builtin_t;
static isc_result_t do_version_lookup(dns_sdblookup_t *lookup);
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);
/*
* We can't use function pointers as the db_data directly
* because ANSI C does not guarantee that function pointers
* can safely be cast to void pointers and back.
*/
struct builtin {
isc_result_t (*do_lookup)(dns_sdblookup_t *lookup);
};
static builtin_t version_builtin = { do_version_lookup };
static builtin_t hostname_builtin = { do_hostname_lookup };
static builtin_t authors_builtin = { do_authors_lookup };
static builtin_t id_builtin = { do_id_lookup };
static dns_sdbimplementation_t *builtin_impl;
static isc_result_t
builtin_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
builtin_t *b = (builtin_t *) dbdata;
UNUSED(zone);
if (strcmp(name, "@") == 0)
return (b->do_lookup(lookup));
else
return (ISC_R_NOTFOUND);
}
static isc_result_t
put_txt(dns_sdblookup_t *lookup, const char *text) {
unsigned char buf[256];
unsigned int len = strlen(text);
if (len > 255)
len = 255; /* Silently truncate */
buf[0] = len;
memcpy(&buf[1], text, len);
return (dns_sdb_putrdata(lookup, dns_rdatatype_txt, 0, buf, len + 1));
}
static isc_result_t
do_version_lookup(dns_sdblookup_t *lookup) {
if (ns_g_server->version_set) {
if (ns_g_server->version == NULL)
return (ISC_R_SUCCESS);
else
return (put_txt(lookup, ns_g_server->version));
} else {
return (put_txt(lookup, ns_g_version));
}
}
static isc_result_t
do_hostname_lookup(dns_sdblookup_t *lookup) {
if (ns_g_server->hostname_set) {
if (ns_g_server->hostname == NULL)
return (ISC_R_SUCCESS);
else
return (put_txt(lookup, ns_g_server->hostname));
} else {
char buf[256];
isc_result_t result = ns_os_gethostname(buf, sizeof(buf));
if (result != ISC_R_SUCCESS)
return (result);
return (put_txt(lookup, buf));
}
}
static isc_result_t
do_authors_lookup(dns_sdblookup_t *lookup) {
isc_result_t result;
const char **p;
static const char *authors[] = {
"Mark Andrews",
"James Brister",
"Ben Cottrell",
"Michael Graff",
"Andreas Gustafsson",
"Bob Halley",
"David Lawrence",
"Danny Mayer",
"Damien Neil",
"Matt Nelson",
"Michael Sawyer",
"Brian Wellington",
NULL
};
/*
* If a version string is specified, disable the authors.bind zone.
*/
if (ns_g_server->version_set)
return (ISC_R_SUCCESS);
for (p = authors; *p != NULL; p++) {
result = put_txt(lookup, *p);
if (result != ISC_R_SUCCESS)
return (result);
}
return (ISC_R_SUCCESS);
}
static isc_result_t
do_id_lookup(dns_sdblookup_t *lookup) {
if (ns_g_server->server_usehostname) {
char buf[256];
isc_result_t result = ns_os_gethostname(buf, sizeof(buf));
if (result != ISC_R_SUCCESS)
return (result);
return (put_txt(lookup, buf));
}
if (ns_g_server->server_id == NULL)
return (ISC_R_SUCCESS);
else
return (put_txt(lookup, ns_g_server->server_id));
}
static isc_result_t
builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) {
isc_result_t result;
UNUSED(zone);
UNUSED(dbdata);
result = dns_sdb_putsoa(lookup, "@", "hostmaster", 0);
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
result = dns_sdb_putrr(lookup, "ns", 0, "@");
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
return (ISC_R_SUCCESS);
}
static isc_result_t
builtin_create(const char *zone, int argc, char **argv,
void *driverdata, void **dbdata)
{
UNUSED(zone);
UNUSED(driverdata);
if (argc != 1)
return (DNS_R_SYNTAX);
if (strcmp(argv[0], "version") == 0)
*dbdata = &version_builtin;
else if (strcmp(argv[0], "hostname") == 0)
*dbdata = &hostname_builtin;
else if (strcmp(argv[0], "authors") == 0)
*dbdata = &authors_builtin;
else if (strcmp(argv[0], "id") == 0)
*dbdata = &id_builtin;
else
return (ISC_R_NOTIMPLEMENTED);
return (ISC_R_SUCCESS);
}
static dns_sdbmethods_t builtin_methods = {
builtin_lookup,
builtin_authority,
NULL, /* allnodes */
builtin_create,
NULL /* destroy */
};
isc_result_t
ns_builtin_init(void) {
RUNTIME_CHECK(dns_sdb_register("_builtin", &builtin_methods, NULL,
DNS_SDBFLAG_RELATIVEOWNER |
DNS_SDBFLAG_RELATIVERDATA,
ns_g_mctx, &builtin_impl)
== ISC_R_SUCCESS);
return (ISC_R_SUCCESS);
}
void
ns_builtin_deinit(void) {
dns_sdb_unregister(&builtin_impl);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.c,v 1.176.2.24 2006/07/22 01:09:04 marka Exp $ */
/* $Id: client.c,v 1.176.2.13.4.26 2005/07/27 02:53:14 marka Exp $ */
#include <config.h>
@@ -34,6 +34,7 @@
#include <dns/events.h>
#include <dns/message.h>
#include <dns/rcode.h>
#include <dns/resolver.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
@@ -96,6 +97,7 @@ struct ns_clientmgr {
/* Locked by lock. */
isc_boolean_t exiting;
client_list_t active; /* Active clients */
client_list_t recursing; /* Recursing clients */
client_list_t inactive; /* To be recycled */
};
@@ -151,7 +153,7 @@ struct ns_clientmgr {
#define NS_CLIENTSTATE_WORKING 4
/*
* The client object has received a request and is working
* on it. It has a view, and it may have any of a non-reset OPT,
* on it. It has a view, and it may have any of a non-reset OPT,
* recursion quota, and an outstanding write request.
*/
@@ -162,12 +164,6 @@ struct ns_clientmgr {
* Must be greater than any valid state.
*/
/*
* Enable ns_client_dropport() by default.
*/
#ifndef NS_CLIENT_DROPPORT
#define NS_CLIENT_DROPPORT 1
#endif
static void client_read(ns_client_t *client);
static void client_accept(ns_client_t *client);
@@ -180,6 +176,33 @@ static void client_start(isc_task_t *task, isc_event_t *event);
static void client_request(isc_task_t *task, isc_event_t *event);
static void ns_client_dumpmessage(ns_client_t *client, const char *reason);
void
ns_client_recursing(ns_client_t *client) {
REQUIRE(NS_CLIENT_VALID(client));
LOCK(&client->manager->lock);
ISC_LIST_UNLINK(*client->list, client, link);
ISC_LIST_APPEND(client->manager->recursing, client, link);
client->list = &client->manager->recursing;
UNLOCK(&client->manager->lock);
}
void
ns_client_killoldestquery(ns_client_t *client) {
ns_client_t *oldest;
REQUIRE(NS_CLIENT_VALID(client));
LOCK(&client->manager->lock);
oldest = ISC_LIST_HEAD(client->manager->recursing);
if (oldest != NULL) {
ns_query_cancel(oldest);
ISC_LIST_UNLINK(*oldest->list, oldest, link);
ISC_LIST_APPEND(client->manager->active, oldest, link);
oldest->list = &client->manager->active;
}
UNLOCK(&client->manager->lock);
}
void
ns_client_settimeout(ns_client_t *client, unsigned int seconds) {
isc_result_t result;
@@ -302,9 +325,9 @@ exit_check(ns_client_t *client) {
isc_quota_detach(&client->tcpquota);
if (client->timerset) {
(void) isc_timer_reset(client->timer,
isc_timertype_inactive,
NULL, NULL, ISC_TRUE);
(void)isc_timer_reset(client->timer,
isc_timertype_inactive,
NULL, NULL, ISC_TRUE);
client->timerset = ISC_FALSE;
}
@@ -437,7 +460,8 @@ exit_check(ns_client_t *client) {
client->list = NULL;
if (manager->exiting &&
ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive))
ISC_LIST_EMPTY(manager->inactive) &&
ISC_LIST_EMPTY(manager->recursing))
destroy_manager = manager;
}
/*
@@ -526,7 +550,6 @@ client_shutdown(isc_task_t *task, isc_event_t *event) {
(void)exit_check(client);
}
static void
ns_client_endrequest(ns_client_t *client) {
INSIST(client->naccepts == 0);
@@ -626,7 +649,7 @@ ns_client_next(ns_client_t *client, isc_result_t result) {
if (client->newstate > newstate)
client->newstate = newstate;
(void) exit_check(client);
(void)exit_check(client);
}
@@ -756,7 +779,8 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) {
sockflags |= ISC_SOCKFLAG_NORETRY;
}
if ((client->attributes & NS_CLIENTATTR_PKTINFO) != 0)
if ((client->attributes & NS_CLIENTATTR_PKTINFO) != 0 &&
(client->attributes & NS_CLIENTATTR_MULTICAST) == 0)
pktinfo = &client->pktinfo;
else
pktinfo = NULL;
@@ -834,6 +858,8 @@ ns_client_send(ns_client_t *client) {
dns_compress_t cctx;
isc_boolean_t cleanup_cctx = ISC_FALSE;
unsigned char sendbuf[SEND_BUFFER_SIZE];
unsigned int dnssec_opts;
unsigned int preferred_glue;
REQUIRE(NS_CLIENT_VALID(client));
@@ -842,6 +868,19 @@ ns_client_send(ns_client_t *client) {
if ((client->attributes & NS_CLIENTATTR_RA) != 0)
client->message->flags |= DNS_MESSAGEFLAG_RA;
if ((client->attributes & NS_CLIENTATTR_WANTDNSSEC) != 0)
dnssec_opts = 0;
else
dnssec_opts = DNS_MESSAGERENDER_OMITDNSSEC;
preferred_glue = 0;
if (client->view != NULL) {
if (client->view->preferred_glue == dns_rdatatype_a)
preferred_glue = DNS_MESSAGERENDER_PREFER_A;
else if (client->view->preferred_glue == dns_rdatatype_aaaa)
preferred_glue = DNS_MESSAGERENDER_PREFER_AAAA;
}
/*
* XXXRTH The following doesn't deal with TCP buffer resizing.
*/
@@ -877,7 +916,8 @@ ns_client_send(ns_client_t *client) {
goto done;
result = dns_message_rendersection(client->message,
DNS_SECTION_ANSWER,
DNS_MESSAGERENDER_PARTIAL);
DNS_MESSAGERENDER_PARTIAL |
dnssec_opts);
if (result == ISC_R_NOSPACE) {
client->message->flags |= DNS_MESSAGEFLAG_TC;
goto renderend;
@@ -886,7 +926,8 @@ ns_client_send(ns_client_t *client) {
goto done;
result = dns_message_rendersection(client->message,
DNS_SECTION_AUTHORITY,
DNS_MESSAGERENDER_PARTIAL);
DNS_MESSAGERENDER_PARTIAL |
dnssec_opts);
if (result == ISC_R_NOSPACE) {
client->message->flags |= DNS_MESSAGEFLAG_TC;
goto renderend;
@@ -894,7 +935,8 @@ ns_client_send(ns_client_t *client) {
if (result != ISC_R_SUCCESS)
goto done;
result = dns_message_rendersection(client->message,
DNS_SECTION_ADDITIONAL, 0);
DNS_SECTION_ADDITIONAL,
preferred_glue | dnssec_opts);
if (result != ISC_R_SUCCESS && result != ISC_R_NOSPACE)
goto done;
renderend:
@@ -930,34 +972,6 @@ ns_client_send(ns_client_t *client) {
ns_client_next(client, result);
}
#if NS_CLIENT_DROPPORT
#define DROPPORT_NO 0
#define DROPPORT_REQUEST 1
#define DROPPORT_RESPONSE 2
/*%
* ns_client_dropport determines if certain requests / responses
* should be dropped based on the port number.
*
* Returns:
* \li 0: Don't drop.
* \li 1: Drop request.
* \li 2: Drop (error) response.
*/
static int
ns_client_dropport(in_port_t port) {
switch (port) {
case 7: /* echo */
case 13: /* daytime */
case 19: /* chargen */
case 37: /* time */
return (DROPPORT_REQUEST);
case 464: /* kpasswd */
return (DROPPORT_RESPONSE);
}
return (DROPPORT_NO);
}
#endif
void
ns_client_error(ns_client_t *client, isc_result_t result) {
dns_rcode_t rcode;
@@ -970,28 +984,6 @@ ns_client_error(ns_client_t *client, isc_result_t result) {
message = client->message;
rcode = dns_result_torcode(result);
#if NS_CLIENT_DROPPORT
/*
* Don't send FORMERR to ports on the drop port list.
*/
if (rcode == dns_rcode_formerr &&
ns_client_dropport(isc_sockaddr_getport(&client->peeraddr)) !=
DROPPORT_NO) {
char buf[64];
isc_buffer_t b;
isc_buffer_init(&b, buf, sizeof(buf) - 1);
if (dns_rcode_totext(rcode, &b) != ISC_R_SUCCESS)
isc_buffer_putstr(&b, "UNKNOWN RCODE");
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(10),
"dropped error (%.*s) response: suspicious port",
(int)isc_buffer_usedlength(&b), buf);
ns_client_next(client, ISC_R_SUCCESS);
return;
}
#endif
/*
* Message may be an in-progress reply that we had trouble
* with, in which case QR will be set. We need to clear QR before
@@ -1052,6 +1044,9 @@ client_addopt(ns_client_t *client) {
dns_rdatalist_t *rdatalist;
dns_rdata_t *rdata;
isc_result_t result;
dns_view_t *view;
dns_resolver_t *resolver;
isc_uint16_t udpsize;
REQUIRE(client->opt == NULL); /* XXXRTH free old. */
@@ -1075,16 +1070,18 @@ client_addopt(ns_client_t *client) {
/*
* Set the maximum UDP buffer size.
*/
rdatalist->rdclass = RECV_BUFFER_SIZE;
view = client->view;
resolver = (view != NULL) ? view->resolver : NULL;
if (resolver != NULL)
udpsize = dns_resolver_getudpsize(resolver);
else
udpsize = ns_g_udpsize;
rdatalist->rdclass = udpsize;
/*
* Set EXTENDED-RCODE, VERSION, and Z to 0.
* Set EXTENDED-RCODE, VERSION and Z to 0.
*/
#ifdef ISC_RFC2535
rdatalist->ttl = (client->extflags & DNS_MESSAGEEXTFLAG_REPLYPRESERVE);
#else
rdatalist->ttl = 0;
#endif
/*
* No ENDS options in the default case.
@@ -1097,7 +1094,8 @@ client_addopt(ns_client_t *client) {
ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdatalist_tordataset(rdatalist, rdataset);
RUNTIME_CHECK(dns_rdatalist_tordataset(rdatalist, rdataset)
== ISC_R_SUCCESS);
client->opt = rdataset;
@@ -1105,13 +1103,13 @@ client_addopt(ns_client_t *client) {
}
static inline isc_boolean_t
allowed(isc_netaddr_t *addr, dns_acl_t *acl) {
allowed(isc_netaddr_t *addr, dns_name_t *signer, dns_acl_t *acl) {
int match;
isc_result_t result;
if (acl == NULL)
return (ISC_TRUE);
result = dns_acl_match(addr, NULL, acl, &ns_g_server->aclenv,
result = dns_acl_match(addr, signer, acl, &ns_g_server->aclenv,
&match, NULL);
if (result == ISC_R_SUCCESS && match > 0)
return (ISC_TRUE);
@@ -1127,7 +1125,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
ns_client_t *client;
isc_socketevent_t *sevent;
isc_result_t result;
isc_result_t sigresult;
isc_result_t sigresult = ISC_R_SUCCESS;
isc_buffer_t *buffer;
isc_buffer_t tbuffer;
dns_view_t *view;
@@ -1145,8 +1143,6 @@ client_request(isc_task_t *task, isc_event_t *event) {
REQUIRE(NS_CLIENT_VALID(client));
REQUIRE(task == client->task);
UNUSED(task);
INSIST(client->recursionquota == NULL);
INSIST(client->state ==
@@ -1190,7 +1186,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
goto cleanup;
client->state = client->newstate = NS_CLIENTSTATE_WORKING;
isc_stdtime_get(&client->requesttime);
isc_task_getcurrenttime(task, &client->requesttime);
client->now = client->requesttime;
if (result != ISC_R_SUCCESS) {
@@ -1212,17 +1208,6 @@ client_request(isc_task_t *task, isc_event_t *event) {
isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
#if NS_CLIENT_DROPPORT
if (ns_client_dropport(isc_sockaddr_getport(&client->peeraddr)) ==
DROPPORT_REQUEST) {
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(10),
"dropped request: suspicious port");
ns_client_next(client, ISC_R_SUCCESS);
goto cleanup;
}
#endif
ns_client_log(client, NS_LOGCATEGORY_CLIENT,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
"%s request",
@@ -1248,12 +1233,15 @@ client_request(isc_task_t *task, isc_event_t *event) {
}
}
/*
* Silently drop multicast requests for the present.
* XXXMPA look at when/if mDNS spec stabilizes.
*/
if ((client->attributes & NS_CLIENTATTR_MULTICAST) != 0) {
ns_client_log(client, NS_LOGCATEGORY_CLIENT,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(2),
"multicast request");
"dropping multicast request");
ns_client_next(client, DNS_R_REFUSED);
goto cleanup;
}
result = dns_message_peekheader(buffer, &id, &flags);
@@ -1310,6 +1298,10 @@ client_request(isc_task_t *task, isc_event_t *event) {
client->message->rcode = dns_rcode_noerror;
/* RFC1123 section 6.1.3.2 */
if ((client->attributes & NS_CLIENTATTR_MULTICAST) != 0)
client->message->flags &= ~DNS_MESSAGEFLAG_RD;
/*
* Deal with EDNS.
*/
@@ -1366,12 +1358,19 @@ client_request(isc_task_t *task, isc_event_t *event) {
}
/*
* Determine the destination address. For TCP/IPv6, we get this from
* the receiving socket. For UDP/IPv6, we get it from the pktinfo
* structure (if supported). For IPv4, we have to do with
* the address of the interface where the request was received.
* Determine the destination address. If the receiving interface is
* bound to a specific address, we simply use it regardless of the
* address family. All IPv4 queries should fall into this case.
* Otherwise, if this is a TCP query, get the address from the
* receiving socket (this needs a system call and can be heavy).
* For IPv6 UDP queries, we get this from the pktinfo structure (if
* supported).
* If all the attempts fail (this can happen due to memory shortage,
* etc), we regard this as an error for safety.
*/
if (client->interface->addr.type.sa.sa_family == AF_INET6) {
if ((client->interface->flags & NS_INTERFACEFLAG_ANYADDR) == 0)
isc_netaddr_fromsockaddr(&destaddr, &client->interface->addr);
else {
result = ISC_R_FAILURE;
if (TCP_CLIENT(client)) {
@@ -1384,8 +1383,24 @@ client_request(isc_task_t *task, isc_event_t *event) {
&destsockaddr);
}
if (result != ISC_R_SUCCESS &&
client->interface->addr.type.sa.sa_family == AF_INET6 &&
(client->attributes & NS_CLIENTATTR_PKTINFO) != 0) {
isc_netaddr_fromin6(&destaddr, &client->pktinfo.ipi6_addr);
isc_uint32_t zone = 0;
/*
* XXXJT technically, we should convert the receiving
* interface ID to a proper scope zone ID. However,
* due to the fact there is no standard API for this,
* we only handle link-local addresses and use the
* interface index as link ID. Despite the assumption,
* it should cover most typical cases.
*/
if (IN6_IS_ADDR_LINKLOCAL(&client->pktinfo.ipi6_addr))
zone = (isc_uint32_t)client->pktinfo.ipi6_ifindex;
isc_netaddr_fromin6(&destaddr,
&client->pktinfo.ipi6_addr);
isc_netaddr_setzone(&destaddr, zone);
result = ISC_R_SUCCESS;
}
if (result != ISC_R_SUCCESS) {
@@ -1395,8 +1410,6 @@ client_request(isc_task_t *task, isc_event_t *event) {
isc_result_totext(result));
goto cleanup;
}
} else {
isc_netaddr_fromsockaddr(&destaddr, &client->interface->addr);
}
/*
@@ -1408,10 +1421,16 @@ client_request(isc_task_t *task, isc_event_t *event) {
if (client->message->rdclass == view->rdclass ||
client->message->rdclass == dns_rdataclass_any)
{
if (allowed(&netaddr, view->matchclients) &&
allowed(&destaddr, view->matchdestinations) &&
!((flags & DNS_MESSAGEFLAG_RD) == 0 &&
view->matchrecursiveonly))
dns_name_t *tsig = NULL;
sigresult = dns_message_rechecksig(client->message,
view);
if (sigresult == ISC_R_SUCCESS)
tsig = client->message->tsigname;
if (allowed(&netaddr, tsig, view->matchclients) &&
allowed(&destaddr, tsig, view->matchdestinations) &&
!((client->message->flags & DNS_MESSAGEFLAG_RD)
== 0 && view->matchrecursiveonly))
{
dns_view_attach(view, &client->view);
break;
@@ -1429,6 +1448,9 @@ client_request(isc_task_t *task, isc_event_t *event) {
*/
isc_buffer_t b;
isc_region_t *r;
dns_message_resetsig(client->message);
r = dns_message_getrawmessage(client->message);
isc_buffer_init(&b, r->base, r->length);
isc_buffer_add(&b, r->length);
@@ -1454,7 +1476,6 @@ client_request(isc_task_t *task, isc_event_t *event) {
* not. We do not log the lack of a signature unless we are
* debugging.
*/
sigresult = dns_message_checksig(client->message, client->view);
client->signer = NULL;
dns_name_init(&client->signername, NULL);
result = dns_message_signer(client->message, &client->signername);
@@ -1472,11 +1493,29 @@ client_request(isc_task_t *task, isc_event_t *event) {
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
"request is signed by a nonauthoritative key");
} else {
char tsigrcode[64];
isc_buffer_t b;
dns_name_t *name = NULL;
isc_buffer_init(&b, tsigrcode, sizeof(tsigrcode) - 1);
RUNTIME_CHECK(dns_tsigrcode_totext(client->message->tsigstatus,
&b) == ISC_R_SUCCESS);
tsigrcode[isc_buffer_usedlength(&b)] = '\0';
/* There is a signature, but it is bad. */
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_ERROR,
"request has invalid signature: %s",
isc_result_totext(result));
if (dns_message_gettsig(client->message, &name) != NULL) {
char namebuf[DNS_NAME_FORMATSIZE];
dns_name_format(name, namebuf, sizeof(namebuf));
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_ERROR,
"request has invalid signature: "
"TSIG %s: %s (%s)", namebuf,
isc_result_totext(result), tsigrcode);
} else {
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_ERROR,
"request has invalid signature: %s (%s)",
isc_result_totext(result), tsigrcode);
}
/*
* Accept update messages signed by unknown keys so that
* update forwarding works transparently through slaves
@@ -1498,17 +1537,17 @@ client_request(isc_task_t *task, isc_event_t *event) {
ra = ISC_FALSE;
if (client->view->resolver != NULL &&
client->view->recursion == ISC_TRUE &&
/* XXX this will log too much too early */
ns_client_checkacl(client, "recursion available:",
client->view->recursionacl,
ISC_TRUE, ISC_LOG_DEBUG(1)) == ISC_R_SUCCESS &&
ns_client_checkaclsilent(client, client->view->queryacl,
ns_client_checkaclsilent(client, client->view->recursionacl,
ISC_TRUE) == ISC_R_SUCCESS)
ra = ISC_TRUE;
if (ra == ISC_TRUE)
client->attributes |= NS_CLIENTATTR_RA;
ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT,
ISC_LOG_DEBUG(3), ra ? "recursion available" :
"recursion not available");
/*
* Dispatch the request.
*/
@@ -1566,7 +1605,7 @@ client_timeout(isc_task_t *task, isc_event_t *event) {
if (client->newstate > NS_CLIENTSTATE_READY)
client->newstate = NS_CLIENTSTATE_READY;
(void) exit_check(client);
(void)exit_check(client);
}
static isc_result_t
@@ -1584,7 +1623,7 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
REQUIRE(clientp != NULL && *clientp == NULL);
client = isc_mem_get(manager->mctx, sizeof *client);
client = isc_mem_get(manager->mctx, sizeof(*client));
if (client == NULL)
return (ISC_R_NOMEMORY);
@@ -1724,7 +1763,7 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp) {
isc_task_detach(&client->task);
cleanup_client:
isc_mem_put(manager->mctx, client, sizeof *client);
isc_mem_put(manager->mctx, client, sizeof(*client));
return (result);
}
@@ -1787,8 +1826,8 @@ client_newconn(isc_task_t *task, isc_event_t *event) {
client->state = NS_CLIENTSTATE_READING;
INSIST(client->recursionquota == NULL);
(void) isc_socket_getpeername(client->tcpsocket,
&client->peeraddr);
(void)isc_socket_getpeername(client->tcpsocket,
&client->peeraddr);
client->peeraddr_valid = ISC_TRUE;
ns_client_log(client, NS_LOGCATEGORY_CLIENT,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
@@ -1908,7 +1947,7 @@ client_udprecv(ns_client_t *client) {
isc_result_totext(result));
/*
* This cannot happen in the current implementation, since
* isc_socket_recv2() cannot fail if flags == 0A
* isc_socket_recv2() cannot fail if flags == 0.
*
* If this does fail, we just go idle.
*/
@@ -1940,7 +1979,7 @@ ns_client_detach(ns_client_t **clientp) {
ns_client_log(client, NS_LOGCATEGORY_CLIENT,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(10),
"ns_client_detach: ref = %d", client->references);
(void) exit_check(client);
(void)exit_check(client);
}
isc_boolean_t
@@ -1979,12 +2018,13 @@ static void
clientmgr_destroy(ns_clientmgr_t *manager) {
REQUIRE(ISC_LIST_EMPTY(manager->active));
REQUIRE(ISC_LIST_EMPTY(manager->inactive));
REQUIRE(ISC_LIST_EMPTY(manager->recursing));
MTRACE("clientmgr_destroy");
DESTROYLOCK(&manager->lock);
manager->magic = 0;
isc_mem_put(manager->mctx, manager, sizeof *manager);
isc_mem_put(manager->mctx, manager, sizeof(*manager));
}
isc_result_t
@@ -1994,7 +2034,7 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
ns_clientmgr_t *manager;
isc_result_t result;
manager = isc_mem_get(mctx, sizeof *manager);
manager = isc_mem_get(mctx, sizeof(*manager));
if (manager == NULL)
return (ISC_R_NOMEMORY);
@@ -2008,6 +2048,7 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
manager->exiting = ISC_FALSE;
ISC_LIST_INIT(manager->active);
ISC_LIST_INIT(manager->inactive);
ISC_LIST_INIT(manager->recursing);
manager->magic = MANAGER_MAGIC;
MTRACE("create");
@@ -2017,7 +2058,7 @@ ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
return (ISC_R_SUCCESS);
cleanup_manager:
isc_mem_put(manager->mctx, manager, sizeof *manager);
isc_mem_put(manager->mctx, manager, sizeof(*manager));
return (result);
}
@@ -2038,6 +2079,11 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
manager->exiting = ISC_TRUE;
for (client = ISC_LIST_HEAD(manager->recursing);
client != NULL;
client = ISC_LIST_NEXT(client, link))
isc_task_shutdown(client->task);
for (client = ISC_LIST_HEAD(manager->active);
client != NULL;
client = ISC_LIST_NEXT(client, link))
@@ -2049,7 +2095,8 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) {
isc_task_shutdown(client->task);
if (ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive))
ISC_LIST_EMPTY(manager->inactive) &&
ISC_LIST_EMPTY(manager->recursing))
need_destroy = ISC_TRUE;
UNLOCK(&manager->lock);
@@ -2202,23 +2249,25 @@ ns_client_name(ns_client_t *client, char *peerbuf, size_t len) {
snprintf(peerbuf, len, "@%p", client);
}
static 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);
static void
void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap)
{
char msgbuf[2048];
char peerbuf[ISC_SOCKADDR_FORMATSIZE];
const char *name = "";
const char *sep = "";
vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap);
ns_client_name(client, peerbuf, sizeof peerbuf);
ns_client_name(client, peerbuf, sizeof(peerbuf));
if (client->view != NULL && strcmp(client->view->name, "_bind") != 0 &&
strcmp(client->view->name, "_default") != 0) {
name = client->view->name;
sep = ": view ";
}
isc_log_write(ns_g_lctx, category, module, level,
"client %s: %s", peerbuf, msgbuf);
"client %s%s%s: %s", peerbuf, sep, name, msgbuf);
}
void
@@ -2236,15 +2285,18 @@ ns_client_log(ns_client_t *client, isc_logcategory_t *category,
}
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
char *buf, size_t len)
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
dns_rdataclass_t rdclass, char *buf, size_t len)
{
char namebuf[DNS_NAME_FORMATSIZE];
char typebuf[DNS_RDATATYPE_FORMATSIZE];
char classbuf[DNS_RDATACLASS_FORMATSIZE];
dns_name_format(name, namebuf, sizeof(namebuf));
dns_rdatatype_format(type, typebuf, sizeof(typebuf));
dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf));
(void)snprintf(buf, len, "%s '%s/%s'", msg, namebuf, classbuf);
(void)snprintf(buf, len, "%s '%s/%s/%s'", msg, namebuf, typebuf,
classbuf);
}
static void
@@ -2281,3 +2333,34 @@ ns_client_dumpmessage(ns_client_t *client, const char *reason) {
if (buf != NULL)
isc_mem_put(client->mctx, buf, len);
}
void
ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
ns_client_t *client;
char namebuf[DNS_NAME_FORMATSIZE];
char peerbuf[ISC_SOCKADDR_FORMATSIZE];
const char *name;
const char *sep;
REQUIRE(VALID_MANAGER(manager));
LOCK(&manager->lock);
client = ISC_LIST_HEAD(manager->recursing);
while (client != NULL) {
ns_client_name(client, peerbuf, sizeof(peerbuf));
if (client->view != NULL &&
strcmp(client->view->name, "_bind") != 0 &&
strcmp(client->view->name, "_default") != 0) {
name = client->view->name;
sep = ": view ";
} else {
name = "";
sep = "";
}
dns_name_format(client->query.qname, namebuf, sizeof(namebuf));
fprintf(f, "; client %s%s%s: '%s' requesttime %d\n",
peerbuf, sep, name, namebuf, client->requesttime);
client = ISC_LIST_NEXT(client, link);
}
UNLOCK(&manager->lock);
}

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2002 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.11.2.9 2006/03/01 01:34:04 marka Exp $ */
/* $Id: config.c,v 1.11.2.4.8.29 2004/10/05 02:52:26 marka Exp $ */
#include <config.h>
@@ -30,11 +30,12 @@
#include <isc/sockaddr.h>
#include <isc/util.h>
#include <isccfg/cfg.h>
#include <isccfg/namedconf.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/rdatatype.h>
#include <dns/tsig.h>
#include <dns/zone.h>
@@ -66,6 +67,7 @@ options {\n\
# named-xfer <obsolete>;\n\
# pid-file \"" NS_LOCALSTATEDIR "/named.pid\"; /* or /lwresd.pid */\n\
port 53;\n\
recursing-file \"named.recursing\";\n\
"
#ifdef PATH_RANDOMDEV
"\
@@ -77,9 +79,11 @@ options {\n\
rrset-order {order cyclic;};\n\
serial-queries 20;\n\
serial-query-rate 20;\n\
server-id none;\n\
statistics-file \"named.stats\";\n\
statistics-interval 60;\n\
tcp-clients 100;\n\
tcp-listen-queue 3;\n\
# tkey-dhkey <none>\n\
# tkey-gssapi-credential <none>\n\
# tkey-domain <none>\n\
@@ -89,13 +93,13 @@ options {\n\
treat-cr-as-space true;\n\
use-id-pool true;\n\
use-ixfr true;\n\
version \""VERSION"\";\n\
edns-udp-size 4096;\n\
\n\
/* view */\n\
allow-notify {none;};\n\
allow-update-forwarding {none;};\n\
allow-recursion {any;};\n\
allow-v6-synthesis {none;};\n\
# allow-v6-synthesis <obsolete>;\n\
# sortlist <none>\n\
# topology <none>\n\
auth-nxdomain false;\n\
@@ -118,11 +122,13 @@ options {\n\
max-cache-ttl 604800; /* 1 week */\n\
transfer-format many-answers;\n\
max-cache-size 0;\n\
check-names master ignore;\n\
check-names slave ignore;\n\
check-names master fail;\n\
check-names slave warn;\n\
check-names response ignore;\n\
\n\
/* zone */\n\
dnssec-enable no; /* Make yes for 9.4. */ \n\
"
" /* zone */\n\
allow-query {any;};\n\
allow-transfer {any;};\n\
notify yes;\n\
@@ -134,6 +140,8 @@ options {\n\
# max-ixfr-log-size <obsolete>\n\
transfer-source *;\n\
transfer-source-v6 *;\n\
alt-transfer-source *;\n\
alt-transfer-source-v6 *;\n\
max-transfer-time-in 120;\n\
max-transfer-time-out 120;\n\
max-transfer-idle-in 60;\n\
@@ -142,9 +150,41 @@ options {\n\
min-retry-time 500;\n\
max-refresh-time 2419200; /* 4 weeks */\n\
min-refresh-time 300;\n\
multi-master no;\n\
sig-validity-interval 30; /* days */\n\
zone-statistics false;\n\
};";
max-journal-size unlimited;\n\
ixfr-from-differences false;\n\
};\n\
"
"#\n\
# Zones in the \"_bind\" view are NOT counted is the count of zones.\n\
#\n\
view \"_bind\" chaos {\n\
recursion no;\n\
notify no;\n\
\n\
zone \"version.bind\" chaos {\n\
type master;\n\
database \"_builtin version\";\n\
};\n\
\n\
zone \"hostname.bind\" chaos {\n\
type master;\n\
database \"_builtin hostname\";\n\
};\n\
\n\
zone \"authors.bind\" chaos {\n\
type master;\n\
database \"_builtin authors\";\n\
};\n\
zone \"id.server\" chaos {\n\
type master;\n\
database \"_builtin id\";\n\
};\n\
};\n\
";
isc_result_t
ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf) {
@@ -156,10 +196,10 @@ ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf) {
}
isc_result_t
ns_config_get(const cfg_obj_t **maps, const char* name, const cfg_obj_t **obj) {
ns_config_get(cfg_obj_t **maps, const char *name, cfg_obj_t **obj) {
int i;
for (i = 0; ; i++) {
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_R_NOTFOUND);
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
@@ -167,9 +207,44 @@ ns_config_get(const cfg_obj_t **maps, const char* name, const cfg_obj_t **obj) {
}
}
isc_result_t
ns_checknames_get(cfg_obj_t **maps, const char *which, cfg_obj_t **obj) {
cfg_listelt_t *element;
cfg_obj_t *checknames;
cfg_obj_t *type;
cfg_obj_t *value;
int i;
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_R_NOTFOUND);
checknames = NULL;
if (cfg_map_get(maps[i], "check-names", &checknames) == ISC_R_SUCCESS) {
/*
* Zone map entry is not a list.
*/
if (checknames != NULL && !cfg_obj_islist(checknames)) {
*obj = checknames;
return (ISC_R_SUCCESS);
}
for (element = cfg_list_first(checknames);
element != NULL;
element = cfg_list_next(element)) {
value = cfg_listelt_value(element);
type = cfg_tuple_get(value, "type");
if (strcasecmp(cfg_obj_asstring(type), which) == 0) {
*obj = cfg_tuple_get(value, "mode");
return (ISC_R_SUCCESS);
}
}
}
}
}
int
ns_config_listcount(const cfg_obj_t *list) {
const cfg_listelt_t *e;
ns_config_listcount(cfg_obj_t *list) {
cfg_listelt_t *e;
int i = 0;
for (e = cfg_list_first(list); e != NULL; e = cfg_list_next(e))
@@ -179,9 +254,9 @@ ns_config_listcount(const cfg_obj_t *list) {
}
isc_result_t
ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp) {
const char *str;
char *str;
isc_textregion_t r;
isc_result_t result;
@@ -190,7 +265,7 @@ ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
return (ISC_R_SUCCESS);
}
str = cfg_obj_asstring(classobj);
DE_CONST(str, r.base);
r.base = str;
r.length = strlen(str);
result = dns_rdataclass_fromtext(classp, &r);
if (result != ISC_R_SUCCESS)
@@ -199,10 +274,31 @@ ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
return (result);
}
isc_result_t
ns_config_gettype(cfg_obj_t *typeobj, dns_rdatatype_t deftype,
dns_rdatatype_t *typep) {
char *str;
isc_textregion_t r;
isc_result_t result;
if (!cfg_obj_isstring(typeobj)) {
*typep = deftype;
return (ISC_R_SUCCESS);
}
str = cfg_obj_asstring(typeobj);
r.base = str;
r.length = strlen(str);
result = dns_rdatatype_fromtext(typep, &r);
if (result != ISC_R_SUCCESS)
cfg_obj_log(typeobj, ns_g_lctx, ISC_LOG_ERROR,
"unknown type '%s'", str);
return (result);
}
dns_zonetype_t
ns_config_getzonetype(const cfg_obj_t *zonetypeobj) {
ns_config_getzonetype(cfg_obj_t *zonetypeobj) {
dns_zonetype_t ztype = dns_zone_none;
const char *str;
char *str;
str = cfg_obj_asstring(zonetypeobj);
if (strcasecmp(str, "master") == 0)
@@ -217,19 +313,20 @@ ns_config_getzonetype(const cfg_obj_t *zonetypeobj) {
}
isc_result_t
ns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
ns_config_getiplist(cfg_obj_t *config, cfg_obj_t *list,
in_port_t defport, isc_mem_t *mctx,
isc_sockaddr_t **addrsp, isc_uint32_t *countp)
{
int count, i = 0;
const cfg_obj_t *addrlist;
const cfg_obj_t *portobj;
const cfg_listelt_t *element;
cfg_obj_t *addrlist;
cfg_obj_t *portobj;
cfg_listelt_t *element;
isc_sockaddr_t *addrs;
in_port_t port;
isc_result_t result;
INSIST(addrsp != NULL && *addrsp == NULL);
INSIST(countp != NULL);
addrlist = cfg_tuple_get(list, "addresses");
count = ns_config_listcount(addrlist);
@@ -282,73 +379,197 @@ ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
*addrsp = NULL;
}
isc_result_t
ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
isc_mem_t *mctx, isc_sockaddr_t **addrsp,
dns_name_t ***keysp, isc_uint32_t *countp)
{
isc_uint32_t count, i = 0;
static isc_result_t
get_masters_def(cfg_obj_t *cctx, char *name, cfg_obj_t **ret) {
isc_result_t result;
const cfg_listelt_t *element;
const cfg_obj_t *addrlist;
const cfg_obj_t *portobj;
cfg_obj_t *masters = NULL;
cfg_listelt_t *elt;
result = cfg_map_get(cctx, "masters", &masters);
if (result != ISC_R_SUCCESS)
return (result);
for (elt = cfg_list_first(masters);
elt != NULL;
elt = cfg_list_next(elt)) {
cfg_obj_t *list;
const char *listname;
list = cfg_listelt_value(elt);
listname = cfg_obj_asstring(cfg_tuple_get(list, "name"));
if (strcasecmp(listname, name) == 0) {
*ret = list;
return (ISC_R_SUCCESS);
}
}
return (ISC_R_NOTFOUND);
}
isc_result_t
ns_config_getipandkeylist(cfg_obj_t *config, cfg_obj_t *list, isc_mem_t *mctx,
isc_sockaddr_t **addrsp, dns_name_t ***keysp,
isc_uint32_t *countp)
{
isc_uint32_t addrcount = 0, keycount = 0, i = 0;
isc_uint32_t listcount = 0, l = 0, j;
isc_uint32_t stackcount = 0, pushed = 0;
isc_result_t result;
cfg_listelt_t *element;
cfg_obj_t *addrlist;
cfg_obj_t *portobj;
in_port_t port;
dns_fixedname_t fname;
isc_sockaddr_t *addrs = NULL;
dns_name_t **keys = NULL;
char **lists = NULL;
struct {
cfg_listelt_t *element;
in_port_t port;
} *stack = NULL;
INSIST(addrsp != NULL && *addrsp == NULL);
REQUIRE(addrsp != NULL && *addrsp == NULL);
REQUIRE(keysp != NULL && *keysp == NULL);
REQUIRE(countp != NULL);
newlist:
addrlist = cfg_tuple_get(list, "addresses");
count = ns_config_listcount(addrlist);
portobj = cfg_tuple_get(list, "port");
if (cfg_obj_isuint32(portobj)) {
isc_uint32_t val = cfg_obj_asuint32(portobj);
if (val > ISC_UINT16_MAX) {
cfg_obj_log(portobj, ns_g_lctx, ISC_LOG_ERROR,
"port '%u' out of range", val);
result = ISC_R_RANGE;
goto cleanup;
return (ISC_R_RANGE);
}
port = (in_port_t) val;
} else {
result = ns_config_getport(config, &port);
if (result != ISC_R_SUCCESS)
goto cleanup;
return (result);
}
result = ISC_R_NOMEMORY;
addrs = isc_mem_get(mctx, count * sizeof(isc_sockaddr_t));
if (addrs == NULL)
goto cleanup;
keys = isc_mem_get(mctx, count * sizeof(dns_name_t *));
if (keys == NULL)
goto cleanup;
for (element = cfg_list_first(addrlist);
element = cfg_list_first(addrlist);
resume:
for ( ;
element != NULL;
element = cfg_list_next(element), i++)
element = cfg_list_next(element))
{
const cfg_obj_t *addr;
const cfg_obj_t *key;
const char *keystr;
cfg_obj_t *addr;
cfg_obj_t *key;
char *keystr;
isc_buffer_t b;
INSIST(i < count);
addr = cfg_tuple_get(cfg_listelt_value(element), "sockaddr");
addr = cfg_tuple_get(cfg_listelt_value(element),
"masterselement");
key = cfg_tuple_get(cfg_listelt_value(element), "key");
if (!cfg_obj_issockaddr(addr)) {
char *listname = cfg_obj_asstring(addr);
isc_result_t tresult;
/* Grow lists? */
if (listcount == l) {
void * new;
isc_uint32_t newlen = listcount + 16;
size_t newsize, oldsize;
newsize = newlen * sizeof(*lists);
oldsize = listcount * sizeof(*lists);
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
if (listcount != 0) {
memcpy(new, lists, oldsize);
isc_mem_put(mctx, lists, oldsize);
}
lists = new;
listcount = newlen;
}
/* Seen? */
for (j = 0; j < l; j++)
if (strcasecmp(lists[j], listname) == 0)
break;
if (j < l)
continue;
tresult = get_masters_def(config, listname, &list);
if (tresult == ISC_R_NOTFOUND) {
cfg_obj_log(addr, ns_g_lctx, ISC_LOG_ERROR,
"masters \"%s\" not found", listname);
result = tresult;
goto cleanup;
}
if (tresult != ISC_R_SUCCESS)
goto cleanup;
lists[l++] = listname;
/* Grow stack? */
if (stackcount == pushed) {
void * new;
isc_uint32_t newlen = stackcount + 16;
size_t newsize, oldsize;
newsize = newlen * sizeof(*stack);
oldsize = stackcount * sizeof(*stack);
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
if (stackcount != 0) {
memcpy(new, stack, oldsize);
isc_mem_put(mctx, stack, oldsize);
}
stack = new;
stackcount = newlen;
}
/*
* We want to resume processing this list on the
* next element.
*/
stack[pushed].element = cfg_list_next(element);
stack[pushed].port = port;
pushed++;
goto newlist;
}
if (i == addrcount) {
void * new;
isc_uint32_t newlen = addrcount + 16;
size_t newsize, oldsize;
newsize = newlen * sizeof(isc_sockaddr_t);
oldsize = addrcount * sizeof(isc_sockaddr_t);
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
if (addrcount != 0) {
memcpy(new, addrs, oldsize);
isc_mem_put(mctx, addrs, oldsize);
}
addrs = new;
addrcount = newlen;
newsize = newlen * sizeof(dns_name_t *);
oldsize = keycount * sizeof(dns_name_t *);
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
if (keycount != 0) {
memcpy(new, keys, oldsize);
isc_mem_put(mctx, keys, oldsize);
}
keys = new;
keycount = newlen;
}
addrs[i] = *cfg_obj_assockaddr(addr);
if (isc_sockaddr_getport(&addrs[i]) == 0)
isc_sockaddr_setport(&addrs[i], port);
keys[i] = NULL;
if (!cfg_obj_isstring(key))
if (!cfg_obj_isstring(key)) {
i++;
continue;
}
keys[i] = isc_mem_get(mctx, sizeof(dns_name_t));
if (keys[i] == NULL)
goto cleanup;
@@ -366,29 +587,75 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
keys[i]);
if (result != ISC_R_SUCCESS)
goto cleanup;
i++;
}
INSIST(i == count);
if (pushed != 0) {
pushed--;
element = stack[pushed].element;
port = stack[pushed].port;
goto resume;
}
if (i < addrcount) {
void * new;
size_t newsize, oldsize;
newsize = i * sizeof(isc_sockaddr_t);
oldsize = addrcount * sizeof(isc_sockaddr_t);
if (i != 0) {
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
memcpy(new, addrs, newsize);
isc_mem_put(mctx, addrs, oldsize);
} else
new = NULL;
addrs = new;
addrcount = i;
newsize = i * sizeof(dns_name_t *);
oldsize = keycount * sizeof(dns_name_t *);
if (i != 0) {
new = isc_mem_get(mctx, newsize);
if (new == NULL)
goto cleanup;
memcpy(new, keys, newsize);
isc_mem_put(mctx, keys, oldsize);
} else
new = NULL;
keys = new;
keycount = i;
}
if (lists != NULL)
isc_mem_put(mctx, lists, listcount * sizeof(*lists));
if (stack != NULL)
isc_mem_put(mctx, stack, stackcount * sizeof(*stack));
INSIST(keycount == addrcount);
*addrsp = addrs;
*keysp = keys;
*countp = count;
*countp = addrcount;
return (ISC_R_SUCCESS);
cleanup:
if (addrs != NULL)
isc_mem_put(mctx, addrs, count * sizeof(isc_sockaddr_t));
isc_mem_put(mctx, addrs, addrcount * sizeof(isc_sockaddr_t));
if (keys != NULL) {
unsigned int j;
for (j = 0 ; j <= i; j++) {
for (j = 0; j <= i; j++) {
if (keys[j] == NULL)
continue;
if (dns_name_dynamic(keys[j]))
dns_name_free(keys[j], mctx);
isc_mem_put(mctx, keys[j], sizeof(dns_name_t));
}
isc_mem_put(mctx, keys, count * sizeof(dns_name_t *));
isc_mem_put(mctx, keys, keycount * sizeof(dns_name_t *));
}
if (lists != NULL)
isc_mem_put(mctx, lists, listcount * sizeof(*lists));
if (stack != NULL)
isc_mem_put(mctx, stack, stackcount * sizeof(*stack));
return (result);
}
@@ -415,14 +682,14 @@ ns_config_putipandkeylist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
}
isc_result_t
ns_config_getport(const cfg_obj_t *config, in_port_t *portp) {
const cfg_obj_t *maps[3];
const cfg_obj_t *options = NULL;
const cfg_obj_t *portobj = NULL;
ns_config_getport(cfg_obj_t *config, in_port_t *portp) {
cfg_obj_t *maps[3];
cfg_obj_t *options = NULL;
cfg_obj_t *portobj = NULL;
isc_result_t result;
int i;
cfg_map_get(config, "options", &options);
(void)cfg_map_get(config, "options", &options);
i = 0;
if (options != NULL)
maps[i++] = options;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
* Copyright (C) 2001-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.c,v 1.7.2.6 2005/04/07 02:22:08 marka Exp $ */
/* $Id: control.c,v 1.7.2.2.2.14 2005/04/29 01:04:47 marka Exp $ */
#include <config.h>
@@ -24,6 +24,7 @@
#include <isc/app.h>
#include <isc/event.h>
#include <isc/mem.h>
#include <isc/timer.h>
#include <isc/util.h>
#include <dns/result.h>
@@ -34,6 +35,7 @@
#include <named/control.h>
#include <named/log.h>
#include <named/os.h>
#include <named/server.h>
#ifdef HAVE_LIBSCF
#include <named/ns_smf_globals.h>
@@ -60,7 +62,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
char *command;
isc_result_t result;
#ifdef HAVE_LIBSCF
char *instance = NULL;
ns_smf_want_disable = 0;
#endif
data = isccc_alist_lookup(message, "_data");
@@ -88,11 +90,13 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
* Compare the 'command' parameter against all known control commands.
*/
if (command_compare(command, NS_COMMAND_RELOAD)) {
result = ns_server_reloadcommand(ns_g_server, command);
result = ns_server_reloadcommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_RECONFIG)) {
result = ns_server_reconfigcommand(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_REFRESH)) {
result = ns_server_refreshcommand(ns_g_server, command);
result = ns_server_refreshcommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_RETRANSFER)) {
result = ns_server_retransfercommand(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_HALT)) {
#ifdef HAVE_LIBSCF
/*
@@ -108,17 +112,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
* If we are managed by smf(5) but not in chroot,
* try to disable ourselves the smf way.
*/
if (ns_smf_got_instance == 1 && ns_smf_chroot == 0) {
result = ns_smf_get_instance(&instance, 1, ns_g_mctx);
if (result == ISC_R_SUCCESS && instance != NULL) {
ns_server_flushonshutdown(ns_g_server,
ISC_FALSE);
result = ns_smf_disable(instance);
}
if (instance != NULL)
isc_mem_free(ns_g_mctx, instance);
return (result);
}
if (ns_smf_got_instance == 1 && ns_smf_chroot == 0)
ns_smf_want_disable = 1;
/*
* If ns_smf_got_instance = 0, ns_smf_chroot
* is not relevant and we fall through to
@@ -126,6 +121,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
*/
#endif
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)) {
@@ -134,19 +130,11 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
result = ns_smf_add_message(text);
return (result);
}
if (ns_smf_got_instance == 1 && ns_smf_chroot == 0) {
result = ns_smf_get_instance(&instance, 1, ns_g_mctx);
if (result == ISC_R_SUCCESS && instance != NULL) {
ns_server_flushonshutdown(ns_g_server,
ISC_TRUE);
result = ns_smf_disable(instance);
}
if (instance != NULL)
isc_mem_free(ns_g_mctx, instance);
return (result);
}
if (ns_smf_got_instance == 1 && ns_smf_chroot == 0)
ns_smf_want_disable = 1;
#endif
ns_server_flushonshutdown(ns_g_server, ISC_TRUE);
ns_os_shutdownmsg(command, text);
isc_app_shutdown();
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_DUMPSTATS)) {
@@ -154,7 +142,7 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
} else if (command_compare(command, NS_COMMAND_QUERYLOG)) {
result = ns_server_togglequerylog(ns_g_server);
} else if (command_compare(command, NS_COMMAND_DUMPDB)) {
ns_server_dumpdb(ns_g_server);
ns_server_dumpdb(ns_g_server, command);
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_TRACE)) {
result = ns_server_setdebuglevel(ns_g_server, command);
@@ -164,8 +152,17 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
result = ISC_R_SUCCESS;
} 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);
} else if (command_compare(command, NS_COMMAND_STATUS)) {
result = ns_server_status(ns_g_server, text);
} else if (command_compare(command, NS_COMMAND_FREEZE)) {
result = ns_server_freeze(ns_g_server, ISC_TRUE, command);
} else if (command_compare(command, NS_COMMAND_UNFREEZE) ||
command_compare(command, NS_COMMAND_THAW)) {
result = ns_server_freeze(ns_g_server, ISC_FALSE, command);
} else if (command_compare(command, NS_COMMAND_RECURSING)) {
result = ns_server_dumprecursing(ns_g_server);
} else if (command_compare(command, NS_COMMAND_NULL)) {
result = ISC_R_SUCCESS;
} else {

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 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
@@ -15,29 +15,26 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.28.2.14 2006/03/01 01:34:05 marka Exp $ */
/* $Id: controlconf.c,v 1.28.2.9.2.6 2004/03/08 09:04:14 marka Exp $ */
#include <config.h>
#include <isc/base64.h>
#include <isc/buffer.h>
#include <isc/event.h>
#include <isc/file.h>
#include <isc/fsaccess.h>
#include <isc/mem.h>
#include <isc/net.h>
#include <isc/netaddr.h>
#include <isc/print.h>
#include <isc/random.h>
#include <isc/result.h>
#include <isc/stdio.h>
#include <isc/stdtime.h>
#include <isc/string.h>
#include <isc/timer.h>
#include <isc/util.h>
#include <isccfg/cfg.h>
#include <isccfg/check.h>
#include <isccfg/namedconf.h>
#include <bind9/check.h>
#include <isccc/alist.h>
#include <isccc/cc.h>
@@ -48,11 +45,8 @@
#include <isccc/symtab.h>
#include <isccc/util.h>
#include <dns/keyvalues.h>
#include <dns/result.h>
#include <dst/dst.h>
#include <named/config.h>
#include <named/control.h>
#include <named/log.h>
@@ -362,9 +356,6 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
{
ccregion.rstart = isc_buffer_base(&conn->ccmsg.buffer);
ccregion.rend = isc_buffer_used(&conn->ccmsg.buffer);
if (secret.rstart != NULL)
isc_mem_put(listener->mctx, secret.rstart,
REGION_SIZE(secret));
secret.rstart = isc_mem_get(listener->mctx, key->secret.length);
if (secret.rstart == NULL)
goto cleanup;
@@ -380,6 +371,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
*/
if (request != NULL)
isccc_sexpr_free(&request);
isc_mem_put(listener->mctx, secret.rstart,
REGION_SIZE(secret));
} else {
log_invalid(&conn->ccmsg, result);
goto cleanup;
@@ -656,12 +649,10 @@ ns_controls_shutdown(ns_controls_t *controls) {
}
static isc_result_t
cfgkeylist_find(const cfg_obj_t *keylist, const char *keyname,
const cfg_obj_t **objp)
{
const cfg_listelt_t *element;
cfgkeylist_find(cfg_obj_t *keylist, const char *keyname, cfg_obj_t **objp) {
cfg_listelt_t *element;
const char *str;
const cfg_obj_t *obj;
cfg_obj_t *obj;
for (element = cfg_list_first(keylist);
element != NULL;
@@ -680,13 +671,13 @@ cfgkeylist_find(const cfg_obj_t *keylist, const char *keyname,
}
static isc_result_t
controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,
controlkeylist_fromcfg(cfg_obj_t *keylist, isc_mem_t *mctx,
controlkeylist_t *keyids)
{
const cfg_listelt_t *element;
cfg_listelt_t *element;
char *newstr = NULL;
const char *str;
const cfg_obj_t *obj;
cfg_obj_t *obj;
controlkey_t *key = NULL;
for (element = cfg_list_first(keylist);
@@ -721,11 +712,11 @@ controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,
}
static void
register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,
register_keys(cfg_obj_t *control, cfg_obj_t *keylist,
controlkeylist_t *keyids, isc_mem_t *mctx, const char *socktext)
{
controlkey_t *keyid, *next;
const cfg_obj_t *keydef;
cfg_obj_t *keydef;
char secret[1024];
isc_buffer_t b;
isc_result_t result;
@@ -745,10 +736,10 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,
ISC_LIST_UNLINK(*keyids, keyid, link);
free_controlkey(keyid, mctx);
} else {
const cfg_obj_t *algobj = NULL;
const cfg_obj_t *secretobj = NULL;
const char *algstr = NULL;
const char *secretstr = NULL;
cfg_obj_t *algobj = NULL;
cfg_obj_t *secretobj = NULL;
char *algstr = NULL;
char *secretstr = NULL;
(void)cfg_map_get(keydef, "algorithm", &algobj);
(void)cfg_map_get(keydef, "secret", &secretobj);
@@ -814,11 +805,11 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
isc_result_t result;
cfg_parser_t *pctx = NULL;
cfg_obj_t *config = NULL;
const cfg_obj_t *key = NULL;
const cfg_obj_t *algobj = NULL;
const cfg_obj_t *secretobj = NULL;
const char *algstr = NULL;
const char *secretstr = NULL;
cfg_obj_t *key = NULL;
cfg_obj_t *algobj = NULL;
cfg_obj_t *secretobj = NULL;
char *algstr = NULL;
char *secretstr = NULL;
controlkey_t *keyid = NULL;
char secret[1024];
isc_buffer_t b;
@@ -838,7 +829,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
if (keyid->keyname == NULL)
CHECK(ISC_R_NOMEMORY);
CHECK(cfg_check_key(key, ns_g_lctx));
CHECK(bind9_check_key(key, ns_g_lctx));
(void)cfg_map_get(key, "algorithm", &algobj);
(void)cfg_map_get(key, "secret", &secretobj);
@@ -897,13 +888,12 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
* valid or both are NULL.
*/
static void
get_key_info(const cfg_obj_t *config, const cfg_obj_t *control,
const cfg_obj_t **global_keylistp,
const cfg_obj_t **control_keylistp)
get_key_info(cfg_obj_t *config, cfg_obj_t *control,
cfg_obj_t **global_keylistp, cfg_obj_t **control_keylistp)
{
isc_result_t result;
const cfg_obj_t *control_keylist = NULL;
const cfg_obj_t *global_keylist = NULL;
cfg_obj_t *control_keylist = NULL;
cfg_obj_t *global_keylist = NULL;
REQUIRE(global_keylistp != NULL && *global_keylistp == NULL);
REQUIRE(control_keylistp != NULL && *control_keylistp == NULL);
@@ -922,15 +912,15 @@ get_key_info(const cfg_obj_t *config, const cfg_obj_t *control,
}
static void
update_listener(ns_controls_t *cp, controllistener_t **listenerp,
const cfg_obj_t *control, const cfg_obj_t *config,
isc_sockaddr_t *addr, ns_aclconfctx_t *aclconfctx,
const char *socktext)
update_listener(ns_controls_t *cp,
controllistener_t **listenerp, cfg_obj_t *control,
cfg_obj_t *config, isc_sockaddr_t *addr,
ns_aclconfctx_t *aclconfctx, const char *socktext)
{
controllistener_t *listener;
const cfg_obj_t *allow;
const cfg_obj_t *global_keylist = NULL;
const cfg_obj_t *control_keylist = NULL;
cfg_obj_t *allow;
cfg_obj_t *global_keylist = NULL;
cfg_obj_t *control_keylist = NULL;
dns_acl_t *new_acl = NULL;
controlkeylist_t keys;
isc_result_t result = ISC_R_SUCCESS;
@@ -987,25 +977,18 @@ update_listener(ns_controls_t *cp, controllistener_t **listenerp,
result = get_rndckey(listener->mctx, &listener->keys);
}
if (result != ISC_R_SUCCESS && global_keylist != NULL) {
if (result != ISC_R_SUCCESS && global_keylist != NULL)
/*
* This message might be a little misleading since the
* "new keys" might in fact be identical to the old ones,
* but tracking whether they are identical just for the
* sake of avoiding this message would be too much trouble.
*/
if (control != NULL)
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't install new keys for "
"command channel %s: %s",
socktext, isc_result_totext(result));
else
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
"couldn't install new keys for "
"command channel %s: %s",
socktext, isc_result_totext(result));
}
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't install new keys for "
"command channel %s: %s",
socktext, isc_result_totext(result));
/*
* Now, keep the old access list unless a new one can be made.
@@ -1022,33 +1005,26 @@ update_listener(ns_controls_t *cp, controllistener_t **listenerp,
dns_acl_detach(&listener->acl);
dns_acl_attach(new_acl, &listener->acl);
dns_acl_detach(&new_acl);
} else
/* XXXDCL say the old acl is still used? */
} else if (control != NULL)
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't install new acl for "
"command channel %s: %s",
socktext, isc_result_totext(result));
else
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
"couldn't install new acl for "
"command channel %s: %s",
socktext, isc_result_totext(result));
*listenerp = listener;
}
static void
add_listener(ns_controls_t *cp, controllistener_t **listenerp,
const cfg_obj_t *control, const cfg_obj_t *config,
isc_sockaddr_t *addr, ns_aclconfctx_t *aclconfctx,
const char *socktext)
cfg_obj_t *control, cfg_obj_t *config, isc_sockaddr_t *addr,
ns_aclconfctx_t *aclconfctx, const char *socktext)
{
isc_mem_t *mctx = cp->server->mctx;
controllistener_t *listener;
const cfg_obj_t *allow;
const cfg_obj_t *global_keylist = NULL;
const cfg_obj_t *control_keylist = NULL;
cfg_obj_t *allow;
cfg_obj_t *global_keylist = NULL;
cfg_obj_t *control_keylist = NULL;
dns_acl_t *new_acl = NULL;
isc_result_t result = ISC_R_SUCCESS;
@@ -1159,13 +1135,13 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
}
isc_result_t
ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
ns_controls_configure(ns_controls_t *cp, cfg_obj_t *config,
ns_aclconfctx_t *aclconfctx)
{
controllistener_t *listener;
controllistenerlist_t new_listeners;
const cfg_obj_t *controlslist = NULL;
const cfg_listelt_t *element, *element2;
cfg_obj_t *controlslist = NULL;
cfg_listelt_t *element, *element2;
char socktext[ISC_SOCKADDR_FORMATSIZE];
ISC_LIST_INIT(new_listeners);
@@ -1187,8 +1163,8 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
for (element = cfg_list_first(controlslist);
element != NULL;
element = cfg_list_next(element)) {
const cfg_obj_t *controls;
const cfg_obj_t *inetcontrols = NULL;
cfg_obj_t *controls;
cfg_obj_t *inetcontrols = NULL;
controls = cfg_listelt_value(element);
(void)cfg_map_get(controls, "inet", &inetcontrols);
@@ -1198,9 +1174,9 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
for (element2 = cfg_list_first(inetcontrols);
element2 != NULL;
element2 = cfg_list_next(element2)) {
const cfg_obj_t *control;
const cfg_obj_t *obj;
isc_sockaddr_t addr;
cfg_obj_t *control;
cfg_obj_t *obj;
isc_sockaddr_t *addr;
/*
* The parser handles BIND 8 configuration file
@@ -1213,12 +1189,12 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
control = cfg_listelt_value(element2);
obj = cfg_tuple_get(control, "address");
addr = *cfg_obj_assockaddr(obj);
if (isc_sockaddr_getport(&addr) == 0)
isc_sockaddr_setport(&addr,
addr = cfg_obj_assockaddr(obj);
if (isc_sockaddr_getport(addr) == 0)
isc_sockaddr_setport(addr,
NS_CONTROL_PORT);
isc_sockaddr_format(&addr, socktext,
isc_sockaddr_format(addr, socktext,
sizeof(socktext));
isc_log_write(ns_g_lctx,
@@ -1229,7 +1205,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
socktext);
update_listener(cp, &listener, control, config,
&addr, aclconfctx, socktext);
addr, aclconfctx, socktext);
if (listener != NULL)
/*
@@ -1243,7 +1219,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
* This is a new listener.
*/
add_listener(cp, &listener, control,
config, &addr, aclconfctx,
config, addr, aclconfctx,
socktext);
if (listener != NULL)

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: aclconf.h,v 1.12.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: aclconf.h,v 1.12.208.1 2004/03/06 10:21:23 marka Exp $ */
#ifndef NS_ACLCONF_H
#define NS_ACLCONF_H 1
@@ -49,8 +49,8 @@ ns_aclconfctx_destroy(ns_aclconfctx_t *ctx);
*/
isc_result_t
ns_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
ns_acl_fromconfig(cfg_obj_t *caml,
cfg_obj_t *cctx,
ns_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target);

View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001 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.
*/
/* $Id: builtin.h,v 1.1.204.3 2004/03/08 04:04:20 marka Exp $ */
#ifndef NAMED_BUILTIN_H
#define NAMED_BUILTIN_H 1
#include <isc/types.h>
isc_result_t ns_builtin_init(void);
void ns_builtin_deinit(void);
#endif /* NAMED_BUILTIN_H */

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.h,v 1.60.2.4 2004/07/23 02:57:01 marka Exp $ */
/* $Id: client.h,v 1.60.2.2.10.10 2005/07/29 00:13:08 marka Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -68,10 +68,13 @@
#include <isc/stdtime.h>
#include <isc/quota.h>
#include <dns/name.h>
#include <dns/types.h>
#include <dns/tcpmsg.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 <named/types.h>
#include <named/query.h>
@@ -154,6 +157,8 @@ struct ns_client {
#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 */
#define NS_CLIENTATTR_WANTDNSSEC 0x10 /* include dnssec records */
/***
*** Functions
@@ -305,7 +310,34 @@ ns_client_log(ns_client_t *client, isc_logcategory_t *category,
const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
char *buf, size_t len);
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 recursing list. If 'killoldest' is true
* kill the oldest recursive client (list head).
*/
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'.
*/
#endif /* NAMED_CLIENT_H */

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.h,v 1.4.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: config.h,v 1.4.12.4 2004/04/20 14:12:10 marka Exp $ */
#ifndef NAMED_CONFIG_H
#define NAMED_CONFIG_H 1
@@ -29,20 +29,27 @@ isc_result_t
ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
isc_result_t
ns_config_get(const cfg_obj_t **maps, const char* name, const cfg_obj_t **obj);
ns_config_get(cfg_obj_t **maps, const char* name, cfg_obj_t **obj);
isc_result_t
ns_checknames_get(cfg_obj_t **maps, const char* name, cfg_obj_t **obj);
int
ns_config_listcount(const cfg_obj_t *list);
ns_config_listcount(cfg_obj_t *list);
isc_result_t
ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp);
isc_result_t
ns_config_gettype(cfg_obj_t *typeobj, dns_rdatatype_t deftype,
dns_rdatatype_t *typep);
dns_zonetype_t
ns_config_getzonetype(const cfg_obj_t *zonetypeobj);
ns_config_getzonetype(cfg_obj_t *zonetypeobj);
isc_result_t
ns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
ns_config_getiplist(cfg_obj_t *config, cfg_obj_t *list,
in_port_t defport, isc_mem_t *mctx,
isc_sockaddr_t **addrsp, isc_uint32_t *countp);
@@ -51,16 +58,16 @@ ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
isc_uint32_t count);
isc_result_t
ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
isc_mem_t *mctx, isc_sockaddr_t **addrsp,
dns_name_t ***keys, isc_uint32_t *countp);
ns_config_getipandkeylist(cfg_obj_t *config, cfg_obj_t *list, isc_mem_t *mctx,
isc_sockaddr_t **addrsp, dns_name_t ***keys,
isc_uint32_t *countp);
void
ns_config_putipandkeylist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
dns_name_t ***keys, isc_uint32_t count);
isc_result_t
ns_config_getport(const cfg_obj_t *config, in_port_t *portp);
ns_config_getport(cfg_obj_t *config, in_port_t *portp);
isc_result_t
ns_config_getkeyalgorithm(const char *str, dns_name_t **name);

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.h,v 1.6.2.5 2006/03/02 00:37:17 marka Exp $ */
/* $Id: control.h,v 1.6.2.2.2.7 2004/09/03 03:43:32 marka Exp $ */
#ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1
@@ -36,13 +36,19 @@
#define NS_COMMAND_RELOAD "reload"
#define NS_COMMAND_RECONFIG "reconfig"
#define NS_COMMAND_REFRESH "refresh"
#define NS_COMMAND_RETRANSFER "retransfer"
#define NS_COMMAND_DUMPSTATS "stats"
#define NS_COMMAND_QUERYLOG "querylog"
#define NS_COMMAND_DUMPDB "dumpdb"
#define NS_COMMAND_TRACE "trace"
#define NS_COMMAND_NOTRACE "notrace"
#define NS_COMMAND_FLUSH "flush"
#define NS_COMMAND_FLUSHNAME "flushname"
#define NS_COMMAND_STATUS "status"
#define NS_COMMAND_FREEZE "freeze"
#define NS_COMMAND_UNFREEZE "unfreeze"
#define NS_COMMAND_THAW "thaw"
#define NS_COMMAND_RECURSING "recursing"
#define NS_COMMAND_NULL "null"
isc_result_t
@@ -61,7 +67,7 @@ ns_controls_destroy(ns_controls_t **ctrlsp);
*/
isc_result_t
ns_controls_configure(ns_controls_t *controls, const cfg_obj_t *config,
ns_controls_configure(ns_controls_t *controls, cfg_obj_t *config,
ns_aclconfctx_t *aclconfctx);
/*
* Configure zero or more command channels into 'controls'

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: globals.h,v 1.59.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: globals.h,v 1.59.68.5 2004/03/08 04:04:20 marka Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
@@ -45,6 +45,8 @@ 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);
/*
* XXXRTH We're going to want multiple timer managers eventually. One
* for really short timers, another for client timers, and one
@@ -73,7 +75,7 @@ EXTERN unsigned int ns_g_debuglevel INIT(0);
* Current configuration information.
*/
EXTERN cfg_obj_t * ns_g_config INIT(NULL);
EXTERN const cfg_obj_t * ns_g_defaults INIT(NULL);
EXTERN cfg_obj_t * ns_g_defaults INIT(NULL);
EXTERN const char * ns_g_conffile INIT(NS_SYSCONFDIR
"/named.conf");
EXTERN const char * ns_g_keyfile INIT(NS_SYSCONFDIR
@@ -84,6 +86,7 @@ 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.
@@ -107,6 +110,8 @@ EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/lwresd.pid");
EXTERN const char * ns_g_username INIT(NULL);
EXTERN int ns_g_listen INIT(3);
#undef EXTERN
#undef INIT

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 1999-2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.h,v 1.23.2.1 2004/03/09 06:09:21 marka Exp $ */
/* $Id: interfacemgr.h,v 1.23.24.7 2004/04/29 01:31:22 marka Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -65,6 +65,8 @@
#define IFACE_MAGIC ISC_MAGIC('I',':','-',')')
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
#define NS_INTERFACEFLAG_ANYADDR 0x01U /* bound to "any" address */
struct ns_interface {
unsigned int magic; /* Magic number. */
ns_interfacemgr_t * mgr; /* Interface manager. */
@@ -72,6 +74,7 @@ struct ns_interface {
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. */
@@ -120,6 +123,20 @@ 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);
/*
@@ -150,4 +167,7 @@ ns_interface_shutdown(ns_interface_t *ifp);
* May safely be called multiple times.
*/
void
ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr);
#endif /* NAMED_INTERFACEMGR_H */

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: listenlist.h,v 1.10.2.1 2004/03/09 06:09:21 marka Exp $ */
/* $Id: listenlist.h,v 1.10.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LISTENLIST_H
#define NAMED_LISTENLIST_H 1

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
* Copyright (C) 1999-2002 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
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: log.h,v 1.19.2.1 2004/03/09 06:09:22 marka Exp $ */
/* $Id: log.h,v 1.19.12.3 2004/03/08 04:04:21 marka Exp $ */
#ifndef NAMED_LOG_H
#define NAMED_LOG_H 1
@@ -33,6 +33,7 @@
#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])
/*
* Backwards compatibility.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: logconf.h,v 1.10.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: logconf.h,v 1.10.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LOGCONF_H
#define NAMED_LOGCONF_H 1
@@ -23,7 +23,7 @@
#include <isc/log.h>
isc_result_t
ns_log_configure(isc_logconfig_t *logconf, const cfg_obj_t *logstmt);
ns_log_configure(isc_logconfig_t *logconf, cfg_obj_t *logstmt);
/*
* Set up the logging configuration in '*logconf' according to
* the named.conf data in 'logstmt'.

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwaddr.h,v 1.3.2.1 2004/03/09 06:09:22 marka Exp $ */
/* $Id: lwaddr.h,v 1.3.208.1 2004/03/06 10:21:24 marka Exp $ */
#include <lwres/lwres.h>
#include <lwres/net.h>

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwdclient.h,v 1.13.2.1 2004/03/09 06:09:22 marka Exp $ */
/* $Id: lwdclient.h,v 1.13.208.1 2004/03/06 10:21:24 marka Exp $ */
#ifndef NAMED_LWDCLIENT_H
#define NAMED_LWDCLIENT_H 1

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwresd.h,v 1.12.2.3 2006/03/02 00:37:17 marka Exp $ */
/* $Id: lwresd.h,v 1.12.208.1 2004/03/06 10:21:25 marka Exp $ */
#ifndef NAMED_LWRESD_H
#define NAMED_LWRESD_H 1
@@ -56,7 +56,7 @@ struct ns_lwreslistener {
* Configure lwresd.
*/
isc_result_t
ns_lwresd_configure(isc_mem_t *mctx, const cfg_obj_t *config);
ns_lwresd_configure(isc_mem_t *mctx, cfg_obj_t *config);
isc_result_t
ns_lwresd_parseeresolvconf(isc_mem_t *mctx, cfg_parser_t *pctx,
@@ -72,8 +72,7 @@ ns_lwresd_shutdown(void);
* Manager functions
*/
isc_result_t
ns_lwdmanager_create(isc_mem_t *mctx, const cfg_obj_t *lwres,
ns_lwresd_t **lwresdp);
ns_lwdmanager_create(isc_mem_t *mctx, cfg_obj_t *lwres, ns_lwresd_t **lwresdp);
void
ns_lwdmanager_attach(ns_lwresd_t *source, ns_lwresd_t **targetp);

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