Compare commits

...

1898 Commits

Author SHA1 Message Date
Mark Andrews
a7637b7db7 9.2.0 2007-09-20 01:22:18 +00:00
Mark Andrews
457410a26c 9.2.9rc1 2007-08-29 04:02:47 +00:00
Mark Andrews
89ddae72f0 9.2.9rc1 2007-08-29 03:30:45 +00:00
Mark Andrews
18e6143d25 regen 2007-08-29 03:29:18 +00:00
Automatic Updater
dbfff653bf update copyright notice 2007-08-28 07:18:19 +00:00
Mark Andrews
f10757ea16 9.2.9rc1 2007-08-28 07:14:54 +00:00
Mark Andrews
b3371ede92 2221. [bug] Set the event result code to reflect the actual
record returned to caller when a cache update is
                        rejected due to a more credible answer existing.
                        [RT #17017]
2007-08-28 02:33:20 +00:00
Mark Andrews
19618d7274 incremental and/or conversion for old branches 2007-08-28 02:13:52 +00:00
Mark Andrews
67d9451466 2220. [bug] win32: Address a race condition in final shutdown of
the Windows socket code. [RT #17028]
2007-08-28 00:42:27 +00:00
Automatic Updater
0405b61364 update copyright notice 2007-08-27 23:45:25 +00:00
Automatic Updater
3b83d4f4db newcopyrights 2007-08-27 23:30:04 +00:00
Mark Andrews
2497f7dcf6 2218. [bug] Remove unnecessary REQUIRE from dns_validator_create().
[RT #16976]
2007-08-27 04:47:40 +00:00
Mark Andrews
6224164cbd 2214. [bug] Deregister OpenSSL lock callback when cleaning
up. [RT #17098]
2007-08-27 03:15:14 +00:00
Mark Andrews
1fcfbb18ef 2210. [bug] Deleting class specific records via UPDATE could
fail.  [RT #17074]
2007-08-14 00:32:13 +00:00
Mark Andrews
4be0ef79e0 2209. [port] osx: linking against user supplied static OpenSSL
libraries failed as the system ones were still being
                        found. [RT #17078]
2007-08-14 00:21:52 +00:00
Mark Andrews
c4db1740f2 Run Message Compiler 2007-08-06 21:23:28 +00:00
Automatic Updater
2355a4a941 update copyright notice 2007-08-06 07:23:12 +00:00
Automatic Updater
86e788ec11 newcopyrights 2007-08-06 07:22:36 +00:00
Mark Andrews
695bd1314f add bat 2007-08-06 07:21:30 +00:00
Mark Andrews
801a60ff77 2199. [bug] win32: don't call WSAStartup() while loading dlls.
[RT #16911]
2007-08-06 07:14:33 +00:00
Mark Andrews
9b32ed6ac2 2208. [port] win32: make sure both build methods produce the
same output. [RT #17058]
2007-08-06 04:30:52 +00:00
Mark Andrews
60ac43c98a 9.2.9b1 2007-08-06 04:06:23 +00:00
Mark Andrews
ea6c157d37 9.2.9b2 2007-08-06 01:44:39 +00:00
Mark Andrews
e70ec748cf 9.2.9b1 2007-08-06 01:43:11 +00:00
Automatic Updater
20f726202f newcopyrights 2007-07-09 23:30:05 +00:00
Mark Andrews
35637bd1b8 2205. [bug] libbind: change #2119 broke thread support. [RT #16982] 2007-07-09 01:54:50 +00:00
Automatic Updater
04463e0fb1 newcopyrights 2007-06-28 23:30:04 +00:00
Mark Andrews
685388d595 set vcredist before the if 2007-06-28 04:55:51 +00:00
Mark Andrews
abb14a2c2b copy vcredist_x86.exe to the release/debug directories 2007-06-28 04:53:53 +00:00
Mark Andrews
8748cdc7c2 silence "Different types treated as unsigned for >." warning 2007-06-27 04:21:27 +00:00
Mark Andrews
62518cf366 add missing 1310 to "#elif _MSC_VER > 1200 && _MSC_VER < 1310" 2007-06-27 01:52:19 +00:00
Automatic Updater
cafb2c913e update copyright notice 2007-06-26 23:45:22 +00:00
Automatic Updater
2f05e7840b newcopyrights 2007-06-26 23:30:04 +00:00
Mark Andrews
fdb3c848d7 replace gettimeofday with isc_time_now 2007-06-26 06:10:08 +00:00
Mark Andrews
d9c4cb079d s/u_int16_t/isc_uint16_t/ 2007-06-26 04:54:53 +00:00
Mark Andrews
fc67e0f25b 2203. [security] Query id generation was cryptographically weak.
[RT # 16915]
2007-06-26 04:24:53 +00:00
Mark Andrews
0ddce8e490 regen 2007-06-20 02:25:45 +00:00
Mark Andrews
3624be0678 s/seperate/separate/ 2007-06-19 14:21:14 +00:00
Mark Andrews
3619408f99 documentation updates from Jeremy 2007-06-19 07:52:23 +00:00
cvs2git
29f239eef6 This commit was manufactured by cvs2git to create branch 'v9_2'. 2007-06-18 23:47:58 +00:00
Automatic Updater
28e93ca98e update copyright notice 2007-06-18 23:45:28 +00:00
Automatic Updater
ee839d6157 newcopyrights 2007-06-18 23:30:04 +00:00
Mark Andrews
f97a741101 2199. [bug] win32: don't call WSAStartup() while loading dlls.
[RT #16911]
2007-06-18 03:30:31 +00:00
Mark Andrews
63bfd2235a 2198. [bug] win32: RegCloseKey() could be called when
RegOpenKeyEx() failed. [RT #16911]
2007-06-18 03:04:58 +00:00
Mark Andrews
2109130aa3 2197. [bug] Add INSIST to catch negative responses which are
not setting the event result code appropriately.
                        [RT #16909]
2007-06-18 02:46:22 +00:00
Mark Andrews
98b767dff6 2196. [port] win32: yield processor while waiting for once to
to complete. [RT# 16958]
2007-06-18 01:22:08 +00:00
Mark Andrews
2f9040d1ca regen 2007-05-31 23:28:40 +00:00
Mark Andrews
bca86b6c1c update from jeremy 2007-05-31 22:33:12 +00:00
Mark Andrews
7bed4ec694 2194. [bug] Close journal before calling 'done' in xfrin.c. 2007-05-24 02:57:42 +00:00
Automatic Updater
9d1c51cc1b update copyright notice 2007-05-24 01:56:01 +00:00
Automatic Updater
88bc51b102 newcopyrights 2007-05-24 01:55:06 +00:00
Mark Andrews
360af9de3d 2194. [bug] Close journal before calling 'done' in xfrin.c. 2007-05-24 01:51:38 +00:00
Mark Andrews
f11a65c3e2 2193. [port] win32: BINDInstall.exe is now linked statically.
[RT #16906]

2192.   [port]          win32: use vcredist_x86.exe to install Visual
                        Studio's redistributable dlls if building with
                        Visual Stdio 2005 or later.
2007-05-24 01:28:13 +00:00
Mark Andrews
8e2dc11955 2189. [bug] Handle socket() returning EINTR. [RT #15949] 2007-05-21 01:57:16 +00:00
Automatic Updater
6ed82ee69b newcopyrights 2007-05-18 23:30:04 +00:00
Mark Andrews
f02d448534 regen 2007-05-18 06:37:11 +00:00
Mark Andrews
f624b3cb14 2186. [port] cygwin: libbind: check for struct sockaddr_storage
independently of IPv6. [RT #16482]
2007-05-18 06:31:30 +00:00
Mark Andrews
98d20b3743 2185. [port] sunos: libbind: check for ssize_t, memmove() and
memchr(). [RT #16463]
2007-05-18 06:25:47 +00:00
Mark Andrews
0bf52a6b6d 2182. [bug] dns_dispatch_createtcp() and dispatch_createudp()
could return ISC_R_SUCCESS when they ran out of
                        memory. [RT #16365]
2007-05-18 05:33:33 +00:00
Automatic Updater
1ac0e71b8d update copyright notice 2007-05-16 23:45:25 +00:00
Automatic Updater
6aab9bd398 newcopyrights 2007-05-16 23:30:04 +00:00
Mark Andrews
2e3ecb9360 unexpeced/unexpected 2007-05-16 07:00:23 +00:00
Mark Andrews
ddfd77d582 regen 2007-05-16 06:57:47 +00:00
Mark Andrews
9b719d0610 2181. [port] sunos: libbind: add paths.h from BIND 8. [RT #16462] 2007-05-16 06:34:09 +00:00
cvs2git
a6e859f990 This commit was manufactured by cvs2git to create branch 'v9_2'. 2007-05-16 06:29:35 +00:00
Mark Andrews
a82d87b5a6 missing ">" 2007-05-16 06:15:11 +00:00
Mark Andrews
f0d2f86154 more fixes from Jeremy [RT #16870] 2007-05-16 04:50:39 +00:00
Mark Andrews
95b78df937 minor changes from Jeremy [RT #16869] 2007-05-16 02:07:45 +00:00
Automatic Updater
89ca06489b update copyright notice 2007-05-15 23:45:26 +00:00
Automatic Updater
e3cd1f08cf newcopyrights 2007-05-15 23:30:04 +00:00
Mark Andrews
8a9a62fd2b s/ENDS/EDNS/ 2007-05-15 22:52:05 +00:00
Mark Andrews
eab10e13c5 update 2007-05-15 05:21:46 +00:00
Mark Andrews
e170d16505 2177. [bug] Array bounds overrun on read (rcodetext). [RT #16798] 2007-05-15 02:19:25 +00:00
Automatic Updater
94900cdf1c update copyright notice 2007-05-10 23:45:26 +00:00
Automatic Updater
b3eac24995 newcopyrights 2007-05-10 23:30:04 +00:00
Mark Andrews
e9e1725545 2176. [contrib] dbus update to handle race condition during
initialisation (Bugzilla 235809). [RT #16842]
2007-05-10 05:55:30 +00:00
Mark Andrews
7bb6254999 2175. [bug] win32: windows broadcast condition variable support
was broken. [RT #16592]
2007-05-09 23:53:59 +00:00
Mark Andrews
5c8e17f6cf regen 2007-05-09 13:35:32 +00:00
Mark Andrews
4b0697fdff minor changes from Jeremy [RT #16863] 2007-05-09 06:36:54 +00:00
Mark Andrews
9b42dd8679 regen 2007-05-09 03:32:21 +00:00
Mark Andrews
1eada89535 minor man page updates from Jeremy [RT #16859] 2007-05-09 02:11:44 +00:00
Mark Andrews
c4d1177af0 regen 2007-05-08 02:29:20 +00:00
Mark Andrews
e25f795cf5 minor documentation fixes from Jeremy [RT #16855] 2007-05-08 01:44:07 +00:00
Automatic Updater
c5ad4bd367 update copyright notice 2007-05-02 23:45:26 +00:00
Automatic Updater
e176b9ad28 newcopyrights 2007-05-02 23:30:04 +00:00
Mark Andrews
e2d30bdcc6 add default install location and directory example 2007-05-02 05:11:25 +00:00
Mark Andrews
eca2c8e606 2174. [bug] I/O errors should always be fatal when reading
master files. [RT #16825]
2007-05-02 04:10:29 +00:00
Automatic Updater
33e5073624 update copyright notice 2007-05-01 23:45:25 +00:00
Automatic Updater
c292243ee4 newcopyrights 2007-05-01 23:30:04 +00:00
Mark Andrews
db1f5a63ba 2173. [port] win32: When compiling with MSVS 2005 SP1 we also
need to ship Microsoft.VC80.MFCLOC.
2007-05-01 03:26:08 +00:00
Automatic Updater
51e456cc0e update copyright notice 2007-04-30 23:45:27 +00:00
Automatic Updater
590a8a649a newcopyrights 2007-04-30 23:30:04 +00:00
Mark Andrews
e67697ce31 2172. [bug] query_addsoa() was being called with a non zone db.
[RT #16834]
2007-04-30 01:39:53 +00:00
Mark Andrews
22a9ed6dd9 regen 2007-04-26 13:29:39 +00:00
Mark Andrews
443d64e70a update Y2K comment 2007-04-26 06:19:41 +00:00
Automatic Updater
5709e14017 update copyright notice 2007-04-24 23:45:25 +00:00
Automatic Updater
1604889e37 newcopyrights 2007-04-24 23:30:04 +00:00
Evan Hunt
586a788f4d When running in batch mode, dig could misinterpret a server address as a
name to be looked up, causing unexpected output. [RT #16743]
2007-04-24 07:46:40 +00:00
Mark Andrews
58916129d5 2169. [bug] host, nslookup: when reporting NXDOMAIN report the
given name and not the last name searched for.
                        [RT #16763]
2007-04-24 07:36:18 +00:00
Mark Andrews
b30e0c20e5 2168. [bug] nsupdate: in non-interactive mode treat syntax errors
as fatal errors. [RT #16785]
2007-04-24 07:14:09 +00:00
Mark Andrews
7a9e277152 regen 2007-04-24 06:18:22 +00:00
Mark Andrews
5ca904e1e9 minor cleanups 2007-04-24 02:05:13 +00:00
Automatic Updater
c31d980b95 update copyright notice 2007-04-03 23:42:54 +00:00
Automatic Updater
d7152b81f9 newcopyrights 2007-04-03 23:30:04 +00:00
Mark Andrews
c6b37e560d 2161. [bug] 'rndc flush' could report a false success. [RT #16698] 2007-04-03 00:09:00 +00:00
Mark Andrews
fdb125b4db 2292bis -> RFC 3542 2007-04-02 02:11:52 +00:00
Automatic Updater
3b57fc2abf update copyright notice 2007-03-06 02:10:58 +00:00
Automatic Updater
8032425ffd newcopyrights 2007-03-06 02:09:31 +00:00
Mark Andrews
af3849840c 2156. [bug] Fix node reference leaks in lookup.c:lookup_find(),
resolver.c:validated() and resolver.c:cache_name().
                        Make lookup.c:lookup_find() robust against
                        event leaks. [RT #16685]
2007-03-06 01:00:55 +00:00
Automatic Updater
b9dcad9a3c newcopyrights 2007-03-05 23:30:04 +00:00
Mark Andrews
0d41c38606 2155. [contrib] SQLite sdb module from jaboydjr@netwalk.com.
[RT #16694]
2007-03-05 05:36:58 +00:00
cvs2git
90013c0348 This commit was manufactured by cvs2git to create branch 'v9_2'. 2007-03-05 05:30:23 +00:00
Automatic Updater
02577f5a7e update copyright notice 2007-02-27 23:45:21 +00:00
Automatic Updater
66a2cc1fd5 newcopyrights 2007-02-27 23:30:04 +00:00
Mark Andrews
02750677af 2151. [bug] Missing newline in usage message for journalprint.
[RT #16679]
2007-02-27 00:54:22 +00:00
Automatic Updater
755e8c6a7d update copyright notice 2007-02-26 23:45:24 +00:00
Automatic Updater
3d549d2e35 newcopyrights 2007-02-26 23:30:04 +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
5ed923a850 2146. [cleanup] Silence Linux's spurious "obsolete setsockopt
SO_BSDCOMPAT" message. [RT #16641]
2007-02-26 01:44:54 +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
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
e7160c09ac 2140. [bug] libbind: missing unlock on pthread_key_create()
failures. [RT #16654]
2007-02-26 00:05:23 +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
9acbb99075 update copyright notice 2007-02-15 23:39:08 +00:00
Mark Andrews
79db1175f3 newcopyrights 2007-02-14 23:30:04 +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
abad4bdf2f update copyright notice 2007-02-07 23:57:56 +00:00
Mark Andrews
1dcf150d8d newcopyrights 2007-02-07 23:30:04 +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
3ea44214a7 missing unlock 2007-02-07 05:42:43 +00:00
Mark Andrews
c9be46d0b5 remove and abort on error 2007-02-06 23:45:27 +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
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
5e4d7f9c6d regen 2007-02-02 04:32:48 +00:00
Mark Andrews
87c1a1e456 update copyright notice 2007-02-01 23:55:18 +00:00
Mark Andrews
24d37eaee2 newcopyrights 2007-02-01 23:30:10 +00:00
Mark Andrews
56a02291cf remove SO_BSDCOMPAT reference 2007-02-01 04:42:54 +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
6750ae4f69 update copyright notice 2007-01-30 23:52:52 +00:00
Mark Andrews
d5ae02ae4a newcopyrights 2007-01-30 23:30:04 +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
Mark Andrews
01e6e60a62 regen 2007-01-30 00:10:40 +00:00
Mark Andrews
49371c03ae update copyright notice 2007-01-29 23:57:17 +00:00
Mark Andrews
4e0c7a17e7 newcopyrights 2007-01-29 23:30:04 +00:00
Rob Austein
65b17a7b73 2128. [doc] xsltproc --nonet, update DTD versions. [RT #16635] 2007-01-29 22:14:26 +00:00
Mark Andrews
228f3a7825 update copyright notice 2007-01-27 00:22:46 +00:00
Mark Andrews
931f69efe0 newcopyrights 2007-01-26 23:30:21 +00:00
Mark Andrews
329f8ca549 regen 2007-01-26 23:27:00 +00:00
Rob Austein
b3ca0375b5 New version of xsltproc noticed missing <xsl:param/>. [RT #16632] 2007-01-26 21:32:35 +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
308ec4a94a update copyright notice 2007-01-19 00:55:48 +00:00
Mark Andrews
6254d1f26a newcopyrights 2007-01-18 23:30:04 +00:00
Mark Andrews
062ad6b46a "make depend" didn't work 2007-01-18 00:14:51 +00:00
Mark Andrews
24017e8b2e update copyright notice 2007-01-18 00:06:02 +00:00
Mark Andrews
f7206667c0 newcopyrights 2007-01-17 23:30:04 +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
c6f7e9d03b add miss change years 2007-01-16 03:18:49 +00:00
Mark Andrews
c0ac06a731 add miss change years 2007-01-16 00:56:58 +00:00
Mark Andrews
123447f7cb newcopyrights 2007-01-15 23:30:04 +00:00
Mark Andrews
b03ebb6972 delete IDN_ASCCHECK flag 2007-01-15 22:25:56 +00:00
Mark Andrews
9da93b3d17 newcopyrights 2007-01-12 23:30:04 +00:00
Mark Andrews
9028f69bad update 2007-01-12 04:22:53 +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
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
4c610cf562 update 2007-01-08 02:49:10 +00:00
Mark Andrews
8cd4e5a8f1 update copyright notice 2007-01-08 02:45:02 +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
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
8c82d5fabb 2126. [bug] Serialise validation of type ANY responses. [RT #16555] 2007-01-08 01:37:12 +00:00
Mark Andrews
299aa98020 update 2007-01-08 00:55:37 +00:00
Mark Andrews
3327ae2a52 regen 2006-12-20 01:37:53 +00:00
Mark Andrews
98dd4c1c02 update copyright notice 2006-12-20 00:57:19 +00:00
Mark Andrews
ae4a60a033 newcopyrights 2006-12-19 23:30:04 +00:00
Mark Andrews
f632b7f057 regen 2006-12-19 01:35:23 +00:00
Mark Andrews
784928cb1f add paragraph on CH/IN name space overlap 2006-12-18 23:37:09 +00:00
Mark Andrews
62b37c6cec regen 2006-12-17 04:54:01 +00:00
Mark Andrews
8a53c0b23e update copyright notice 2006-12-17 04:53:05 +00:00
Mark Andrews
ce8e21dae6 newcopyrights 2006-12-16 23:30:04 +00:00
Rob Austein
dd8ddca991 2120. [doc] Fix markup on nsupdate man page. [RT #16556] 2006-12-16 01:14:47 +00:00
Mark Andrews
434c27c457 regen 2006-12-12 01:42:57 +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
fabbdb3ed2 0 => 0U 2006-12-08 05:03:13 +00:00
Mark Andrews
cfab7435dc update copyrights 2006-12-08 00:03:33 +00:00
Mark Andrews
84de948c9a update copyright notice 2006-12-07 23:57:56 +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
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
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
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
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
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
b150bdae98 2112. [security] Warn if weak RSA exponent is used. [RT #16460] 2006-12-07 05:25:03 +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
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
b24244e2b7 2107. [bug] dighost.c: more cleanup of buffers. [RT #16499] 2006-12-07 01:36:50 +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
a983ac0b81 2102. [port] Silence solaris 10 warnings. 2006-11-13 11:58:34 +00:00
Mark Andrews
876092a44b 2102. [port] Silence solaris 10 warnings. 2006-11-13 05:08:57 +00:00
Mark Andrews
a34944c8a6 2102. [port] Silence solaris 10 warnings. 2006-11-10 19:00:56 +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
5e09105428 2102. [port] Silence solaris 10 warnings. 2006-11-10 00:02:50 +00:00
Mark Andrews
9f1eb85f28 2099. [port] win32: more manifiest issues. 2006-11-08 02:00:49 +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
9c57a11969 2101. [bug] OpenSSL version checks were not quite right.
[RT #16476]
2006-11-07 21:28:45 +00:00
Mark Andrews
75a8f15c41 2100. [port] win32: copy libeay32.dll to Build\Debug. 2006-11-07 21:18:20 +00:00
Mark Andrews
5ea1d3940e regen 2006-10-19 01:19:18 +00:00
Mark Andrews
7e504c204e make openssl version check a warning 2006-10-19 01:17:46 +00:00
Mark Andrews
105cc30a4b 2096. [bug] libbind: handle applications that fail to detect
res_init() failures better.
2006-10-16 23:02:41 +00:00
Mark Andrews
0ec65155b1 9.2.7rc3 2006-10-16 09:52:42 +00:00
Mark Andrews
13fa8fa936 v9_2_7rc3 2006-10-16 07:07:06 +00:00
Mark Andrews
628233884b 9.2.7rc3 2006-10-16 06:28:14 +00:00
Mark Andrews
35a0c71379 newcopyrights 2006-10-11 23:30:04 +00:00
Mark Andrews
86f0ff13ee remove unnecessary dependancies from checktool, dighost, dnssectool and rndcutil 2006-10-11 06:49:23 +00:00
Mark Andrews
8b51ecafe9 WIN32 not WIN 2006-10-11 04:00:01 +00:00
Mark Andrews
e197cc48f4 be consistant when identifing/changeing openssl versions 2006-10-11 03:38:25 +00:00
Mark Andrews
38a648041d 2095. [port] libbind: alway prototype inet_cidr_ntop_ipv6() and
net_cidr_ntop_ipv6(). [RT #16388]
2006-10-11 02:32:34 +00:00
Mark Andrews
dba3ad8493 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:23:49 +00:00
Mark Andrews
8829cdb7e8 Use F5 as large RSA exponent w/ OpenSSL 0.9.8 2006-10-10 02:27:47 +00:00
Mark Andrews
7247c2a66b 2094. [contrib] Update named-bootconf. [RT# 16404] 2006-10-10 00:08:05 +00:00
Mark Andrews
1583fff3f9 regen 2006-10-05 01:43:47 +00:00
Mark Andrews
d98e1ae352 update copyright notice 2006-10-05 00:31:40 +00:00
Mark Andrews
ecec319b1f delete ntfile/[ch] 2006-10-05 00:22:40 +00:00
Mark Andrews
bb7b54e46c newcopyrights 2006-10-05 00:19:28 +00:00
Mark Andrews
48cbb7c51e add .dsp and .dsw 2006-10-05 00:19:11 +00:00
Mark Andrews
1aa5b8a1eb update CAN list 2006-10-04 05:21:08 +00:00
Mark Andrews
d9286d5239 win32 2006-10-04 05:05:53 +00:00
Mark Andrews
1a8fd294dc win32 2006-10-04 02:30:34 +00:00
Mark Andrews
ce95c3ed97 win32 2006-10-04 02:12:57 +00:00
Mark Andrews
4eb1a0ef43 removed 2006-10-04 02:03:10 +00:00
Mark Andrews
5c6eeb5adb win32 2006-10-04 02:00:04 +00:00
Mark Andrews
56e7bc2998 win32 2006-10-04 01:29:33 +00:00
Mark Andrews
776dd6ff75 update copyright notice 2006-10-03 23:50:49 +00:00
Mark Andrews
e9de89347f newcopyrights 2006-10-03 23:30:03 +00:00
Mark Andrews
d97f0a9c1e win32 2006-10-03 03:42:41 +00:00
Mark Andrews
64b851819d win32 2006-10-03 00:48:19 +00:00
Mark Andrews
6e9729bfde newcopyrights 2006-10-02 23:30:04 +00:00
Mark Andrews
33568f867f win32 2006-10-02 07:17:40 +00:00
Mark Andrews
36bd8a7e81 win32 2006-10-02 07:01:54 +00:00
Mark Andrews
36e7989978 win32 2006-10-02 06:19:37 +00:00
Mark Andrews
fcd14eb6dd win32 2006-10-02 05:55:07 +00:00
Mark Andrews
4181d5f9c0 2091. [port] dighost.c: race condition on cleanup. [RT #16417] 2006-10-02 03:14:14 +00:00
Mark Andrews
b29fbc2dee 2090. [port] win32: Visual C++ 2005 command line manifest support.
[RT #16417]
2006-10-02 03:00:13 +00:00
Mark Andrews
e552fe0500 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:05:55 +00:00
Mark Andrews
8f80a80f4e 2086. [port] libbind: FreeBSD now has get*by*_r() functions.
[RT #16403]
2006-10-02 01:18:51 +00:00
Mark Andrews
0ed62080d3 update 2006-10-01 00:02:05 +00:00
Mark Andrews
40256c79ae update copyright notice 2006-09-30 23:58:35 +00:00
Mark Andrews
0f453f5e17 newcopyrights 2006-09-29 23:30:12 +00:00
Mark Andrews
088fe3200c 2085. [doc] win32: added index.html and README to zip. [RT #16201] 2006-09-29 06:07:56 +00:00
Mark Andrews
c79735c3c0 newcopyrights 2006-09-28 23:30:03 +00:00
Mark Andrews
9c2d9026c0 2084. [contrib] dbus update for 9.3.3rc2. 2006-09-28 05:56:53 +00:00
cvs2git
c070c90a06 This commit was manufactured by cvs2git to create branch 'v9_2'. 2006-09-28 05:46:19 +00:00
Mark Andrews
8195b920b0 update copyright notice 2006-09-28 00:03:08 +00:00
Mark Andrews
d9bd76b36a newcopyrights 2006-09-27 23:30:04 +00:00
Mark Andrews
37fba79736 2083. [port] win32: Visual C++ 2005 support. 2006-09-27 00:28:31 +00:00
cvs2git
d1ffa5e258 This commit was manufactured by cvs2git to create branch 'v9_2'. 2006-09-25 04:24:00 +00:00
Mark Andrews
9c38bd2ef0 regen 2006-09-13 02:56:03 +00:00
Mark Andrews
963ee7dc7d 2082. [doc] Document 'cache-file' as a test only option. 2006-09-13 00:28:07 +00:00
Mark Andrews
34b7c0adac 9.2.7rc2 2006-08-31 04:26:18 +00:00
Mark Andrews
3fb7560486 9.2.7rc2 2006-08-31 00:06:17 +00:00
Mark Andrews
211997d745 9.2.7rc2 2006-08-31 00:01:16 +00:00
Mark Andrews
8691579774 newcopyrights 2006-08-30 23:47:05 +00:00
Mark Andrews
07af72345e 2081. [port] libbind: minor 64-bit portability fix in memcluster.c.
[RT #16360]
2006-08-30 23:34:59 +00:00
Mark Andrews
2216953b5a newcopyrights 2006-08-30 23:30:04 +00:00
Mark Andrews
4f3933a80b 2080. [port] libbind: res_init.c did not compile on older versions
of Solaris. [RT #16363]
2006-08-30 23:23:14 +00:00
Mark Andrews
6faa7494a8 update copyright notice 2006-08-25 05:25:49 +00:00
Mark Andrews
6bb1b66ed9 newcopyrights 2006-08-24 23:30:04 +00:00
Mark Andrews
13926117a3 2076. [bug] Several files were missing #include <config.h>
causing build failures on OSF. [RT #16341]
2006-08-24 00:43:40 +00:00
Mark Andrews
dd15ea6c54 update copyright notice 2006-08-10 23:59:27 +00:00
Mark Andrews
b77445ceb1 newcopyrights 2006-08-10 23:30:04 +00:00
Mark Andrews
58b30556d0 more release marker 2006-08-10 02:27:47 +00:00
Mark Andrews
73edff13cf 2071. [port] Test whether gcc accepts -fno-strict-aliasing.
[RT #16324]
2006-08-10 02:07:10 +00:00
Mark Andrews
c0f9b35b7a 2071. [port] Test whether gcc accepts -fno-strict-aliasing.
[RT #16324]
2006-08-10 01:54:44 +00:00
Mark Andrews
1a70dc050c 2070. [bug] The remote address was not always displayed when
reporting dispatch failures. [RT #16315]
2006-08-10 01:42:33 +00:00
Mark Andrews
99bc35e2c6 2069. [bug] Cross compiling was not working. [RT #16330] 2006-08-09 22:23:43 +00:00
Mark Andrews
9ab29a657b 2067. [bug] 'rndc' could close the socket too early triggering
a INSIST under Windows. [RT #16317]
2006-08-04 03:03:19 +00:00
Mark Andrews
48fe2b45c0 2065. [bug] libbind: probe for HPUX prototypes for
endprotoent_r() and endservent_r().  [RT 16313]
2006-08-03 01:20:56 +00:00
Mark Andrews
3e9631ceaa 9.2.7rc1 2006-08-01 04:06:03 +00:00
Mark Andrews
f975557d21 9.2.7rc1 2006-08-01 04:00:55 +00:00
Mark Andrews
ce350735d8 spelling 2006-08-01 03:44:38 +00:00
Mark Andrews
3d28d32c76 newcopyrights 2006-08-01 03:11:26 +00:00
Mark Andrews
9cf99fbe5e #endif in wrong place 2006-08-01 01:45:10 +00:00
Mark Andrews
86712809bf 2064. [bug] libbind: silence AIX compiler warnings. [RT #16218] 2006-08-01 01:21:20 +00:00
Mark Andrews
97bf73d278 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:32 +00:00
Mark Andrews
ba2d48cd7a 2062. [bug] 'dig +nssearch' was reusing a buffer before it had
been returned by the socket code. [RT #16307]
2006-08-01 00:54:08 +00:00
Mark Andrews
f8e0fc7c73 1941. [bug] ncache_adderesult() should set eresult even if no
rdataset is passed to it. [RT #15642]
2006-07-28 04:51:18 +00:00
Mark Andrews
d8092effcf 9.2.7rc1 2006-07-27 05:07:24 +00:00
Mark Andrews
baa1a9b9b9 update copyright notice 2006-07-22 23:52:56 +00:00
Mark Andrews
ff9fda691a newcopyrights 2006-07-22 23:30:04 +00:00
Mark Andrews
1f6482d821 2057. [bug] Make setting "ra" dependent on both allow-query and
allow-recursion. [RT #16290]
2006-07-22 01:09:04 +00:00
Mark Andrews
f3b21f257d 2056. [bug] dig: ixfr= was not being treated case insensitively
at all times. [RT #15955]
2006-07-21 23:53:16 +00:00
Mark Andrews
a76a23d97e 2055. [bug] Missing goto after dropping multicast query.
[RT #15944]
2006-07-21 23:44:36 +00:00
Mark Andrews
60c4b0e960 update copyright notice 2006-07-21 02:05:55 +00:00
Mark Andrews
4362a33f28 newcopyrights 2006-07-20 23:30:04 +00:00
Mark Andrews
f5fb8bb249 2054. [port] freebsd: do not explicitly link against -lpthread.
[RT #16170]
2006-07-20 06:08:30 +00:00
Mark Andrews
bf8365fa16 2054. [port] freebsd: do not explicitly link against -lpthread.
[RT #16170]
2006-07-20 06:06:38 +00:00
Mark Andrews
f752b603f6 2053. [port] netbsd:libbind: silence compiler warnings. [RT #16220] 2006-07-20 03:58:50 +00:00
Mark Andrews
bd4f391ddb 2050. [bug] Parsing of NSAP records was not case insensitive.
[RT #16287]
2006-07-20 03:24:59 +00:00
Mark Andrews
dd3e2d2e7f regen 2006-07-20 02:33:01 +00:00
Mark Andrews
23bc584f74 grammer 2006-07-20 00:17:00 +00:00
Mark Andrews
63ead20bd4 regen 2006-07-18 20:50:03 +00:00
Mark Andrews
3a1674243a spelling 2006-07-18 04:10:06 +00:00
Mark Andrews
cfe196a868 regen 2006-06-29 13:02:08 +00:00
Mark Andrews
8bc2cb3b97 update copyright notice 2006-06-24 00:25:37 +00:00
Mark Andrews
0f7f47a50a newcopyrights 2006-06-21 23:30:04 +00:00
Mark Andrews
884a3da13c move .NOTPARALLEL:/.NO_PARALLEL: so not first target 2006-06-21 03:33:19 +00:00
Mark Andrews
3f76772060 newcopyrights 2006-06-20 23:30:04 +00:00
Mark Andrews
d0442bda66 silence: aix 5.3 missing braces warnings 2006-06-20 07:06:40 +00:00
Mark Andrews
6babbe1e26 silence: value computed is not used 2006-06-20 02:53:42 +00:00
Mark Andrews
efc9f40e87 sunos 4 and --with-libtool 2006-06-14 05:03:56 +00:00
Mark Andrews
bdecdef309 update copyright notice 2006-06-09 23:50:52 +00:00
Mark Andrews
271323dcc7 newcopyrights 2006-06-09 23:30:04 +00:00
Mark Andrews
fa2f7df995 2043. [port] nsupdate/nslookup: Force the flushing of the prompt
for interactive sessions. [RT#16148]
2006-06-09 07:28:36 +00:00
Mark Andrews
2f54aa7de8 regen 2006-06-09 07:13:51 +00:00
Mark Andrews
b7b3e1681e spelling / grammer 2006-06-09 00:52:36 +00:00
Mark Andrews
5dbd1e50ee update copyright notice 2006-06-07 00:29:43 +00:00
Mark Andrews
4654a57213 newcopyrights 2006-06-06 23:30:04 +00:00
Mark Andrews
a3a5bf4df7 2038. [bug] dig/nslookup/host was unlinking from wrong list
when handling errors. [RT #16122]
2006-06-06 01:01:05 +00:00
Mark Andrews
1b8d2b62ea OpenBSD 2006-06-06 00:21:06 +00:00
Mark Andrews
72811a6cd2 update copyright notice 2006-06-06 00:11:39 +00:00
Mark Andrews
ff6c8eed91 newcopyrights 2006-06-05 23:30:07 +00:00
Mark Andrews
faab0349cb 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:01 +00:00
Mark Andrews
42a9236cbd 2034. [bug] gcc: set -fno-strict-aliasing. [RT #16124] 2006-06-02 04:55:38 +00:00
Mark Andrews
6cb5ddf582 newcopyrights 2006-05-26 04:26:34 +00:00
Mark Andrews
031283c709 9.2.7b1 2006-05-26 04:24:49 +00:00
Mark Andrews
b398bcb694 9.2.7b1 2006-05-26 04:10:28 +00:00
Mark Andrews
c205e982b6 spelling 2006-05-26 04:01:57 +00:00
Mark Andrews
6135a0d50f 9.2.7b1 2006-05-26 03:53:38 +00:00
Mark Andrews
e46e52957f update copyright notice 2006-05-26 00:58:22 +00:00
Mark Andrews
3e6d9bde90 newcopyrights 2006-05-25 23:30:04 +00:00
Mark Andrews
eb7f66159a 9.2.7b1 2006-05-25 08:18:01 +00:00
Mark Andrews
0614d8a35a win32 2006-05-25 08:10:12 +00:00
Mark Andrews
c0f29a77f5 win32 2006-05-25 06:49:00 +00:00
Mark Andrews
d440718f8d 9.2.7b1 2006-05-25 06:17:08 +00:00
Mark Andrews
53f8a2b94b update copyright notice 2006-05-23 23:51:02 +00:00
Mark Andrews
1d9dca8416 newcopyrights 2006-05-23 23:30:04 +00:00
Mark Andrews
461830029e 2030. [bug] We were being overly conservative when disabling
openssl engine support. [RT #16030]
2006-05-23 04:52:13 +00:00
Mark Andrews
9b99f469d6 newcopyrights 2006-05-19 23:30:04 +00:00
Mark Andrews
60b6efc6cb s/x68/x86/ 2006-05-19 04:43:09 +00:00
Mark Andrews
6a28831cd5 2028. [port] linux: socket.c compatability for old systems.
[RT #16015]
2006-05-19 02:54:38 +00:00
Mark Andrews
f12d48cf21 2027. [port] libbind: solaris x68 support. [RT #16020] 2006-05-19 02:38:58 +00:00
Mark Andrews
da61fde0a6 update copyright notice 2006-05-19 00:03:59 +00:00
Mark Andrews
92d126ef94 newcopyrights 2006-05-18 23:30:04 +00:00
Mark Andrews
1e9b309b45 2026. [bug] Rate limit the recursive client exceeded message.
[RT #16044]
2006-05-18 03:19:09 +00:00
Mark Andrews
6227cb415d 2024. [bug] named emited spurious "zone serial unchanged"
messages on reload. [RT #16027]
2006-05-18 02:30:20 +00:00
Mark Andrews
05eeb36856 2023. [bug] "make install" should create ${localstatedir}/run and
${sysconfdir} if they do not exist. [RT #16033]
2006-05-18 01:21:07 +00:00
Mark Andrews
f9b370ebbd regen 2006-05-17 02:37:47 +00:00
Mark Andrews
9ea3982224 grammer, spelling and clarity 2006-05-17 01:58:26 +00:00
Mark Andrews
aa9012f2b1 update copyright notice 2006-05-17 00:34:34 +00:00
Mark Andrews
1c101a8a72 newcopyrights 2006-05-16 23:30:03 +00:00
Mark Andrews
c89a5efe78 grammer, spelling and clarity 2006-05-16 22:39:53 +00:00
Mark Andrews
842609ab8f make query-source{-v6} clearer 2006-05-16 06:14:24 +00:00
Mark Andrews
495ba4ad19 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:31:09 +00:00
Mark Andrews
de8cb0a69b regen 2006-05-08 15:45:50 +00:00
Mark Andrews
5d14b4fef7 comment: cleanng -> cleaning 2006-05-04 02:22:15 +00:00
Mark Andrews
1de2d24ea2 2013. [bug] Handle unexpected TSIGs on unsigned AXFR/IXFR
responses more gracefully. [RT #15941]
2006-05-02 04:19:47 +00:00
Mark Andrews
591624154f regen 2006-04-23 10:10:10 +00:00
Michael Graff
371a74e0c1 pull up my changes from the mainline, to v9_2 2006-04-17 18:27:07 +00:00
Mark Andrews
47d3ffceac newcopyrights 2006-03-10 23:30:03 +00:00
Mark Andrews
4ddfa1a217 update 2006-03-10 05:00:29 +00:00
Mark Andrews
c9ebeaf5f0 newcopyrights 2006-03-10 00:20:14 +00:00
Mark Andrews
d0a89b3828 2009. [bug] libbind: coverity fixes. [RT #15808] 2006-03-10 00:18:22 +00:00
Mark Andrews
130cdefb3b newcopyrights 2006-03-08 23:30:03 +00:00
Mark Andrews
f678d94a8a 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:14:10 +00:00
Mark Andrews
ae9e705032 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:56:21 +00:00
Mark Andrews
ba0a6299a6 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:29 +00:00
Mark Andrews
13e0748710 newcopyrights 2006-03-06 23:30:04 +00:00
Mark Andrews
275c45d014 2002 [bug] libbind: tighten the constraints on when
struct addrinfo._ai_pad exists.  [RT #15783]
2006-03-06 02:26:19 +00:00
Mark Andrews
0eabe488ed update copyright notice 2006-03-05 23:58:49 +00:00
Mark Andrews
2db74d9dd5 newcopyrights 2006-03-03 23:30:03 +00:00
Mark Andrews
5e260c1547 add -Wpointer-arith to gcc 2006-03-03 03:32:31 +00:00
Mark Andrews
2bd075a6af 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:16:56 +00:00
Mark Andrews
a3c22658b0 update copyright notice 2006-03-02 00:37:18 +00:00
Mark Andrews
6d6ae64ff8 newcopyrights 2006-03-01 23:30:03 +00:00
Mark Andrews
619448102d 1994. [port] OpenSSL 0.9.8 support. [RT #15694] 2006-03-01 02:49:40 +00:00
Mark Andrews
441b3a264b 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-03-01 01:34:08 +00:00
Mark Andrews
b1d1934865 newcopyrights 2006-02-28 23:30:03 +00:00
Mark Andrews
36f9c51bda 1990. [bug] libbind: isc's override of broken gettimeofday()
implementions was not always effective.
                        [RT #15709]
2006-02-28 00:10:10 +00:00
Mark Andrews
1547f4c841 update entry 2006-02-27 21:11:57 +00:00
Mark Andrews
022d5f388c update copyright notice 2006-02-26 23:49:47 +00:00
Mark Andrews
615ad124f8 newcopyrights 2006-02-26 23:30:03 +00:00
Mark Andrews
36775ac557 fix minor typos 2006-02-26 23:08:41 +00:00
Mark Andrews
e865814666 remove redundant memset 2006-02-26 22:34:05 +00:00
Mark Andrews
26f2eecc48 newcopyrights 2006-02-23 23:30:03 +00:00
Mark Andrews
445dff4f5f update example 2006-02-23 22:34:13 +00:00
Mark Andrews
317cc1a488 update copyright notice 2006-02-13 23:50:51 +00:00
Mark Andrews
951ca26c60 newcopyrights 2006-02-13 23:30:04 +00:00
Mark Andrews
8391f23b3b 1981. [bug] win32: condition.c:wait() could fail to reattain
the mutex lock.
2006-02-13 03:41:50 +00:00
Mark Andrews
a4855ef755 Redo back port of.
1976.   [bug]           Handle systems with no IPv4 addresses. [RT #15695]
2006-02-06 06:23:48 +00:00
Mark Andrews
286626e9c3 update copyright notice 2006-02-03 23:51:36 +00:00
Mark Andrews
c1aba9a4cb newcopyrights 2006-02-03 23:30:03 +00:00
Mark Andrews
4f17ae23f1 1979. [port] linux: allow named to drop core after changing
user ids. [RT #15753]
2006-02-02 23:37:51 +00:00
Mark Andrews
0163c9ba15 newcopyrights 2006-02-02 23:30:53 +00:00
Mark Andrews
bddb6ef78e 1978. [port] Handle systems which have a broken recvmsg().
[RT #15742]
2006-02-02 23:13:27 +00:00
Mark Andrews
b2ec6f2dd5 1977. [bug] Silence noisy log message. [RT #15704] 2006-02-02 22:57:39 +00:00
Mark Andrews
318308da92 1976. [bug] Handle systems with no IPv4 addresses. [RT #15695] 2006-02-02 22:43:29 +00:00
Mark Andrews
5b175a9ebf update copyright notice 2006-02-01 23:48:50 +00:00
Mark Andrews
fc9f7be17d newcopyrights 2006-02-01 23:30:03 +00:00
Mark Andrews
8f0201bac7 comment typo 2006-02-01 22:39:46 +00:00
Mark Andrews
15a821d570 newcopyrights 2006-01-31 23:30:04 +00:00
Mark Andrews
6dbcb085f5 1975. [bug] libbind: isc_gethexstring() could misparse multi-line
hex strings with comments. [RT #15814]
2006-01-31 00:48:05 +00:00
Mark Andrews
4163727918 regen 2006-01-30 05:07:51 +00:00
Mark Andrews
ea76ae3428 1974. [doc] List each of the zone types and associated zone
options seperately in the ARM.
2006-01-30 01:19:12 +00:00
Mark Andrews
816b943375 regen 2006-01-29 22:56:11 +00:00
Mark Andrews
2bd93028f2 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:11:39 +00:00
Mark Andrews
5d84c263be newcopyrights 2006-01-23 23:30:04 +00:00
Mark Andrews
3dfc3b1da1 1972. [contrib] DBUS dynamic forwarders integation from
Jason Vas Dias <jvdias@redhat.com>.
2006-01-23 05:00:33 +00:00
cvs2git
1602b90fa2 This commit was manufactured by cvs2git to create branch 'v9_2'. 2006-01-23 04:53:35 +00:00
Mark Andrews
2747e54086 regen 2006-01-18 04:58:58 +00:00
Mark Andrews
94da720cf0 update copyright notice 2006-01-17 23:49:29 +00:00
Mark Andrews
43203bf5bb newcopyrights 2006-01-17 23:30:03 +00:00
Mark Andrews
7b38e9b725 regen 2006-01-17 02:14:30 +00:00
Mark Andrews
ff8717bd70 xref named.conf(5) 2006-01-17 00:02:36 +00:00
cvs2git
1743adc934 This commit was manufactured by cvs2git to create branch 'v9_2'. 2006-01-12 02:16:31 +00:00
Mark Andrews
ad58c6ed3b newcopyrights 2006-01-10 23:30:04 +00:00
Mark Andrews
279c537985 1971. [port] linux: make detection of missing IF_NAMESIZE more
robust. [RT #15443]
2006-01-10 05:10:24 +00:00
Mark Andrews
9a3a847d64 regen 2006-01-07 03:39:59 +00:00
Mark Andrews
a492504a63 update copyright notice 2006-01-07 00:23:32 +00:00
Mark Andrews
a9b8984e10 newcopyrights 2006-01-06 23:30:03 +00:00
Mark Andrews
d8097df9a2 RFC1918 2006-01-06 04:21:11 +00:00
Mark Andrews
8438f4fed1 silence type-punned 2006-01-06 02:55:16 +00:00
Mark Andrews
5da8776cde silence type-punned 2006-01-06 02:54:54 +00:00
Mark Andrews
71d06010a3 update copyright notice 2006-01-06 01:46:38 +00:00
Mark Andrews
2b82bddbac 1969. [bug] win32: the socket code was freeing the socket
structure too early. [RT #15776]
2006-01-06 01:34:18 +00:00
Mark Andrews
6bcb6962fd 1966. [bug] Don't set CD when we have fallen back to plain DNS.
[RT #15727]
2006-01-06 00:48:37 +00:00
Mark Andrews
013f7b64a0 update copyright notice 2006-01-06 00:01:41 +00:00
Mark Andrews
4f7d2d8ab0 newcopyrights 2006-01-05 23:30:03 +00:00
Mark Andrews
bf731edca1 type 2006-01-05 03:49:41 +00:00
Mark Andrews
f2d87c1319 1962. [bug] Named failed to clear old update-policy when it
was removed. [RT #15491]
2006-01-05 03:38:35 +00:00
Mark Andrews
4110331d52 1961. [bug] Check the port and address of responses forwarded
to dispatch. [RT #15474]
2006-01-05 03:31:00 +00:00
Mark Andrews
d4eb39e9c4 1960. [bug] Update code should set NXT ttls from SOA MINIMUM.
[RT #15465]
2006-01-05 03:21:24 +00:00
Mark Andrews
8d630822c5 fixed typos in error messages 2006-01-05 01:41:15 +00:00
Mark Andrews
49f672c58c 1958. [bug] Named failed to update the zone's secure state
until the zone was reloaded. [RT #15412]
2006-01-05 01:33:36 +00:00
Mark Andrews
3e3dcb39b5 1957. [bug] Dig mishandled responses to class ANY queries.
[RT #15402]
2006-01-05 01:04:30 +00:00
Mark Andrews
f074eb6bd0 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:40:13 +00:00
Mark Andrews
db14b20999 1955. [bug] Pre-allocate the cache cleaning interator. [RT #14998] 2006-01-05 00:18:58 +00:00
Mark Andrews
842fd830cb update copyright notice 2006-01-04 23:50:18 +00:00
Mark Andrews
006efd30bf newcopyrights 2006-01-04 23:30:04 +00:00
Mark Andrews
7ab4f03815 1952. [port] hpux: tell the linker to build a runtime link
path "-Wl,+b:". [RT #14816].
2006-01-04 22:48:07 +00:00
Mark Andrews
09991fa7a3 ambiguous else 2006-01-04 21:38:26 +00:00
Mark Andrews
f12934fb4f #include <dns/rcode.h> 2006-01-04 21:37:04 +00:00
Mark Andrews
476b6f0017 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:30 +00:00
Mark Andrews
f0f2acf61c 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:27:30 +00:00
Mark Andrews
708cf15605 1940. [bug] Fixed a number of error conditions reported by
Coverity.
2006-01-04 04:08:14 +00:00
Mark Andrews
edb9d49ef8 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:42 +00:00
Mark Andrews
8d4981b284 update copyright notice 2006-01-04 00:37:21 +00:00
Mark Andrews
a81f02ccdd newcopyrights 2006-01-03 23:30:08 +00:00
Mark Andrews
70d2549b37 1944. [cleanup] isc_hash_create() does not need a read/write lock.
[RT #15522]
2006-01-03 05:54:51 +00:00
Mark Andrews
4412fee31a spelling 2006-01-03 05:38:54 +00:00
Mark Andrews
947dc4afae 1943. [bug] Set the loadtime after rollimg forward the journal.
[RT #15647]
2006-01-03 05:36:00 +00:00
Mark Andrews
0f00e4acc4 Makefile 2005-12-14 04:19:15 +00:00
Mark Andrews
39e24bfe50 9.2.6 2005-12-14 00:40:26 +00:00
Mark Andrews
1089a28926 9.2.6rc1 2005-11-04 01:23:48 +00:00
Mark Andrews
903de80457 9.2.6rc1 2005-11-04 00:50:04 +00:00
Mark Andrews
568cbeb63d update copyright notice 2005-11-04 00:16:32 +00:00
Mark Andrews
2d8da76340 9.2.6rc1 2005-11-04 00:00:01 +00:00
Mark Andrews
ea770f0f69 newcopyrights 2005-11-03 23:49:23 +00:00
Mark Andrews
7f3adbeaac silence compiler warnings [RT #15562] 2005-11-03 23:41:23 +00:00
Mark Andrews
5c73fc9081 update copyright notice 2005-11-03 00:02:53 +00:00
Mark Andrews
c173623655 pullup bind8:
1721.   [bug]           Change #1718 was incomplete.  Missing error return
                        on out of memory.
2005-11-03 00:00:08 +00:00
Mark Andrews
f59f15d7cd newcopyrights 2005-11-02 23:31:30 +00:00
Mark Andrews
d695679dd3 regen 2005-11-02 22:54:53 +00:00
Mark Andrews
3e7210a6c2 extend cname and other data answer 2005-11-02 22:54:05 +00:00
Mark Andrews
6bbd5b5899 address timing issue in tests 2005-11-02 04:44:55 +00:00
Mark Andrews
3b859089d2 always clean .o's 2005-10-28 01:53:57 +00:00
Mark Andrews
6376265ade regen 2005-10-20 23:54:44 +00:00
Mark Andrews
805b0eb17e 1932. [bug] hpux: LDFLAGS was getting corrupted. [RT #15530] 2005-10-20 23:47:22 +00:00
Mark Andrews
4b160b2463 silence compiler 2005-10-14 05:43:07 +00:00
Mark Andrews
b824745b92 silence compiler 2005-10-14 05:28:43 +00:00
Mark Andrews
e4e80d69b9 9.2.6b2 2005-10-14 03:40:49 +00:00
Mark Andrews
656618c654 update 2005-10-14 02:47:13 +00:00
Mark Andrews
0bee264d26 update copyright notice 2005-10-14 02:13:05 +00:00
Mark Andrews
4a7b220748 newcopyrights 2005-10-14 01:56:08 +00:00
Mark Andrews
ca19d7cdc9 1930. [port] HPUX: ia64 support. [RT #15473]
1929.   [port]          FreeBSD: extend use of PTHREAD_SCOPE_SYSTEM.
2005-10-14 01:41:50 +00:00
Mark Andrews
c728311186 1930. [port] HPUX: ia64 support. [RT #15473]
1929.   [port]          FreeBSD: extend use of PTHREAD_SCOPE_SYSTEM.
2005-10-14 01:37:53 +00:00
Mark Andrews
f4c555b57c regen 2005-10-13 02:23:45 +00:00
Mark Andrews
73d499a081 9.2.6b2 2005-10-12 01:38:41 +00:00
Mark Andrews
cd1efb56ee don't cleanup ns2/example.db and ns2/tsigzone.db 2005-10-12 00:45:05 +00:00
Mark Andrews
354f16d5a8 9.2.6b2 2005-10-12 00:03:26 +00:00
Mark Andrews
671c67c076 update copyright notice 2005-10-11 23:53:58 +00:00
Mark Andrews
2f16514cda newcopyrights 2005-10-11 23:34:02 +00:00
Mark Andrews
9e40b70114 9.2.6b2 2005-10-11 23:24:44 +00:00
Mark Andrews
36b8185189 1926. [bug] BINDinstall was being installed in the wrong place.
[RT #15483]
2005-10-11 23:05:50 +00:00
Mark Andrews
a3ab7a9476 1925. [port] All outer level AC_TRY_RUNs need cross compiling
defaults. [RT #15469]
2005-10-11 22:27:22 +00:00
Mark Andrews
a908601a82 1924. [port] libbind: hpux ia64 support. [RT #15473] 2005-10-11 00:57:33 +00:00
Mark Andrews
02f9b34148 regen 2005-10-10 02:23:47 +00:00
Mark Andrews
6f31e4003a update forwarders description 2005-10-10 00:23:46 +00:00
Mark Andrews
5f5a0806d1 update copyright notice 2005-10-08 00:20:53 +00:00
Mark Andrews
6eae0ac5ca newcopyrights 2005-10-07 23:31:53 +00:00
Mark Andrews
c9a8e308cd 1923. [bug] ns_client_detach() called too early. [RT #15499] 2005-10-07 04:21:39 +00:00
Mark Andrews
1c24dbc273 regen 2005-09-15 22:48:05 +00:00
Mark Andrews
33532a4101 adjust for libxslt-1.1.15 2005-09-15 02:28:43 +00:00
Mark Andrews
e5c9598bb3 update copyright notice 2005-09-13 00:34:29 +00:00
Mark Andrews
fe6755b876 newcopyrights 2005-09-12 23:47:07 +00:00
Mark Andrews
a0e606b268 cleanup doc/xsl 2005-09-12 23:15:02 +00:00
Mark Andrews
8267ccfb55 cleanup 2005-09-12 22:50:01 +00:00
Mark Andrews
cbf8782b38 cleanup 2005-09-12 22:42:08 +00:00
Mark Andrews
c0a571da70 fix cleanup 2005-09-12 22:37:08 +00:00
Mark Andrews
2be14487ef regen 2005-09-12 00:29:05 +00:00
Mark Andrews
acbc328790 1917. [doc] funcsynopsisinfo wasn't being treated as verbatim
when generating man pages. [RT #15385]
2005-09-12 00:07:03 +00:00
Mark Andrews
5ddeca3a82 cleanup 2005-09-09 06:26:02 +00:00
Mark Andrews
60eeb0dbae pullup:
res_init()/res_ninit() could leak memory when re-called.
2005-09-09 00:41:57 +00:00
Mark Andrews
63f6f3cc64 newcopyrights 2005-09-06 23:35:31 +00:00
Mark Andrews
065ab192be libisccfg depends on libdns 2005-09-06 08:12:15 +00:00
Mark Andrews
525835630e copy Bv9ARM.pdf 2005-09-06 07:52:18 +00:00
Mark Andrews
23dbe8e703 update 2005-09-06 06:38:12 +00:00
Mark Andrews
1028be153e 9.2.6b1 2005-09-06 06:36:10 +00:00
Mark Andrews
6ca22d8862 9.2.6 2005-09-06 05:59:09 +00:00
Mark Andrews
e312d857cd add copyright notice 2005-09-06 02:58:50 +00:00
Mark Andrews
dacbfc25b6 update 2005-09-06 02:47:44 +00:00
Mark Andrews
e7517631f9 newcopyrights 2005-09-06 02:42:11 +00:00
Mark Andrews
15f658fa33 update 2005-09-06 02:24:21 +00:00
Mark Andrews
4c57da9c60 update copyright 2005-09-06 02:11:55 +00:00
Mark Andrews
96e32decd2 handle copyright less xml 2005-09-06 02:00:10 +00:00
Mark Andrews
54ec03d84b newcopyrights 2005-09-06 01:22:06 +00:00
Mark Andrews
1c738d7d85 add xml support 2005-09-06 01:17:56 +00:00
Mark Andrews
ee9595c770 9.2.6 version 2005-09-06 00:12:27 +00:00
Mark Andrews
77c120a6c3 update for 9.2.6 2005-09-05 05:06:28 +00:00
Mark Andrews
1a85ab707f silence compiler warnings 2005-09-03 12:51:17 +00:00
Mark Andrews
24329786c7 update for release 2005-09-02 06:31:39 +00:00
Mark Andrews
9f860ee661 change numbers 2005-09-02 04:56:12 +00:00
Mark Andrews
fcceeeab73 Pull in host order macros when _XOPEN_SOURCE_EXTENDED is defined. [RT #14966] 2005-09-02 04:04:46 +00:00
Mark Andrews
cd312c0293 new draft 2005-09-02 01:51:24 +00:00
Mark Andrews
2e00680d3e update 2005-09-02 01:49:57 +00:00
Mark Andrews
676e71c0e4 update 2005-09-02 01:42:49 +00:00
cvs2git
6c46d20045 This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-09-02 01:39:29 +00:00
Mark Andrews
df7e79d0cd 1920. [bug] Update windows socket code. [RT #14965] 2005-09-01 03:15:40 +00:00
Mark Andrews
19fa220481 silence compiler warning 2005-08-25 04:44:38 +00:00
Mark Andrews
f6cb34cb95 silence compiler warnings 2005-08-25 04:33:18 +00:00
Mark Andrews
00bc622ce4 silence compiler warning 2005-08-23 04:49:07 +00:00
Mark Andrews
1aad06e774 1914. [bug] Strings returned from cfg_obj_asstring() should be
treated as read-only.  [RT #15256]
2005-08-23 02:43:48 +00:00
Mark Andrews
2404006a8e MEMUNLOCK called too early 2005-08-22 01:34:48 +00:00
Mark Andrews
f6a0a4e7c7 initalise/destroy entropy and hash contexts 2005-08-16 04:43:22 +00:00
Mark Andrews
d4b6337f96 silence compiler warning 2005-08-15 02:05:45 +00:00
Mark Andrews
5009e2f53d silence compiler warning 2005-08-12 01:37:02 +00:00
Mark Andrews
8dfe2697a9 SOLARIS2 + HAVE_STROPTS_H 2005-08-11 08:08:48 +00:00
Mark Andrews
59734a810e update copyright notice 2005-07-29 00:13:52 +00:00
Mark Andrews
21c10bd6c0 update 2005-07-28 23:58:23 +00:00
Mark Andrews
9571c46ca6 newcopyrights 2005-07-28 23:31:19 +00:00
Mark Andrews
504beb7a44 sync w/ bind8 2005-07-28 07:49:47 +00:00
cvs2git
1726441325 This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-07-28 06:54:11 +00:00
Mark Andrews
1958b4ce90 update copyright notice 2005-07-23 04:34:21 +00:00
Mark Andrews
dedb1cb109 failed to increment sp on last change. 2005-07-22 05:26:44 +00:00
Mark Andrews
bcf7f3b14b newcopyrights 2005-07-21 23:30:06 +00:00
Mark Andrews
81f0de771d 1904. [bug] A escaped character is, potentially, converted to
the output character set too early. [RT #14666]
2005-07-20 01:55:34 +00:00
Mark Andrews
ccba21b251 uintptr_t is in <inttypes.h> on some platforms 2005-07-19 07:15:58 +00:00
Mark Andrews
5f29384309 regen 2005-07-19 06:14:39 +00:00
Mark Andrews
0c5d7e8f35 update copyright notice 2005-07-18 23:59:01 +00:00
Mark Andrews
743ea16b26 newcopyrights 2005-07-18 23:31:18 +00:00
Mark Andrews
9ad3b1b355 sync w/ HEAD 2005-07-18 07:36:23 +00:00
Mark Andrews
8d66846775 sync w/ HEAD 2005-07-18 06:27:43 +00:00
Mark Andrews
41f5ef0652 1902. [port] Use uintptr_t if available. [RT #14606] 2005-07-18 05:30:31 +00:00
Mark Andrews
b88530a0ef regen 2005-07-18 02:32:26 +00:00
Mark Andrews
c5b00fa4cd update copyright notice 2005-07-12 05:47:53 +00:00
Mark Andrews
cd8c5a9857 newcopyrights 2005-07-11 23:31:58 +00:00
Mark Andrews
4ed66b5ee4 remove extraneous * after specific solaris version in case statements 2005-07-11 03:33:41 +00:00
Mark Andrews
0e5b408569 remove extraneous * after specific solaris version in case statements 2005-07-11 03:28:15 +00:00
Mark Andrews
bc8ea39f61 1898. [port] sunos: non blocking i/o support. [RT #14951] 2005-07-08 05:07:54 +00:00
Mark Andrews
76e7317d94 1896. [bug] The cache could delete expired records too fast for
clients with a virtual time in the past. [RT #14991]
2005-07-07 03:06:29 +00:00
Mark Andrews
358ee5ccba newcopyrights 2005-07-05 23:31:12 +00:00
Mark Andrews
7a76e0b837 1895. [bug] fctx_create() could return success even though it
failed. [RT #14993]
2005-07-04 23:19:17 +00:00
Mark Andrews
072919b111 1893. [cleanup] dighost.c: move external declarations into <dig/dig.h>. 2005-07-04 03:22:05 +00:00
Mark Andrews
022f6372bc update copyright notice 2005-07-02 02:42:29 +00:00
Mark Andrews
dce075f496 newcopyrights 2005-07-01 23:31:22 +00:00
Mark Andrews
d3b8e3b36b spelling 2005-07-01 03:59:38 +00:00
Mark Andrews
5186cf297f 1892. [bug] dnssec-signzone, dnssec-keygen, dnssec-sigkey,
dnssec-makekeyset: handle negative debug levels.
                        [RT #14962]
2005-07-01 03:55:03 +00:00
cvs2git
0ff09ded2f This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-06-29 09:19:14 +00:00
Mark Andrews
d494155b93 update copyright notice 2005-06-26 23:12:56 +00:00
Mark Andrews
5eda5a766c regen 2005-06-26 00:04:39 +00:00
Mark Andrews
a64d2767ff newcopyrights 2005-06-24 23:31:11 +00:00
Mark Andrews
2d3fea0a3e remove garbage line 2005-06-24 00:18:41 +00:00
Mark Andrews
21615905fb update copyright notice 2005-06-24 00:02:40 +00:00
Mark Andrews
8c2ba6f7cd make adb_test and byname_test run 2005-06-23 23:53:10 +00:00
Mark Andrews
6127731a95 newcopyrights 2005-06-23 23:31:37 +00:00
Mark Andrews
6e44fe0098 1890. [func] Add a system test for named-checkconf. [RT #14931] 2005-06-23 08:02:37 +00:00
cvs2git
fc2e8aa556 This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-06-23 06:52:24 +00:00
Mark Andrews
700509feda 9.2.6b1 2005-06-20 02:53:43 +00:00
Mark Andrews
f9195a69ad remove #define ROOTNS 1 2005-06-19 22:48:14 +00:00
Mark Andrews
5aa62b3f28 update copyright notice 2005-06-18 01:02:59 +00:00
Mark Andrews
f26b6ec4e0 newcopyrights 2005-06-17 23:31:12 +00:00
Mark Andrews
fe65ba8741 1886. [bug] Fix unreasonably low quantum on call to
dns_rbt_destroy2().  Remove unnecessay unhash_node()
                        call. [RT #14919]
2005-06-17 01:05:47 +00:00
Mark Andrews
5bda92816e update copyright notice 2005-06-12 00:02:01 +00:00
Mark Andrews
c34528b75e newcopyrights 2005-06-11 23:31:09 +00:00
Mark Andrews
62727af9b0 1884. [bug] process_dhtkey() was using the wrong memory context
to free some memory. [RT #14890]
2005-06-10 07:06:42 +00:00
Mark Andrews
db1649c42a update copyright notice 2005-06-09 23:53:30 +00:00
Mark Andrews
28e4487c32 newcopyrights 2005-06-09 23:31:22 +00:00
Mark Andrews
800d97ac53 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:43 +00:00
Mark Andrews
d118d73284 1860. [port] solaris 2.8: hack_shutup_pthreadmutexinit was
incorrectly set. [RT #14775]
2005-06-08 00:44:56 +00:00
Mark Andrews
5a99e0f43f update copyright notice 2005-06-08 00:12:18 +00:00
Mark Andrews
470fc65638 newcopyrights 2005-06-07 23:31:16 +00:00
Mark Andrews
2fe8a3e416 1880. [bug] dnssec_makekeyset and dnssec-signkey failed to
initalize the hash context. [RT #13771]
2005-06-07 02:12:27 +00:00
Mark Andrews
13b11f5d74 1861. [bug] dig could trigger a INSIST on certain malformed
responses. [RT #14801]
2005-06-07 01:44:08 +00:00
Mark Andrews
ede3c4630e 1865. [bug] Silently ignore nameservers in /etc/resolv.conf with
bad addresses. [RT #14841]
2005-06-07 01:00:25 +00:00
Mark Andrews
9be0906b43 adjust description 2005-06-06 04:42:40 +00:00
Mark Andrews
2b560bc8f4 1838. [cleanup] Don't allow Linux capabilities to be inherited.
[RT #13707]
2005-05-20 01:37:08 +00:00
Mark Andrews
88b685e8d0 1845. [bug] Improve error reporting to distingish between
accept()/fcntl() and socket()/fcntl() errors.
                        [RT #13745]
2005-05-19 02:40:50 +00:00
Mark Andrews
a85bab05b2 typo in comment 2005-05-16 05:30:01 +00:00
Mark Andrews
0055be7ebd comment out debugging prints 2005-05-16 00:10:21 +00:00
Mark Andrews
e9ea66cab0 remove deleted files 2005-05-16 00:10:18 +00:00
Mark Andrews
721aec2946 newcopyrights 2005-05-13 23:32:44 +00:00
Mark Andrews
824cb31b66 regen 2005-05-13 02:25:01 +00:00
Mark Andrews
f166569008 track the modification years even if we are not going to be updating the copyrights 2005-05-13 01:31:10 +00:00
Mark Andrews
c9d9323ee8 update copyright notice 2005-05-13 01:21:58 +00:00
Mark Andrews
10d2d8338c perl not C 2005-05-13 01:09:12 +00:00
Mark Andrews
26b5808112 copyright notice is now generated from the source 2005-05-13 01:02:33 +00:00
Rob Austein
fa05216dd8 regen 2005-05-12 23:55:58 +00:00
Mark Andrews
1aab25e96f newcopyrights 2005-05-12 23:33:04 +00:00
Rob Austein
14c8666880 1856. [doc] Switch Docbook toolchain from DSSSL to XSL. 2005-05-12 21:35:25 +00:00
cvs2git
90e7bf837e This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-05-12 20:21:28 +00:00
Mark Andrews
4104448b41 remove extra < 2005-05-12 08:13:25 +00:00
Mark Andrews
297fa6dd4b regenerate <bookinfo> / <docinfo> as appropriate. 2005-05-12 08:00:26 +00:00
Mark Andrews
df439c22eb handle files newer than 2004 2005-05-12 02:31:04 +00:00
Mark Andrews
20cd01fa96 handle XSL files 2005-05-12 02:13:32 +00:00
Mark Andrews
31fc0866f7 fully collect the text before a comment in a docbook source 2005-05-12 01:44:31 +00:00
Mark Andrews
e9a1342be9 update copyright notice 2005-05-08 23:54:56 +00:00
Mark Andrews
2142754735 newcopyrights 2005-05-06 23:32:15 +00:00
Mark Andrews
872ac31ae1 1854. [bug] lwres also needs to know the print format for
(long long).  [RT #13754]
2005-05-06 02:19:41 +00:00
Mark Andrews
dd87f711c3 update copyright notice 2005-05-02 00:25:33 +00:00
Mark Andrews
a7c70f4a8f newcopyrights 2005-04-29 23:32:15 +00:00
Mark Andrews
3ca60e3436 oops the dnssec-signzone.@O@ was needed to set VERSION. 2005-04-29 05:21:17 +00:00
Mark Andrews
013446e315 update copyright notice 2005-04-28 23:59:13 +00:00
Mark Andrews
783b7a70da newcopyrights 2005-04-27 23:31:19 +00:00
Mark Andrews
7eb9d7c7c3 1850. [bug] Memory leak in lwres_getipnodebyaddr(). [RT #14591] 2005-04-27 00:46:46 +00:00
Mark Andrews
4276ce9601 cleanup 2005-04-27 00:02:57 +00:00
Mark Andrews
c8f37c2c99 1849. [doc] All forms of the man pages (docbook, man, html) should
have consistant copyright dates.
2005-04-07 02:22:34 +00:00
Mark Andrews
cd56349c87 newcopyrights 2005-04-05 23:31:13 +00:00
Mark Andrews
5bdbf71094 Mac OS X 10.3.8 2005-04-05 03:05:04 +00:00
Mark Andrews
cad41f2f01 1848. [bug] Improve SMF integration. [RT #13238] 2005-04-05 02:11:54 +00:00
Mark Andrews
2833f7ab6f 1848. [bug] Improve SMF integration. [RT #13238] 2005-04-05 01:29:09 +00:00
cvs2git
246e819fa4 This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-04-05 00:58:17 +00:00
Mark Andrews
82ae5db606 newcopyrights 2005-04-03 23:31:05 +00:00
Mark Andrews
ee45ad5226 regen 2005-04-03 03:31:48 +00:00
Mark Andrews
5ddac5ae9f 1847. [bug] isc_ondestroy_init() is called too late in
in dns_rbtdb_create()/dns_rbtdb_create().
                        [RT #13661]
2005-04-01 07:05:06 +00:00
Mark Andrews
b2eb6d75ea 1846. [contrib] query-loc-0.3.0 from Stephane Bortzmeyer
<bortzmeyer@nic.fr>.
2005-04-01 06:23:09 +00:00
cvs2git
9e69b504de This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-04-01 05:35:02 +00:00
Mark Andrews
e28530fa77 update copyright notice 2005-03-31 23:58:02 +00:00
Mark Andrews
4f8c537251 newcopyrights 2005-03-31 23:31:11 +00:00
Mark Andrews
827b7c486a 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:36 +00:00
Mark Andrews
5661f1f964 update copyright notice 2005-03-31 04:28:21 +00:00
Mark Andrews
660c1bdc6a Irix, MipsPRO 7.4.1m not 7.3.1m 2005-03-31 04:24:22 +00:00
Mark Andrews
846e29a403 1841. [bug] "dig +nssearch" now makes a recursive query to
find the list of nameservers to query. [RT #13694]
2005-03-31 02:44:06 +00:00
Mark Andrews
382d126d82 Irix, MipsPRO 7.3.1m is known to cause problems. 2005-03-31 00:07:10 +00:00
Mark Andrews
88cef6d945 newcopyrights 2005-03-30 23:31:04 +00:00
Mark Andrews
a16f842f97 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:03:31 +00:00
Mark Andrews
1c8b625818 1842. [port] cmsg_len() could produce incorrect results on
some platform. [RT #13744]
2005-03-30 05:52:56 +00:00
Mark Andrews
e75f0dfb6f add example 2005-03-22 23:38:56 +00:00
Mark Andrews
060529d9d5 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:25:32 +00:00
Mark Andrews
4c4af4b05e update copyright notice 2005-03-22 02:31:40 +00:00
Mark Andrews
d750479772 newcopyrights 2005-03-21 23:31:15 +00:00
Mark Andrews
ee476678ce 1839. [bug] <isc/hash.h> was not being installed. 2005-03-21 05:54:26 +00:00
Mark Andrews
689e359a66 silence compiler message 2005-03-20 23:42:26 +00:00
Mark Andrews
f2eab54d25 update copyright notice 2005-03-20 22:33:29 +00:00
Mark Andrews
372f7358da newcopyrights 2005-03-18 23:31:25 +00:00
Mark Andrews
f2114d063e silence compiler warnings 2005-03-18 04:57:19 +00:00
Mark Andrews
0a47eaf941 regen 2005-03-18 03:35:30 +00:00
Mark Andrews
ea315a74ec Don't depend on autoconf being called w/ -I ../.. 2005-03-18 03:33:51 +00:00
Mark Andrews
3b0f51f508 update copyright notice 2005-03-17 03:59:33 +00:00
Mark Andrews
1bddd4c25b newcopyrights 2005-03-16 23:31:09 +00:00
Mark Andrews
ade18ca98f silence compiler warnings 2005-03-16 23:24:32 +00:00
Mark Andrews
da26a507ee 1836. [cleanup] Silence compiler warnings in hash_test.c 2005-03-16 19:56:30 +00:00
Mark Andrews
68911dd38f 1836. [cleanup] Silence compiler warnings in hash_test.c 2005-03-16 19:49:18 +00:00
Mark Andrews
0398da5917 conflict w/ builtin, log -> lctx. 2005-03-16 13:52:53 +00:00
Mark Andrews
98ddd86310 1836. [cleanup] Silence compiler warnings in hash_test.c. 2005-03-16 13:42:19 +00:00
Mark Andrews
383bffce67 regen 2005-03-16 05:03:22 +00:00
Mark Andrews
a9e4bc7872 1807. [bug] When forwarding (forward only) set the active domain
from the forward zone name. [RT #13526]
2005-03-16 03:51:24 +00:00
Mark Andrews
8841a126c9 1820. [bug] Gracefully handle acl loops. [RT #13659] 2005-03-16 03:33:19 +00:00
Mark Andrews
a6a815cfcd 1835. [bug] Update dnssec-signzone's usage message. [RT #13657] 2005-03-16 03:09:30 +00:00
Mark Andrews
4a8dcc0780 repeated word 2005-03-16 02:51:58 +00:00
Mark Andrews
f609ce5b86 1834. [bug] Bad memset in rdata_test.c. [RT #13658] 2005-03-16 02:45:28 +00:00
Mark Andrews
1483862088 1833. [bug] Race condition in isc_mutex_lock_profile(). [RT #13660] 2005-03-16 01:57:44 +00:00
Mark Andrews
c5a1b35521 1832. [bug] named fails to return BADKEY on unknown TSIG algorithm.
[RT #13620]
2005-03-16 01:46:26 +00:00
Mark Andrews
105c67c4f3 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:07 +00:00
Mark Andrews
77e7a1a138 update copyright 2005-03-16 00:57:44 +00:00
Mark Andrews
de967f43fd newcopyrights 2005-03-16 00:01:33 +00:00
Mark Andrews
2e1c44a9b0 newcopyrights 2005-03-15 23:58:34 +00:00
Mark Andrews
bd1d74745d 1830. [bug] adb lame cache has sence of test reversed. [RT #13600] 2005-03-15 23:39:59 +00:00
Mark Andrews
fd0df3319b 1810. [bug] configure, lib/bind/configure make different default
decisions about whether to do a threaded build.
                        [RT #13212]
2005-03-15 23:09:41 +00:00
Mark Andrews
e6cbb84bee 1810. [bug] configure, lib/bind/configure make different default
decisions about whether to do a threaded build.
                        [RT #13212]
2005-03-15 22:59:48 +00:00
cvs2git
840f73ca41 This commit was manufactured by cvs2git to create branch 'v9_2'. 2005-03-15 22:58:50 +00:00
Mark Andrews
9f33f6550f regen 2005-03-15 08:11:50 +00:00
Mark Andrews
55016dd447 1809. [bug] "make distclean" failed for libbind if the platform
is not supported.
2005-03-15 02:15:28 +00:00
Mark Andrews
b0c9709b89 1828. [bug] isc_rwlock_init() failed to properly cleanup if it
encountered a error. [RT #13549]
2005-03-15 02:03:02 +00:00
Mark Andrews
0d5a7e4261 1827. [bug] host: update usage message for '-a'. [RT #37116] 2005-03-15 01:49:01 +00:00
Mark Andrews
1e5ec96eae 1802. [bug] Handle connection resets better. [RT #11280] 2005-03-15 01:40:53 +00:00
Mark Andrews
746383877c 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:25 +00:00
Mark Andrews
85169e802d 1826. [bug] Missing DESTROYLOCK() in isc_mem_createx() on out
of memory error. [RT #13537]
2005-03-15 01:12:04 +00:00
Mark Andrews
43f8f53504 style 2005-03-15 00:46:37 +00:00
Mark Andrews
0896f35a26 1825. [bug] Missing unlock on out of memory error from in
rbtdb.c:subtractrdataset().  [RT #13519]
2005-03-15 00:34:47 +00:00
Mark Andrews
158db0338f 1824. [bug] Memory leak on dns_zone_setdbtype() failure.
[RT #13510]
2005-03-15 00:23:22 +00:00
Mark Andrews
f7bf98ed97 1823. [bug] Wrong macro used to check for point to point interface.
[RT#13418]
2005-03-15 00:08:35 +00:00
Mark Andrews
4191c3be01 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:24:54 +00:00
Mark Andrews
8c28be5377 9.2.5 2005-03-03 05:14:23 +00:00
Mark Andrews
2c30dcb5c2 update copyright notice 2005-02-09 05:11:52 +00:00
Mark Andrews
7980400c7e newcopyrights 2005-02-09 04:31:21 +00:00
Mark Andrews
b87a1ccea3 9.2.5rc1 2005-02-09 04:09:24 +00:00
Mark Andrews
218e64c461 1812. [port] win32: IN6_IS_ADDR_UNSPECIFIED macro is incorrect.
[RT #13453]
2005-02-09 04:08:43 +00:00
Mark Andrews
26d57b3f7f 1812. [port] win32: IN6_IS_ADDR_UNSPECIFIED macro is incorrect.
[RT #13453]
2005-02-09 03:47:13 +00:00
Mark Andrews
7b0b3cbaa8 update copyright notice 2005-02-03 23:48:30 +00:00
Mark Andrews
394eecad67 newcopyrights 2005-02-03 23:31:13 +00:00
Mark Andrews
84e4be8bc4 1808. [bug] zone.c:notify_zone() contained a race condition,
zone->db could change underneath it.  [RT #13511]
2005-02-03 05:13:28 +00:00
Mark Andrews
fd6887dfef gcc-3.3.5 powerpc generates incorrect code at -02 2005-02-02 05:22:38 +00:00
Mark Andrews
480851f9f6 9.2.5beta2 2005-01-20 00:33:40 +00:00
Mark Andrews
5a15d2a4b3 update for 9.2.5beta2 2005-01-20 00:28:03 +00:00
Mark Andrews
7017f79ed8 update copyright notice 2005-01-19 23:59:15 +00:00
Mark Andrews
53a94130c0 newcopyrights 2005-01-19 23:40:43 +00:00
Mark Andrews
e1116c60f2 1800. [bug] Changes #1719 allowed a INSIST to be triggered.
[RT #13428]
2005-01-19 23:36:31 +00:00
Mark Andrews
9f0899a487 Q: I get "Error 1067" when starting named under Windows. 2005-01-18 02:06:13 +00:00
Mark Andrews
e39fb2c7fd newcopyrights 2005-01-11 00:41:23 +00:00
Mark Andrews
1093d60cd8 update copyright notice 2005-01-10 23:56:51 +00:00
Mark Andrews
00240af1f5 newcopyrights 2004-12-13 23:46:40 +00:00
Mark Andrews
abdf269728 9.2.5beta1 2004-12-13 00:33:09 +00:00
Mark Andrews
9fe0cb9305 removed /I "../../../lib/isccc/include" by mistake 2004-12-09 20:07:03 +00:00
Mark Andrews
db2c9d3e07 9.2.5beta1 2004-12-09 06:02:35 +00:00
Mark Andrews
056f672d63 1790. [cleanup] Move lib/dns/sec/dst up into lib/dns. This should
allow parallel make to succeed.
2004-12-09 03:20:03 +00:00
cvs2git
d06a0a532a This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-12-09 01:41:26 +00:00
Mark Andrews
ef556c2376 1789. [bug] Prerequisite test for tkey and dnssec could fail
with "configure --with-libtool".
2004-12-08 06:12:04 +00:00
Mark Andrews
bab8beadb8 redo
1775.   [bug]           Only compile getnetent_r.c when threaded. [RT #13205]
2004-12-07 00:37:30 +00:00
Mark Andrews
d962c7f4db update 2004-12-06 23:56:08 +00:00
Mark Andrews
1b0fddf292 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:52:38 +00:00
cvs2git
2901b001aa This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-12-06 22:50:42 +00:00
Mark Andrews
39be5b1bd2 1775. [bug] Only compile getnetent_r.c when threaded. [RT #13205] 2004-12-06 21:48:59 +00:00
Mark Andrews
1b6939032a 1787. [port] HPUX: both "cc" and "gcc" need -Wl,+vnocompatwarnings. 2004-12-06 21:45:47 +00:00
Mark Andrews
069075a911 1787. [port] HPUX: both "cc" and "gcc" need -Wl,+vnocompatwarnings. 2004-12-06 21:34:51 +00:00
Mark Andrews
84c914eead Updated config.guess returns alphaev6-dec-osf5.1b not
alphaev6-dec-osf5.1.
2004-12-06 01:14:11 +00:00
Mark Andrews
0a206b5975 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 22:58:24 +00:00
Mark Andrews
851b7a68e9 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 22:57:01 +00:00
Mark Andrews
3a023b3f6f 1782. [port] OSX: --with-libtool + --enable-libbind broke on
__evOptMonoTime.  [RT #13219]
2004-12-05 22:37:22 +00:00
Mark Andrews
4d2f4d4217 regen 2004-12-04 07:00:55 +00:00
Mark Andrews
054d8dfe2f 1781. [port] FreeBSD 5.3: set PTHREAD_SCOPE_SYSTEM. [RT #12810] 2004-12-04 06:45:59 +00:00
Mark Andrews
e327eae24b 1783. [cleanup] We only need one copy of libtool.m4, ltmain.sh in the
source tree.
2004-12-03 02:58:11 +00:00
Mark Andrews
866c2b306e 1773. [bug] Fast retry on host / net unreachable. [RT #13153] 2004-12-03 02:06:15 +00:00
Mark Andrews
dfcde667ec 1779. [port] OSF 5.1: libtool didn't handle -pthread correctly.
Redo w/ fix from generic fix from libtool maintainer.
2004-12-02 22:50:36 +00:00
Mark Andrews
07cc5cd57a 1780. [bug] Update libtool to 1.5.10. 2004-12-02 02:06:44 +00:00
Mark Andrews
5673ab25fe 1780. [bug] Update libtool to 1.5.10.
The may fix some of the libtool problems we currently have and will
make it easier to interact with the libtool maintainers to fix discovered
libtool bugs.
2004-12-02 02:02:03 +00:00
Mark Andrews
9449b16419 1779. [port] OSF 5.1: libtool didn't handle -pthread correctly. 2004-12-01 05:02:56 +00:00
Mark Andrews
79570acc9d 1778. [port] HUX 11.11: fix broken IN6ADDR_ANY_INIT and
IN6ADDR_LOOPBACK_INIT macros.
2004-11-30 13:24:16 +00:00
Mark Andrews
cb18949469 1777. [port] OSF 5.1: fix broken IN6ADDR_ANY_INIT and
IN6ADDR_LOOPBACK_INIT macros.
2004-11-30 06:48:01 +00:00
Mark Andrews
9a561b541e 1776. [port] Solaris 2.9: fix broken PTHREAD_MUTEX_INIT macro. 2004-11-30 05:54:30 +00:00
Mark Andrews
42e237a3c5 1774. [port] Aix: Silence compiler warnings / build failures.
[RT #13154]
2004-11-30 01:24:27 +00:00
Mark Andrews
bc11a54bd2 1774. [port] Aix: Silence compiler warnings / build failures.
[RT #13154]
2004-11-30 01:16:00 +00:00
Mark Andrews
fa847cb128 silence compiler warnings 2004-11-30 00:32:56 +00:00
Mark Andrews
da6fa572f8 1766. [bug] Update the master file timestamp on successful refresh
as well as the journal's timestamp. [RT# 13062]
2004-11-22 23:53:11 +00:00
Mark Andrews
8c72b63690 2.6. TXT records are no longer automatically split. 2004-11-22 22:33:43 +00:00
Mark Andrews
6bb78c38d5 1772. [bug] Change #1740 needed more work in 9.2 as bit-labels
are still supported. [RT #13015]

1771.   [bug]           Built-in zones did not have SOA or NS records.
                        [RT #13015]
2004-11-22 07:38:19 +00:00
Mark Andrews
ce2c43b3a3 1770. [bug] named-checkconf failed to report missing a missing
file clause for rbt{64} master/hint zones. [RT#13009]
2004-11-22 05:01:37 +00:00
Mark Andrews
cf71a8af05 1767. [port] Builds on IPv6 platforms without IPv6 Advanced API
support for (struct in6_pktinfo) failed.  [RT #13077]
2004-11-18 21:31:02 +00:00
Mark Andrews
08783bfa71 1769. [port] win32: change compiler flags /MTd ==> /MDd,
/MT ==> /MD.
2004-11-18 01:02:37 +00:00
Mark Andrews
2fc0b6a4a7 1760. [bug] Host / net unreachable was not penalising rtt
estimates. [RT #12970]
2004-11-10 21:47:55 +00:00
Mark Andrews
f62c492ec6 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:16:27 +00:00
Mark Andrews
35bbe18fcc mis-applied patch collision 2004-11-05 00:33:00 +00:00
Mark Andrews
7e281a3139 1753. [bug] Don't serve a slave zone which has no NS records.
[RT #12894]
2004-10-26 02:08:00 +00:00
Mark Andrews
e51f39122e 1740. [bug] Replace rbt's hash algorithm as it performed badly
with certain zones. [RT #12729]
2004-10-25 01:45:26 +00:00
Mark Andrews
8171bc55d5 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:50:53 +00:00
Mark Andrews
b2be7d9df9 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 SIG records. [RT #12788]
2004-10-21 01:35:13 +00:00
Mark Andrews
07f09bdddf 1750. [port] lib/bind/make/rules.in:subdirs was not bash friendly.
[RT #12864]
2004-10-20 00:14:53 +00:00
Mark Andrews
2d25183098 regen 2004-10-18 02:18:14 +00:00
Mark Andrews
259798fa37 1747. [bug] BIND 8 compatability: named/named-checkconf failed
to parse "host-statistics-max" in named.conf.
2004-10-17 23:19:29 +00:00
Mark Andrews
881fd454df 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:41:54 +00:00
Mark Andrews
9d4d662806 1744. [bug] If tuple2msgname() failed to convert a tuple to
a name a REQUIRE could be triggered. [RT #12796]
2004-10-13 22:28:04 +00:00
Mark Andrews
13afaceb70 1741. [bug] Deleting all records at a node in a secure zone
using a update-policy grant failed. [RT #12787]
2004-10-12 22:08:32 +00:00
Mark Andrews
08e50a7e57 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:37 +00:00
Mark Andrews
4fcc0d1db8 1725. [port] linux: update error message on interaction of threads,
capabilities and setuid support (named -u). [RT #12541]
2004-10-07 02:34:50 +00:00
Mark Andrews
3b0aa1b90b adjust placement from mis-applied patch 2004-10-05 22:19:58 +00:00
Mark Andrews
8c29c715df 1730. [port] Determine the length type used by the socket API.
[RT #12581]
2004-10-05 03:23:04 +00:00
Mark Andrews
d475701981 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:54 +00:00
Mark Andrews
1439cfe000 1736. [bug] dst_key_fromnamedfile() could fail to read a
public key. [RT #12687]

Not strictly necessary for 9.2.x but will prevent problems if we
ever need to add a extra flag bit to 9.2.
2004-10-01 00:20:49 +00:00
Mark Andrews
6c48c27771 1733. [bug] Return non-zero exit status on initial load failure.
[RT #12658]
2004-09-29 06:38:44 +00:00
Mark Andrews
a2fd6f3a71 1734. [cleanup] 'rndc-confgen -a -t' remove extra '/' in path.
[RT #12588]
2004-09-28 07:18:28 +00:00
Mark Andrews
b785802f58 Update error message. s/isc_socket_recv()/isc_socket_recv2()/ 2004-09-26 22:38:45 +00:00
Mark Andrews
ef963a9be7 update 2004-09-24 23:52:53 +00:00
Mark Andrews
fc4b0f93b8 newcopyrights 2004-09-24 23:46:02 +00:00
Mark Andrews
99df47c71c 1726. [port] aix5: add support for aix5. 2004-09-24 06:06:24 +00:00
cvs2git
2d57540dde This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-09-24 04:32:34 +00:00
Mark Andrews
24efab3bf2 1723. [cleanup] Silence compiler warnings from t_tasks.c. [RT #12493] 2004-09-21 02:44:49 +00:00
Mark Andrews
252666bc6c cleanup 2004-09-21 01:14:08 +00:00
Mark Andrews
08cb90b8d4 snap1 is not a formal release. back out release changes. 2004-09-21 01:07:19 +00:00
Mark Andrews
59859fdc6e newcopyrights 2004-09-20 23:48:25 +00:00
Mark Andrews
d4dedd48e7 9.2.5snap1 2004-09-20 04:10:24 +00:00
Mark Andrews
a20d36a108 silence compiler 2004-09-17 13:32:07 +00:00
Mark Andrews
76c3bc4247 9.2.4 2004-09-17 06:26:05 +00:00
Mark Andrews
2f7c5b283c silence compiler 2004-09-17 05:57:20 +00:00
Mark Andrews
65531a7b88 9.2.4 2004-09-17 01:29:21 +00:00
Mark Andrews
3e701ef084 9.2.4 2004-09-17 01:08:37 +00:00
Mark Andrews
a13f74771d silence compiler 2004-09-16 07:07:24 +00:00
Mark Andrews
04cbf4cbdb silence compiler 2004-09-16 07:01:54 +00:00
Mark Andrews
25efe0fef1 patch miss applied 2004-09-16 06:05:36 +00:00
Mark Andrews
4586b37cde make -j3 support 2004-09-16 05:12:27 +00:00
Mark Andrews
1986c69206 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 05:00:39 +00:00
Mark Andrews
23acff09f7 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:55:37 +00:00
Mark Andrews
3874c70065 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:49:35 +00:00
Mark Andrews
4ad9e168a0 1714. [bug] dig/host/nslookup were only trying the first
address when a nameserver was specified by name.
                        [RT #12286]
2004-09-16 02:19:39 +00:00
Mark Andrews
bd427b2d54 silence compiler warnings 2004-09-16 01:00:40 +00:00
Mark Andrews
c95787330a pullup
1684.   [port]          64 bit size_t issues / compiler warnings.
2004-09-16 00:57:50 +00:00
Mark Andrews
9a958f26b5 1717. [port] solaris: ifconfig.sh did not support Solaris 10.
"ifconfig.sh down" didn't work for Solaris 9.
2004-09-09 01:31:25 +00:00
Mark Andrews
455238f5b6 bad descriptions s/dns_label_countlabels/dns_name_countlabels/ 2004-09-08 00:34:23 +00:00
Mark Andrews
ef3bdd59db clean up */dsset-*, */dlvset-* and ns2/dlv.db 2004-09-07 04:19:30 +00:00
Mark Andrews
4bb5cecc43 changes # 2004-09-06 21:45:53 +00:00
Mark Andrews
25bae795b2 1715. [doc] named.conf(5) was being installed in the wrong
location.  [RT# 12441]
2004-09-06 21:42:06 +00:00
Mark Andrews
4d29ec54e4 libdns from 9.2 now has INTERFACE 17-19 reserved for it. This should allow
the AGE field to be used up until we hit the 9.3 INTERFACE space (20-29).
2004-09-02 02:38:18 +00:00
Mark Andrews
901a8dec4c update for 9.2.4rc8 2004-09-01 14:10:42 +00:00
Mark Andrews
fc76b92526 update for 9.2.4rc8 2004-09-01 07:53:34 +00:00
Mark Andrews
a15c185902 9.2.4rc8 2004-09-01 07:28:31 +00:00
Mark Andrews
a0ea61f6c3 1709. [port] solaris: add SMF support from Sun. 2004-09-01 07:11:22 +00:00
Mark Andrews
2e71b10df7 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:22:51 +00:00
Mark Andrews
e1c8c83bb8 fix typo in unexecuted code 2004-09-01 04:31:39 +00:00
Mark Andrews
c501cc104e match startrecv() prototype to function. 2004-09-01 04:29:00 +00:00
Mark Andrews
35027912d7 pullup:
1682.   [bug]           gethostby*_r() implementations that copied the return
                        pointer got NULL returned on success.
2004-09-01 02:02:20 +00:00
Mark Andrews
9897538dc1 adjust ./lib/lwres/print_p.h 2004-08-30 00:43:38 +00:00
Mark Andrews
3fd78cdc7f use isc/print.c dates for lwres/print.c
use isc/print.h dates for lwres/print_p.c
2004-08-28 23:55:12 +00:00
Mark Andrews
494a2629f2 newcopyrights 2004-08-28 23:46:15 +00:00
Mark Andrews
f87c4c6f64 update for 9.2.4 2004-08-28 07:01:50 +00:00
Mark Andrews
4ab8b5f1f3 regen for 9.2.4 2004-08-28 06:51:24 +00:00
Mark Andrews
711fdcc1ce 1704. [port] lwres needed a snprintf() implementation for
platforms without snprintf(). [RT #12321]
2004-08-28 06:18:29 +00:00
Mark Andrews
4f97654cdc 1707. [contrib] sdb/ldap updated to version 1.0-beta. 2004-08-27 00:14:54 +00:00
Mark Andrews
7057dff5fe new draft 2004-08-26 02:33:31 +00:00
Mark Andrews
e7cdb5fbac regen 2004-08-26 02:25:52 +00:00
Mark Andrews
2664a37d4e remove typo 2004-08-26 01:33:50 +00:00
Mark Andrews
6ee5ea47bd 3833: Threat Analysis of the Domain Name System (DNS) 2004-08-25 00:43:13 +00:00
Mark Andrews
d7c2f79737 pullup:
1679.   [bug]           A bad length check was introduced by change #1661
                        in dns_ho.c.
2004-08-24 00:31:26 +00:00
Mark Andrews
aa84dcf332 update for 9.3.0 2004-08-23 09:39:07 +00:00
Tatuya JINMEI 神明達哉
3abb23484e corrected the position of 3071 2004-08-23 07:05:58 +00:00
Mark Andrews
9f54cae9cd 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:50:28 +00:00
Mark Andrews
d682863dc5 9.2.4 2004-08-23 06:43:08 +00:00
Mark Andrews
a0ca2f6b77 9.2.4 2004-08-23 06:18:08 +00:00
Mark Andrews
542560be31 regen 2004-08-22 23:36:09 +00:00
Mark Andrews
76fc10ed94 regen 2004-08-21 07:02:11 +00:00
Mark Andrews
cdb6d1247f newcopyrights 2004-08-21 06:50:55 +00:00
Mark Andrews
de298634e0 1701. [doc] A minimal named.conf man page. 2004-08-21 06:44:31 +00:00
cvs2git
24e8a122a0 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-08-20 21:33:15 +00:00
Mark Andrews
2c6f07bcda update to reflect current lab systems 2004-08-20 05:58:59 +00:00
Mark Andrews
ba4351ca07 close some open <varlistentry>s 2004-08-20 01:09:20 +00:00
Mark Andrews
54ab83cfcf new draft 2004-08-19 22:59:26 +00:00
cvs2git
dd057781f3 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-08-19 22:58:45 +00:00
Mark Andrews
f0ade782ab copyright 2004-08-19 04:39:33 +00:00
Mark Andrews
0df7e30447 regen 2004-08-19 02:15:24 +00:00
Mark Andrews
128383bdac newcopyrights 2004-08-18 23:46:15 +00:00
Mark Andrews
8115644c01 1700. [func] nslookup is no longer to be treated as deprecated.
Remove "deprecated" warning message.  Add man page.
2004-08-18 23:22:55 +00:00
Mark Andrews
54c2456c2c 3845: DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format 2004-08-18 00:48:25 +00:00
cvs2git
102fbc5545 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-08-18 00:39:39 +00:00
Mark Andrews
59c6969be4 1677. [bug] IN6_IS_ADDR_MC_NODELOCAL() addresses can also have
symbolic scope id's.
2004-08-17 05:55:36 +00:00
Mark Andrews
14a8abacba update 2004-08-17 00:28:40 +00:00
Mark Andrews
693bdbee3d add docbook 2004-08-17 00:00:06 +00:00
Mark Andrews
993ad256f4 regen 2004-08-16 04:43:21 +00:00
Mark Andrews
c388167af0 1698. [doc] Use reserved IPv6 documentation prefix. 2004-08-16 00:55:14 +00:00
Mark Andrews
a306d3623b add autom4te.cache 2004-08-11 06:05:24 +00:00
Mark Andrews
4db6944a91 update for 9.2.4rc7 2004-08-11 06:02:29 +00:00
Mark Andrews
56aa544eab update for 9.2.4rc7 2004-08-11 05:52:15 +00:00
Mark Andrews
d838bf0491 9.2.4rc7 2004-08-11 05:30:43 +00:00
Tatuya JINMEI 神明達哉
b1ebb7783a a comment wording nit 2004-08-10 04:58:00 +00:00
Mark Andrews
d42c013e63 1676. [port] Solaris 8 has if_nametoindex(). 2004-08-10 02:31:01 +00:00
Mark Andrews
fc4367af21 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:27:36 +00:00
Mark Andrews
063d043216 improve dns_name_getlabelsequence() description. 2004-08-10 00:41:49 +00:00
Mark Andrews
74dfd10d12 new draft 2004-08-10 00:05:35 +00:00
Mark Andrews
838ee47e56 1694. [bug] Report if the builtin views of "_default" / "_bind"
are defined in named.conf. [RT #12023]
2004-07-29 00:08:17 +00:00
Mark Andrews
187758a2f8 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:06:58 +00:00
Mark Andrews
0d2d065771 1692. [bug] Don't set -I, -L and -R flags when libcrypto is in
/usr/lib. [RT #11971]
2004-07-23 04:44:06 +00:00
Mark Andrews
f447d7fc07 1690. [bug] Delay detaching view from the client until UPDATE
processing completes when shutting down. [RT #11714]
2004-07-23 02:57:01 +00:00
Mark Andrews
6afc42a614 1691. [bug] sdb's attachversion was not complete. [RT #11990] 2004-07-22 04:04:41 +00:00
Mark Andrews
fdd85a2433 1689. [bug] DNS_NAME_TOREGION() macros contained a gratuitous
semicolons. [RT #11707]
2004-07-22 00:16:07 +00:00
Mark Andrews
e99055dcc8 1687. [bug] Race condition in dispatch. [RT #10272] 2004-07-21 00:49:02 +00:00
Mark Andrews
3e17fb7c6a new draft 2004-07-20 23:50:26 +00:00
cvs2git
82932e6f75 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-07-20 23:48:47 +00:00
Mark Andrews
bb8a95e5e3 new draft 2004-07-20 23:30:11 +00:00
Mark Andrews
d4c2f7ac21 1686. [bug] Named sent a extraneous NOTIFY when it received a
redundant UPDATE request. [RT #11943]
2004-07-20 07:39:24 +00:00
Mark Andrews
9b8fe97f16 1688. [bug] LDFLAGS was not supported. 2004-07-20 07:00:21 +00:00
Mark Andrews
ee900620cc new draft 2004-07-20 02:53:08 +00:00
cvs2git
a33184d06f This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-07-20 02:51:28 +00:00
Mark Andrews
8f64271825 pullup:
1669.   [bug]           Only test the gcc minor version when the major version
                        is known.
2004-07-19 05:54:40 +00:00
Mark Andrews
6c6734ae3a 1684. [bug] Change #1679 loop tests weren't quite right. 2004-07-03 00:56:55 +00:00
Mark Andrews
dca0556158 indenting 2004-07-01 04:51:44 +00:00
Mark Andrews
e8140adc54 update for 9.2.4rc6 2004-07-01 04:45:41 +00:00
Mark Andrews
ec38247d7c pullup:
1668.   [port]          solaris: allow applications compiling against
                        libbind to be compiled with "cc -Xc".
2004-07-01 04:42:04 +00:00
Mark Andrews
861bc0380a update for 9.2.4rc6 2004-07-01 03:29:13 +00:00
Mark Andrews
35a8e4a592 9.2.4rc6 2004-07-01 02:10:19 +00:00
Mark Andrews
4cb3fb05a6 1682. [port] Update configure test for (long long) printf format.
[RT #5066]
2004-07-01 00:18:29 +00:00
Mark Andrews
5270bb206c 1681. [bug] Only set SO_REUSEADDR when a port is specified in
isc_socket_bind(). [RT #11742]
2004-06-30 23:28:40 +00:00
Mark Andrews
5b68b6eaf9 new draft 2004-06-29 23:40:38 +00:00
cvs2git
1e6d8c3655 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-06-29 23:40:07 +00:00
Mark Andrews
eb76c6327a 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:30:07 +00:00
Mark Andrews
78479880b8 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:44:57 +00:00
Mark Andrews
c51e86a797 pullup:
document RES_DEBUG2 to that it not assigned.
2004-06-25 00:39:31 +00:00
Mark Andrews
514aad33b6 pullup:
1665.   [port]          getnameinfo() was broken on machines with 8 octet
                        longs.
2004-06-25 00:35:47 +00:00
Mark Andrews
d95e0b7e4c add a explict dependancy for interfaceiter.@O@. 2004-06-22 02:55:36 +00:00
Mark Andrews
eccccdd0c5 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 07:08:36 +00:00
Mark Andrews
34ab52a297 1671. [contrib] queryperf: add NAPTR to the list of known types. 2004-06-21 00:45:24 +00:00
Mark Andrews
ab056b0e8e update chnge # 2004-06-20 23:55:18 +00:00
Mark Andrews
7baa9637ad 1668. [bug] Restore "update forwarding denied" log messages
accidentally suppressed by change #1633. [RT# 11657]
2004-06-20 23:44:35 +00:00
Mark Andrews
fcb546a557 1660. [bug] win32: connection_reset_fix() was being called
unconditionally.  [RT #11595]
2004-06-18 01:16:04 +00:00
Mark Andrews
37bf75b905 v9_2_4rc5 2004-06-11 03:37:27 +00:00
Mark Andrews
25f00f1d9e update for 9.2.4rc5 2004-06-11 03:34:18 +00:00
Mark Andrews
294142e48b 1655. [bug] Logging multiple versions w/o a size was broken.
[RT #11446]
2004-06-11 00:36:39 +00:00
Mark Andrews
fda6e07907 1654. [bug] isc_result_totext() contained array bounds read
error.
2004-06-11 00:35:05 +00:00
Mark Andrews
34208baad2 update 2004-06-09 01:38:32 +00:00
Mark Andrews
4e90a4f035 new draft 2004-06-08 07:18:08 +00:00
Mark Andrews
e28ea3a865 consolidate commits 2004-06-08 07:14:50 +00:00
cvs2git
e60f640ead This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-06-08 06:50:22 +00:00
Mark Andrews
93c766da4e bind9-users -> bind-users 2004-06-08 00:19:29 +00:00
Mark Andrews
03221617f8 1650. [bug] dig, nslookup: flush standard out after each command. 2004-06-07 03:59:08 +00:00
Mark Andrews
070c07a44f 1649. [bug] Silence "unexpected non-minimal diff" message.
[RT #11206]
2004-06-04 03:45:15 +00:00
Mark Andrews
3fcb35a9d2 1644. [bug] Update the journal modification time after a
sucessfull refresh query. [RT #11436]
2004-06-04 02:41:39 +00:00
Mark Andrews
8a2a76103d 1646. [bug] win32: logging file versions didn't work with
non-UNC filenames.  [RT#11486]
2004-06-04 02:19:13 +00:00
Mark Andrews
6b19ebe727 regen 2004-06-03 05:21:16 +00:00
Mark Andrews
f6d8d20718 linux capset
chroot timezone
2004-06-03 05:09:33 +00:00
Mark Andrews
8b2eb033ec res_servicenumber returns -1 on error. 2004-06-03 04:45:16 +00:00
Mark Andrews
5ff7948342 don't compare unsigned w/ <= 0. 2004-06-03 04:38:11 +00:00
Mark Andrews
d15def0c1a make sure executable files are executable. 2004-06-03 02:53:42 +00:00
Mark Andrews
0a73c35cbd update corpauthor 2004-06-03 02:25:55 +00:00
Mark Andrews
c49c2f9f85 1643. [bug] dns_db_closeversion() could leak memory / node
references. [RT #11163]
2004-05-23 11:05:21 +00:00
Mark Andrews
3802d6611c include <sys/param.h> for NetBSD 2004-05-18 01:38:39 +00:00
Mark Andrews
ac280f10c0 mfc71.dll and msvcr71.dll correspond to _MSC_VER 1310 (Wesley Griffin) 2004-05-18 01:26:41 +00:00
Mark Andrews
a43f416f64 9.2.4rc4 2004-05-17 10:20:41 +00:00
Mark Andrews
21d0e7665a 9.2.4rc4 2004-05-17 10:06:11 +00:00
Mark Andrews
c8586b241b Install MFC71.DLL and MSVCR71.DLL if _MSC_VER is 1400 2004-05-17 10:01:59 +00:00
Mark Andrews
67c1f7714a pullup:
1661.   [cleanup]       indiscriminate use strlcat/strlcpy make auditing
                        harder.
2004-05-17 07:46:43 +00:00
Mark Andrews
e45eee942a 1634. [bug] named didn't supply a useful error message when it
detected duplicate views.  [RT #11208]
2004-05-17 06:18:40 +00:00
Mark Andrews
a81d4632ff regen 2004-05-17 05:20:19 +00:00
Mark Andrews
b2a009d59e update changes # 2004-05-17 03:28:00 +00:00
Mark Andrews
7b1cf81ee0 1638. [bug] win32: isc_socket_cancel(ISC_SOCKCANCEL_ACCEPT) was
incorrectly closing the socket.  [RT #11291]
2004-05-17 03:02:23 +00:00
Mark Andrews
40fb688478 remove double "a" 2004-05-17 00:51:16 +00:00
Mark Andrews
c7654f0f1b remove trailing while space 2004-05-14 06:41:51 +00:00
Mark Andrews
4e46ccaeb8 move cleanup of in_roothints earlier to make it easier to detect reference
count mismatches.
2004-05-14 01:04:46 +00:00
Mark Andrews
3d3d7be56a 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:39:11 +00:00
Mark Andrews
8de86f794b regen 2004-05-12 05:25:43 +00:00
Mark Andrews
3e4310ddaa 1632. [bug] nsupdate failed to send prerequisite only UPDATE
messages. [RT #11288]
2004-05-12 04:46:17 +00:00
Mark Andrews
bd3a5e3798 refer to transfer-source and notify-source in query-source description. 2004-05-12 02:08:12 +00:00
Mark Andrews
96be533f9d silence compiler punned warning (adjust signed/unsigned chars). 2004-05-04 03:26:16 +00:00
Mark Andrews
12c3fa5c30 1627. [bug] win32: sockets were not being closed when the
last external reference was removed. [RT# 11179]
2004-05-04 00:14:47 +00:00
Mark Andrews
39d114ae1b update for 9.2.4rc3 2004-04-29 01:30:00 +00:00
Mark Andrews
c861ece5c7 update for 9.2.4rc3 2004-04-29 01:21:11 +00:00
Mark Andrews
9b4551d263 1621. [bug] match-destinations did not work for IPv6 TCP queries.
[RT# 11156]
2004-04-28 14:17:03 +00:00
Mark Andrews
9f84e37e7f 9.2.4rc3 2004-04-28 07:11:03 +00:00
Mark Andrews
5a43167781 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:34 +00:00
Mark Andrews
c29a526195 pullup:
decunix/ibm: gethostbyname_r() only supported a small number of addresses.
2004-04-22 03:21:02 +00:00
Mark Andrews
0815b757ac strncat is a macro on some platforms. Move thee #ifdef outside of function
call.
2004-04-20 13:54:17 +00:00
Mark Andrews
940521d170 1619. [bug] Missing ISC_LIST_UNLINK in end_reserved_dispatches().
[RT# 11118]
2004-04-20 07:10:48 +00:00
Mark Andrews
a9c3ab1ef0 1616. [compat] Ensure that named's version is visible in the core
dump. [RT #11127]
2004-04-20 06:52:53 +00:00
Mark Andrews
b699e6156d 9.2.3 -> 9.2.4 2004-04-20 06:48:17 +00:00
Mark Andrews
0d34505f8f 1614. [port] win32: silence resource limit messages. [RT# 11101] 2004-04-19 23:15:38 +00:00
Mark Andrews
6afa692465 1617. [port] win32: VC++ 6.0 support. 2004-04-19 06:56:24 +00:00
Mark Andrews
346f916a22 1615. [port] Define ISC_SOCKADDR_LEN_T based on _BSD_SOCKLEN_T_ if
it is defined.
2004-04-19 02:56:46 +00:00
Mark Andrews
90baef5889 1600. [bug] Duplicate zone pre-load checks were not case
insensitive.

1599.   [bug]           Fix memory leak on error path when checking named.conf.
2004-04-16 00:02:00 +00:00
Mark Andrews
a5e0eeb53a 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:53:18 +00:00
Mark Andrews
edf4b2aed4 #include <time.h>. 2004-04-15 05:36:13 +00:00
Mark Andrews
64bf72baf1 silence punned messages 2004-04-15 05:31:47 +00:00
Mark Andrews
d90c9a116c hide ((isc_event_t **) (void *)) cast using a macro, ISC_EVENT_PTR. 2004-04-15 02:16:29 +00:00
Mark Andrews
44f939c72b silence punned error messages 2004-04-15 01:38:09 +00:00
Mark Andrews
9d089ba1a1 Attempt to disable parallel processing. 2004-04-15 00:35:27 +00:00
Mark Andrews
09157567fd silence compiler warning 2004-04-14 05:20:19 +00:00
Mark Andrews
8bbe6bebb1 add description for RES_NO_NIBBLE2 2004-04-13 06:57:23 +00:00
Mark Andrews
807ae80eda decunix prototype mismatch
decunix silence compiler warning.
2004-04-13 04:49:01 +00:00
Mark Andrews
d4410402da 9.2.4rc2 2004-04-13 03:55:40 +00:00
Mark Andrews
853f57ac89 update for 9.2.4rc1 2004-04-13 00:29:18 +00:00
Mark Andrews
182861f7c0 update for 9.2.4rc2 2004-04-13 00:22:10 +00:00
Mark Andrews
ea436573b1 update for 9.2.4rc2 2004-04-13 00:08:04 +00:00
Mark Andrews
1df4370f79 more idn patch rebuild fixes. 2004-04-12 23:59:15 +00:00
Mark Andrews
4c92763e75 update idn instructions 2004-04-12 23:46:58 +00:00
Mark Andrews
c025d4fac3 9.2.4rc2 2004-04-12 23:27:09 +00:00
Mark Andrews
78c3a34547 #ifdef EPFNOSUPPORT 2004-04-12 07:02:05 +00:00
Mark Andrews
f2faf893e0 1601. [bug] Silence spurious warning 'both "recursion no;" and
"allow-recursion" active' warning from view "_bind".
                        [RT# 10920]
2004-04-10 05:02:59 +00:00
Mark Andrews
06ca79ea6e 1602. [bug] Logging to a file failed unless a size was specified.
[RT# 10925]
2004-04-10 04:30:06 +00:00
Mark Andrews
c3055950d5 1603. [bug] nsupdate: set interactive based on isatty().
[RT# 10929]
2004-04-10 04:07:09 +00:00
Mark Andrews
7ba5e9d208 pullup from BIND8
1657.   [bug]           gmtime_r() called incorrectly.
2004-04-10 03:41:33 +00:00
Mark Andrews
33bb2f27a1 add missing double-quote 2004-04-10 02:50:23 +00:00
Mark Andrews
1443c00aa9 1607. [bug] dig, host and nslookup were still using random()
to generate query ids. [RT# 11013]
2004-04-08 01:25:23 +00:00
Mark Andrews
53cd3c3c7e 1593. [bug] rndc should return "unknown command" to unknown
commands. [RT# 10642]
2004-04-06 01:38:47 +00:00
Mark Andrews
477d655426 1604. [bug] A xfrout_ctx_create() failure would result in
xfrout_ctx_destroy() being called with a
                        partially initialized structure.
2004-04-06 00:27:29 +00:00
Mark Andrews
f4a872ded5 1455. [bug] <netaddr> missing from server grammar in
doc/misc/options. [RT #5616]
2004-03-28 23:09:55 +00:00
Mark Andrews
46a193ff4b add RT # 2004-03-18 03:53:52 +00:00
Mark Andrews
dc6d09d4c1 silence compiler warning 2004-03-17 05:33:38 +00:00
Mark Andrews
1ac335ea72 silence compiler warning 2004-03-17 02:37:01 +00:00
Mark Andrews
13c72aea0f silence compiler warnings 2004-03-17 01:54:23 +00:00
Mark Andrews
09b0428ed6 silence compiler warnings 2004-03-17 01:15:49 +00:00
Mark Andrews
156911d629 silence compiler warnings 2004-03-17 00:40:15 +00:00
Mark Andrews
b04c56618c silence compiler warnings 2004-03-16 12:45:42 +00:00
Mark Andrews
699bd87fc0 silence compiler 2004-03-16 12:35:37 +00:00
Mark Andrews
59d86dbcc8 add #ifdef/#endif 2004-03-16 02:25:06 +00:00
Mark Andrews
15ea6f2a05 libbind linux move/fix prototypes for getnetgrent(), setnetgrent(),
endnetgrent(), innetgr() and getnetgrent_r().
2004-03-16 02:06:55 +00:00
Mark Andrews
dd79293876 reverse removal of glibc prototype changes 2004-03-16 00:45:49 +00:00
Mark Andrews
aa712373a6 newcopyrights 2004-03-15 23:47:12 +00:00
Mark Andrews
661d1e2c61 update for 9.2.4rc1 2004-03-15 05:39:34 +00:00
Mark Andrews
f49298e8cc update 2004-03-15 05:07:56 +00:00
Mark Andrews
16723fcaf4 9.2.4rc1 2004-03-15 05:06:51 +00:00
Mark Andrews
3ffc9c3987 copyright 2004-03-15 05:00:23 +00:00
Mark Andrews
70212b791d copyright 2004-03-15 04:45:07 +00:00
Mark Andrews
8f8819e9aa update copyright 2004-03-15 04:13:17 +00:00
Rob Austein
f3b65413b4 Update draft and rfc collection. 2004-03-15 01:41:29 +00:00
cvs2git
0d9ff1b3b4 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-03-15 00:45:45 +00:00
Mark Andrews
3273a2c975 remove unused variables: dispatchv4, dispatchv6. 2004-03-14 23:02:32 +00:00
Mark Andrews
a2f0a8f3d7 1592. [bug] configure_view() could leak a dispatch. 2004-03-14 22:52:16 +00:00
Mark Andrews
702b9129f9 update 2004-03-14 02:43:43 +00:00
Rob Austein
7b0d86947a Update instructions for regenerating IDN patch. 2004-03-13 04:06:58 +00:00
Rob Austein
b8b48c1bc4 IDN patch for bind-9.2.4 2004-03-13 01:27:51 +00:00
Mark Andrews
8f6aab59c6 new draft 2004-03-10 22:59:08 +00:00
Mark Andrews
d39589b40e add 2004-03-10 22:58:52 +00:00
cvs2git
58afdd1574 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-03-10 22:56:59 +00:00
Mark Andrews
3fe1be25a2 update 2004-03-10 06:15:12 +00:00
Mark Andrews
443b4e8837 update 2004-03-10 06:09:00 +00:00
Mark Andrews
2afb0f18c7 update 2004-03-10 06:00:16 +00:00
Mark Andrews
33d1a4e111 1591. [bug] libbind: updated to BIND 8.4.5. 2004-03-10 05:23:08 +00:00
Mark Andrews
7b4b3f4a60 spelling 2004-03-10 05:18:49 +00:00
Mark Andrews
310355d2d6 1025. [bug] Don't use multicast addresses to resolve iterative
queries. [RT #101]
2004-03-10 03:35:58 +00:00
Mark Andrews
e3bdc758bf regen 2004-03-10 03:25:48 +00:00
Mark Andrews
e4825bc9cc 1590. [port] netbsd: update thread support. 2004-03-10 03:24:06 +00:00
Mark Andrews
0ebf9d8715 regen 2004-03-10 03:18:43 +00:00
Mark Andrews
4ccfc970a2 9.2.4rc1 2004-03-10 02:13:15 +00:00
Mark Andrews
7e03842941 1584. [bug] "make test" failed with a readonly source tree.
[RT #10461]
2004-03-10 01:05:06 +00:00
Mark Andrews
05b216268f remove old drafts 2004-03-10 01:04:21 +00:00
Mark Andrews
e1ddbf4bb4 1587. [bug] dns_message_settsigkey() failed to clear existing key.
[RT #10590]
2004-03-10 00:50:02 +00:00
Mark Andrews
3504693c73 newcopyrights 2004-03-09 23:47:58 +00:00
Mark Andrews
65a662e83a update libbind to BIND 8.4.5 2004-03-09 09:17:50 +00:00
cvs2git
8faaceeac3 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-03-09 06:30:19 +00:00
Mark Andrews
9e4db62a34 update copyrights 2004-03-09 06:12:49 +00:00
Mark Andrews
45b735d2a0 sync w/ HEAD 2004-03-09 04:32:18 +00:00
cvs2git
7e09ee261b This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-03-09 03:29:54 +00:00
Mark Andrews
15665adc1e 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:48 +00:00
Mark Andrews
117fd406c1 fix tabing 2004-03-07 23:00:56 +00:00
Mark Andrews
5ba36c92ad newcopyrights 2004-03-05 23:46:12 +00:00
Mark Andrews
02f748ef70 copyrights 2004-03-05 11:02:48 +00:00
Mark Andrews
cd3949d6e9 remove temporary file r1.htm 2004-03-05 03:15:09 +00:00
Mark Andrews
f617b4d3d6 Add manclean and docclean targets. 2004-03-05 02:49:34 +00:00
Mark Andrews
54c86090a8 configure.lineno 2004-03-04 23:53:38 +00:00
Mark Andrews
cf365657b1 HTML.index HTML.manifest 2004-03-04 23:53:01 +00:00
Mark Andrews
1f24138d28 newcopyrights 2004-03-04 23:46:19 +00:00
Mark Andrews
4dde0b92f1 regen 2004-03-04 12:21:52 +00:00
Mark Andrews
05f0c72f38 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:28 +00:00
Mark Andrews
1cc11f369b add RT# 2004-03-04 05:50:20 +00:00
Mark Andrews
c98371ed88 1588. [bug] win32: TCP sockets could become blocked. 2004-03-04 05:48:23 +00:00
Mark Andrews
1d399549d6 pulldown removal of REQUIRES that prevent dns_message_settsigkey() and
dns_message_setsig0key() clearing the relevent keys.
2004-03-04 05:05:51 +00:00
Mark Andrews
ee3bb840c5 Update copyright management. 2004-03-04 03:21:11 +00:00
Mark Andrews
299f75ea0e 1585. [bug] allow-v6-synthesis was not performing lookups under
IP6.INT.  allow-v6-synthesis now performs a nibble
                        lookups under IP6.ARPA rather than a bitstring lookups.
                        [RT #10497]

                        NOTE: allow-v6-synthesis has been deprecated.
2004-03-04 03:10:32 +00:00
Mark Andrews
45eafc1426 1583. [bug] Records add via UPDATE failed to get the correct trust
level. [RT #10452]
2004-03-04 02:46:24 +00:00
Mark Andrews
a36003bb7c 1577. [bug] Use isc_uint32_t in ultrasparc optimizer bug
workaround code. [RT #10331]
2004-03-04 01:41:23 +00:00
Mark Andrews
061cbbfcc7 1568. [bug] nsupdate now reports that the update failed in
interative mode. [RT# 10236]
2004-03-04 01:22:50 +00:00
Mark Andrews
59b3ddba0a newcopyrights 2004-03-03 23:46:10 +00:00
Mark Andrews
e61ba5c30d 1570. [bug] nsupdate failed to handle classes other than IN.
New keyword 'class' which sets the default class.
                        [RT #10202]
2004-03-03 23:42:43 +00:00
Mark Andrews
6c41f035c6 1559. [port] named should ignore SIGFSZ. 2004-03-03 23:07:05 +00:00
Mark Andrews
66c44f5b2e 1572. [bug] nsupdate: sign the soa query to find the enclosing
zone if the server is specified. [RT #10148]
2004-03-03 22:55:58 +00:00
Mark Andrews
b952ce7d71 1571. [bug] rbt:hash_node() could fail leaving the hash table
in an inconsistant state.  [RT #10208]
2004-03-03 22:38:20 +00:00
Mark Andrews
e61c039052 newcopyrights 2004-03-03 09:03:18 +00:00
Mark Andrews
0217d247a4 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:39:27 +00:00
Mark Andrews
0fa289880b update 2004-03-03 04:33:39 +00:00
Mark Andrews
bd177dda43 update 2004-03-03 04:09:15 +00:00
Mark Andrews
7f5f1544e1 1540. [bug] "rndc reload <dynamiczone>" was silently accepted.
[RT #8934]
2004-03-02 02:36:41 +00:00
Mark Andrews
f8b36cce10 1574. [bug] Don't attempt to open the controls socket(s) when
running tests. [RT #9091]
2004-03-02 02:00:43 +00:00
Mark Andrews
476c0fa946 1552. [bug] Accept NOTIFY requests from mapped masters if
matched-mapped is set. [RT #10049]
2004-03-02 01:20:25 +00:00
Mark Andrews
aa3598d85c 1556. [bug] nsupdate now treats all names as fully qualified.
[RT #6427]
2004-03-02 00:58:11 +00:00
Mark Andrews
0e14495d2b sizeof style 2004-03-01 00:54:03 +00:00
Mark Andrews
889bfbf856 add isc_sockaddr_isexperimental isc_netaddr_isexperimental 2004-03-01 00:23:17 +00:00
Mark Andrews
6f1d931437 1533. [func] Warn if both "recusion no;" and "allow-recursion"
are active. [RT# 4389]
2004-02-24 03:38:19 +00:00
Mark Andrews
585a44e69b 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:35:05 +00:00
Mark Andrews
3dc0a8fa47 1578. [bug] Don't use CLASS E IPv4 addresses when resolving.
[RT #10346]
2004-02-20 00:50:17 +00:00
Mark Andrews
1e4fbc178c 1582. [bug] rrset-order failed to work on RRsets with more
than 32 elements. [RT #10381]
2004-02-19 01:59:55 +00:00
cvs2git
331f9e2ee7 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-02-17 22:34:55 +00:00
cvs2git
a9a403f969 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-02-16 21:35:12 +00:00
cvs2git
a961f56284 This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-02-16 21:00:39 +00:00
Mark Andrews
2b02a4e4ce 1576. [bug] Race condition in dns_dispatch_addresponse().
[RT# 10272]
2004-02-10 06:16:54 +00:00
cvs2git
3ed735135d This commit was manufactured by cvs2git to create branch 'v9_2'. 2004-02-03 23:08:53 +00:00
Mark Andrews
77e4fa69f7 Replace sparse switch with if-else
Style
Add warning comments on known sparce switches.
2004-02-02 04:52:50 +00:00
Mark Andrews
1a2f1df87a #include <isc/string.h> 2004-02-02 04:44:11 +00:00
Mark Andrews
efeb8aed87 regen 2004-01-29 05:00:52 +00:00
Mark Andrews
ddd4e486a7 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:59:41 +00:00
Mark Andrews
137113f537 1567. [bug] B.ROOT-SERVERS.NET is now 192.228.79.201. 2004-01-29 04:42:54 +00:00
Mark Andrews
29fec1301e create/destroy hash 2004-01-27 04:43:21 +00:00
Mark Andrews
a780addfd8 update wording 2004-01-27 00:58:15 +00:00
Mark Andrews
ab936f4781 1563. [bug] Gracefully fail when unable to obtain neither a IPv4
or a IPv6 dispatch. [RT #10230]
2004-01-26 23:55:26 +00:00
Mark Andrews
40faa0c9cb 1562. [bug] isc_socket_create() and isc_socket_accept() could
leak memory under error conditions. [RT #10230]
2004-01-26 23:47:04 +00:00
Mark Andrews
155e396543 1561. [bug] It was possible to release the same name twice if
named ran out of memory. [RT #10197]
2004-01-22 15:34:01 +00:00
Mark Andrews
f6346eedae make version 9.2 2004-01-14 03:55:33 +00:00
Mark Andrews
e6de7adfe4 seperate out objects from lib/dns 2004-01-14 03:37:12 +00:00
Mark Andrews
50d762f257 add http://people.freebsd.org/~dougb/randomness.html 2004-01-12 03:05:18 +00:00
Mark Andrews
59e8ec0e6c double )) 2004-01-08 08:12:19 +00:00
Mark Andrews
86d51e5116 1553. [bug] The windows socket code could stop accepting
connections.
2004-01-08 05:40:44 +00:00
Mark Andrews
e9e172ca97 1551. [port] Open "/dev/null" before calling chroot(). 2004-01-07 06:30:44 +00:00
Mark Andrews
b38bb0de00 regen 2004-01-07 06:08:28 +00:00
Mark Andrews
828f0672ae 1550. [port] Call tzset(), if available, before calling chroot(). 2004-01-07 06:03:23 +00:00
Mark Andrews
ff946efb1d 1536. [bug] Windows socket code failed to log a error description
when returning ISC_R_UNEXPECTED. [RT #9998]
2004-01-05 08:21:09 +00:00
Mark Andrews
81af688896 1534. [bug] Race condition when priming cache. [RT# 9940] 2004-01-05 08:08:18 +00:00
Mark Andrews
e3764d516d 1539. [bug] Open UDP sockets for notify-source and transfer-source
that use reserved ports at startup. [RT #9475]
2004-01-05 07:21:33 +00:00
Mark Andrews
1c432feedd 1547. [bug] Named wasted memory recording duplicate lame zone
entries. [RT #9341]
2004-01-05 06:51:50 +00:00
Mark Andrews
460962a0fa 1546. [bug] We were rejecting valid secure CNAME to negative
answers.
2004-01-05 05:54:53 +00:00
Mark Andrews
6b89422883 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:29:32 +00:00
Mark Andrews
91e21ed9b8 1542. [bug] Reversed timestamp sanity test on SIG. [RT #10095] 2003-12-11 00:04:21 +00:00
Mark Andrews
468c187660 regen 2003-12-01 01:29:45 +00:00
Mark Andrews
af9f2cd63d solaris specify -R for openssl linking 2003-12-01 01:27:53 +00:00
Mark Andrews
42650d79cf 1535. [bug] dig -x of a partial IPv4 address broken. [RT# 9949] 2003-11-10 15:38:57 +00:00
Mark Andrews
fed1b9253c 3655: Redefinition of DNS Authenticated Data (AD) bit 2003-11-07 05:15:59 +00:00
cvs2git
33dcfc8884 This commit was manufactured by cvs2git to create branch 'v9_2'. 2003-11-07 05:08:54 +00:00
Mark Andrews
eefa625a77 regen 2003-11-05 02:52:07 +00:00
Mark Andrews
513e2f9574 1532. [port] netbsd: the configure test for <sys/sysctl.h>
requires <sys/param.h>.
2003-11-05 02:34:06 +00:00
Mark Andrews
412b6ff1ba change # 2003-11-04 23:39:48 +00:00
Mark Andrews
1e71bb270d add -allow-undefined 2003-11-04 23:37:47 +00:00
Mark Andrews
647f6a8682 1524. [port] AIX more libtool fixes. 2003-11-04 07:51:57 +00:00
Mark Andrews
2fcf95d4ed grammar 2003-11-04 06:03:35 +00:00
Mark Andrews
1705904ece pullup redumping of deleted slave master files 2003-11-04 06:01:47 +00:00
Mark Andrews
2a62502566 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:35:48 +00:00
Mark Andrews
6662a576ed 1529. [bug] "notify explict;" failed to log that NOTIFY messages
were being sent for the zone. [RT# 9442]
2003-11-03 23:56:13 +00:00
Mark Andrews
7d50be7221 repeated words 2003-11-02 23:00:32 +00:00
Mark Andrews
4a4aaaf124 fix comment three -> two 2003-10-23 05:53:25 +00:00
Mark Andrews
586fad6b18 "to early" should be "too early". 2003-10-17 07:13:19 +00:00
Mark Andrews
ed7fc87dce win32: link against openssl 0.9.6k 2003-10-17 06:10:24 +00:00
Mark Andrews
679f5e2eb2 want free should be initaliased to ISC_FALSE. 2003-10-17 05:39:44 +00:00
Mark Andrews
b30b2e3358 1525. [bug] dns_cache_create() could trigger a REQUIRE
failure in isc_mem_put() during error cleanup.
2003-10-16 06:07:12 +00:00
Mark Andrews
09e4b1e086 INSIST -> RUNTIME_CHECK 2003-10-10 00:30:14 +00:00
Mark Andrews
38f391705e INSIST -> RUNTIME_CHECK 2003-10-10 00:24:58 +00:00
Mark Andrews
d8db215a63 INSIST -> RUNTIME_CHECK 2003-10-10 00:09:41 +00:00
Mark Andrews
48cfc9344f update_copyrights 2003-10-09 07:32:57 +00:00
Mark Andrews
ec31534be9 merge_copyrights 2003-10-09 07:18:33 +00:00
Mark Andrews
899991ed34 update for 9.2.3 2003-10-09 07:08:16 +00:00
Mark Andrews
fec26fe36e 9.2.3 2003-10-09 07:02:43 +00:00
Mark Andrews
673d465bd4 9.2.3rc5 2003-10-09 06:54:46 +00:00
Mark Andrews
c22f59a1d3 1524. [port] AIX needs to be able to resolve all symbols when
creating shared libraries (--with-libtool).
2003-10-09 06:48:00 +00:00
Mark Andrews
e00ad57d95 regen 2003-10-08 03:49:56 +00:00
Mark Andrews
59f9e35359 1523. [bug] Fix race condition in rbtdb. [RT# 9189] 2003-10-08 01:30:09 +00:00
Mark Andrews
119a5d1909 1522. [bug] dns_db_findnode() relax the requirements on 'name'.
[RT# 9286]
2003-10-03 04:03:07 +00:00
Mark Andrews
f2435ff500 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:50:51 +00:00
Mark Andrews
a4d4cb69dd missing includes [RT#9194] 2003-10-01 01:05:00 +00:00
Mark Andrews
116f29a5e9 1514. [bug] named: isc_hash_destroy() was being called to early.
[RT #9160]
2003-09-25 03:42:36 +00:00
Mark Andrews
138234bcaf 1513. [doc] Add "US" to root-delgation-only exclude list. 2003-09-23 07:20:43 +00:00
Mark Andrews
5bda446d5a "LV; -> "LV"; 2003-09-22 23:45:42 +00:00
Mark Andrews
aa3d4ad4c9 update for 9.2.3rc4 2003-09-22 02:05:22 +00:00
Mark Andrews
e12668c38f include <dns/rdataclass.h> 2003-09-22 00:32:39 +00:00
Mark Andrews
0d944b051b 9.2.3rc4 2003-09-22 00:28:06 +00:00
Mark Andrews
910b169160 1512. [bug] Extend the delegation-only logging to return query
type, class and responding nameserver.
2003-09-22 00:25:32 +00:00
Mark Andrews
9e37e9573b regen 2003-09-21 23:57:29 +00:00
Mark Andrews
6a92a60187 1511. [bug] delegation-only was generating false positives
on negative answers from subzones.
2003-09-21 23:55:25 +00:00
Mark Andrews
daf1f90218 add LV to list of non-delegation-only TLDs 2003-09-21 23:36:37 +00:00
Mark Andrews
37d4f4c27b remove extaneous semicolon 2003-09-19 14:10:31 +00:00
Mark Andrews
b53d784b0f 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 by using exclude.

                        root-delegation-only exclude { "DE"; "MUSEUM"; };
2003-09-19 13:41:36 +00:00
Mark Andrews
3ef0cdb28f patch misplaced a hunk 2003-09-19 13:40:42 +00:00
Mark Andrews
1368bc0d71 regen 2003-09-19 13:38:24 +00:00
Mark Andrews
4d02d944e0 9.2.3rc3 2003-09-19 13:35:48 +00:00
Mark Andrews
7221aadd31 update for 9.2.3rc3 2003-09-19 13:35:08 +00:00
Mark Andrews
c219b91f32 wrong element delonly -> rootexclude 2003-09-19 13:24:03 +00:00
Mark Andrews
0cac0fd6e2 rootexlude -> rootexclude
free and initialise rootdelonly & rootexclude
buy -> by
2003-09-19 13:19:38 +00:00
Mark Andrews
5bf66f7c0f 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.
2003-09-19 06:17:54 +00:00
Mark Andrews
f6566c5358 1506. [bug] Wrong return type for dns_view_isdelegationonly(). 2003-09-18 00:56:35 +00:00
Mark Andrews
7d7adae5ad add missing entries 2003-09-17 06:18:16 +00:00
Mark Andrews
0c61c5abdd update for 9.2.3rc2 2003-09-17 06:03:54 +00:00
Mark Andrews
54f5f029c7 9.2.3rc2 2003-09-17 05:58:39 +00:00
Mark Andrews
c3f1de023b 1505. [bug] Uninitaliased rdataset is sdb. [RT #8750] 2003-09-17 05:55:45 +00:00
Mark Andrews
29ac1b3b99 patch put a hunk too low. 2003-09-17 05:54:13 +00:00
Mark Andrews
e0bba2c3b5 regen 2003-09-17 05:40:07 +00:00
Mark Andrews
bfe6a0f3b4 1504. [func] New zone type "delegation-only". 2003-09-17 05:20:04 +00:00
Mark Andrews
ef7b29d954 RFC3597 Handling of Unknown DNS Resource Record (RR) Types 2003-09-11 23:19:08 +00:00
cvs2git
ef179fec60 This commit was manufactured by cvs2git to create branch 'v9_2'. 2003-09-11 22:23:23 +00:00
Mark Andrews
af7ee16bef 1503. [port] win32: install libeay32.dll outside of system32. 2003-09-09 03:47:31 +00:00
Mark Andrews
b0b280b6a4 typo: s/baliwick/bailiwick/ 2003-09-02 02:27:53 +00:00
Mark Andrews
344311532b update ms zone transfer bug info 2003-09-02 02:20:15 +00:00
Mark Andrews
905d5b106c update version 2003-08-06 02:43:28 +00:00
Mark Andrews
d00f62d51b remove duplicate entry 2003-08-06 02:00:18 +00:00
Mark Andrews
b072346050 1499. [bug] isc_random need to be seeded better if arc4random()
is not used.
2003-08-05 03:09:52 +00:00
Mark Andrews
c4169f3c63 regen 2003-08-05 00:44:43 +00:00
Mark Andrews
aa9dd675af 1499. [bug] isc_random need to be seeded better if arc4random()
is not used.
1405.  [func]          Use arc4random() if available.
2003-08-05 00:42:55 +00:00
Mark Andrews
e3505662b5 add mfc70.dll 2003-08-01 04:36:04 +00:00
Mark Andrews
597e257fdf 1498. [port] bsdos: 5.x support. 2003-07-30 02:00:52 +00:00
Mark Andrews
e005dea325 1498. [port] bsdos: 5.x support. 2003-07-30 01:55:49 +00:00
Mark Andrews
eb126c1c77 #include <isc/string.h> [RT #8537] 2003-07-30 01:15:18 +00:00
Mark Andrews
6773fb173e remove redundant check [RT #8539] 2003-07-30 01:04:15 +00:00
Mark Andrews
10f78228b6 remove redundant check [RT #8539] 2003-07-30 00:42:25 +00:00
Mark Andrews
1e2d992eaf hide change #969 till 9.3 2003-07-29 04:50:52 +00:00
Mark Andrews
833a60b03d isc_int32_t -> isc_uint32_t 2003-07-29 04:30:07 +00:00
Mark Andrews
39ec601af3 pullup:
rt #5222: useing a wrong return type for isc_file_exists().
2003-07-28 07:03:15 +00:00
Mark Andrews
30083115dc add dns_byaddr_createptrname2 2003-07-25 11:50:42 +00:00
Mark Andrews
29ffef7149 add <config.h> 2003-07-25 08:21:45 +00:00
Mark Andrews
1bfbe1f8b8 add 9.2.3rc1 release marker 2003-07-25 07:46:36 +00:00
Mark Andrews
2233ff3516 regen
1496.   [port]          test for pthread_attr_setstacksize().
2003-07-25 07:39:46 +00:00
Mark Andrews
4d1fce191f 1496. [port] test for pthread_attr_setstacksize(). 2003-07-25 07:38:23 +00:00
Mark Andrews
5a042e1d08 1495. [cleanup] Replace hash functions with universal hash. 2003-07-25 07:30:43 +00:00
Mark Andrews
7848bfa033 missing '*' 2003-07-25 05:05:28 +00:00
Mark Andrews
da204aa8be 1496. [protocol] dig, nslookup and host now perform nibble lookups
under IP6.ARPA, use -i for IP6.INT (dig and host).
                        lwres now uses IP6.ARPA.
2003-07-25 04:36:46 +00:00
Mark Andrews
1d04b5105d 1495. [cleanup] Replace hash functions with universal hash. 2003-07-25 03:31:45 +00:00
cvs2git
f03d3eeed2 This commit was manufactured by cvs2git to create branch 'v9_2'. 2003-07-25 02:22:27 +00:00
Mark Andrews
bfee2789a6 silence compiler warning (HPUX/11i) 2003-07-24 06:31:55 +00:00
Mark Andrews
f2d11f4c11 1494. [security] Turn on RSA BLINDING as a precaution. 2003-07-24 06:18:42 +00:00
Mark Andrews
dad01e16fb remove A6 reference
remove bitstring reference
2003-07-24 02:41:31 +00:00
Mark Andrews
412c55cfa5 1493. [doc] A6 and "bitstring" labels are now experimental. 2003-07-24 01:17:54 +00:00
Mark Andrews
98fdb365a6 3152: Delegation of IP6.ARPA 2003-07-24 01:02:43 +00:00
Mark Andrews
c1df871a18 silence compiler warnings (HPUX/11i) 2003-07-23 06:57:59 +00:00
Mark Andrews
3afde524a1 win32obj.obj -> win32os.obj 2003-07-23 03:59:50 +00:00
Mark Andrews
4757465d50 typo 2003-07-23 03:20:24 +00:00
Mark Andrews
faf21a64b8 regen 2003-07-23 02:23:06 +00:00
Mark Andrews
6e9055672c add msvcr70.dll 2003-07-23 02:03:30 +00:00
Mark Andrews
77c50a476c update for 9.2.3rc1 2003-07-22 07:00:28 +00:00
Mark Andrews
b37ad2439e bind-9.2.3rc1-patch 2003-07-22 06:02:05 +00:00
Mark Andrews
f4d86cfcea update_copyrights 2003-07-22 04:03:54 +00:00
Mark Andrews
28359c7358 merge_copyrights 2003-07-22 03:48:00 +00:00
Mark Andrews
dfc4fa8177 merge_copyrights 2003-07-22 03:44:19 +00:00
Mark Andrews
a7675bf23c regen 2003-07-21 06:22:07 +00:00
Mark Andrews
5f11b5614e 1477. [bug] memory leak using stub zones and TSIG. 2003-07-21 05:55:03 +00:00
Mark Andrews
2b74f72508 9.2.3rc1 2003-07-21 05:47:44 +00:00
Mark Andrews
b4e249be08 update for 9.2.3 2003-07-21 05:41:44 +00:00
Mark Andrews
f25e5800c0 1492. [cleanup] Preserve rwlock quota context when upgrading /
downgrading. [RT #5599]
2003-07-21 01:28:23 +00:00
Mark Andrews
a20785632f 1491. [bug] dns_master_dump*() would produce extraneous $ORIGIN
lines. [RT #6206]
2003-07-21 00:37:25 +00:00
Mark Andrews
6d5f0c1947 1490. [bug] Accept reading state as well as working state in
ns_client_next(). [RT #6813]
2003-07-18 06:14:30 +00:00
Mark Andrews
8667ca6c74 1489. [compat] Treat 'allow-update' on slave zones as a warning.
[RT #3469]
2003-07-18 06:07:25 +00:00
Mark Andrews
fe15a52e07 1488. [bug] Don't override trust levels for glue addresses.
[RT #5764]
2003-07-18 04:35:51 +00:00
Mark Andrews
6dcc5d25c3 1487. [bug] A REQUIRE() failure could be triggered if a zone was
queued for transfer and the zone was then removed.
                        [RT #6189]
2003-07-18 04:18:46 +00:00
Mark Andrews
64e7419bab 1486. [bug] isc_print_snprintf() '%%' consumed one too many format
characters. [RT# 8230]
2003-07-18 02:43:30 +00:00
Mark Andrews
83bd77fec9 1485. [bug] gen failed to handle high type values. [RT #6225] 2003-07-18 00:55:54 +00:00
Mark Andrews
3e7a76892a 1484. [bug] The number of records reported after a AXFR was wrong.
[RT #6229]

1483.   [bug]           dig axfr failed if the message id in the answer failed
                        to match that in the request.  Only the id in the first
                        message is required to match. [RT #8138]
2003-07-17 07:46:55 +00:00
Mark Andrews
4ac02e2e6b 1482. [bug] Named could fail to start if the kernel supports
IPv6 but no interfaces are configured.  Similarly
                        for IPv4. [RT #6229]
2003-07-17 07:30:20 +00:00
Mark Andrews
6b46515a00 1481. [bug] Refresh and stub queries failed to use masters keys
if specified. [RT #7391]
2003-07-17 07:11:17 +00:00
Mark Andrews
edb8af0b14 1480. [bug] Provide replay protection for rndc commands. Full
replay protection requires both rndc and named to
                        be updated.  Partial replay protection (limited
                        exposure after restart) is provided if just named
                        is updated.
2003-07-17 06:36:47 +00:00
Mark Andrews
57fe5960b5 remove unused code 2003-07-09 05:17:49 +00:00
Mark Andrews
51e94e467d ins strerror.c to be consistant with 9.3 2003-07-09 05:11:08 +00:00
Mark Andrews
79e5e7b356 1348. [port] win32: Rewrote code to use I/O Completion Ports
in socket.c and eliminating a host of socket
                        errors. Performance is enhanced.
2003-07-09 04:58:19 +00:00
Mark Andrews
c5daf90e7c Openssl 0.9.f 2003-07-09 01:33:16 +00:00
Mark Andrews
f04ce044c6 win32os is in this directory not the parent 2003-07-09 01:16:29 +00:00
Mark Andrews
407128fd48 1479. [bug] cfg_create_tuple() failed to handle out of
memory cleanup.  parse_list() would leak memory
                        on syntax errors.
reviewed: explorer
2003-07-08 23:14:52 +00:00
Mark Andrews
89eff0031e update WIDE copyright. 2003-07-04 05:22:34 +00:00
Mark Andrews
436f8fb854 1473. [bug] create_map() and create_string() failed to handle out
of memory cleanup.  [RT #6813]
2003-07-03 00:50:03 +00:00
Mark Andrews
9cd7c35080 update 2003-07-02 04:48:25 +00:00
Mark Andrews
54dedb94df 1122. [tuning] Resolution timeout reduced from 90 to 30 seconds.
[RT #2046]
2003-07-02 04:43:27 +00:00
Mark Andrews
73e65a8010 1473. [bug] free_map() and free_string() failed to handle out
of memory cleanup.  [RT #6813]
2003-07-02 04:37:35 +00:00
Mark Andrews
af6d74e360 1462. [bug] parse_sizeval() failed to check the token type.
[RT #5586]
2003-07-02 04:34:10 +00:00
Mark Andrews
840b61d38f 1471. [bug] libbind: updated to BIND 8.4.0. 2003-07-02 04:10:28 +00:00
Mark Andrews
27227eed99 1478. [port] ifconfig.sh didn't account for other virtual
interfaces.  It now takes a optional arguement
                        to specify the first interface number. [RT #3907]
2003-07-01 06:05:37 +00:00
Mark Andrews
f189a07122 1471. [bug] libbind: updated to BIND 8.4.0. 2003-06-27 04:18:46 +00:00
Mark Andrews
3e82bbf686 1471. [bug] libbind: updated to BIND 8.4.0. 2003-06-27 03:51:44 +00:00
Mark Andrews
c6f25f0530 1472. [contrib] idnkit-1.0 from JPNIC, replaces mdnkit. 2003-06-26 05:23:10 +00:00
Mark Andrews
b9294462c0 1476. [port] win32: port unreachables were blocking further i/o
on sockets (Windows 2000 SP2 and later).
2003-06-24 07:26:35 +00:00
Mark Andrews
61b416af86 update for v7 compile 2003-05-24 02:22:39 +00:00
Mark Andrews
8393fa9490 1466. [bug] lwresd configuration errors resulted in memory
and lock leaks.  [RT #5228]
2003-05-21 02:44:15 +00:00
Mark Andrews
80554c9aa3 add isc_rwlock_tryupgrade, isc_rwlock_downgrade 2003-05-20 07:37:10 +00:00
Mark Andrews
df64d9f473 workaround missing stat macro 2003-05-20 07:35:49 +00:00
Mark Andrews
f64a0125a9 silence compiler warning. 2003-05-20 07:32:31 +00:00
Mark Andrews
4b355e4085 Cleanup for v7 compiler. 2003-05-20 07:30:06 +00:00
Mark Andrews
9c83671abd isc/stat.h is needed to be referenced outside of win32 space for S_ISREG etc. 2003-05-20 00:06:56 +00:00
Mark Andrews
e1b3761bb2 cvsnt doesn't handle msdos style line termination 2003-05-19 23:16:08 +00:00
Mark Andrews
99182fa095 convert back to unix format as cvsnt doesn't seem to cope 2003-05-19 23:06:23 +00:00
Mark Andrews
7ac498a38d adjust lwresd test to account for lack of RFC 2335 support. 2003-05-19 05:46:25 +00:00
Mark Andrews
5679eb9258 1445. [bug] DNS_ADBFIND_STARTATROOT broke stub zones. This has
been replaced with DNS_ADBFIND_STARTATZONE which
                        causes the search to start using the closest zone.
2003-05-19 04:47:06 +00:00
Mark Andrews
2c6d181f85 restore dos newlines 2003-05-16 05:46:16 +00:00
Mark Andrews
cfb3789c07 1470. [bug] Incorrect length passed to snprintf. [RT #5966] 2003-05-15 06:51:53 +00:00
Mark Andrews
902a9ebf3b sync with head 2003-05-15 06:48:37 +00:00
Mark Andrews
3f648157e9 memset the entire ifc structure 2003-05-15 06:39:59 +00:00
Mark Andrews
f8bbf744a5 use "%u" for unsigned arguements 2003-05-15 06:37:55 +00:00
Mark Andrews
b1a328db42 1465. [bug] isc_base64_decodestring() and isc_base64_tobuffer()
failed to check that trailing bits were zero allowing
                        some invalid base64 strings to be accepted.  [RT #5397]
2003-05-15 06:34:24 +00:00
Mark Andrews
c532a51b1b 1464. [bug] Preserve "out of zone" data for outgoing zone
transfers. [RT #5192]
2003-05-15 06:30:18 +00:00
Mark Andrews
4b577580a0 1461. [bug] Remove deadlock from rbtdb code. [RT #5599] 2003-05-15 06:08:41 +00:00
Mark Andrews
ed41e594b0 1463. [bug] dns_rdata_from{wire,struct}() failed to catch bad
NXT bit maps. [RT #5577]
2003-05-15 05:41:13 +00:00
Mark Andrews
f61e0baa59 1454. [bug] inet_pton() failed to reject certain malformed
IPv6 literals.
2003-05-15 05:12:18 +00:00
Mark Andrews
7631251a8a 1456. [contrib] gen-data-queryperf.py from Stephane Bortzmeyer. 2003-05-15 05:07:21 +00:00
Mark Andrews
55706e3839 1447. [bug] We were casting (unsigned int) to and from (void *).
rdataset->private4 is now rdataset->privateuint4
                        to reflect a type change.
2003-05-15 04:52:05 +00:00
Mark Andrews
734c8697d0 1453. [doc] ARM: $GENERATE example wasn't accurate. [RT #5298] 2003-05-15 02:47:18 +00:00
Mark Andrews
94e33f70eb 1451. [bug] rndc-confgen didn't exit with a error code for all
failures. [RT #5209]
2003-05-15 02:43:15 +00:00
Mark Andrews
5ee074953f 1450. [bug] Fetching expired glue failed under certian
circumstances.  [RT #5124]
2003-05-15 02:29:33 +00:00
Mark Andrews
e5192fd309 1449. [bug] query_addbestns() didn't handle running out of memory
gracefully.
2003-05-15 02:23:20 +00:00
Mark Andrews
8d39478fe7 1219. [bug] Set AI_ADDRCONFIG when looking up addresses
via getaddrinfo() (affects dig, host, nslookup, rndc
                       and nsupdate).
2003-05-15 01:17:55 +00:00
Mark Andrews
8111a09515 update 2003-05-15 01:16:51 +00:00
Mark Andrews
96348ae6d5 new draft 2003-05-14 23:33:30 +00:00
cvs2git
d73173f93f This commit was manufactured by cvs2git to create branch 'v9_2'. 2003-05-14 23:21:21 +00:00
Mark Andrews
b0fa111079 1448. [bug] Handle empty wildcards labels. 2003-05-14 06:51:38 +00:00
Mark Andrews
6fd5b7a222 1416. [bug] Empty node should return NOERROR NODATA, not NXDOMAIN.
[RT #4715]
2003-05-14 05:47:24 +00:00
Mark Andrews
90782106f2 1411. [bug] empty nodes should stop wildcard matches. [RT #4802] 2003-05-14 04:53:00 +00:00
Mark Andrews
d644fc3b66 multithreaded -> multi-threaded 2003-05-14 03:04:18 +00:00
Mark Andrews
e1b8d3399c 1439. [bug] Named could return NOERROR with certain NOTIFY
failures.  Return NOTAUTH if the NOTIFY zone is
                        not being served.
2003-05-13 05:10:27 +00:00
Mark Andrews
fed111e907 1437. [bug] Leave space for stdio to work in. [RT #5033] 2003-05-13 04:53:09 +00:00
Mark Andrews
b0d2275996 1435. [bug] zmgr_resume_xfrs() was being called read locked
rather than write locked.  zmgr_resume_xfrs()
                        was not being called if the zone was being
                        shutdown.

1434.   [bug]           "rndc reconfig" failed to initiate the initial
                        zone transfer of new slave zones.
2003-05-13 04:48:52 +00:00
Mark Andrews
e1e903b473 1431. [bug] isc_print_snprintf() "%s" with precision could walk off
end of arguement. [RT #5191]
2003-05-13 04:02:26 +00:00
Mark Andrews
ee879f2763 1429. [bug] Prevent the cache getting locked to old servers. 2003-05-13 03:57:53 +00:00
Mark Andrews
1cc4319081 1420. [port] solaris: work around gcc optimiser bug. 2003-05-13 03:26:38 +00:00
Mark Andrews
7a4de94263 regen:
1419.   [port]          openbsd: use /dev/arandom. [RT #4950]
2003-05-13 02:50:49 +00:00
Mark Andrews
ce0e914fcd 1419. [port] openbsd: use /dev/arandom. [RT #4950] 2003-05-13 02:50:02 +00:00
Mark Andrews
3976f3b17a 1424. [bug] EDNS version not being correctly printed. 2003-05-12 07:18:37 +00:00
Mark Andrews
9a4985eb2d 1423. [contrib] queryperf: added A6 and SRV. 2003-05-12 07:07:13 +00:00
Mark Andrews
06aa4578d1 1418. [bug] 'rndc reconfig' did not cause new slaves to load. 2003-05-12 07:03:50 +00:00
Mark Andrews
be23c74067 regen:
1408.   [bug]           distclean was not complete. [RT #4700]
2003-05-12 06:40:41 +00:00
Mark Andrews
da017eeec4 1408. [bug] distclean was not complete. [RT #4700] 2003-05-12 06:39:54 +00:00
Mark Andrews
58baf5e191 1407. [bug] lfsr incorrectly implements the shift register.
[RT #4617]
2003-05-12 06:18:07 +00:00
Mark Andrews
0027901a89 1406. [bug] dispatch initialises one of the LSFR's with a incorrect
polynomial.  [RT #4617]
2003-05-12 06:11:52 +00:00
Mark Andrews
e0c73b8923 1401. [bug] adb wasn't clearing state when the timer expired. 2003-05-12 05:54:57 +00:00
Mark Andrews
704b358bb0 pullup:
1399.   [bug]           Use serial number arithmetic when testing SIG
                        timestamps. [RT #4268]
2003-05-12 05:52:09 +00:00
Mark Andrews
e1b2cb9f1b 1397. [bug] J.ROOT-SERVERS.NET is now 192.58.128.30. 2003-05-12 05:36:48 +00:00
Mark Andrews
064516e76a pullup:
1389.   [bug]           named could fail to rotate long log files.  [RT #3666]
2003-05-12 05:29:24 +00:00
Mark Andrews
aa0064c141 1384. [bug] host was incompatible with BIND 8 in its exit code and
in the output with the -l option.  [RT #3536]
2003-05-12 05:17:32 +00:00
Mark Andrews
6bcd32ed14 1373. [bug] Recovery from expired glue failed under certain
circumstances.
2003-05-12 04:54:17 +00:00
Mark Andrews
1ea46f5a82 spelling, white space 2003-05-12 04:37:46 +00:00
Mark Andrews
00a5c833e7 1369. [bug] Adding an NS record as the lexicographically last
record in a secure zone didn't work.
2003-05-12 03:58:59 +00:00
Mark Andrews
fcba59ce21 numbering 2003-05-12 03:48:49 +00:00
Mark Andrews
f600ce8cab pullup:
1263.   [contrib]       queryperf usage was incomplete.  Add '-h' for help.
2003-05-12 03:43:03 +00:00
Mark Andrews
f207a9fd09 pullup:
1253.   [contrib]       queryperf now reports a summary of returned
                        rcodes (-c), rcodes are printed in mnemonic form (-v).
2003-05-12 03:39:29 +00:00
Mark Andrews
91d5e3f6eb pullup/regen:
1388.   [port]          irix: check for sys/sysctl.h and NET_RT_IFLIST before
                        defining HAVE_IFLIST_SYSCTL. [RT #3770]
2003-05-12 03:34:30 +00:00
Mark Andrews
740f5acd5b pullup
1388.   [port]          irix: check for sys/sysctl.h and NET_RT_IFLIST before
                        defining HAVE_IFLIST_SYSCTL. [RT #3770]
2003-05-12 03:28:44 +00:00
Mark Andrews
9631f485ae pullup:
1387.   [bug]           named could crash due to an access to invalid memory
                        space (which caused an assertion failure) in
                        incremental cleaning.  [RT #3588]
2003-05-12 03:22:44 +00:00
Mark Andrews
71264474fe pullup:
1385.   [bug]           Setting serial-query-rate to 10 would trigger a
                        REQUIRE failure.
2003-05-12 02:54:59 +00:00
Mark Andrews
301d12f35b pullup:
1370.  [bug]           dig '+[no]recurse' was incorrectly documented.
2003-05-12 02:50:15 +00:00
Mark Andrews
5361eb812c pullup:
1199.  [doc]           ARM reference to RFC 2157 should have been RFC 1918.
                       [RT #2436]
2003-05-12 02:06:01 +00:00
Mark Andrews
2d1457e40a 1011. [cleanup] Removed isc_dir_current(). 2003-05-12 01:19:08 +00:00
Mark Andrews
a3d4fb2087 pullup:
992.  [doc]           dig: ~/.digrc is now documented.
2003-05-12 01:16:40 +00:00
Mark Andrews
d805dda690 spelling / renumber 2003-05-12 00:28:32 +00:00
Mark Andrews
c8b2aa162d spelling 2003-04-22 04:30:06 +00:00
Mark Andrews
1b63cb1440 collapse duplicate code 2003-04-13 10:15:03 +00:00
Mark Andrews
69afe00a06 redo:
1459.   [bug]           win32: we were leaking a bits in the exception
                        fd_set resulting in "Socket operation on non-socket"
                        errors from select(). [RT #2966]
2003-04-13 10:11:31 +00:00
Mark Andrews
65bfb99dae 1459. [bug] win32: we were leaking a bits in the exception
fd_set resulting in "Socket operation on non-socket"
                        errors from select(). [RT #2966]
2003-04-13 08:04:36 +00:00
Mark Andrews
055c2d75dc Statistics counter clarification 2003-04-13 04:34:51 +00:00
Mark Andrews
07b038b0ac silence compiler 2003-03-31 07:32:46 +00:00
Mark Andrews
af082b1e70 spelling 2003-03-19 17:48:01 +00:00
Mark Andrews
818643e8c5 1452. [bug] Bad #ifdef, ISC_RFC2335 -> ISC_RFC2535. 2003-03-07 00:11:28 +00:00
Mark Andrews
237f7454d2 regen 2003-03-06 04:55:27 +00:00
Mark Andrews
a7efbe70e7 merge 9.2.2 back into v9_2 2003-03-06 04:38:29 +00:00
Mark Andrews
0c66ca45dc remove duplicate "the" 2003-02-25 22:41:58 +00:00
Mark Andrews
8e9cc3ced1 spelling 2003-02-07 02:39:06 +00:00
Mark Andrews
2ae647b423 pullup:
1382.   [bug]           make install failed with --enable-libbind. [RT #3656]
2003-02-07 02:23:59 +00:00
Mark Andrews
32b03bf0b6 SOCKET vs int 2003-01-14 23:39:03 +00:00
Tatuya JINMEI 神明達哉
dac197a39f pull up the fix on RT 3509 for 9.2. 2002-09-04 02:47:08 +00:00
Mark Andrews
7fa78069df spelling 2002-08-14 02:30:05 +00:00
Mark Andrews
fddf80ae44 detailed description of the accepted OpenSSL library versions. 2002-08-09 03:12:32 +00:00
Danny Mayer
8447985b7e Updated OpenSSL version to be minimum of 0.9.6e 2002-08-09 02:24:19 +00:00
Mark Andrews
ba853e4f14 use lwres_inet_ntop instead of inet_ntop 2002-08-08 21:29:07 +00:00
Mark Andrews
8acbf11b48 backout last change as we have fixed the caller 2002-08-08 21:27:47 +00:00
Danny Mayer
b983e4618c Change openSSL references to use 0.9.6e instead of 0.9.6b 2002-08-08 19:16:39 +00:00
Danny Mayer
2a868edaf8 Wrong argument given to fclose 2002-08-08 19:15:19 +00:00
Danny Mayer
3358dfc691 Add macros for the inet_* unctions to use the lwres functions 2002-08-08 19:13:36 +00:00
Mark Andrews
1f58d4917d Solaris 9 needs hack_shutup_pthreadonceinit 2002-08-08 09:11:19 +00:00
Mark Andrews
2cca217a44 update 2002-08-08 07:02:48 +00:00
Mark Andrews
7a9dc9bfb0 1356. [security] Support patches OpenSSL libraries.
http://www.cert.org/advisories/CA-2002-23.html
2002-08-08 06:45:45 +00:00
Mark Andrews
886cd55aa7 1356. [security] Support patches OpenSSL libraries.
http://www.cert.org/advisories/CA-2002-23.html
2002-08-08 06:39:32 +00:00
Mark Andrews
0456b84736 1357. [bug] --enable-libbind would fail when not built in the
source tree for certain OS's.
2002-08-08 06:31:24 +00:00
Mark Andrews
b3007386ec reviewed: jinmei
1355.   [bug]           It was possible to trigger a INSIST when debugging
                        large dynamic updates. [RT #3390]
2002-08-08 04:54:30 +00:00
Mark Andrews
884c019c2e update for 9.2.2rc1 2002-08-07 05:48:33 +00:00
Mark Andrews
bfea32015e update_copyrights 2002-08-06 06:09:07 +00:00
Mark Andrews
4993d5c500 merge_copyrights 2002-08-06 06:08:53 +00:00
Mark Andrews
5b5fe6e4d0 regen 2002-08-06 05:54:05 +00:00
Mark Andrews
fc05cc8c17 9.2.2rc1 2002-08-06 05:47:07 +00:00
Mark Andrews
e063de4c1a update for 9.2.2rc0 2002-08-06 05:40:47 +00:00
Mark Andrews
3f0fa07407 update 2002-08-06 04:34:54 +00:00
Mark Andrews
63643948a3 add 9.2.2 release marker 2002-08-06 04:24:39 +00:00
Mark Andrews
d2bd37b22e reviewed: marka
1354.   [bug]           nsupdate was extremely wasteful of memory.
2002-08-06 04:23:20 +00:00
Mark Andrews
bef1bfc2fa 1351. [bug] lwres_getipnodebyname() returned the wrong name
when given a IPv4 literal, af=AF_INET6 and AI_MAPPED
                        was set.
2002-08-06 04:18:44 +00:00
Mark Andrews
73d6af8f6a add "tuning" 2002-08-06 02:47:45 +00:00
Mark Andrews
e2cb5eecb0 reviewed: gson
1352.   [bug]           dig, host, nslookup when falling back to TCP use the
                        current search entry (if any). [RT #3374]
2002-08-06 02:40:11 +00:00
Mark Andrews
4b0dcf3782 1355. [tuning] Reduce the number of events / quantum for zone tasks. 2002-08-06 02:24:15 +00:00
Mark Andrews
f1a43a3018 1330. [bug] When processing events (non-threaded) only allow
the task one chance to use to use its quantum.
2002-08-06 02:20:39 +00:00
Mark Andrews
891c424e56 update_copyrights 2002-08-05 06:57:16 +00:00
Mark Andrews
ba01e9117b merge_copyrights 2002-08-05 06:53:54 +00:00
Mark Andrews
4ba765b5d0 merge_copyrights 2002-08-05 06:52:16 +00:00
Mark Andrews
42e37225d4 ignore util/newcopyrights 2002-08-05 06:46:24 +00:00
Mark Andrews
b9e380b39d regen 2002-08-05 06:13:37 +00:00
Mark Andrews
1bc4e9229e 1354. [doc] lwres man pages had illegal nroff. 2002-08-05 05:04:34 +00:00
Mark Andrews
7c357cde37 undo 2002-08-05 05:00:49 +00:00
Mark Andrews
047210c74e 1353. [contrib] sdb/ldap to version 0.9. 2002-08-05 04:45:21 +00:00
Mark Andrews
4016d47cf3 only one copy of the copyright 2002-08-05 04:04:47 +00:00
Mark Andrews
b812238e13 update to 9.2.2 2002-08-05 04:02:44 +00:00
Mark Andrews
931daf7a9d add "man" target 2002-08-03 04:33:22 +00:00
Mark Andrews
b0fbeb1884 1335. [bug] When performing a nonexistence proof, the validator
should discard parent NXTs from higher in the DNS.
2002-08-02 05:39:56 +00:00
Mark Andrews
a914318b06 1334. [bug] When signing/verifying rdatasets, duplicate rdatas
need to be suppressed.
2002-08-02 05:08:49 +00:00
Mark Andrews
47ce2c2150 1340. [bug] Delay and spread out the startup refresh load. 2002-08-02 04:28:03 +00:00
Mark Andrews
5b116f12fa 1325. [bug] If the tcpquota was exhausted it was possible to
to trigger a INSIST() failure.
2002-08-02 04:17:21 +00:00
Mark Andrews
0fb2d00628 renumber 2002-08-02 03:37:06 +00:00
Mark Andrews
61adda8648 missed renumber 2002-08-02 03:35:19 +00:00
Mark Andrews
f72fde8b0b update for 9.2.2 2002-08-02 03:28:57 +00:00
Mark Andrews
77fc134355 spelling 2002-08-02 03:19:36 +00:00
Mark Andrews
4d16509a5a 1097. [func] libbind: RES_PRF_TRUNC for dig. 2002-08-02 03:16:25 +00:00
Mark Andrews
c9dd10607a 1342. [port] darwin: ifconfig.sh now supports darwin. 2002-08-02 03:05:39 +00:00
Mark Andrews
636be34d1e 1089. [func] libbind: inet_{cidr,net}_{pton,ntop}() now have IPv6
support.
2002-08-02 02:17:21 +00:00
Mark Andrews
8d4036ef7b reviewed: marka
1350.   [bug]           dns_name_fromtext() failed to handle too many labels
                        gracefully.
2002-08-02 00:33:05 +00:00
Mark Andrews
e29fdeea22 1349. [security] Mimimum OpenSSL version now 0.9.6e (was 0.9.5a).
http://www.cert.org/advisories/CA-2002-23.html
2002-08-01 07:20:58 +00:00
Danny Mayer
c7dc80c4d9 Fix for Win32 High CPU Load 2002-07-31 05:18:51 +00:00
Danny Mayer
ae5b8edf7d Fix the timeout to really use microseconds and not milliseconds that were mistakenly used for the timeval structure. 2002-07-31 03:10:58 +00:00
Mark Andrews
cd85142f73 1345. [port] Use a explicit -Wformat with gcc. Not all versions
include it in -Wall.
2002-07-31 02:27:48 +00:00
Mark Andrews
9bdaf58bbc pullup
1345.   [port]          Use a explicit -Wformat with gcc.  Not all versions
                        include it in -Wall.
2002-07-31 02:26:10 +00:00
Mark Andrews
dcf1f13abe 8.2.4 has been released 2002-07-30 23:42:59 +00:00
Mark Andrews
2d67b06198 still missing changes 2002-07-23 02:07:07 +00:00
Mark Andrews
07bf4fd7b6 change # were out of order 2002-07-23 01:41:08 +00:00
Mark Andrews
0b2aba2cd2 reviewed: marka/bwelling
1247.   [bug]           The validator would incorrectly mark data as insecure
                        when seeing a bogus signature before a correct
                        signature.
2002-07-15 03:02:56 +00:00
Mark Andrews
0d4c51dfd6 reviewed: marka
1246.   [bug]           DNAME/CNAME signatures were not being cached when
                        validation was not being performed. [RT #3284]
2002-07-15 02:28:07 +00:00
Mark Andrews
a009918e2f reviewed: bwelling
1314.   [func]          libbind: no longer attempts bit string labels for
                        IPv6 reverse resolution.  Try IP6.ARPA then IP6.INT
                        for nibble style resolution.
2002-07-14 04:31:45 +00:00
Mark Andrews
2099644f0d reviewed: bwelling
1096.   [func]          libbind: "DNSSEC OK" (DO) support.
2002-07-14 04:26:59 +00:00
Mark Andrews
a2537d9b00 reviewed: bwelling
1095.   [func]          libbind: resolver option: no-tld-query.  disables
                        trying unqualified as a tld.  no_tld_query is also
                        supported for FreeBSD compatability.
2002-07-14 02:27:10 +00:00
Mark Andrews
0f2442d926 sync with mainline 2002-07-12 03:13:24 +00:00
Mark Andrews
e41340e97a make distclean should remove "make/rules", "make/includes" and "make/mkdep" 2002-07-12 01:45:59 +00:00
Mark Andrews
730dfb9b6a Makefile 2002-07-12 01:31:55 +00:00
Mark Andrews
c1a634d46b remove dead code 2002-07-12 01:23:16 +00:00
Mark Andrews
d600a66f52 white space 2002-07-12 01:20:15 +00:00
Mark Andrews
e2f5e9a858 reviewed: halley
1339.   [func]          libbind: log attempts to exploit #1338.
2002-07-12 01:10:23 +00:00
Mark Andrews
29a9388fc1 regen 2002-07-12 00:54:39 +00:00
Mark Andrews
96afc32570 silence warning 2002-07-12 00:51:41 +00:00
Mark Andrews
84805b3216 reviewed: bwelling
gettimeofday.h is no longer require (prototype in port_after.h).
2002-07-12 00:49:52 +00:00
Mark Andrews
65bbe3a2cb pullup:
There are four "i":s in "initialize"
2002-07-12 00:17:28 +00:00
Mark Andrews
2dbeb26f3d reviewed: bwelling
1094.   [func]          libbind: add support gcc's format string checking.
2002-07-11 23:32:35 +00:00
Mark Andrews
41df3594b4 libtool 2002-07-11 06:02:37 +00:00
Mark Andrews
b839c5abec 1338. [bug] libbind: Remote buffer overrun. 2002-07-11 05:55:05 +00:00
Mark Andrews
e368e45536 reviewed: bwelling
1242.   [bug]           named-checkzone failed if a journal existed. [RT #2657]
2002-07-11 05:44:11 +00:00
Mark Andrews
ee5bf99761 reviewed: bwelling
1337.   [port]          libbind: TrueUNIX 5.1 does not like __align as a
                        element name.
2002-07-11 04:15:20 +00:00
Mark Andrews
04a4e2f5c0 reviewed: bwelling
pullup: ns_r_badvers extended error code
2002-07-11 04:10:34 +00:00
Mark Andrews
c3cdf325b5 reviewed: bwelling
1336.   [bug]           libbind: gethostans() could get out of sync parsing
                        the response if there was a very long CNAME chain.
2002-07-11 04:08:06 +00:00
Mark Andrews
c6ce103cf8 reviewed: bwelling
1334.   [port]          Handle ECONNRESET from sendmsg() [unix].
2002-07-11 04:04:26 +00:00
Mark Andrews
d322581e16 reviewed: bwelling
1331.   [bug]           lwres_getrrsetbyname leaked memory.  [RT #3159]
2002-07-11 04:01:17 +00:00
Mark Andrews
9d352ffc42 reviewed: bwelling
1327.   [bug]           nsupdate: allow white space base64 key data.
2002-07-11 03:51:27 +00:00
Mark Andrews
380a309889 reviewed: bwelling
1318.   [bug]           The CINCLUDES macro in lib/dns/sec/dst/Makefile
                        could be left with a trailing "\" after configure
                        has been run.
2002-07-11 03:47:17 +00:00
Mark Andrews
a968e6b0b1 reviewed: bwelling
1317.   [port]          linux: make handling EINVAL from socket() no longer
                        conditional on #ifdef LINUX.
2002-07-11 03:43:19 +00:00
Mark Andrews
b33cab0cdc reviewed: bwelling
1316.   [bug]           isc_log_closefilelogs() needed to lock the log
                        context.
2002-07-11 03:39:06 +00:00
Mark Andrews
90656e32ea reviewed: bwelling
1315.   [bug]           isc_log_setdebuglevel() needed to lock the log
                        context.
2002-07-11 02:32:35 +00:00
Mark Andrews
b6c59ece79 regen for:
1309.   [port]          See if -ldl is required for OpenSSL? [RT #2672]
2002-07-11 02:20:46 +00:00
Mark Andrews
db704bac25 1309. [port] See if -ldl is required for OpenSSL? [RT #2672] 2002-07-11 02:19:12 +00:00
Mark Andrews
0034db60ba reviewed: marka
check whether linking with OpenSSL works at all before checking
whether the version is compatible
2002-07-11 02:11:30 +00:00
Mark Andrews
3e99d38a74 reviewed: bwelling
1308.   [bug]           Adjusted REQUIRE's in lib/dns/name.c to better
                        reflect written requirements.
2002-07-11 01:29:00 +00:00
Mark Andrews
456813d719 reviewed: bwelling
1307.   [bug]           REQUIRE that DNS_DBADD_MERGE only be set when adding
                        a rdataset to a zone db in the rbtdb implementation of
                        addrdataset.
2002-07-10 07:03:04 +00:00
Mark Andrews
35f725a8b6 reviewed: bwelling
1306.   [bug]           dns_name_downcase() enforce requirement that
                        target != NULL or name->buffer != NULL.
2002-07-10 06:48:29 +00:00
Mark Andrews
c4610cb161 reviewed: bwelling
1304.  [bug]           The RTT estimate on unused servers was not aged.
                       [RT #2569]
2002-07-10 06:43:01 +00:00
Mark Andrews
ecb325ac83 reviewed: bwelling
1302.   [port]          libbind: hpux 11.11 interface scaning.
2002-07-10 06:36:26 +00:00
Mark Andrews
c3fad928e8 reviewed: bwelling
1300.   [bug]           libbind: escape '(' and ')' when coverting to
                        presentation form.
2002-07-10 06:32:48 +00:00
Mark Andrews
2ea0604c6f reviewed: bwelling
1299.   [port]          Darwin uses (unsigned long) for size_t. [RT #2590]
2002-07-10 06:10:45 +00:00
Mark Andrews
05151ddebe reviewed: bwelling
1294.   [bug]           Memory leak in lwres_gnbarequest_parse().
2002-07-10 06:05:07 +00:00
Mark Andrews
8b46b247f8 reviewed: bwelling
1293.  [port]          libbind: solaris: 64 bit binary compatability.
2002-07-10 06:01:52 +00:00
Mark Andrews
da09780435 reviewed: bwelling
1290.  [bug]           Check that system inet_pton() and inet_ntop() support
                       AF_INET6.
2002-07-10 05:57:46 +00:00
Mark Andrews
a2564ceb47 reviewed: bwelling
1286.   [bug]           ISC_LINK_INIT, ISC_LINK_UNLINK, ISC_LIST_DEQUEUE,
                        __ISC_LINK_UNLINKUNSAFE and __ISC_LIST_DEQUEUEUNSAFE
                        are not C++ compatible, use *_TYPE versions instead.
2002-07-10 05:30:01 +00:00
Mark Andrews
b42b4dba28 reviewed: bwelling
1285.   [bug]           libbind: LINK_INIT and UNLINK were not compatible with
                        C++, use LINK_INIT_TYPE and UNLINK_TYPE instead.
2002-07-10 05:22:34 +00:00
Mark Andrews
22f851eb69 reviewed: bwelling
1281.   [func]          libbind: ns_sign2() and ns_sign_tcp() now provide
                        support for compressed TSIG owner names.
2002-07-10 05:19:27 +00:00
Mark Andrews
ecf4ee42f5 reviewed: bwelling
1280.   [func]          libbind: res_update can now update IPv6 servers,
                        new function res_findzonecut2().
2002-07-10 05:15:24 +00:00
Mark Andrews
ca4723bccb 1279. [bug] libbind: get_salen() IPv6 support was broken for OSs
w/o sa_len.
2002-07-10 05:10:35 +00:00
Mark Andrews
fbf3c04dbf reviewed: bwelling
1278.   [bug]           libbind: res_nametotype() and res_nametoclass() were
                        broken.
2002-07-10 04:56:20 +00:00
Mark Andrews
611a2d5f0b reviewed: bwelling
add ECONNREFUSED
2002-07-10 04:49:58 +00:00
Mark Andrews
cac1899bda reviewed: bwelling
1272.   [bug]           Dig, host and nslookup were not checking the address
                        the answer was coming from against the address it was
                        sent to. [RT# 2692]
2002-07-10 04:44:50 +00:00
Mark Andrews
385535aed8 reviewed: bwelling
1209.   [bug]           Dig, host, nslookup were not checking the message ids
                        on the responses. [RT #2454]
2002-07-10 04:37:55 +00:00
Mark Andrews
3e4d38c0b1 reviewed: bwelling
1277.   [bug]           Failure to write pid-file should not be fatal on
                        reload. [RT #2861]
2002-07-10 04:27:30 +00:00
Mark Andrews
4cc0046a61 bind9-workers -> bind-workers 2002-07-10 02:01:37 +00:00
Mark Andrews
ed1ef06526 reviewed: bwelling
fd_set on ultrix is in <sys/types.h>
2002-07-10 01:05:51 +00:00
Mark Andrews
00d14aa383 reviewed: bwelling
1268. [bug]           DESTDIR was not being propogated between makes.
2002-07-10 00:35:46 +00:00
Mark Andrews
dd6234eb00 reviewed: bwelling
1245.  [bug]           Treat ENOBUFS, ENOMEM and ENFILE as soft errors for
                       accept().
2002-07-10 00:24:46 +00:00
Mark Andrews
f324e3cfdf reviewed: bwelling
1241.   [bug]           Drop received UDP messsages with a zero source port
                        as these are invariably forged. [RT #2621]
2002-07-10 00:04:57 +00:00
Mark Andrews
7d73f463e2 reviewed: bwelling
1341.   [port]          linux: Slackware 4.0 needs <asm/unistd.h>.
2002-07-09 01:42:05 +00:00
Mark Andrews
b1a7576009 1340. [doc] query-source-v6 was missing from options section.
[RT #3218]
2002-07-02 14:01:45 +00:00
Mark Andrews
70fc53059f 1326. [bug] Badly encoded LOC record when the size, horizontal
precision or vertical precision was 0.1m.
2002-07-02 13:53:41 +00:00
Mark Andrews
84a74fe703 1296. [bug] libbind: const pointer conficts in res_debug.c. 2002-07-02 10:15:42 +00:00
Mark Andrews
b9698bfd48 1325. [bug] Document that internal zones are included in the
rndc status results.
2002-07-02 10:12:30 +00:00
Mark Andrews
676a907102 1295. [port] libbind: hpux: treat all hpux systems as BIG_ENDIAN. 2002-07-02 05:00:17 +00:00
Mark Andrews
93168b5719 1292. [contrib] Berkeley DB 4.0 sdb implementation from
Nuno Miguel Rodrigues <nmr@co.sapo.pt>.
2002-07-02 04:46:01 +00:00
Mark Andrews
7c6f0c2cf9 dup 2002-07-02 04:19:42 +00:00
Mark Andrews
fd8f9ed031 /dev/random is broken on OS X 10.1.4 2002-07-02 04:18:38 +00:00
Mark Andrews
2213d80e03 1276. [contrib] 'queryperf' now has EDNS (-e) + DNSSEC DO (-D) support. 2002-07-02 04:17:18 +00:00
Mark Andrews
b6cb507ae8 reviewed: marka
1275.   [bug]           When verifying that an NXT proves nonexistence, check
                        the rcode of the message and only do the matching NXT
                        check.  That is, for NXDOMAIN responses, check that
                        the name is in the range between the NXT owner and
                        next name, and for NOERROR NODATA responses, check
                        that the type is not present in the NXT bitmap.
2002-07-02 04:02:23 +00:00
Mark Andrews
b833082a39 reviewed: marka
1273.   [bug]           The dnssec system test failed to remove the correct
                        files.
2002-07-02 03:43:38 +00:00
Mark Andrews
c073347825 reviewed: bwelling
1335.   [bug]           Options should apply to the internal _bind view.
2002-07-02 02:46:43 +00:00
Mark Andrews
b6231164de reviewed: bwelling
1330.   [bug]           'rndc stop' failed to cause zones to be flushed
                        sometimes. [RT #3157]
2002-07-02 02:43:34 +00:00
cvs2git
86a55923e2 This commit was manufactured by cvs2git to create branch 'v9_2'. 2002-07-01 23:45:48 +00:00
Mark Andrews
d9fb0422ae remove change 1284 2002-06-13 07:32:54 +00:00
Mark Andrews
eeacf1ef3e remove braces from match-recursive-only definition. 2002-05-17 02:13:56 +00:00
Mark Andrews
680f795a0f 1291. [bug] "recursion available: {denied,approved}" was too
confusing.
2002-05-16 04:06:56 +00:00
Mark Andrews
51ba5754ca pullup:
1289.   [port]          Openserver: ifconfig.sh support.
2002-05-13 04:37:38 +00:00
Mark Andrews
a6540ffa21 pullup:
1288.   [port]          Openserver: the value FD_SETSIZE depends on whether
                        <sys/param.h> is included or not.  Be consistant.
2002-05-10 06:54:40 +00:00
Mark Andrews
ec5f67b8cf 1284. [bug] Memory leak if dns_db_beginload() failed. 2002-05-08 07:23:25 +00:00
Mark Andrews
0b9f0f114a 1283. [bug] Reference after free error if dns_dispatchmgr_create()
failed.
2002-05-08 06:38:14 +00:00
Mark Andrews
b9b40d5fb7 1282. [bug] ns_server_destroy() failed to set *serverp to NULL. 2002-05-08 06:06:33 +00:00
Mark Andrews
aea5bf41cf add address to query-source 2002-05-04 21:49:13 +00:00
Mark Andrews
477d0d1ff9 enumerate syslog facilities. 2002-05-02 23:31:44 +00:00
Mark Andrews
d59f7e6f41 /dev/random is broken on OS X 10.1.4 2002-05-02 00:12:06 +00:00
Mark Andrews
2a3e8ec458 9.2.2rc0 2002-05-01 23:47:49 +00:00
Mark Andrews
8bae85ee9b 9.2.1 2002-04-23 06:28:35 +00:00
Mark Andrews
2d18f59f88 pullup:
CHANGES, FAQ and COPYRIGHT are part of a binary release
2002-04-23 06:09:23 +00:00
Mark Andrews
b45ba90e7f update for 9.2.1 2002-04-23 05:15:01 +00:00
Mark Andrews
c1e52e6097 update for 9.2.1 2002-04-23 03:38:55 +00:00
Mark Andrews
eeb2e36c5a update_copyrights 2002-04-23 02:28:55 +00:00
Mark Andrews
7b51a5ed05 regen 2002-04-23 02:13:48 +00:00
Mark Andrews
dee7d91a52 reviewed by: bwelling@nominum.com
1269.   [bug]           Missing masters clause was not handled gracefully.
                        [RT #2703]
2002-04-23 02:00:03 +00:00
Mark Andrews
09fb82a40d Reviewed by: gson@nominum.com
1244.   [bug]           Receiving a TCP message from a blackhole address would
                        prevent further messages being received over that
                        interface.
2002-04-23 01:53:53 +00:00
Mark Andrews
3855970d74 min-refresh-time et al are not per server but reather globally and not for
master zones.
2002-04-22 04:14:25 +00:00
Mark Andrews
03d58c6ef9 pullup:
allow transfers from all hosts -> allow transfers to all hosts [RT #2723]
2002-04-22 03:43:25 +00:00
Mark Andrews
a233df373c 1271. [port] win32: a make file contained absolute version specific
references.
2002-04-19 01:14:26 +00:00
Mark Andrews
ced2a93ebc 1178. [bug] Follow and cache (if appropriate) A6 and other
data chains to completion in the additional section.
2002-04-19 01:11:19 +00:00
Mark Andrews
410b02f399 use relative paths 2002-04-10 03:53:06 +00:00
Mark Andrews
4e67211f74 9.2.1 2002-03-29 03:01:13 +00:00
Mark Andrews
5849e544f6 move 9.2.1rc2 release marker 2002-03-29 01:47:05 +00:00
Mark Andrews
42823e32ea pullup:
INSIST that there are no outstanding tasks when the task manager is
about to be destroyed (non-threaded).  This will also produce more
useful core dumps if triggered.
2002-03-29 01:41:01 +00:00
Mark Andrews
253c278b39 pullup:
1240.   [bug]           It was possible to leak zone references by
                        specifying an incorrect zone to rndc.
2002-03-29 01:35:24 +00:00
Mark Andrews
769c637e95 pullup:
1238.   [bug]           It is possible to lockup the server when shutting down
                        if notifies are being processed. [RT #2591]
2002-03-29 00:20:07 +00:00
Mark Andrews
af54b372dc pullup:
1239.   [bug]           Under certain circumstances named could continue to
                        use a name after it had been freed triggering
                        INSIST() failures.  [RT #2614]
2002-03-28 05:10:09 +00:00
Mark Andrews
ee95e5b2d3 pullup:
Change 1236 was incorrect.  [RT #2611]
2002-03-27 23:52:33 +00:00
Mark Andrews
c1e109166b 9.2.1rc2 release marker 2002-03-26 06:11:36 +00:00
Mark Andrews
e88346ed0f regen for 9.2.1_rc2 2002-03-26 04:54:08 +00:00
Mark Andrews
57a877555a update for 9.2.1rc2 2002-03-26 03:39:30 +00:00
Mark Andrews
b2f3e5c308 update_copyrights 2002-03-26 00:55:15 +00:00
Mark Andrews
cd27f76d7b merge_copyrights 2002-03-26 00:50:25 +00:00
Mark Andrews
8c7d74701d pullup:
lock mctx for DELETE_TRACE call in isc__mempool_put()
2002-03-20 22:51:43 +00:00
Mark Andrews
d1a95dea1f pullup:
1237.   [bug]           nslookup: "set q=type" failed.
2002-03-20 22:45:11 +00:00
Mark Andrews
1cf32ab2b3 pullup:
1236.   [bug]           dns_rdata{class,type}_fromtext() didn't handle non
                        NULL terminated text regions. [RT #2588]
2002-03-20 22:41:58 +00:00
Mark Andrews
7f855bbeee update 2002-03-20 22:40:54 +00:00
Mark Andrews
f8656a8bd6 missed this 2002-03-20 22:20:59 +00:00
Mark Andrews
93304856f9 add missing result codes 2002-03-20 21:29:47 +00:00
Mark Andrews
e5a402d95e pullup:
1232.   [bug]           unix/errno2result() didn't handle EADDRNOTAVAIL.
2002-03-20 20:59:39 +00:00
Mark Andrews
034804a048 pullup:
1231.   [port]          HPUX 11.11 recvmsg() can return spurious EADDRNOTAVAIL.
2002-03-20 20:56:44 +00:00
Mark Andrews
9789fdd98b pullup:
1230.   [bug]           isccc_cc_isreply() and isccc_cc_isack() were broken.
2002-03-20 20:53:06 +00:00
Mark Andrews
1466c8252a pullup:
1228.   [bug]           'make install' did not depend on 'make all'. [RT #2559]
2002-03-20 20:48:16 +00:00
Mark Andrews
e4166c0e05 pullup:
1227.   [bug]           dns_lex_getmastertoken() now returns ISC_R_BADNUMBER
                        if a number was expected and some other token was
                        found. [RT#2532]
2002-03-20 20:44:18 +00:00
Mark Andrews
356880d58e pullup:
1222.   [bug]           Specifying 'port *' did not always result in a system
                        selected (non-reserved) port being used. [RT #2537]
2002-03-20 20:39:51 +00:00
Mark Andrews
27cd2ff244 pullup:
1221.   [bug]           Zone types 'master', 'slave' and 'stub' were not being
                        compared case insensitively. [RT #2542]
2002-03-20 20:32:41 +00:00
Mark Andrews
4da8460d04 pullup:
1218.   [bug]           Named incorrectly returned SERVFAIL rather than
                        NOTAUTH when there was a TSIG BADTIME error. [RT #2519]
2002-03-20 20:27:21 +00:00
Mark Andrews
ba8a105802 pullup:
1216.   [bug]           Multiple server clauses for the same server were not
                        reported.  [RT #2514]
2002-03-20 20:21:15 +00:00
Mark Andrews
4dedf7a82e pullup:
1215.   [port]          solaris: add support to ifconfig.sh for x86 2.5.1
2002-03-20 19:59:50 +00:00
Mark Andrews
a295792f8d pullup:
1214.   [bug]           Win32: isc_file_renameunique() could leave zero length
                        files behind.
2002-03-20 19:50:54 +00:00
Mark Andrews
ede71ed60b pullup:
1212.   [port]          libbind: 64k answer buffers were causing stack space
                        to be exceeded for certian OS.  Use heap space instead.
2002-03-20 19:44:40 +00:00
Mark Andrews
9e7dfa38b4 pullup:
1211.   [bug]           dns_name_fromtext() incorrectly handled certain
                        valid octal bitlabels. [RT #2483]
2002-03-20 19:38:49 +00:00
Mark Andrews
18a3d3ea3d pullup:
1210.   [bug]           libbind: getnameinfo() failed to lookup IPv4 mapped /
                        compatible addresses. [RT #2461]
2002-03-20 19:31:14 +00:00
Mark Andrews
fdae17c884 pullup:
1229.   [bug]           named would crash if it received a TSIG signed
                        query as part of an AXFR response. [RT #2570]
2002-03-20 19:24:37 +00:00
Mark Andrews
d5d160a7bd silence compiler 2002-03-20 19:20:29 +00:00
Mark Andrews
433695cce3 pullup:
1208.   [bug]           dns_master_load*() failed to log a error message if
                        an error was detected when parsing the ownername of
                        a record.  [RT #2448]
2002-03-20 19:15:13 +00:00
Mark Andrews
24bc7544b2 update 2002-03-20 18:57:07 +00:00
Mark Andrews
59f871bf92 9.2.1rc2 2002-03-15 05:14:11 +00:00
Mark Andrews
0924f3b522 silence compiler 2002-03-12 03:55:57 +00:00
Brian Wellington
cbfefc37a3 improve #1206 2002-03-11 23:53:07 +00:00
Mark Andrews
dc57e5e0ca pullup:
<isc/print.h> for snprintf
2002-02-28 05:17:49 +00:00
Mark Andrews
1962186055 pullup 2002-02-27 07:20:25 +00:00
Mark Andrews
450ffb2f77 #1206 is part of 9.2.1rc1 2002-02-27 00:44:58 +00:00
Bob Halley
e7164f3fcd pull up 1206 for Mark 2002-02-26 23:24:18 +00:00
Bob Halley
991343d9a3 #1204 failed to set sin_len (pull up for Mark) 2002-02-26 23:13:33 +00:00
Mark Andrews
4daf63c4b0 copyright dates 2002-02-20 02:17:28 +00:00
Mark Andrews
538bc08bee update for latest set of pullups 2002-02-20 01:49:55 +00:00
Andreas Gustafsson
258eca377d pullup:
1207.   [bug]           libbind: getaddrinfo() could call freeaddrinfo() with
                        an invalid pointer.
2002-02-20 01:06:19 +00:00
Andreas Gustafsson
6bc9a03601 pullup:
1205.   [bug]           OPT, TSIG and TKEY cannot be used to set the "class"
                        of the message. [RT #2449]
2002-02-20 00:47:40 +00:00
Andreas Gustafsson
ba9a670151 pullup:
1204.   [bug]           libbind: res_nupdate() failed to update the name
                        servers addresses before sending the update.
2002-02-20 00:47:03 +00:00
Andreas Gustafsson
9cdcf06d3b pullup:
1204.   [bug]           libbind: res_nupdate() failed to update the name
                        servers addresses before sending the update.
CHANGES
2002-02-20 00:43:46 +00:00
Andreas Gustafsson
fd7505872d pullup:
1201.   [bug]           Require that if 'callbacks' is passed to
                        dns_rdata_fromtext(), callbacks->error and
                        callbacks->warn are initalised.
2002-02-20 00:39:27 +00:00
Andreas Gustafsson
44b8e407b5 pullup:
1200.   [bug]           Log 'errno' that we are unable to convert to
                        isc_result_t. [RT #2404]
2002-02-19 22:44:51 +00:00
Andreas Gustafsson
191fdb73be pullup:
1198.   [bug]           OPT printing style was not consistant with the way the
                        header fields are printed.  The DO bit was not reported
                        if set.  Report if any of the MBZ bits are set.
2002-02-19 22:39:25 +00:00
Andreas Gustafsson
1f40299d87 pullup:
1197.   [bug]           Attempts to define the same acl multiple times were not
                        detected.
2002-02-19 22:30:05 +00:00
Andreas Gustafsson
a07532875f pullup:
1193.   [bug]           Best effort parsing didn't handle packet truncation.
2002-02-19 22:13:00 +00:00
Mark Andrews
7fbafdc2d7 update 2002-02-19 05:27:39 +00:00
Mark Andrews
c3103a0b2d update 2002-02-19 04:45:34 +00:00
Mark Andrews
b700c2c3d2 libisccfg now requires libdns 2002-02-19 04:43:32 +00:00
Mark Andrews
e6012d7b37 pullup:
Fixes for error handling that were missing in previous commit.
2002-02-19 00:40:09 +00:00
Mark Andrews
751109bdd5 pullup:
memory leak
2002-02-13 04:02:36 +00:00
Mark Andrews
5d1e521490 pullup:
Allocate and free key used to check for duplicate zones.
2002-02-12 13:30:33 +00:00
Mark Andrews
e1748302ad cfg_test needs to link against libdns (shared lib) 2002-02-12 12:02:06 +00:00
Mark Andrews
13db7f40a5 libdns required for shared library build. 2002-02-12 06:49:36 +00:00
Mark Andrews
eb176d660e update 2002-02-12 06:38:36 +00:00
Mark Andrews
f2048c5dff update_copyrights 2002-02-12 06:05:52 +00:00
Mark Andrews
1d4285b6a3 merge_copyrights 2002-02-12 06:05:31 +00:00
Mark Andrews
74fd9ace3f merge_copyrights 2002-02-12 05:56:10 +00:00
Mark Andrews
e52fde1b98 pullup:
distclean should remove HTML.index HTML.manifest
2002-02-12 05:51:27 +00:00
Mark Andrews
63102c64ae pullup:
distclean should remove r1.htm
2002-02-12 05:49:37 +00:00
Mark Andrews
0d2fb0ac27 add libdns to named-checkconf. 2002-02-12 04:31:19 +00:00
Mark Andrews
184f677780 Order subdirectory processing 2002-02-12 04:07:36 +00:00
Mark Andrews
b5d00f6ea2 mark 9.2.1rc1 release point 2002-02-12 03:47:25 +00:00
Mark Andrews
7b373263b7 leftover from previous version 2002-02-12 00:20:07 +00:00
Andreas Gustafsson
773f604c52 1194. [bug] Not all duplicate zone definitions were being detected
at the named.conf checking stage. [RT #2431]
2002-02-11 21:50:17 +00:00
Andreas Gustafsson
65ae185312 pullup:
1195.   [bug]           Attempts to redefine builtin acls should be caught.
                        [RT #2403]
2002-02-11 21:42:10 +00:00
Andreas Gustafsson
60c0e2944d English 2002-02-11 20:16:20 +00:00
Mark Andrews
6f9dfd7330 pullup:
reference FAQ
2002-02-11 05:17:22 +00:00
Mark Andrews
1f179c6edd update for 9.2.1rc1 2002-02-08 13:25:16 +00:00
Mark Andrews
ee9dbfb7cd pullup:
1196.   [contrib]       update mdnkit to 2.2.3.
2002-02-08 12:16:32 +00:00
cvs2git
a51c70decc This commit was manufactured by cvs2git to create branch 'v9_2'. 2002-02-08 05:42:25 +00:00
Mark Andrews
73d7583d98 update copyrights 2002-02-08 03:57:47 +00:00
Mark Andrews
50b0a27f48 remove dead wood 2002-02-08 03:39:43 +00:00
Mark Andrews
97cee754a9 merge_copyrights 2002-02-08 03:32:42 +00:00
Mark Andrews
8db1db6295 pullup: Secure Zone Transfers note 2002-02-07 03:50:14 +00:00
Mark Andrews
323de351b3 update for 9.2.1rc1 2002-01-25 04:21:19 +00:00
Mark Andrews
6b345bc209 update for 9.2.1rc1 2002-01-25 04:12:35 +00:00
Mark Andrews
d3fafb3213 update for 9.2.1 2002-01-25 04:06:02 +00:00
Mark Andrews
c363d0fed8 9.2.1rc1 2002-01-25 03:04:22 +00:00
Mark Andrews
f5e4a39e62 pullup: (by tagging)
1167.   [contrib]       nslint-2.1a3 (from author).O
2002-01-25 01:31:33 +00:00
Mark Andrews
e227c896a2 #1025, #1034, #1035, #1037, #1079 and #1080 2002-01-25 01:12:36 +00:00
Mark Andrews
0f0e3ffdc1 1007. [port] config.guess, config.sub from autoconf-2.52.
1008.   [port]          libtool.m4, ltmain.sh from libtool-1.4.2.

1009.   [port]          OpenUNIX 8 support. [RT #1728]
2002-01-25 01:02:12 +00:00
Mark Andrews
b8c4c3aade 1105. [port] OpenUNIX 8 enable threads by default. [RT #1970]
[Functional change]
2002-01-25 00:57:56 +00:00
Mark Andrews
c2f1d683c9 1073. [bug] The ADB cache cleaning should also be space driven.
[RT #1915, #1938]
                        [ New function dns_adb_setadbsize() ]
2002-01-25 00:49:31 +00:00
Mark Andrews
fa85f47357 pullup:
1108.   [bug]           On Win32, rndc was hanging when named was not running
                        due to failure to select for exceptional conditions
                        in select(). [RT #1870]

win32 fixes for:
1081.   [bug]           Multicast queries were incorrectly identified
                        based on the source address, not the destination
                        address.

1066.   [bug]           Provide a thread safe wrapper for strerror().
                        [RT #1689]  (socket.c only)

General cleanup from mainline.
2002-01-25 00:24:58 +00:00
Mark Andrews
8a044e464b pullup:
1081.   [bug]           Multicast queries were incorrectly identified
                        based on the source address, not the destination
                        address.
(from JINMEI Tatuya)
2002-01-24 23:22:25 +00:00
Mark Andrews
5295debde0 1110. [bug] dig should only accept valid abbreviations of +options.
[RT #2003]
                        [Potentially breaks scripts.  Leave to 9.3.0.]
2002-01-24 23:15:51 +00:00
Mark Andrews
3e69f0cd72 pullup:
1072.   [bug]           The TCP client quota could be exceeded when
                        recursion occurred. [RT #1937]
2002-01-24 23:09:15 +00:00
Mark Andrews
c592760e76 pullup:
1071.   [bug]           Sockets listening for TCP DNS connections
                        specified an excessive listen backlog. [RT #1937]
2002-01-24 22:59:07 +00:00
Mark Andrews
f64f89606f pullup:
nsupdate should not take octal and hex TTLs
2002-01-24 21:59:51 +00:00
Andreas Gustafsson
3f25cb17e3 pullup:
1070.  [bug]           Copy DNSSEC OK (DO) to response as specified by
                       draft-ietf-dnsext-dnssec-okbit-03.txt.
2002-01-24 19:00:27 +00:00
Andreas Gustafsson
e2352fb8cd pullup:
995.   [bug]           dig, host, nslookup: using a raw IPv6 address as a
                        target address should be fatal on a IPv4 only system.
2002-01-24 18:42:29 +00:00
Andreas Gustafsson
21b4f15c60 pullup:
1109.   [bug]           nsupdate accepted illegal ttl values.
2002-01-24 18:32:25 +00:00
Mark Andrews
417cddb8c1 1024. [port] Compilation failed on HP-UX 11.11 due to
incompatible use of the SIOCGLIFCONF macro
                        name. [RT #1831]
                        [needs more work]
2002-01-24 06:32:30 +00:00
Mark Andrews
f27e47b5ff pullup:
1014.   [bug]           Some queries would cause statistics counters to
                        increment more than once or not at all. [RT #1321]
2002-01-24 04:22:58 +00:00
Mark Andrews
2a091ec932 pullup:
988.   [bug]           'additional-from-auth no;' did not work reliably
                        in the case of queries answered from the cache.
                        [RT #1436]
2002-01-24 03:49:04 +00:00
Mark Andrews
9445e10377 1012. [bug] The -p option to named did not behave as documented. 2002-01-24 03:06:25 +00:00
Andreas Gustafsson
f6bd49ffd0 consistent spacing 2002-01-23 18:02:49 +00:00
Andreas Gustafsson
fff1dbdf55 pullup:
1166.   [bug]           "Not Implemented" should be reported as NOTIMP,
                        not NOTIMPL. [RT #2281]
2002-01-23 17:57:51 +00:00
Andreas Gustafsson
69e7554caa pullup:
1170.   [bug]           Don't attempt to print the token when a I/O error
                        occurs when parsing named.conf.  [RT #2275]
2002-01-23 17:54:06 +00:00
Brian Wellington
99df95697c pullup:
1191.   [bug]           A dynamic update removing the last non-apex name in
                        a secure zone would fail. [RT #2399]
2002-01-23 08:17:55 +00:00
Mark Andrews
d778d61208 1168. [bug] Empty also-notify clauses were not handled. [RT #2309] 2002-01-23 05:14:35 +00:00
Mark Andrews
d0bb045c79 1150. [bug] named incorrectly accepted TTL values
containing plus or minus signs, such as
                        1d+1h-1s.
                        [ Uses new function isc_parse_uint32() ]

1151.   [bug]           nslookup failed to check that the arguments to
                        the port, timeout, and retry options were
                        valid integers and in range. [RT #2099]
                        [ Uses new function isc_parse_uint32() ]
2002-01-23 04:23:45 +00:00
Mark Andrews
3fa36cb79d not NOTIMPL -> NOTIMP change 2002-01-23 04:04:22 +00:00
Mark Andrews
ab92fa0aca pullup: style 2002-01-23 03:49:20 +00:00
Mark Andrews
3a7c194000 1187. [bug] named was incorrectly returning DNSSEC records
in negative responses when the DO bit was not set.
                        [ Requires API change (new arguement) to
                        dns_rdataset_towire(), dns_rdataset_towirepartial()
                        and dns_rdataset_towirepartial() ]
2002-01-23 03:33:48 +00:00
Mark Andrews
8a4f85e204 pullup:
1188.   [bug]           Dynamic updates of a signed zone would fail if
                        some of the zone private keys were unavailable.
2002-01-23 03:19:03 +00:00
Mark Andrews
622a5774e6 pullup:
1189.   [bug]           On some systems, malloc(0) returns NULL, which
                        could cause the caller to report an out of memory
                        error. [RT #2398]
2002-01-23 03:09:31 +00:00
Mark Andrews
feed58ca64 pullup:
add format checking
2002-01-23 03:02:28 +00:00
Mark Andrews
eab966fdb3 pullu: typo in comment 2002-01-23 02:55:10 +00:00
Mark Andrews
5eeb5ddc67 1159. [bug] MD and MF are not permitted to be loaded by RFC1123
[ Could cause zones that loaded in 9.2.0 to fail
                        to load.  Leave such breakages to 9.3.0. ]
2002-01-23 02:47:08 +00:00
Andreas Gustafsson
4c7c397275 1183. [bug] Handle ENOSR error when writing to the internal
control pipe. [RT #2395]
2002-01-23 02:35:56 +00:00
Andreas Gustafsson
05b8c412f8 pullup:
pullup from BIND 8:
1185.   [bug]           libbind: don't assume statp->_u._ext.ext is valid
                        unless RES_INIT is set when calling res_*init().

1184.   [bug]           libbind: call res_ndestroy() if RES_INIT is set
                        when res_*init() is called.
2002-01-23 02:34:14 +00:00
Andreas Gustafsson
413463f215 pullup:
wrong test to see if snprintf had a too small buffer.
2002-01-23 02:11:32 +00:00
Andreas Gustafsson
bc1268ea83 pullup:
leave isc_lex_destroy() to close any open streams.
2002-01-23 02:08:57 +00:00
Andreas Gustafsson
d8f67a1d88 pullup:
Fix RT #2309 differently, allowing rather than rejecting empty
 also-notify clauses
2002-01-23 02:05:42 +00:00
Andreas Gustafsson
b7f8bca629 regenerated 2002-01-23 01:55:38 +00:00
Andreas Gustafsson
8bb8f9c6c8 pullup:
initalise warning
initalise token
only print known token types.
2002-01-23 01:53:28 +00:00
Andreas Gustafsson
e6450a5811 regenerated 2002-01-23 01:50:23 +00:00
Andreas Gustafsson
d8b140ce00 pullup:
1172.   [doc]           Add CERT, GPOS, KX, NAPTR, NSAP, PX and TXT to
                        table of RR types in ARM.
2002-01-23 01:41:17 +00:00
Andreas Gustafsson
e47a6956a1 pullup:
1173.   [bug]           Potential memory leaks in isc_log_create() and
                        isc_log_settag(). [RT #2336]
2002-01-23 01:31:15 +00:00
Andreas Gustafsson
7366e9c47d pullup:
1174.   [bug]           Win32: add WSAECONNRESET to the expected errors
                        from connect(). [RT #2308]
2002-01-23 01:07:54 +00:00
Mark Andrews
a818127616 pullup: cut-and-paste-o:s 2002-01-23 00:11:14 +00:00
Mark Andrews
6e574a8b30 prepare for 9.2.1 2002-01-22 23:39:20 +00:00
Andreas Gustafsson
a7859ded82 1175. [bug] named-checkzone failed to call dns_result_register()
at startup which could result in runtime
                        exceptions when printing "out of memory" errors.
                        [RT #2335]
(The named-checkconf.c change was not pulled up; it is not applicable
to the 9.2 branch because the 9.2 named-checkconf.c does not link
with libdns)
2002-01-22 23:34:56 +00:00
Andreas Gustafsson
d7224e6672 pullup:
reference after free in error path.
2002-01-22 23:17:44 +00:00
Mark Andrews
2adafac25f Not applicable to 9.2 2002-01-22 23:15:59 +00:00
Andreas Gustafsson
057fc2ec3f pullup:
1165.   [bug]           We were rejecting notify-source{-v6} in zone clauses.
2002-01-22 23:14:45 +00:00
Andreas Gustafsson
80670d2633 pullup:
1164.   [bug]           Empty masters clauses in slave / stub zones were not
                        handled gracefully.  [RT #2262]
2002-01-22 22:51:05 +00:00
Mark Andrews
16a160ea8a pullup:
http://www.isc.org/ml-archives/
2002-01-22 06:50:48 +00:00
Mark Andrews
f132d4023a pullup:
Q: I have Freebsd 4.4 and "rndc-confgen -a" just sits there.
2002-01-22 06:43:58 +00:00
Mark Andrews
a50304c317 pullup:
1176.   [doc]           Document that allow-v6-synthesis is only performed
                        for clients that are supplied recursive service.
                        [RT #2260]
2002-01-22 06:16:25 +00:00
Mark Andrews
8ac220d5cc pullup:
1186.   [bug]           isc_hex_tobuffer(,,length = 0) failed to unget the
                        EOL token when reading to end of line.
2002-01-22 06:08:47 +00:00
Mark Andrews
3bc24a3a90 pullup:
Q: I get error messages like "multiple RRs of singleton type" and
"CNAME and other data" when transfering a zone.  What does this mean?
2002-01-22 05:21:51 +00:00
Mark Andrews
5ef63950cf pullup:
Q: Why is named listening on UDP port other than 53?
2002-01-22 05:16:11 +00:00
Mark Andrews
4f0ddc4fc1 pullup:
Mac OS X 10.1
2002-01-22 05:14:31 +00:00
Mark Andrews
f5ea135066 pullup:
Mention the need to run "make distclean" prior to re-configuring.
2002-01-22 05:11:17 +00:00
Mark Andrews
bedd38297c note that the command channel can be disabled using controls { }; 2002-01-22 05:09:40 +00:00
Mark Andrews
2bffec87ac pullup:
Out of date comment.
2002-01-22 05:00:30 +00:00
Mark Andrews
f9409b10fd pullup:
1152.   [bug]           libbind: read buffer overflows.
2002-01-22 04:15:45 +00:00
Mark Andrews
f10e90ebb4 1182. [bug] The server could throw an assertion failure when
constructing a negative response packet.
2002-01-21 22:27:03 +00:00
Mark Andrews
73442acbe7 rndc-keygen -> rndc-confgen [RT #2362] 2002-01-16 03:47:23 +00:00
Mark Andrews
4099c201ff whitespace cleanup 2001-12-19 01:29:35 +00:00
Mark Andrews
6cb12c44a3 pullup:
fix large DH key generation, hopefully for the last time.
2001-12-19 01:09:58 +00:00
Andreas Gustafsson
b31471255d pullup: correct Latin plural 2001-12-14 18:30:09 +00:00
Mark Andrews
7caf656a15 pullup:
1162.   [bug]           The allow-notify option was not accepted in slave
                        zone statements.
2001-12-13 06:50:59 +00:00
Mark Andrews
5fc932977a pullup:
check that allow-notify is only specified for slave zones
2001-12-13 06:47:48 +00:00
Brian Wellington
fefd6c28ab 1161. [bug] named-checkzone looped on unbalanced brackets.
[RT #2248]
2001-12-13 06:17:34 +00:00
Mark Andrews
6124a262fa pullup:
1160.   [bug]           Generating Diffie-Hellman keys longer than 1024
                        bits could fail. [RT #2241]
2001-12-12 17:05:20 +00:00
Mark Andrews
21b1491aa2 pullup:
1154.  [bug]           Don't attempt to obtain the netmask of a interface
                       if there is no address configured.  [RT #2176]
2001-12-12 00:16:47 +00:00
Mark Andrews
f3cee71ee5 regen 2001-12-05 02:30:08 +00:00
Mark Andrews
d25f6fac98 pullup:
1156.   [port]          The configure test for strsep() incorrectly
                        succeeded on certain patched versions of
                        AIX 4.3.3. [RT #2190]
2001-12-05 02:28:37 +00:00
Andreas Gustafsson
700847b76c spelling 2001-11-30 01:10:09 +00:00
Andreas Gustafsson
b90dc3fc6a regenerated 2001-11-29 22:56:39 +00:00
Andreas Gustafsson
6b53351ce2 pullup: clarified the meaning of * in an inet controls clause [RT #2073] 2001-11-29 22:55:52 +00:00
Andreas Gustafsson
4463c6f19e reference RT #2164 2001-11-29 18:34:23 +00:00
Andreas Gustafsson
fa85eab969 belated pullup:
125.   [bug]           rndc: -k option was missing from usage message.
                        [RT #2057]
2001-11-28 23:37:50 +00:00
Andreas Gustafsson
3a8943b2d2 regenerated 2001-11-28 23:35:49 +00:00
Andreas Gustafsson
790f33c772 belated pullup:
1124.   [doc]           dig: +[no]dnssec, +[no]besteffort and +[no]fail
                        now documented. [RT #2052]
2001-11-28 23:35:02 +00:00
Andreas Gustafsson
c9114f35c0 belated pullup:
1123.   [bug]           dig +[no]fail did not match description. [RT #2052]
2001-11-28 23:29:13 +00:00
Andreas Gustafsson
6c8ae8b9ef pullup:
1144.   [bug]           rndc-confgen would crash if both the -a and -t
                        options were specified. [RT #2159]
2001-11-28 21:51:51 +00:00
Mark Andrews
9dfa8979a7 The dig help message did not documents the -b, -k, and +noqr options,
and some options were less than logically grouped [RT #2151]
2001-11-28 04:35:14 +00:00
Mark Andrews
d486854a4a order 2001-11-28 02:52:25 +00:00
Mark Andrews
c14c7e14cd pullup:
1140.   [bug]           rndc-confgen did not accept IPv6 addresses as arguments
                        to the -s option. [RT #2138]
2001-11-28 01:58:18 +00:00
Andreas Gustafsson
ed37e8811a end sentence in period 2001-11-28 01:37:44 +00:00
Andreas Gustafsson
eacbf2cc01 pullup:
shutup bogus ambiguous else compiler warning.
2001-11-27 23:21:56 +00:00
Andreas Gustafsson
e8c4b14cde pullup:
1142.   [bug]           dnssec-signzone would fail to delete temporary files
                        in some failure cases. [RT #2144]
2001-11-27 22:41:49 +00:00
Andreas Gustafsson
72ad976640 pullup:
1141.   [bug]           When named rejected a control message, it would
                        leak a file descriptor and memory.  It would also
                        fail to respond, causing rndc to hang. [RT #2139]
2001-11-27 22:38:14 +00:00
Andreas Gustafsson
189dcca2c9 success on Debian GNU/Linux 2.2 and 3.0 reported by Bdale Garbee <bdale@gag.com> 2001-11-27 20:23:33 +00:00
Andreas Gustafsson
e15532f8c6 regenerated 2001-11-27 18:58:03 +00:00
Andreas Gustafsson
462b062d7f pullup: command example was missing TTL (reported in private email by Bdale Garbee <bdale@gag.com>) 2001-11-27 18:57:40 +00:00
Mark Andrews
0797eebc66 pullup:
1136.   [bug]           CNAME records synthesized from DNAMEs did not
                        have a TTL of zero as required by RFC2672
                        [RT #2129]
2001-11-27 00:43:06 +00:00
Andreas Gustafsson
8f4ecd4a9e updated for 9.2.0 (final) 2001-11-25 01:38:13 +00:00
Mark Andrews
402313b3db pullup:
1134.   [bug]           Multithreaded servers could deadlock in ferror()
                        when reloading zone files. [RT #1951, #1998]
2001-11-22 01:23:19 +00:00
Andreas Gustafsson
887c9d05c2 pullup:
1133.   [bug]           IN6_IS_ADDR_LOOPBACK was not portably defined on
                        platforms without IN6_IS_ADDR_LOOPBACK. [RT #2106]
2001-11-22 00:22:02 +00:00
Andreas Gustafsson
8733f0d86c include 1121. - 1131. in 9.2.0rc10; retag 2001-11-16 21:52:55 +00:00
Brian Wellington
25fd0feeea 1121. [bug] The server could attempt to access a NULL zone
table if shut down while resolving.
			[RT #1587, #2054]
2001-11-16 21:47:27 +00:00
Brian Wellington
04999a9c03 pullup:
1131.   [bug]           The match-destinations view option did not work with
                        IPv6 destinations. [RT #2073, #2074]
2001-11-16 21:21:42 +00:00
Andreas Gustafsson
1e1f1edb7d pullup:
130.   [bug]           Log messages reporting an out-of-range serial number
                        did not include the out-of-range number but the
                        following token. [RT #2076]
2001-11-16 19:00:37 +00:00
Mark Andrews
fefab489c7 pullup:
1129.   [bug]           Multithreaded servers could crash under heavy
                        resolution load due to a race condition. [RT #2018]
2001-11-16 11:04:38 +00:00
Mark Andrews
913e3def6d pullup:
extra text after #else
2001-11-15 06:21:38 +00:00
Mark Andrews
5b477dd3b9 1126. [bug] The server could access a freed event if shut
down while a client start event was pending
                        delivery. [RT #2061]
2001-11-15 02:51:46 +00:00
Mark Andrews
309979a136 pullup:
Removed all code within #ifdef DNS_OPT_NEWCODES*.
It was the last thing being sanitized out of releases; removing
it makes it possible to eliminate the sanitation process.
2001-11-15 01:24:21 +00:00
Mark Andrews
fc67f3e0e3 pullup:
Partial fix for RT #2053.  The potential for deadlock still exists,
but it is much less likely to occur because we now only take the ADB lock when
the
external reference count reaches zero, not every time it is decremented.
Althought this does not actually fix the bug, it at least lets us make
progress on testing fixes for other bugs affecting shutdown of multithreaded
servers.
2001-11-15 00:35:17 +00:00
Andreas Gustafsson
abbc8ed09b added FAQ about rndc attempting to use IPv6 2001-11-14 17:59:10 +00:00
Andreas Gustafsson
0258aea36c added --- 9.2.0rc10 released --- marker 2001-11-13 19:51:11 +00:00
Andreas Gustafsson
2ce3018081 consistent spacing; tabify 2001-11-13 19:07:03 +00:00
Andreas Gustafsson
b8b17a7732 regenerated 2001-11-13 19:04:20 +00:00
Andreas Gustafsson
ac81ee4d14 updated for 9.2.0rc10 2001-11-13 19:00:51 +00:00
Andreas Gustafsson
63d380e078 pullup:
1116.   [bug]           Setting transfers in a server clause, transfers-in,
                        or transfers-per-ns to a value greater than
                        2147483647 disabled transfers.  [RT #2002]
(Technically, this is an API change, but since it only changes the signedness of some
function parameters, it is still binary compatible in practice and I'll let it slip
by without bumping the major library version number)
2001-11-13 18:57:14 +00:00
Andreas Gustafsson
46879265d7 pullup:
1120.   [bug]           Errors in options were not fatal. [RT #2002]
2001-11-13 18:36:04 +00:00
Mark Andrews
29d7ef1bca cleanup allow-update-forwarding. 2001-11-13 02:52:10 +00:00
Andreas Gustafsson
80c7cf7e5d pullup:
1113.   [bug]           The allow-update-forwarding option was ignored
                        when specified in a view. [RT #2014]
2001-11-13 01:15:33 +00:00
Mark Andrews
be7d7a6638 pullup:
1118.   [bug]           On multithreaded servers, a race condition
                        could cause an assertion failure in resolver.c
                        during resolver shutdown. [RT #2029]
2001-11-12 22:37:05 +00:00
Mark Andrews
d0b2beb93d pullup:
1111.   [bug]           Multithreaded servers could deadlock processing
                        recursive queries due to a locking hieararchy
                        violation in adb.c. [RT #2017]
2001-11-12 22:28:30 +00:00
Mark Andrews
6358746e6f regen 2001-11-10 15:15:33 +00:00
Mark Andrews
4a2df0557c pullup:
1117.   [port]          The configure check for in6addr_loopback incorrectly
                        succeeded on AIX 4.3 when compiling with -O2
                        because the test code was optimized away.
                        [RT #2016]
2001-11-10 15:14:01 +00:00
Mark Andrews
014f9142bc pullup:
1114.   [port]          Ignore more accept() errors. [RT #2021]
2001-11-10 03:03:44 +00:00
Andreas Gustafsson
d76ac5ddfd pullup:
install soa.h
2001-11-09 23:17:17 +00:00
Andreas Gustafsson
b5c8773673 pullup:
theoretically potential file descriptor leak.
2001-11-09 20:21:41 +00:00
Andreas Gustafsson
3700c88538 regenerated 2001-11-08 00:15:41 +00:00
Andreas Gustafsson
8b672d6342 pullup:
note that the +[no]cmd option cannot be overridden on a per-query
> basis [RT #2004]
2001-11-08 00:15:23 +00:00
Andreas Gustafsson
15491d8b1f regenerated 2001-11-07 19:08:32 +00:00
Andreas Gustafsson
c529637d60 typo 2001-11-07 19:07:29 +00:00
Andreas Gustafsson
d35b058b31 include 1106. and 1107. in rc9 2001-11-07 01:02:14 +00:00
Andreas Gustafsson
364da4eb0f note that HP-UX 11.11 is not yet supported due to its incompatible SIOCGLIFCONF ioctl 2001-11-06 22:30:24 +00:00
Brian Wellington
26c8b645f8 pullup:
1107.   [bug]           nsupdate could catch an assertion failure if an
			invalid domain name was given as the argument to
			the "zone" command.
2001-11-06 21:50:35 +00:00
Andreas Gustafsson
d8c1b06854 pullup:
memory leaks on errors
2001-11-06 20:44:26 +00:00
Andreas Gustafsson
98c08f4dbe pullup:
1106.   [bug]           After seeing an out of range TTL, nsupdate would
                        treat all TTLs as out of range. [RT #2001]
2001-11-06 20:42:01 +00:00
Andreas Gustafsson
fb17fdbd0e pullup:
cvs rdiff -r1.89 -r1.90 bind9/lib/dns/sec/dst/dst_api.c
2001-11-06 19:24:08 +00:00
Andreas Gustafsson
19c189b7a3 miscellaneous corrections 2001-11-06 01:57:19 +00:00
Andreas Gustafsson
2cd386a02f typo 2001-11-06 01:40:06 +00:00
Andreas Gustafsson
d8389bdac5 "a number of bugs", not "a couple of bugs" 2001-11-05 23:48:46 +00:00
Andreas Gustafsson
abe885e016 regenerated 2001-11-05 23:47:05 +00:00
Andreas Gustafsson
d3d785705a split dns example comments confused master and slave;
text about 'mandatory to implement' algorithms made no sense
2001-11-05 23:46:21 +00:00
Andreas Gustafsson
ad923a3d6f regenerated 2001-11-05 23:25:11 +00:00
Mark Andrews
035ef37ffa pullup:
grammar summary output for named maps was missing the name field
2001-11-05 23:22:21 +00:00
Andreas Gustafsson
f38324fe6c typos 2001-11-05 22:56:49 +00:00
Andreas Gustafsson
67308c2197 regenerated 2001-11-05 22:54:41 +00:00
Andreas Gustafsson
93ca4b367d spelling 2001-11-05 22:50:03 +00:00
Andreas Gustafsson
bcf3845c01 include 1103-1104 in rc9 2001-11-05 22:00:48 +00:00
Brian Wellington
a0e8772150 pullup:
don't try to insert the nonexistent file lib/bind/COPYRIGHT into configure
2001-11-05 21:42:51 +00:00
Andreas Gustafsson
e81b4c677b regenerated 2001-11-05 21:28:35 +00:00
Brian Wellington
9476a30889 pullup:
1104.   [bug]           Invalid arguments to the transfer-format option
                        could cause an assertion failure. [RT #1995]
(+ don't say "'foo' unexpected near 'foo'" - once is enough)
2001-11-05 20:21:54 +00:00
Andreas Gustafsson
639fef047e pulled up latest FAQ list from mainline 2001-11-05 18:01:16 +00:00
Mark Andrews
ec5ff01338 1103. [port] OpenUNIX 8 support (ifconfig.sh). [RT #1970] 2001-11-05 04:29:35 +00:00
Andreas Gustafsson
c5f432d9c2 pullup:
typo in debug message [RT #1989]
2001-11-04 19:21:50 +00:00
Andreas Gustafsson
8dda8ff186 pullup:
1087.   [bug]           libbind: struct __res_state to large on 64 bit arch.
(including later fix known as change 1284 in BIND 8)
2001-11-03 00:21:34 +00:00
Andreas Gustafsson
adcfb59d04 regenerated 2001-11-02 22:54:18 +00:00
Andreas Gustafsson
75c43836c1 removed empty line as an excuse for making
another commit so that I can note that the commit message
of the previous commit should have been:
pullup:
silence compiler the same way
2001-11-02 22:31:14 +00:00
Andreas Gustafsson
7752f1112e pullup:
CHANGES lib/bind/dst/dst_api.c lib/bind/dst/support.c
trebuchet ~/9.2 $ cvs commit -mpullup:
2001-11-02 22:26:21 +00:00
Andreas Gustafsson
148fd45777 pullup:
1100.   [bug]           libbind: DNSSEC key ids were computed incorrectly.
2001-11-02 22:25:29 +00:00
Andreas Gustafsson
c7443ec439 pullup:
1099.   [cleanup]       libbind: defining REPORT_ERRORS in lib/bind/dst caused
                        compile time errors.
2001-11-02 21:38:18 +00:00
Andreas Gustafsson
2f65d19e93 pullup:
1098.   [bug]           libbind: HMAC-MD5 key files are now mode 0600.
2001-11-02 21:35:30 +00:00
Andreas Gustafsson
6cb735c864 pullup:
spelling and order
2001-11-02 21:32:52 +00:00
Andreas Gustafsson
ad7a535899 pullup:
1093.   [doc]           libbind: miscellaneous nroff fixes.
2001-11-02 21:06:16 +00:00
Andreas Gustafsson
84189fe5ad pullup:
1092.   [bug]           libbind: get*by*() failed to check if res_init() had
                        been called.
2001-11-02 20:55:24 +00:00
Andreas Gustafsson
b15ba3f20d pullup:
1091.   [bug]           libbind: misplaced va_end().
2001-11-02 20:45:32 +00:00
Andreas Gustafsson
a3a89d7c36 pullup:
1090.   [bug]           libbind: dns_ho.c:add_hostent() was not returning
                        the amount of memory consumed resulting in garbage
                        address being returned.  Alignment calculations were
                        wasting space.  We wern't suppressing duplicate
                        addresses.
2001-11-02 20:35:28 +00:00
Andreas Gustafsson
6c87ddb75d pullup:
1088.   [port]          libbind: MPE/iX C.70 (incomplete)
2001-11-02 20:12:58 +00:00
Andreas Gustafsson
aa224791dd pullup:
1086.   [port]          libbind: sunos: old sprintf.
2001-11-02 17:56:07 +00:00
Andreas Gustafsson
73865279b1 regenerated 2001-11-02 17:46:16 +00:00
Andreas Gustafsson
cad0e68589 pullup:
1085.   [port]          libbind: solaris: sys_nerr and sys_errlist do not
                        exist when compiling in 64 bit mode.
2001-11-02 17:45:31 +00:00
Andreas Gustafsson
513fe0ca30 regenerated 2001-11-02 02:20:35 +00:00
Andreas Gustafsson
a7757e30aa pullup:
1102.   [doc]           Note that query logging is enabled by directing the
                        queries category to a channel.
2001-11-02 02:16:48 +00:00
Andreas Gustafsson
540f27d8bc pullup:
1101.   [bug]           Array bounds read error in lwres_gai_strerror.
2001-11-02 01:32:53 +00:00
Mark Andrews
4e07f65d62 regen 2001-11-02 00:21:34 +00:00
Mark Andrews
c78ef9f491 pullup:
Deal with AIX defining in6addr_any but not in6addr_loopback
in libc, even though both are declared in <netinet/in.h>.  This caused
named to fail to link on AIX after change 1083, which introduced
the first actual use of in6addr_loopback.
2001-11-02 00:20:12 +00:00
Andreas Gustafsson
50d93bb5f8 pullup:
1084.   [cleanup]       libbind: gai_strerror() rewritten.
2001-11-01 19:00:47 +00:00
Mark Andrews
e301648774 pullup:
In several places, dighost.c called cancel_lookup() and then called
requeue_lookup() on the canceled lookup.  Because cancel_lookup()
resets the retry count of the lookup to zero, the requeued lookups
would not be retried at all (for example, in the case of UDP NS
queries executed when doing "dig +search") or, in the case of TCP
queries, retried indefinitely since the unsigned retry count of zero
was subsequently decremented, causing it to wrap around to the largest
unsigned integer value.
2001-10-31 23:04:26 +00:00
Mark Andrews
1260bf0573 pullup:
1083.   [bug]           The default control channel listened on the
                        wildcard adress, not the loopback as documented.
                        [RT #1975]
2001-10-31 23:00:44 +00:00
Mark Andrews
bdbaee5cfc pullup:
1082.  [bug]           The -g option to named incorrectly caused logging
                       to be sent to syslog in addition to stderr.
                       [RT #1974]
2001-10-31 22:44:15 +00:00
Andreas Gustafsson
8ced0871d2 regenerated 2001-10-30 20:30:56 +00:00
Andreas Gustafsson
6032e43f38 mark the memstatistics-file option as unimplemented (on 9.2
branch only, since it is implemented on the mainline) [RT #1972]
2001-10-30 20:30:33 +00:00
Andreas Gustafsson
219a694aca success reported for OpenUNIX 8 2001-10-30 18:22:21 +00:00
Andreas Gustafsson
3c76e82a76 pullup:
1078.  [bug]           We failed to correct bad tv_usec values in one case.
                       [RT #1966]
2001-10-30 17:57:52 +00:00
Andreas Gustafsson
6a1e7c8565 updated for 9.2.0rc9 2001-10-30 02:14:10 +00:00
Mark Andrews
5e8d4ff0bf pullup:
1074.   [bug]           Running out of memory in dump_rdataset() could
                        cause an assertion failure. [RT #1946]
2001-10-30 01:57:16 +00:00
Mark Andrews
e169fd331c pullup:
AXFRs were misidentified as AXFR-style IXFRs in log messages
2001-10-30 01:28:29 +00:00
Mark Andrews
58fbc62a4a pullup:
running out of memory during ns_client_t construction could crash server
[RT #409]
2001-10-30 01:12:34 +00:00
Andreas Gustafsson
a504607ef1 pullup:
1076.   [bug]           A badly defined global key could trigger an assertion
                        on load/reload if views were used. [RT #1947]
2001-10-29 20:18:48 +00:00
Mark Andrews
74ceb7b203 1075. [bug] Out-of-range network prefix lengths were not
reported. [RT #1954]
2001-10-28 22:48:33 +00:00
Andreas Gustafsson
449733f214 note that the localhost and localnets ACLs do not currently support IPv6 2001-10-24 23:00:51 +00:00
Andreas Gustafsson
94f960b541 added --- 9.2.0rc8 released --- marker 2001-10-23 17:21:27 +00:00
Andreas Gustafsson
381f821556 updated for 9.2.0rc8 2001-10-23 17:06:33 +00:00
Mark Andrews
3a0f5543c9 pullup:
some variables that should have been static weren't
2001-10-23 02:42:00 +00:00
Mark Andrews
8153dde6c8 pullup:
eliminated race condition in water() [RT #1932]
2001-10-23 01:31:08 +00:00
Andreas Gustafsson
fa52840ac8 pullup: silence compiler warning 2001-10-22 23:52:19 +00:00
Andreas Gustafsson
85939fa773 regenerated 2001-10-22 23:36:00 +00:00
Andreas Gustafsson
5a78ccdf1f pullup:
1068.   [bug]           errno could be overwritten by catgets(). [RT #1921]
1066.   [bug]           Provide a thread safe wrapper for strerror().
                        [RT #1689]
(Also some changes to configure.in, config.h.in, and acconfig.h that were
necessary to allow config.h.in to be correctly regenerated with the
HAVE_STRERROR definition needed by 1066.)
2001-10-22 23:28:26 +00:00
Andreas Gustafsson
7209c50da4 pullup:
1064.   [bug]           Do not shut down active network interfaces if we
                        are unable to scan the interface list. [RT #1921]
2001-10-22 17:42:05 +00:00
Andreas Gustafsson
0ae6a5f852 pullup:
1063.   [bug]           libbind: "make install" was failing on IRIX.
(lib/bind/port/irix/include/paths.h was pulled up by tagging)
2001-10-22 17:00:49 +00:00
Brian Wellington
e94a2fdd30 pullup:
1062.	[bug]		If the control channel listener socket was shut
			down before server exit, the listener object could
			be freed twice. [RT #1916]
2001-10-19 22:29:08 +00:00
Mark Andrews
2ef5add037 remove EXCLUDED when kitting. 2001-10-19 01:23:23 +00:00
Mark Andrews
bada421314 Initial file (empty). 2001-10-19 01:22:27 +00:00
Mark Andrews
c65bd9be83 pullup:
1061.   [bug]           If periodic cache cleaning happened to start
                        while cleaning due to reaching the configured
                        maximum cache size was in progress, the server
                        could catch an assertion failure. [RT #1912]
2001-10-19 00:22:26 +00:00
Mark Andrews
7a89c23c2d 1057. [bug] Reloading the server after adding a "file" clause
to a zone statement could cause the server to
                        crash due to a typo in change 1016.
2001-10-18 00:35:20 +00:00
Andreas Gustafsson
6ca3f52bee pullup:
1056.   [bug]           Rndc could catch an assertion failure on SIGINT due
                        to an uninitialized variable. [RT #1908]
2001-10-17 18:26:01 +00:00
Andreas Gustafsson
c535e67633 include 1054. in 9.2.0rc7 2001-10-16 18:54:41 +00:00
Andreas Gustafsson
05cd9da1d8 consistently refer to Windows NT / 2000 systems as Win32 2001-10-16 18:54:07 +00:00
Mark Andrews
ec95dac291 pullup:
1054.   [bug]           winnt: cfg_categories and cfg_modules need to be
                        visible outside of the libisccfg DLL.
2001-10-16 05:58:29 +00:00
Andreas Gustafsson
3b3d01b318 added --- 9.2.0rc7 released --- marker 2001-10-15 23:09:16 +00:00
Brian Wellington
0e71bf20df pullup:
1053.   [bug]           Dig did not increase its timeout when receiving
                        AXFRs unless the +time option was used. [RT #1904]
2001-10-15 23:06:07 +00:00
Andreas Gustafsson
106423c056 regenerated 2001-10-15 21:58:57 +00:00
Andreas Gustafsson
6812f56fa2 pullup:
mention [filename] in the help.
2001-10-15 20:25:57 +00:00
Andreas Gustafsson
f3c187e0c7 pullup: check-zone -> named-checkzone (from Jinmei) 2001-10-15 18:21:25 +00:00
Andreas Gustafsson
fe6a60a7c3 consistent spacing 2001-10-15 17:10:14 +00:00
Mark Andrews
a1a06d7854 pullup:
1052.  [bug]           Journals were not being created in binary mode
                       resulting in "journal format not recognized" error
                       under Windows NT/2000.  [RT #1889]
2001-10-15 04:57:51 +00:00
Mark Andrews
7ce9f2dbe8 pullup:
1051.   [bug]           Do not ignore a network interface completely just
                        because it has a noncontiguous netmask.  Instead,
                        omit it from the localnets ACL and issue a warning.
                        [RT #1891]
2001-10-13 03:56:44 +00:00
Mark Andrews
267d8eb613 pullup:
1050.  [bug]           Log messages reporting malformed IP addresses in
                       address lists such as that of the forwarders option
                       failed to include the correct error code, file
                       name, and line number. [RT #1890]
2001-10-13 03:52:13 +00:00
Andreas Gustafsson
e31320a1d0 updated for 9.2.0rc7 2001-10-12 23:34:24 +00:00
Andreas Gustafsson
5cb1e19b03 pullup:
don't assume perl is in the path
2001-10-12 20:12:07 +00:00
Andreas Gustafsson
23b81eeddd pullup:
the tkey test would randomly fail due to key IDs with a leading
zero being interpreted as octal numbers
2001-10-12 20:11:43 +00:00
Andreas Gustafsson
31da643c6a pullup:
1033.   [bug]           Always respond to requests with an unsupported opcode
                        with NOTIMP, even if we don't have a matching view
                        or cannot determine the class.
2001-10-12 19:14:47 +00:00
Andreas Gustafsson
dd0319d149 1047. [bug] named was incorrectly refusing all requests signed
with a TSIG key derived from an unsigned TKEY
                        negotiation with a NOERROR response. [RT #1886]
2001-10-12 18:20:14 +00:00
Andreas Gustafsson
315eafec07 pullup:
1039.   [bug]           Negative responses with CNAMEs in the answer section
                        were cached incorrectly. [RT #1862]
2001-10-12 17:49:41 +00:00
Mark Andrews
a4fbe403e4 pullup:
1048.   [bug]           Servers built with -DISC_MEM_USE_INTERNAL_MALLOC=1
                        didn't work.
2001-10-12 01:17:37 +00:00
Mark Andrews
a3ed377607 pullup:
1047.   [bug]           When a request was refused due to being signed with
                        a TSIG key derived from an unsigned TKEY negotiation,
                        the response could have an rcode of SUCCESS rather
                        than REFUSED. [RT #1886]
2001-10-12 01:05:51 +00:00
Andreas Gustafsson
29ca9003a5 use "oldconfig", not "_placeholder" as the name of the
obsolete DNS_LOGCATEGORY_CONFIG logging category, to lessen confusion in
case someone links a 9.2.0-pre-rc7 binary against an rc7 or newer shared
library
2001-10-11 23:07:00 +00:00
Andreas Gustafsson
85532057dc regenerated 2001-10-11 17:45:49 +00:00
Andreas Gustafsson
86457878fd pullup:
1046.   [bug]           The help message for the --with-openssl configure
                        option was inaccurate. [RT #1880]
2001-10-11 17:45:35 +00:00
Andreas Gustafsson
7779b6cbf6 pullup:
1045.   [bug]           It was possible to skip saving glue for a nameserver
                        for a stub zone.
2001-10-11 17:20:40 +00:00
Andreas Gustafsson
ac5c31df78 1044. [bug] Specifying allow-transfer, notify-source, or
notify-source-v6 in a stub zone was not treated
                        as an error.
2001-10-11 17:19:40 +00:00
Andreas Gustafsson
e370391b5e pullup:
1044.   [bug]           Specifying allow-transfer, notify-source, or
                        notify-source-v6 in a stub zone was not treated
                        as an error.
2001-10-11 17:12:42 +00:00
Mark Andrews
329fd2fe75 pullup:
1043.   [bug]           Specifying a transfer-source or transfer-source-v6
                        option in the zone statement for a master zone was
                        not treated as an error. [RT #1876]
2001-10-11 03:31:04 +00:00
Mark Andrews
8002894e6e pullup:
1042.   [bug]           The "config" logging category did not work properly.
                        [RT #1873]
2001-10-11 02:03:23 +00:00
Mark Andrews
890db7ab7d 1041. [bug] Dig/host/nslookup could catch an assertion failure
on SIGINT due to an uninitialized variable. [RT #1867]
2001-10-11 01:35:37 +00:00
Mark Andrews
9e3fe84689 pullup:
1040.   [bug]           Multiple listen-on-v6 options with different ports
                        were not accepted. [RT #1875]
2001-10-11 01:20:31 +00:00
Andreas Gustafsson
f6bcdffe6d Q: Why don't my zones reload when I do an "rndc reload" or SIGHUP? 2001-10-10 23:25:55 +00:00
Andreas Gustafsson
55ab8cebff qualify 1038. 2001-10-09 23:08:30 +00:00
Andreas Gustafsson
ae62248c8a pullup:
1038.   [bug]           TKEY queries with an owner name other than the root
                        could cause an assertion failure. [RT #1866, #1869]
2001-10-09 23:06:57 +00:00
Andreas Gustafsson
96bc10707a pullup:
on plaforms with no gettimeofday(), use struct _TIMEZONE instead of
struct timezone
2001-10-09 00:51:07 +00:00
Andreas Gustafsson
c7302ffd98 pullup:
1031.   [bug]           libbind.a: isc__gettimeofday() infinite recursion.
                        [RT #1858]
2001-10-08 18:10:57 +00:00
Andreas Gustafsson
1d19dc5411 added --- 9.2.0rc6 released --- marker 2001-10-05 23:04:04 +00:00
Brian Wellington
818d9fec02 pullup:
Improve error messages printed by dnssec tools when compiled
without crypto support (patch from Olafur)
2001-10-05 00:21:48 +00:00
Brian Wellington
41ea62ace5 pullup:
1030.   [bug]           On systems with no resolv.conf file, nsupdate
			exited with an error rather than defaulting
			to using the loopback address. [RT #1836]
2001-10-05 00:17:08 +00:00
Andreas Gustafsson
a325a8cbed pullup:
make prototype of get_reverse() match the code
2001-10-04 22:21:45 +00:00
Andreas Gustafsson
e17d517a93 pullup:
1028.   [bug]           On Win32, dig/host/nslookup looked for resolv.conf
                        in the wrong directory. [RT #1833]
2001-10-04 22:05:30 +00:00
Andreas Gustafsson
f5b3693207 pullup:
1029.   [bug]           Some named.conf errors did not cause the loading
                        of the configuration file to return a failure
                        status even though they were logged. [RT #1847]
2001-10-04 21:32:29 +00:00
Andreas Gustafsson
2616068121 1026. [port] Recognize OpenUNIX 8 in config.guess. [RT #1830]
(9.2 branch only, fixed by upgrading config.guess on mainline)
(commit on the right branch this time)
2001-10-04 20:59:03 +00:00
Andreas Gustafsson
4e9291c48b pullup:
the wrong result code was checked [RT #1847]
2001-10-04 19:43:06 +00:00
Andreas Gustafsson
07aa5a2c61 updated for 9.2.0rc6 2001-10-03 23:24:01 +00:00
Andreas Gustafsson
1550dcfff2 1027. [bug] RRs having the reserved type 0 should be rejected.
[RT #1471]
2001-10-03 22:49:00 +00:00
Andreas Gustafsson
b8e65dbc1e 1026. [port] Recognize OpenUNIX 8 in config.guess. [RT #1830]
(9.2 branch only, fixed by upgrading config.guess on mainline)
2001-10-03 22:48:38 +00:00
Andreas Gustafsson
a1d2958b24 pullup:
1022.   [bug]           Don't report empty root hints as "extra data".
                        [RT #1802]
2001-10-03 22:31:19 +00:00
Andreas Gustafsson
de32eba8a8 unverified report of success on OpenBSD 2.9 2001-10-03 17:27:01 +00:00
Mark Andrews
8f534756ca Disallow creation of TYPE0 records from wire data 2001-10-03 02:07:34 +00:00
Mark Andrews
2d4f039432 Disallow creation of TYPE0 records from master files, since the server
reserves type 0 for internal purposes related to negative caching
2001-10-03 02:05:25 +00:00
Andreas Gustafsson
23438327a1 added BSD/OS 4.2 to list of unverified reports of success (from Jim) 2001-10-01 23:21:47 +00:00
Andreas Gustafsson
064fadaa40 pullup:
added bind9->win2k zone transfer failure FAQ
2001-10-01 22:00:50 +00:00
Andreas Gustafsson
1ebadd777b pullup:
1021.   [bug]           On Win32, log message timestamps were one month
                        later than they should have been, and the server
                        would exhibit unspecified behavior in December.
2001-10-01 01:42:38 +00:00
Andreas Gustafsson
febc2e8db5 added --- 9.2.0rc5 released --- marker 2001-09-29 18:26:41 +00:00
Andreas Gustafsson
90787e192c and and 2001-09-29 17:43:42 +00:00
Andreas Gustafsson
4f3d12c632 clarified 1002. 2001-09-29 17:36:23 +00:00
Andreas Gustafsson
4748473739 the word "argument" was misspelled in several places 2001-09-29 00:15:05 +00:00
Brian Wellington
d65168b7a7 pullup:
1020.	[bug]		IXFR log messages did not distinguish between
			true IXFRs, AXFR-style IXFRs, and and mere
			version polls. [RT #1811]
2001-09-28 22:07:12 +00:00
Andreas Gustafsson
7c91a38c54 updated for 9.2.0rc5 2001-09-28 21:42:15 +00:00
Brian Wellington
4b09cca4b9 pullup:
1018.   [bug]           The default log channel was not always initialized
                        correctly. [RT #1813]
2001-09-28 18:35:02 +00:00
Mark Andrews
a4e8b19b83 1019. [bug] The value of the lame-ttl option was limited to 18000
seconds, not 1800 seconds as documented. [RT #1803]
2001-09-28 05:35:47 +00:00
Andreas Gustafsson
041153229d pullup:
1017.   [bug]           When specifying TSIG keys to dig and nsupdate using
                        the -k option, they must be HMAC-MD5 keys.  [RT #1810]
2001-09-27 23:30:49 +00:00
Andreas Gustafsson
c3312fd9d0 pullup:
dns_tsigkey_createfromkey wasn't checking that the key algorithm matched the
key name.
2001-09-27 23:17:10 +00:00
Andreas Gustafsson
538bbefb23 pullup:
clarified the connection between DNSSEC, crypto support,
and OpenSSL [RT #1805]
2001-09-27 01:13:35 +00:00
Mark Andrews
3f4c95eb98 SunOS 5.6 portability 2001-09-27 00:44:26 +00:00
Mark Andrews
d30fcb907b 1016. [bug] Slave zones with no backup file were re-transferred
on every server reload.
2001-09-26 03:43:00 +00:00
Mark Andrews
d924384f72 1015. [bug] Log channels that had a "versions" option but no
"size" option failed to create numbered log
                       files. [RT #1783]
2001-09-26 02:52:09 +00:00
Andreas Gustafsson
4632c084a6 missing comma in last pullup [RT #1780] 2001-09-21 23:18:45 +00:00
Andreas Gustafsson
43022c8c8f added --- 9.2.0rc4 released --- marker 2001-09-21 22:17:50 +00:00
Andreas Gustafsson
1d89523b69 pullup:
1000.   [bug]           BIND 8 compatibility: accept "HESIOD" as a alias
                        for class "HS".  [RT #1759]
2001-09-21 20:46:35 +00:00
Andreas Gustafsson
4fdcaf0cc7 redo pullup:
1013.   [bug]           It was possible to cancel a query twice when marking
                        a server as bogus or by having a blackhole acl.
                        [RT #1776]
2001-09-21 20:40:06 +00:00
Andreas Gustafsson
7e470ba93b oops, previous commit included other stuff in addition to the
intended pullup; reverting it
2001-09-21 20:37:09 +00:00
Andreas Gustafsson
a9617effd0 pullup:
1002.   [bug]           Log unknown class including file and line.  [RT #1759]
2001-09-21 20:30:32 +00:00
Andreas Gustafsson
1716d085b1 updated for 9.2.0rc4 2001-09-21 20:27:46 +00:00
Andreas Gustafsson
f0f9aa979b pullup:
1013.   [bug]           It was possible to cancel a query twice when marking
                        a server as bogus or by having a blackhole acl.
                        [RT #1776]
2001-09-21 18:50:46 +00:00
Andreas Gustafsson
0617eaff38 pulled up 2001-09-21 17:49:58 +00:00
Mark Andrews
9cdfffc7ce pullup:
controls->shuttingdown should not be set on server reload.
2001-09-21 03:31:17 +00:00
Mark Andrews
b21236d838 redo #1010 2001-09-21 00:28:58 +00:00
Mark Andrews
7a74126eb8 undo 2001-09-21 00:28:05 +00:00
Mark Andrews
9f89b34f4d pullup:
1010.   [bug]           The server could attempt to execute a command channel
                        command after initiating server shutdown, causing
                        an assertion failure. [RT #1766]
2001-09-20 23:01:44 +00:00
Andreas Gustafsson
66ed65d1b7 regenerated 2001-09-19 22:18:24 +00:00
Andreas Gustafsson
dea6647faa pullup: document the global provide-ixfr and request-ixfr options [RT #1772] 2001-09-19 22:16:57 +00:00
Brian Wellington
a25169ea43 pullup:
1006.   [bug]           If a KEY RR was found missing during DNSSEC validation,
			an assertion failure could subsequently be triggered
			in the resolver. [RT #1763]
2001-09-19 21:51:42 +00:00
Mark Andrews
99a0822e3c pullup:
1005.   [bug]           Don't copy nonzero RCODEs from request to response.
                        [RT #1765]
2001-09-19 02:44:00 +00:00
Mark Andrews
5e8c385e64 pullup:
1004.  [port]          Deal with recvfrom() returning EHOSTDOWN. [RT #1770]
2001-09-19 02:37:21 +00:00
Andreas Gustafsson
0375d5da0c pullup:
'dig +short' should explicitly enable printing the answer section.
Otherwise, 'dig +noall +short' prints nothing.
2001-09-18 01:04:05 +00:00
Andreas Gustafsson
94c8b1aa0f pullup:
doio_recv was not catching a ECONNRESET error. Fixed this and added code to catch other possible errors. Miscellaneous errno handling cleanup [RT #1745]
2001-09-17 22:28:57 +00:00
Andreas Gustafsson
2fddd0b746 use ifconfig.sh up, not ifconfig.sh start, to be
consistent with the ifconfig.sh usage message [RT #1758]
2001-09-17 21:43:09 +00:00
Andreas Gustafsson
b40cb80704 pulled up Brian's latest FAQ fixes 2001-09-17 20:41:34 +00:00
Andreas Gustafsson
62f58f434c note that ifconfig.sh must be run as root 2001-09-17 20:34:28 +00:00
Andreas Gustafsson
b2eeaf6500 pull up part of 997.:
ISC_R_SUCCESS could be returned on failure
2001-09-15 00:37:18 +00:00
Andreas Gustafsson
8be3f42f6b it's contrib/linux/coredump-patch, not bind9/linux/coredump-patch 2001-09-14 21:23:29 +00:00
Andreas Gustafsson
63fe5ccb87 regenerated 2001-09-14 20:29:50 +00:00
Andreas Gustafsson
be2d2c1599 pullup:
replaced 'List the keys included in the keyset file' by
'The list of keys to be included in the keyset file', as
suggested by <Jason.Fountain@compaq.com>
2001-09-14 20:29:32 +00:00
Andreas Gustafsson
f8baa72034 updated for 9.2.0rc3 2001-09-12 21:11:27 +00:00
Andreas Gustafsson
5de2109e1c pullup:
A message could be leaked when a segment of an incoming zone transfer
failed to verify.
2001-09-12 20:44:04 +00:00
Andreas Gustafsson
67adc92106 pullup:
fix a memory leak on a tsig error condition.
2001-09-12 00:15:11 +00:00
Andreas Gustafsson
625aae0fba this should have a CHANGES entry since several people reported it:
990.   [bug]           The rndc-confgen man page was not installed.
2001-09-11 23:40:32 +00:00
Andreas Gustafsson
1015c4cdea pullup:
989.   [bug]           Report filename if $INCLUDE fails for file related
                        errors. [RT #1736]
2001-09-11 23:32:55 +00:00
Andreas Gustafsson
c54833a8e9 pullup:
987.   [bug]           "dig -help" didn't show "+[no]stats".

 986.   [bug]           "dig +noall" failed to clear stats and command
                        printing.
2001-09-11 01:37:48 +00:00
Andreas Gustafsson
976dd45973 pullup:
compare: a REQUIRE() was comparing a variable against itself not agaist the
other arguement as it should have been.
2001-09-11 01:09:07 +00:00
Andreas Gustafsson
783cf0d73d 984. [bug] Multithreading should be enabled by default on
Solaris 2.7 and newer, but it wasn't.
2001-09-10 19:44:50 +00:00
Andreas Gustafsson
928d42e559 regenerated 2001-09-10 18:59:41 +00:00
Andreas Gustafsson
deb2c2ffab pullup:
It's *solaris2.x* not *solaris-2.x*
2001-09-10 18:59:31 +00:00
Andreas Gustafsson
0363b921c9 pullup:
install rndc-confgen.8
2001-09-07 16:46:11 +00:00
Mark Andrews
ae35d154ce pullup:
host-statistics is not implemented,
maintain-ixfr-base is obsolete [RT #1717]
2001-09-06 23:06:43 +00:00
Andreas Gustafsson
d5dbfd6f17 tabified 2001-09-06 17:04:04 +00:00
Andreas Gustafsson
ad8c0c65aa 980. will be in 9.2.0rc2 2001-09-06 17:03:46 +00:00
Mark Andrews
42b48b7156 pullup:
Added Warning Note regarding resolv.conf file
2001-09-06 05:31:02 +00:00
Mark Andrews
c9c55707eb pullup:
Added macro to suppress warning dependencies message
2001-09-06 05:29:01 +00:00
Mark Andrews
2958e100b5 check return value of strftime() 2001-09-06 00:34:06 +00:00
Mark Andrews
aa6e560fbd 980. [bug] Incoming zone transfers restarting after an error
could trigger an assertion failure. [RT #1692]
2001-09-06 00:23:19 +00:00
Andreas Gustafsson
3f538ef15c pullup:
[RT #1709]
Change isc_entropy_usebestsource() to have saner semantics:
 - If an invalid file is specified, an error will be returned instead of the
   keyboard being used.
 - If no file is specified but a random device is present, the keyboard will
   be used if there is an error opening the random device.
 - ISC_ENTROPY_KEYBOARDYES indicates that the keyboard should be the
   only device used.  Otherwise, passing '-r keyboard' is meaningless
   on a machine with a random device, since the keyboard will not be used.

Change the callers in the dnssec tools and rndc-confgen to check for the
special file "keyboard" and call isc_entropy_usebestsource() with the right set
of parameters.
2001-09-06 00:14:18 +00:00
Andreas Gustafsson
f58f6043ce pullup:
Assertion failure when ISC_MEM_DEBUGRECORD set.
2001-09-05 17:51:13 +00:00
Andreas Gustafsson
f17bffa68d pullup:
isc_time_formattimestamp() created static const for bad time string
2001-09-05 17:32:05 +00:00
Andreas Gustafsson
b1436346a0 pullup:
isc_file_getmodtime() does not need write access to file
2001-09-05 17:29:25 +00:00
Andreas Gustafsson
fdd3a3e7fa pullup:
needs #include <isc/print.h>
2001-09-05 17:04:43 +00:00
Andreas Gustafsson
d73ed70241 capitalize 2001-09-05 01:00:32 +00:00
Andreas Gustafsson
aa8953a586 added --- 9.2.0rc2 released --- marker 2001-09-05 00:59:45 +00:00
Andreas Gustafsson
caaa091d76 regenerated 2001-09-05 00:57:37 +00:00
Andreas Gustafsson
f5c726cbef typo 2001-09-05 00:56:38 +00:00
Andreas Gustafsson
b7d04c63c0 updated for 9.2.0rc2 2001-09-05 00:39:28 +00:00
Andreas Gustafsson
7ee450d5f6 pullup:
972.   [bug]           The file modification time code in zone.c was using the
                        wrong epoch.  [RT #1667]
(This pullup includes not only the changes to zone.c, but all the
recent epoch-related fixes)
2001-09-05 00:38:13 +00:00
Andreas Gustafsson
641e33bdd4 pullup:
978.   [bug]           dns_db_attachversion() had an invalid REQUIRE()
                        condition.
2001-09-04 23:09:33 +00:00
Andreas Gustafsson
faedfb6dce pullup:
Previous update was missing the release version of telling how to build the
resource file [RT #1668]
2001-09-04 22:54:59 +00:00
Andreas Gustafsson
89227c76be pullup:
977.   [bug]           Improve "not at top of zone" error message.
2001-09-04 22:51:41 +00:00
Andreas Gustafsson
f6fc4b1391 pullup:
updated to properly support shutdowns.  See RT #1672 as it relates to NT
2001-09-04 19:40:20 +00:00
Andreas Gustafsson
44caf20759 <named/types.h> needed for interfacemgr type declaration 2001-09-04 19:38:46 +00:00
Andreas Gustafsson
e5094285ce pullup:
Update to change path to resolv.conf and define RESOLV_CONF
2001-09-04 19:36:33 +00:00
Andreas Gustafsson
15fd491c85 pullup:
Changed RESOLV_CONF to be conditionally defined allowing win32 to override this definition
2001-09-04 19:35:49 +00:00
Andreas Gustafsson
2c141ce0fb pullup:
975.   [bug]           "max-cache-size default;" as a view option
                        caused an assertion failure.

 974.   [bug]           "max-cahe-size unlimited;" as a global option
                        was not accepted.
2001-09-04 19:15:36 +00:00
Andreas Gustafsson
9113f8b75c pullup: string formats 2001-08-31 18:01:22 +00:00
Mark Andrews
ac9d955cdd pullup:
The request object would fail to send its completion event when
the control event was delivered if a response was received between
sending and delivery of the completion event [RT #1676]
Fix locking hierarchy violation [RT #1672]
2001-08-31 02:07:11 +00:00
Andreas Gustafsson
54706e9e57 pullup:
973.   [bug]           Failed to log the question name when logging:
                        "bad zone transfer request: non-authoritative zone
                        (NOTAUTH)".
2001-08-31 00:37:12 +00:00
Andreas Gustafsson
6aa1a89bf1 pullup:
RT #1675 resolv.conf was specified to be in an invalid directory.
Location was changed to be in the same etc directory as all of the other
configuration files
2001-08-30 20:29:53 +00:00
Andreas Gustafsson
31d635e582 pullup:
Remove shutdown privilege-enabling code. Installer should not be shutting down the system.
2001-08-30 20:27:55 +00:00
cvs2git
02da396800 This commit was manufactured by cvs2git to create branch 'v9_2'. 2001-08-30 04:33:21 +00:00
1887 changed files with 108793 additions and 205870 deletions

View File

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

2116
CHANGES

File diff suppressed because it is too large Load Diff

View File

@@ -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.13 2007/06/18 05:59:26 marka Exp $
$Id: COPYRIGHT,v 1.6.2.8 2007/08/28 07:18:12 tbox Exp $
Portions Copyright (C) 1996-2001 Nominum, Inc.

185
EXCLUDED Normal file
View File

@@ -0,0 +1,185 @@
1007. [port] config.guess, config.sub from autoconf-2.52.
1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2.
1009. [port] OpenUNIX 8 support. [RT #1728]
1011. [cleanup] Removed isc_dir_current().
1024. [port] Compilation failed on HP-UX 11.11 due to
incompatible use of the SIOCGLIFCONF macro
name. [RT #1831]
[needs more work]
1025. [bug] Don't use multicast addresses to resolve iterative
queries. [RT #101]
1034. [bug] Ignore the RD bit on multicast queries as specified
in RFC 1123. [RT #137]
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]
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]
1073. [bug] The ADB cache cleaning should also be space driven.
[RT #1915, #1938]
[ New function dns_adb_setadbsize() ]
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]
1080. [bug] BIND 8 compatibility: accept bare IP prefixes
as the second element of a two-element top level
sort list statement. [RT #1964]
1105. [port] OpenUNIX 8 enable threads by default. [RT #1970]
[Functional change]
1110. [bug] dig should only accept valid abbreviations of +options.
[RT #2003]
[Potentially breaks scripts. Leave to 9.3.0.]
1143. [bug] When a trusted-keys statement was present and named
was built without crypto support, it would leak memory.
[ Not applicable to 9.2 ]
1150. [bug] named incorrectly accepted TTL values
containing plus or minus signs, such as
1d+1h-1s.
[ Uses new function isc_parse_uint32() ]
1151. [bug] nslookup failed to check that the arguments to
the port, timeout, and retry options were
valid integers and in range. [RT #2099]
[ Uses new function isc_parse_uint32() ]
1159. [bug] MD and MF are not permitted to be loaded by RFC1123
[ Could cause zones that loaded in 9.2.0 to fail
to load. Leave such breakages to 9.3.0. ]
1187. [bug] named was incorrectly returning DNSSEC records
in negative responses when the DO bit was not set.
[ Requires API change (new argument) to
dns_rdataset_towire(), dns_rdataset_towirepartial()
and dns_rdataset_towirepartial() ]
1192. [bug] The seconds fields in LOC records were restricted
to three decimal places. More decimal places should
be allowed but warned about.
1209. [bug] Dig, host, nslookup were not checking the message ids
on the responses. [RT #2454]
1224. [bug] 'rrset-order' and 'sortlist' should be additive
not exclusive.
[tightly coupled with 'cyclic' and 'random' support]
1233. [bug] The flags field of a KEY record can be expressed in
hex as well as decimal.
[ Not applicable to 9.2.x ]
1234. [bug] contrib/sdb: 'zonetodb' failed to call
dns_result_register(). DNS_R_SEENINCLUDE should not
be fatal.
1243. [bug] It was possible to trigger a REQUIRE() in
dns_message_findtype(). [RT #2659]
1247. [bug] Don't reset the interface index for link/site local
addresses. [RT #2576]
[depends on new functions]
1255. [bug] When verifying that an NXT proves nonexistence, check
the rcode of the message and only do the matching NXT
check. That is, for NXDOMAIN responses, check that
the name is in the range between the NXT owner and
next name, and for NOERROR NODATA responses, check
that the type is not present in the NXT bitmap.
[required changes from DS support]
1271. [bug] "recursion available: {denied,approved}" was too
confusing.
1321. [bug] If the last RRset in a zone is glue, dnssec-signzone
would incorrectly duplicate its output and sign it.
[DS specific]
1322. [bug] dnssec-signzone usage message was misleading.
[DS specific]
1328. [bug] The validator could incorrectly verify an invalid
negative proof.
[DS specific]
1355. [bug] Fix DNSSEC wildcard proof for CNAME/DNAME.
1362. [bug] remove IFF_RUNNING test when scanning interfaces.
1371. [bug] notify-source-v6, transfer-source-v6 and
query-source-v6 with explicit addresses and using the
same ports as named was listening on could interfere
with nameds ability to answer queries sent to those
addresses.
1386. [bug] named-checkzone -z stopped on errors in a zone.
[RT #3653]
1392. [bug] named-checkzone: update usage.
1393. [port] Bind to individual IPv6 interfaces if IPV6_IPV6ONLY
is not available in the kernel to prevent accidently
listening on IPv4 interfaces.
1398. [doc] ARM: notify-also should have been also-notify.
[RT #4345]
1400. [bug] Block the addition of wildcard NS records by IXFR
or UPDATE. [RT #3502]
1404. [bug] libbind: ns_name_ntol() could overwrite a zero length
buffer.
1409. [bug] DS should have attribute DNS_RDATATYPEATTR_DNSSEC.
1430. [port] linux: IPv6 interface scanning support.
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]
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.
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.

View File

@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: FAQ.xml,v 1.19 2007/06/18 23:47:16 tbox Exp $ -->
<!-- $Id: FAQ.xml,v 1.4.8.9 2007/08/28 07:18:12 tbox Exp $ -->
<article class="faq">
<title>Frequently Asked Questions about BIND 9</title>

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
# Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001, 2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.48 2007/06/18 23:47:16 tbox Exp $
# $Id: Makefile.in,v 1.41.2.5 2006/05/19 00:03:59 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -58,11 +58,3 @@ check: test
test:
(cd bin/tests && ${MAKE} ${MAKEDEFS} test)
FAQ: FAQ.xml
${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
${W3M} -T text/html -dump >$@.tmp
mv $@.tmp $@
clean::
rm -f FAQ.tmp

307
README
View File

@@ -28,7 +28,7 @@ BIND 9
BIND version 9 development has been underwritten by the following
organizations:
organisations:
Sun Microsystems, Inc.
Hewlett Packard
@@ -43,220 +43,73 @@ BIND 9
Nominum, Inc.
BIND 9.5.0
BIND 9.2.9
BIND 9.5.0 has a number of new features over 9.4,
including:
BIND 9.2.9 is the final maintenance release for BIND 9.2.
BIND 9.2.9 contains fixes for a number of bugs in 9.2.8.
BIND 9.2.8
GSS-TSIG support (RFC 3645).
BIND 9.2.9 is a security release for BIND 9.2.
DHCID support.
BIND 9.2.7
Experimental http server and statistics support for named via xml.
BIND 9.2.7 is a maintenance release, containing fixes for
a number of bugs in 9.2.6.
Use Doxygen to generate internal documention.
BIND 9.2.6
BIND 9.4.0
BIND 9.2.6 is a maintenance release, containing fixes for
a number of bugs in 9.2.5.
BIND 9.4.0 has a number of new features over 9.3,
including:
libbind: corresponds to that from BIND 8.4.7-REL.
Implemented "additional section caching (or acache)", an
internal cache framework for additional section content to
improve response performance. Several configuration options
were provided to control the behavior.
BIND 9.2.5
New notify type 'master-only'. Enable notify for master
zones only.
BIND 9.2.5 is a maintenance release, containing fixes for
a number of bugs in 9.2.4.
Accept 'notify-source' style syntax for query-source.
libbind: corresponds to that from BIND 8.4.6-REL.
rndc now allows addresses to be set in the server clauses.
New option "allow-query-cache". This lets allow-query be
used to specify the default zone access level rather than
having to have every zone override the global value.
allow-query-cache can be set at both the options and view
levels. If allow-query-cache is not set allow-query applies.
rndc: the source address can now be specified.
ixfr-from-differences now takes master and slave in addition
to yes and no at the options and view levels.
Allow the journal's name to be changed via named.conf.
'rndc notify zone [class [view]]' resend the NOTIFY messages
for the specified zone.
'dig +trace' now randomly selects the next servers to try.
Report if there is a bad delegation.
Improve check-names error messages.
Make public the function to read a key file, dst_key_read_public().
dig now returns the byte count for axfr/ixfr.
allow-update is now settable at the options / view level.
named-checkconf now checks the logging configuration.
host now can turn on memory debugging flags with '-m'.
Don't send notify messages to self.
Perform sanity checks on NS records which refer to 'in zone' names.
New zone option "notify-delay". Specify a minimum delay
between sets of NOTIFY messages.
Extend adjusting TTL warning messages.
Named and named-checkzone can now both check for non-terminal
wildcard records.
"rndc freeze/thaw" now freezes/thaws all zones.
named-checkconf now check acls to verify that they only
refer to existing acls.
The server syntax has been extended to support a range of
servers.
Report differences between hints and real NS rrset and
associated address records.
Preserve the case of domain names in rdata during zone
transfers.
Restructured the data locking framework using architecture
dependent atomic operations (when available), improving
response performance on multi-processor machines significantly.
x86, x86_64, alpha, powerpc, and mips are currently supported.
UNIX domain controls are now supported.
Add support for additional zone file formats for improving
loading performance. The masterfile-format option in
named.conf can be used to specify a non-default format. A
separate command named-compilezone was provided to generate
zone files in the new format. Additionally, the -I and -O
options for dnssec-signzone specify the input and output
formats.
dnssec-signzone can now randomize signature end times
(dnssec-signzone -j jitter).
Add support for CH A record.
Add additional zone data constancy checks. named-checkzone
has extended checking of NS, MX and SRV record and the hosts
they reference. named has extended post zone load checks.
New zone options: check-mx and integrity-check.
edns-udp-size can now be overridden on a per server basis.
dig can now specify the EDNS version when making a query.
Added framework for handling multiple EDNS versions.
Additional memory debugging support to track size and mctx
arguments.
Detect duplicates of UDP queries we are recursing on and
drop them. New stats category "duplicates".
"USE INTERNAL MALLOC" is now runtime selectable.
The lame cache is now done on a <qname,qclass,qtype> basis
as some servers only appear to be lame for certain query
types.
Limit the number of recursive clients that can be waiting
for a single query (<qname,qtype,qclass>) to resolve. New
options clients-per-query and max-clients-per-query.
dig: report the number of extra bytes still left in the
packet after processing all the records.
Support for IPSECKEY rdata type.
Raise the UDP recieve buffer size to 32k if it is less than 32k.
x86 and x86_64 now have seperate atomic locking implementations.
named-checkconf now validates update-policy entries.
Attempt to make the amount of work performed in a iteration
self tuning. The covers nodes clean from the cache per
iteration, nodes written to disk when rewriting a master
file and nodes destroyed per iteration when destroying a
zone or a cache.
ISC string copy API.
Automatic empty zone creation for D.F.IP6.ARPA and friends.
Note: RFC 1918 zones are not yet covered by this but are
likely to be in a future release.
New options: empty-server, empty-contact, empty-zones-enable
and disable-empty-zone.
dig now has a '-q queryname' and '+showsearch' options.
host/nslookup now continue (default)/fail on SERVFAIL.
dig now warns if 'RA' is not set in the answer when 'RD'
was set in the query. host/nslookup skip servers that fail
to set 'RA' when 'RD' is set unless a server is explicitly
set.
Integrate contibuted DLZ code into named.
Integrate contibuted IDN code from JPNIC.
libbind: corresponds to that from BIND 8.4.7.
BIND 9.3.0
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.
BIND 9.2.4
BIND 9.2.4 is a maintenance release, containing fixes for
a number of bugs in 9.2.3.
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 has a number of new features over 9.1,
BIND 9.2.0 introduces a number of new features over 9.1,
including:
- The size of the cache can now be limited using the
@@ -310,8 +163,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
verifications involving wildcard records in secure zones.
be stable and complete except for lacking support for 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.
@@ -335,8 +188,7 @@ 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), OS X 10.1.5 (Darwin 5.5) and
OS X 10.2 (Darwin 6.0) reports errors like
OS X 10.1.4 (Darwin 5.4) 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.
@@ -361,13 +213,13 @@ Building
We've had successful builds and tests on the following systems:
COMPAQ Tru64 UNIX 5.1B
FreeBSD 4.10, 5.2.1, 6.2
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:
@@ -377,11 +229,11 @@ Building
Slackware Linux 7.x, 8.0
Red Hat Linux 7.1
Debian GNU/Linux 2.2 and 3.0
Mandrake 8.1
OpenBSD 2.6, 2.8, 2.9, 3.1, 3.6, 3.8
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
@@ -400,7 +252,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
@@ -412,15 +264,14 @@ Building
Defaults to empty string.
Possible settings:
Change the default syslog facility of named/lwresd.
-DISC_FACILITY=LOG_LOCAL0
Enable DNSSEC signature chasing support in dig.
-DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and
-DDIG_SIGCHASE_BU=1)
Disable dropping queries from particular well known ports.
-DNS_CLIENT_DROPPORT=0
Disable support for "rrset-order fixed".
-DDNS_RDATASET_FIXED=0
-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.
LDFLAGS
Linker flags. Defaults to empty string.
@@ -488,8 +339,9 @@ 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.
* gcc prior to gcc-3.2.3 ultrasparc generates incorrect code at -02.
* 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.3.5 powerpc generates incorrect code at -02.
* Irix, MipsPRO 7.4.1m is known to cause problems.
@@ -498,7 +350,6 @@ 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
@@ -524,13 +375,17 @@ 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/ops/lists/
http://www.isc.org/ml-archives/
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,112 +0,0 @@
BIND-9 IDN patch
Japan Network Information Center (JPNIC)
* What is this patch for?
This patch adds internationalized domain name (IDN) support to BIND-9.
You'll get internationalized version of dig/host/nslookup commands.
+ internationalized dig/host/nslookup
dig/host/nslookup accepts non-ASCII domain names in the local
codeset (such as Shift JIS, Big5 or ISO8859-1) determined by
the locale information. The domain names are normalized and
converted to the encoding on the DNS protocol, and sent to DNS
servers. The replies are converted back to the local codeset
and displayed.
* Compilation & installation
0. Prerequisite
You have to build and install idnkit before building this patched version
of bind-9.
1. Running configure script
Run `configure' in the top directory. See `README' for the
configuration options.
This patch adds the following 4 options to `configure'. You should
at least specify `--with-idn' option to enable IDN support.
--with-idn[=IDN_PREFIX]
To enable IDN support, you have to specify `--with-idn' option.
The argument IDN_PREFIX is the install prefix of idnkit. If
IDN_PREFIX is omitted, PREFIX (derived from `--prefix=PREFIX')
is assumed.
--with-libiconv[=LIBICONV_PREFIX]
Specify this option if idnkit you have installed links GNU
libiconv. The argument LIBICONV_PREFIX is install prefix of
GNU libiconv. If the argument is omitted, PREFIX (derived
from `--prefix=PREFIX') is assumed.
`--with-libiconv' is shorthand option for GNU libiconv.
--with-libiconv=/usr/local
This is equivalent to:
--with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv'
`--with-libiconv' assumes that your C compiler has `-R'
option, and that the option adds the specified run-time path
to an exacutable binary. If `-R' option of your compiler has
different meaning, or your compiler lacks the option, you
should use `--with-iconv' option instead. Binary command
without run-time path information might be unexecutable.
In that case, you would see an error message like:
error in loading shared libraries: libiconv.so.2: cannot
open shared object file
If both `--with-libiconv' and `--with-iconv' options are
specified, `--with-iconv' is prior to `--with-libiconv'.
--with-iconv=ICONV_LIBSPEC
If your libc doens't provide iconv(), you need to specify the
library containing iconv() with this option. `ICONV_LIBSPEC'
is the argument(s) to `cc' or `ld' to link the library, for
example, `--with-iconv="-L/usr/local/lib -liconv"'.
You don't need to specify the header file directory for "iconv.h"
to the compiler, as it isn't included directly by bind-9 with
this patch.
--with-idnlib=IDN_LIBSPEC
With this option, you can explicitly specify the argument(s)
to `cc' or `ld' to link the idnkit's library, `libidnkit'. If
this option is not specified, `-L${PREFIX}/lib -lidnkit' is
assumed, where ${PREFIX} is the installation prefix specified
with `--with-idn' option above. You may need to use this
option to specify extra argments, for example,
`--with-idnlib="-L/usr/local/lib -R/usr/local/lib -lidnkit"'.
Please consult `README' for other configuration options.
Note that if you want to specify some extra header file directories,
you should use the environment variable STD_CINCLUDES instead of
CFLAGS, as described in README.
2. Compilation and installation
After running "configure", just do
make
make install
for compiling and installing.
* Contact information
Please see http//www.nic.ad.jp/en/idn/ for the latest news
about idnkit and this patch.
Bug reports and comments on this kit should be sent to
mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively.
; $Id: README.idnkit,v 1.2 2005/09/09 06:13:57 marka Exp $

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,9 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: acconfig.h,v 1.50 2007/06/18 23:47:16 tbox Exp $ */
/*! \file */
/* $Id: acconfig.h,v 1.35.2.10 2004/12/04 06:44:36 marka Exp $ */
/***
*** This file is not to be included by any public header files, because
@@ -25,97 +23,92 @@
***/
@TOP@
/** define to `int' if <sys/types.h> doesn't define. */
/* define to `int' if <sys/types.h> doesn't define. */
#undef ssize_t
/** define on DEC OSF to enable 4.4BSD style sa_len support */
/* define on DEC OSF to enable 4.4BSD style sa_len support */
#undef _SOCKADDR_LEN
/** define if your system needs pthread_init() before using pthreads */
/* define if your system needs pthread_init() before using pthreads */
#undef NEED_PTHREAD_INIT
/** define if your system has sigwait() */
/* define if your system has sigwait() */
#undef HAVE_SIGWAIT
/** define if sigwait() is the UnixWare flavor */
/* define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/** define on Solaris to get sigwait() to work using pthreads semantics */
/* define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS
/** define if LinuxThreads is in use */
/* define if LinuxThreads is in use */
#undef HAVE_LINUXTHREADS
/** define if sysconf() is available */
/* define if sysconf() is available */
#undef HAVE_SYSCONF
/** define if sysctlbyname() is available */
/* define if sysctlbyname() is available */
#undef HAVE_SYSCTLBYNAME
/** define if catgets() is available */
/* define if catgets() is available */
#undef HAVE_CATGETS
/** define if getifaddrs() exists */
#undef HAVE_GETIFADDRS
/** define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
/* define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
#undef HAVE_IFLIST_SYSCTL
/** define if chroot() is available */
/* define if chroot() is available */
#undef HAVE_CHROOT
/** define if tzset() is available */
/* define if tzset() is available */
#undef HAVE_TZSET
/** define if struct addrinfo exists */
/* define if struct addrinfo exists */
#undef HAVE_ADDRINFO
/** define if getaddrinfo() exists */
/* define if getaddrinfo() exists */
#undef HAVE_GETADDRINFO
/** define if gai_strerror() exists */
/* define if gai_strerror() exists */
#undef HAVE_GAISTRERROR
/** define if arc4random() exists */
/* define if arc4random() exists */
#undef HAVE_ARC4RANDOM
/**
* define if pthread_setconcurrency() should be called to tell the
/* define if pthread_setconcurrency() should be called to tell the
* OS how many threads we might want to run.
*/
#undef CALL_PTHREAD_SETCONCURRENCY
/** define if IPv6 is not disabled */
/* define if IPv6 is not disabled */
#undef WANT_IPV6
/** define if flockfile() is available */
/* define if flockfile() is available */
#undef HAVE_FLOCKFILE
/** define if getc_unlocked() is available */
/* define if getc_unlocked() is available */
#undef HAVE_GETCUNLOCKED
/** Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
/* Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
#undef SHUTUP_SPUTAUX
#ifdef SHUTUP_SPUTAUX
struct __sFILE;
extern __inline int __sputaux(int _c, struct __sFILE *_p);
#endif
/** Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
/* Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
#undef SHUTUP_SIGWAIT
#ifdef SHUTUP_SIGWAIT
int sigwait(const unsigned int *set, int *sig);
#endif
/** Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
/* Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
#undef SHUTUP_STDARG_CAST
#if defined(SHUTUP_STDARG_CAST) && defined(__GNUC__)
#include <stdarg.h> /** Grr. Must be included *every time*. */
/**
#include <stdarg.h> /* Grr. Must be included *every time*. */
/*
* The silly continuation line is to keep configure from
* commenting out the #undef.
*/
#undef \
va_start
#define va_start(ap, last) \
@@ -124,26 +117,20 @@ int sigwait(const unsigned int *set, int *sig);
_u.konst = &(last); \
ap = (va_list)(_u.var + __va_words(__typeof(last))); \
} while (0)
#endif /** SHUTUP_STDARG_CAST && __GNUC__ */
#endif /* SHUTUP_STDARG_CAST && __GNUC__ */
/** define if the system has a random number generating device */
/* define if the system has a random number generating device */
#undef PATH_RANDOMDEV
/** define if pthread_attr_getstacksize() is available */
/* define if pthread_attr_getstacksize() is available */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/** define if pthread_attr_setstacksize() is available */
/* define if pthread_attr_setstacksize() is available */
#undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
/** define if you have strerror in the C library. */
/* 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

@@ -1,7 +1,7 @@
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.24 2007/06/18 23:47:16 tbox Exp $
# $Id: Makefile.in,v 1.22.2.1 2004/03/09 06:09:08 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.31 2007/06/18 23:47:16 tbox Exp $
# $Id: Makefile.in,v 1.15.2.6 2004/07/20 07:00:09 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,30 +21,27 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
CINCLUDES = ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES} \
${ISC_INCLUDES}
CINCLUDES = ${DNS_INCLUDES} ${ISCCFG_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_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@EXEEXT@ named-checkzone@EXEEXT@
TARGETS = named-checkconf named-checkzone
# Alphabetically
SRCS = named-checkconf.c named-checkzone.c check-tool.c
@@ -58,25 +55,21 @@ 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@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-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-checkzone@EXEEXT@: named-checkzone.@O@ check-tool.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
named-checkzone.@O@ check-tool.@O@ ${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}
doc man:: ${MANOBJS}
@@ -87,12 +80,10 @@ installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: named-checkconf@EXEEXT@ named-checkzone@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf@EXEEXT@ ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone@EXEEXT@ ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f named-compilezone@EXEEXT@; ${LINK_PROGRAM} named-checkzone@EXEEXT@ named-compilezone@EXEEXT@)
install:: named-checkconf named-checkzone installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkconf ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named-checkzone ${DESTDIR}${sbindir}
for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man8; done
(cd ${DESTDIR}${mandir}/man8; rm -f named-compilezone.8; ${LINK_PROGRAM} named-checkzone.8 named-compilezone.8)
clean distclean::
rm -f ${TARGETS} r1.htm

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,498 +15,28 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.c,v 1.29 2007/06/18 23:47:16 tbox Exp $ */
/*! \file */
/* $Id: check-tool.c,v 1.4.2.1 2004/03/09 06:09:08 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/net.h>
#include <isc/netdb.h>
#include <isc/region.h>
#include <isc/stdio.h>
#include <isc/symtab.h>
#include <isc/types.h>
#include <isc/mem.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/name.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdataset.h>
#include <dns/types.h>
#include <dns/zone.h>
#include <isccfg/log.h>
#ifdef HAVE_ADDRINFO
#ifdef HAVE_GETADDRINFO
#ifdef HAVE_GAISTRERROR
#define USE_GETADDRINFO
#endif
#endif
#endif
#define CHECK(r) \
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
#define ERR_IS_CNAME 1
#define ERR_NO_ADDRESSES 2
#define ERR_LOOKUP_FAILURE 3
#define ERR_EXTRA_A 4
#define ERR_EXTRA_AAAA 5
#define ERR_MISSING_GLUE 5
#define ERR_IS_MXCNAME 6
#define ERR_IS_SRVCNAME 7
static const char *dbtype[] = { "rbt" };
int debug = 0;
isc_boolean_t nomerge = ISC_TRUE;
isc_boolean_t docheckmx = ISC_TRUE;
isc_boolean_t dochecksrv = ISC_TRUE;
isc_boolean_t docheckns = ISC_TRUE;
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_MANYERRORS |
DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKINTEGRITY |
DNS_ZONEOPT_CHECKWILDCARD |
DNS_ZONEOPT_WARNMXCNAME |
DNS_ZONEOPT_WARNSRVCNAME;
/*
* This needs to match the list in bin/named/log.c.
*/
static isc_logcategory_t categories[] = {
{ "", 0 },
{ "client", 0 },
{ "network", 0 },
{ "update", 0 },
{ "queries", 0 },
{ "unmatched", 0 },
{ "update-security", 0 },
{ NULL, 0 }
};
static isc_symtab_t *symtab = NULL;
static isc_mem_t *sym_mctx;
static void
freekey(char *key, unsigned int type, isc_symvalue_t value, void *userarg) {
UNUSED(type);
UNUSED(value);
isc_mem_free(userarg, key);
}
static void
add(char *key, int value) {
isc_result_t result;
isc_symvalue_t symvalue;
if (sym_mctx == NULL) {
result = isc_mem_create(0, 0, &sym_mctx);
if (result != ISC_R_SUCCESS)
return;
}
if (symtab == NULL) {
result = isc_symtab_create(sym_mctx, 100, freekey, sym_mctx,
ISC_FALSE, &symtab);
if (result != ISC_R_SUCCESS)
return;
}
key = isc_mem_strdup(sym_mctx, key);
if (key == NULL)
return;
symvalue.as_pointer = NULL;
result = isc_symtab_define(symtab, key, value, symvalue,
isc_symexists_reject);
if (result != ISC_R_SUCCESS)
isc_mem_free(sym_mctx, key);
}
static isc_boolean_t
logged(char *key, int value) {
isc_result_t result;
if (symtab == NULL)
return (ISC_FALSE);
result = isc_symtab_lookup(symtab, key, value, NULL);
if (result == ISC_R_SUCCESS)
return (ISC_TRUE);
return (ISC_FALSE);
}
static isc_boolean_t
checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
dns_rdataset_t *a, dns_rdataset_t *aaaa)
{
#ifdef USE_GETADDRINFO
dns_rdataset_t *rdataset;
dns_rdata_t rdata = DNS_RDATA_INIT;
struct addrinfo hints, *ai, *cur;
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
char addrbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:123.123.123.123")];
isc_boolean_t answer = ISC_TRUE;
isc_boolean_t match;
const char *type;
void *ptr = NULL;
int result;
REQUIRE(a == NULL || !dns_rdataset_isassociated(a) ||
a->type == dns_rdatatype_a);
REQUIRE(aaaa == NULL || !dns_rdataset_isassociated(aaaa) ||
aaaa->type == dns_rdatatype_aaaa);
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
case 0:
if (strcasecmp(ai->ai_canonname, namebuf) != 0 &&
!logged(namebuf, ERR_IS_CNAME)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' (out of zone) "
"is a CNAME (illegal)",
ownerbuf, namebuf);
/* XXX950 make fatal for 9.5.0 */
/* answer = ISC_FALSE; */
add(namebuf, ERR_IS_CNAME);
}
break;
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/NS '%s' (out of zone) "
"has no addresses records (A or AAAA)",
ownerbuf, namebuf);
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0 */
return (ISC_TRUE);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
}
if (a == NULL || aaaa == NULL)
return (answer);
/*
* Check that all glue records really exist.
*/
if (!dns_rdataset_isassociated(a))
goto checkaaaa;
result = dns_rdataset_first(a);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(a, &rdata);
match = ISC_FALSE;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET)
continue;
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = ISC_TRUE;
break;
}
}
if (!match && !logged(namebuf, ERR_EXTRA_A)) {
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"extra GLUE A record (%s)",
ownerbuf, namebuf,
inet_ntop(AF_INET, rdata.data,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_A);
/* XXX950 make fatal for 9.5.0 */
/* answer = ISC_FALSE; */
}
dns_rdata_reset(&rdata);
result = dns_rdataset_next(a);
}
checkaaaa:
if (!dns_rdataset_isassociated(aaaa))
goto checkmissing;
result = dns_rdataset_first(aaaa);
while (result == ISC_R_SUCCESS) {
dns_rdataset_current(aaaa, &rdata);
match = ISC_FALSE;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
if (cur->ai_family != AF_INET6)
continue;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
if (memcmp(ptr, rdata.data, rdata.length) == 0) {
match = ISC_TRUE;
break;
}
}
if (!match && !logged(namebuf, ERR_EXTRA_AAAA)) {
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"extra GLUE AAAA record (%s)",
ownerbuf, namebuf,
inet_ntop(AF_INET6, rdata.data,
addrbuf, sizeof(addrbuf)));
add(namebuf, ERR_EXTRA_AAAA);
/* XXX950 make fatal for 9.5.0. */
/* answer = ISC_FALSE; */
}
dns_rdata_reset(&rdata);
result = dns_rdataset_next(aaaa);
}
checkmissing:
/*
* Check that all addresses appear in the glue.
*/
if (!logged(namebuf, ERR_MISSING_GLUE)) {
isc_boolean_t missing_glue = ISC_FALSE;
for (cur = ai; cur != NULL; cur = cur->ai_next) {
switch (cur->ai_family) {
case AF_INET:
rdataset = a;
ptr = &((struct sockaddr_in *)(cur->ai_addr))->sin_addr;
type = "A";
break;
case AF_INET6:
rdataset = aaaa;
ptr = &((struct sockaddr_in6 *)(cur->ai_addr))->sin6_addr;
type = "AAAA";
break;
default:
continue;
}
match = ISC_FALSE;
if (dns_rdataset_isassociated(rdataset))
result = dns_rdataset_first(rdataset);
else
result = ISC_R_FAILURE;
while (result == ISC_R_SUCCESS && !match) {
dns_rdataset_current(rdataset, &rdata);
if (memcmp(ptr, rdata.data, rdata.length) == 0)
match = ISC_TRUE;
dns_rdata_reset(&rdata);
result = dns_rdataset_next(rdataset);
}
if (!match) {
dns_zone_log(zone, ISC_LOG_ERROR, "%s/NS '%s' "
"missing GLUE %s record (%s)",
ownerbuf, namebuf, type,
inet_ntop(cur->ai_family, ptr,
addrbuf, sizeof(addrbuf)));
/* XXX950 make fatal for 9.5.0. */
/* answer = ISC_FALSE; */
missing_glue = ISC_TRUE;
}
}
if (missing_glue)
add(namebuf, ERR_MISSING_GLUE);
}
freeaddrinfo(ai);
return (answer);
#else
return (ISC_TRUE);
#endif
}
static isc_boolean_t
checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai;
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
int result;
int level = ISC_LOG_ERROR;
isc_boolean_t answer = ISC_TRUE;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
case 0:
if (strcasecmp(ai->ai_canonname, namebuf) != 0) {
if ((zone_options & DNS_ZONEOPT_WARNMXCNAME) != 0)
level = ISC_LOG_WARNING;
if ((zone_options & DNS_ZONEOPT_IGNOREMXCNAME) == 0) {
if (!logged(namebuf, ERR_IS_MXCNAME)) {
dns_zone_log(zone, level,
"%s/MX '%s' (out of zone)"
" is a CNAME (illegal)",
ownerbuf, namebuf);
add(namebuf, ERR_IS_MXCNAME);
}
if (level == ISC_LOG_ERROR)
answer = ISC_FALSE;
}
}
freeaddrinfo(ai);
return (answer);
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/MX '%s' (out of zone) "
"has no addresses records (A or AAAA)",
ownerbuf, namebuf);
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return (ISC_TRUE);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
}
#else
return (ISC_TRUE);
#endif
}
static isc_boolean_t
checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
#ifdef USE_GETADDRINFO
struct addrinfo hints, *ai;
char namebuf[DNS_NAME_FORMATSIZE + 1];
char ownerbuf[DNS_NAME_FORMATSIZE];
int result;
int level = ISC_LOG_ERROR;
isc_boolean_t answer = ISC_TRUE;
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
/*
* Turn off search.
*/
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
case 0:
if (strcasecmp(ai->ai_canonname, namebuf) != 0) {
if ((zone_options & DNS_ZONEOPT_WARNSRVCNAME) != 0)
level = ISC_LOG_WARNING;
if ((zone_options & DNS_ZONEOPT_IGNORESRVCNAME) == 0) {
if (!logged(namebuf, ERR_IS_SRVCNAME)) {
dns_zone_log(zone, level, "%s/SRV '%s'"
" (out of zone) is a "
"CNAME (illegal)",
ownerbuf, namebuf);
add(namebuf, ERR_IS_SRVCNAME);
}
if (level == ISC_LOG_ERROR)
answer = ISC_FALSE;
}
}
freeaddrinfo(ai);
return (answer);
case EAI_NONAME:
#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
case EAI_NODATA:
#endif
if (!logged(namebuf, ERR_NO_ADDRESSES)) {
dns_zone_log(zone, ISC_LOG_ERROR,
"%s/SRV '%s' (out of zone) "
"has no addresses records (A or AAAA)",
ownerbuf, namebuf);
add(namebuf, ERR_NO_ADDRESSES);
}
/* XXX950 make fatal for 9.5.0. */
return (ISC_TRUE);
default:
if (!logged(namebuf, ERR_LOOKUP_FAILURE)) {
dns_zone_log(zone, ISC_LOG_WARNING,
"getaddrinfo(%s) failed: %s",
namebuf, gai_strerror(result));
add(namebuf, ERR_LOOKUP_FAILURE);
}
return (ISC_TRUE);
}
#else
return (ISC_TRUE);
#endif
}
isc_result_t
setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) {
setup_logging(isc_mem_t *mctx, isc_log_t **logp) {
isc_logdestination_t destination;
isc_logconfig_t *logconfig = NULL;
isc_log_t *log = NULL;
RUNTIME_CHECK(isc_log_create(mctx, &log, &logconfig) == ISC_R_SUCCESS);
isc_log_registercategories(log, categories);
isc_log_setcontext(log);
dns_log_init(log);
dns_log_setcontext(log);
cfg_log_init(log);
destination.file.stream = errout;
destination.file.stream = stdout;
destination.file.name = NULL;
destination.file.versions = ISC_LOG_ROLLNEVER;
destination.file.maximum_size = 0;
@@ -520,97 +50,3 @@ setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp) {
*logp = log;
return (ISC_R_SUCCESS);
}
/*% load the zone */
isc_result_t
load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
dns_masterformat_t fileformat, 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_setfile2(zone, filename, fileformat));
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);
if (docheckmx)
dns_zone_setcheckmx(zone, checkmx);
if (docheckns)
dns_zone_setcheckns(zone, checkns);
if (dochecksrv)
dns_zone_setchecksrv(zone, checksrv);
CHECK(dns_zone_load(zone));
if (zonep != NULL) {
*zonep = zone;
zone = NULL;
}
cleanup:
if (zone != NULL)
dns_zone_detach(&zone);
return (result);
}
/*% dump the zone */
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style)
{
isc_result_t result;
FILE *output = stdout;
if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0)
fprintf(stderr, "dumping \"%s\" to \"%s\"\n",
zonename, filename);
else
fprintf(stderr, "dumping \"%s\"\n", zonename);
}
if (filename != NULL && strcmp(filename, "-") != 0) {
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_dumptostream2(zone, output, fileformat, style);
if (output != stdout)
(void)isc_stdio_close(output);
return (result);
}

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,40 +15,19 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.h,v 1.14 2007/06/18 23:47:17 tbox Exp $ */
/* $Id: check-tool.h,v 1.2.2.1 2004/03/09 06:09:09 marka Exp $ */
#ifndef CHECK_TOOL_H
#define CHECK_TOOL_H
/*! \file */
#include <isc/lang.h>
#include <isc/stdio.h>
#include <isc/types.h>
#include <dns/masterdump.h>
#include <dns/types.h>
#include <isc/types.h>
ISC_LANG_BEGINDECLS
isc_result_t
setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp);
isc_result_t
load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
dns_masterformat_t fileformat, const char *classname,
dns_zone_t **zonep);
isc_result_t
dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
dns_masterformat_t fileformat, const dns_master_style_t *style);
extern int debug;
extern isc_boolean_t nomerge;
extern isc_boolean_t docheckmx;
extern isc_boolean_t docheckns;
extern isc_boolean_t dochecksrv;
extern unsigned int zone_options;
setup_logging(isc_mem_t *mctx, isc_log_t **logp);
ISC_LANG_ENDDECLS

View File

@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkconf.8,v 1.29 2007/05/21 04:09:03 marka Exp $
.\" $Id: named-checkconf.8,v 1.11.2.10 2007/06/20 02:25:45 marka Exp $
.\"
.hy 0
.ad l
@@ -33,18 +33,13 @@
named\-checkconf \- named configuration file syntax checking tool
.SH "SYNOPSIS"
.HP 16
\fBnamed\-checkconf\fR [\fB\-h\fR] [\fB\-v\fR] [\fB\-j\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} [\fB\-z\fR]
\fBnamed\-checkconf\fR [\fB\-v\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkconf\fR
checks the syntax, but not the semantics, of a named configuration file.
.SH "OPTIONS"
.PP
\-h
.RS 4
Print the usage summary and exit.
.RE
.PP
\-t \fIdirectory\fR
.RS 4
Chroot to
@@ -59,17 +54,6 @@ Print the version of the
program and exit.
.RE
.PP
\-z
.RS 4
Perform a test load of all master zones found in
\fInamed.conf\fR.
.RE
.PP
\-j
.RS 4
When loading a zonefile read the journal if it exists.
.RE
.PP
filename
.RS 4
The name of the configuration file to be checked. If not specified, it defaults to
@@ -82,6 +66,7 @@ returns an exit status of 1 if errors were detected and 0 otherwise.
.SH "SEE ALSO"
.PP
\fBnamed\fR(8),
\fBnamed\-checkzone\fR(8),
BIND 9 Administrator Reference Manual.
.SH "AUTHOR"
.PP

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,9 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkconf.c,v 1.45 2007/06/18 23:47:17 tbox Exp $ */
/*! \file */
/* $Id: named-checkconf.c,v 1.12.2.3 2006/03/02 00:37:17 marka Exp $ */
#include <config.h>
@@ -27,46 +25,25 @@
#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/namedconf.h>
#include <bind9/check.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/name.h>
#include <dns/result.h>
#include <dns/zone.h>
#include <isccfg/cfg.h>
#include <isccfg/check.h>
#include "check-tool.h"
static const char *program = "named-checkconf";
isc_log_t *logc = NULL;
#define CHECK(r)\
do { \
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
/*% usage */
static void
usage(void) {
fprintf(stderr, "usage: %s [-h] [-j] [-v] [-z] [-t directory] "
"[named.conf]\n", program);
fprintf(stderr, "usage: named-checkconf [-v] [-t directory] [named.conf]\n");
exit(1);
}
/*% directory callback */
static isc_result_t
directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
isc_result_t result;
@@ -84,7 +61,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\n",
"change directory to '%s' failed: %s",
directory, isc_result_totext(result));
return (result);
}
@@ -92,301 +69,6 @@ directory_callback(const char *clausename, const cfg_obj_t *obj, void *arg) {
return (ISC_R_SUCCESS);
}
static isc_boolean_t
get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
int i;
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_FALSE);
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
return (ISC_TRUE);
}
}
static isc_boolean_t
get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj) {
const cfg_listelt_t *element;
const cfg_obj_t *checknames;
const cfg_obj_t *type;
const cfg_obj_t *value;
isc_result_t result;
int i;
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_FALSE);
checknames = NULL;
result = cfg_map_get(maps[i], "check-names", &checknames);
if (result != ISC_R_SUCCESS)
continue;
if (checknames != NULL && !cfg_obj_islist(checknames)) {
*obj = checknames;
return (ISC_TRUE);
}
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), "master") != 0)
continue;
*obj = cfg_tuple_get(value, "mode");
return (ISC_TRUE);
}
}
}
static isc_result_t
config_get(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
int i;
for (i = 0;; i++) {
if (maps[i] == NULL)
return (ISC_R_NOTFOUND);
if (cfg_map_get(maps[i], name, obj) == ISC_R_SUCCESS)
return (ISC_R_SUCCESS);
}
}
/*% configure the zone */
static isc_result_t
configure_zone(const char *vclass, const char *view,
const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
const cfg_obj_t *config, isc_mem_t *mctx)
{
int i = 0;
isc_result_t result;
const char *zclass;
const char *zname;
const char *zfile;
const cfg_obj_t *maps[4];
const cfg_obj_t *zoptions = NULL;
const cfg_obj_t *classobj = NULL;
const cfg_obj_t *typeobj = NULL;
const cfg_obj_t *fileobj = NULL;
const cfg_obj_t *dbobj = NULL;
const cfg_obj_t *obj = NULL;
const cfg_obj_t *fmtobj = NULL;
dns_masterformat_t masterformat;
zone_options = DNS_ZONEOPT_CHECKNS | DNS_ZONEOPT_MANYERRORS;
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");
maps[i++] = zoptions;
if (vconfig != NULL)
maps[i++] = cfg_tuple_get(vconfig, "options");
if (config != NULL) {
cfg_map_get(config, "options", &obj);
if (obj != NULL)
maps[i++] = obj;
}
maps[i++] = NULL;
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);
obj = NULL;
if (get_maps(maps, "check-mx", &obj)) {
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
zone_options |= DNS_ZONEOPT_CHECKMX;
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
} else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
zone_options |= DNS_ZONEOPT_CHECKMX;
zone_options |= DNS_ZONEOPT_CHECKMXFAIL;
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
zone_options &= ~DNS_ZONEOPT_CHECKMX;
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
} else
INSIST(0);
} else {
zone_options |= DNS_ZONEOPT_CHECKMX;
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
}
obj = NULL;
if (get_maps(maps, "check-integrity", &obj)) {
if (cfg_obj_asboolean(obj))
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
else
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
}
obj = NULL;
if (get_maps(maps, "check-mx-cname", &obj)) {
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
} else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
} else
INSIST(0);
} else {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
}
obj = NULL;
if (get_maps(maps, "check-srv-cname", &obj)) {
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
} else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
} else
INSIST(0);
} else {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
}
obj = NULL;
if (get_maps(maps, "check-sibling", &obj)) {
if (cfg_obj_asboolean(obj))
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
else
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
}
obj = NULL;
if (get_checknames(maps, &obj)) {
if (strcasecmp(cfg_obj_asstring(obj), "warn") == 0) {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (strcasecmp(cfg_obj_asstring(obj), "fail") == 0) {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (strcasecmp(cfg_obj_asstring(obj), "ignore") == 0) {
zone_options &= ~DNS_ZONEOPT_CHECKNAMES;
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
} else
INSIST(0);
} else {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options |= DNS_ZONEOPT_CHECKNAMESFAIL;
}
masterformat = dns_masterformat_text;
fmtobj = NULL;
result = config_get(maps, "masterfile-format", &fmtobj);
if (result == ISC_R_SUCCESS) {
const char *masterformatstr = cfg_obj_asstring(fmtobj);
if (strcasecmp(masterformatstr, "text") == 0)
masterformat = dns_masterformat_text;
else if (strcasecmp(masterformatstr, "raw") == 0)
masterformat = dns_masterformat_raw;
else
INSIST(0);
}
result = load_zone(mctx, zname, zfile, masterformat, zclass, NULL);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "%s/%s/%s: %s\n", view, zname, zclass,
dns_result_totext(result));
return(result);
}
/*% configure a view */
static isc_result_t
configure_view(const char *vclass, const char *view, const cfg_obj_t *config,
const cfg_obj_t *vconfig, isc_mem_t *mctx)
{
const cfg_listelt_t *element;
const cfg_obj_t *voptions;
const 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))
{
const cfg_obj_t *zconfig = cfg_listelt_value(element);
tresult = configure_zone(vclass, view, zconfig, vconfig,
config, mctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
}
return (result);
}
/*% load zones from the configuration */
static isc_result_t
load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t *mctx) {
const cfg_listelt_t *element;
const cfg_obj_t *classobj;
const cfg_obj_t *views;
const 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);
}
/*% The main processing routine */
int
main(int argc, char **argv) {
int c;
@@ -396,21 +78,9 @@ main(int argc, char **argv) {
isc_mem_t *mctx = NULL;
isc_result_t result;
int exit_status = 0;
isc_entropy_t *ectx = NULL;
isc_boolean_t load_zones = ISC_FALSE;
isc_commandline_errprint = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv, "dhjt:vz")) != EOF) {
while ((c = isc_commandline_parse(argc, argv, "t:v")) != 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) {
@@ -430,29 +100,11 @@ main(int argc, char **argv) {
printf(VERSION "\n");
exit(0);
case 'z':
load_zones = ISC_TRUE;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
break;
case '?':
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
case 'h':
usage();
default:
fprintf(stderr, "%s: unhandled option -%c\n",
program, isc_commandline_option);
exit(1);
usage();
}
}
if (isc_commandline_index + 1 < argc)
usage();
if (argv[isc_commandline_index] != NULL)
conffile = argv[isc_commandline_index];
if (conffile == NULL || conffile[0] == '\0')
@@ -460,13 +112,7 @@ main(int argc, char **argv) {
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
RUNTIME_CHECK(setup_logging(mctx, stdout, &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(setup_logging(mctx, &logc) == ISC_R_SUCCESS);
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
@@ -476,27 +122,16 @@ main(int argc, char **argv) {
ISC_R_SUCCESS)
exit(1);
result = bind9_check_namedconf(config, logc, mctx);
result = cfg_check_namedconf(config, logc, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
if (result == ISC_R_SUCCESS && load_zones) {
result = load_zones_fromconfig(config, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
}
cfg_obj_destroy(parser, &config);
cfg_parser_destroy(&parser);
dns_name_destroy();
isc_log_destroy(&logc);
isc_hash_destroy();
isc_entropy_detach(&ectx);
isc_mem_destroy(&mctx);
return (exit_status);

View File

@@ -18,8 +18,9 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkconf.docbook,v 1.18 2007/06/18 23:47:17 tbox Exp $ -->
<refentry id="man.named-checkconf">
<!-- $Id: named-checkconf.docbook,v 1.3.2.10 2007/08/28 07:18:12 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>June 14, 2000</date>
</refentryinfo>
@@ -53,20 +54,17 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>named-checkconf</command>
<arg><option>-h</option></arg>
<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>
<refsect1>
<title>DESCRIPTION</title>
<para><command>named-checkconf</command>
checks the syntax, but not the semantics, of a named
configuration file.
<para>
<command>named-checkconf</command> checks the syntax, but not
the semantics, of a named configuration file.
</para>
</refsect1>
@@ -74,64 +72,35 @@
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Print the usage summary and exit.
</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>
<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>-v</term>
<listitem>
<para>
Print the version of the <command>named-checkconf</command>
program and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Perform a test load of all master zones 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>
<listitem>
<para>
Print the version of the <command>named-checkconf</command>
program and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>filename</term>
<listitem>
<para>
The name of the configuration file to be checked. If not
specified, it defaults to <filename>/etc/named.conf</filename>.
</para>
</listitem>
<listitem>
<para>
The name of the configuration file to be checked. If not
specified, it defaults to <filename>/etc/named.conf</filename>.
</para>
</listitem>
</varlistentry>
</variablelist>
@@ -140,16 +109,21 @@
<refsect1>
<title>RETURN VALUES</title>
<para><command>named-checkconf</command>
returns an exit status of 1 if
errors were detected and 0 otherwise.
<para>
<command>named-checkconf</command> returns an exit status of 1 if
errors were detected and 0 otherwise.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
<para>
<citerefentry>
<refentrytitle>named</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named-checkzone</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
</para>
@@ -157,12 +131,16 @@
<refsect1>
<title>AUTHOR</title>
<para><corpauthor>Internet Systems Consortium</corpauthor>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry><!--
</refentry>
<!--
- Local variables:
- mode: sgml
- End:
-->

View File

@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkconf.html,v 1.29 2007/05/21 04:09:03 marka Exp $ -->
<!-- $Id: named-checkconf.html,v 1.5.2.19 2007/06/20 02:25:45 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,73 +22,62 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.named-checkconf"></a><div class="titlepage"></div>
<a name="id2476275"></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">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
<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>
<div class="refsect1" lang="en">
<a name="id2543387"></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.
<a name="id2543363"></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="id2543399"></a><h2>OPTIONS</h2>
<a name="id2543376"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-h</span></dt>
<dd><p>
Print the usage summary and exit.
</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>
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">-v</span></dt>
<dd><p>
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 test load of all master zones 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>
Print the version of the <span><strong class="command">named-checkconf</strong></span>
program and exit.
</p></dd>
<dt><span class="term">filename</span></dt>
<dd><p>
The name of the configuration file to be checked. If not
specified, it defaults to <code class="filename">/etc/named.conf</code>.
</p></dd>
The name of the configuration file to be checked. If not
specified, it defaults to <code class="filename">/etc/named.conf</code>.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543507"></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.
<a name="id2543438"></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="id2543518"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<a name="id2543451"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543540"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
<a name="id2543483"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>

View File

@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named-checkzone.8,v 1.41 2007/05/21 04:09:03 marka Exp $
.\" $Id: named-checkzone.8,v 1.11.2.10 2007/06/20 02:25:45 marka Exp $
.\"
.hy 0
.ad l
@@ -30,12 +30,10 @@
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
named\-checkzone, named\-compilezone \- zone file validity checking or converting tool
named\-checkzone \- zone file validity checking tool
.SH "SYNOPSIS"
.HP 16
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
.HP 18
\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename}
\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] {zonename} {filename}
.SH "DESCRIPTION"
.PP
\fBnamed\-checkzone\fR
@@ -44,13 +42,6 @@ checks the syntax and integrity of a zone file. It performs the same checks as
does when loading a zone. This makes
\fBnamed\-checkzone\fR
useful for checking zone files before configuring them into a name server.
.PP
\fBnamed\-compilezone\fR
is similar to
\fBnamed\-checkzone\fR, but it always dumps the zone contents to a specified file in a specified format. Additionally, it applies stricter check levels by default, since the dump output will be used as an actual zone file loaded by
\fBnamed\fR. When manually specified otherwise, the check levels must at least be as strict as those specified in the
\fBnamed\fR
configuration file.
.SH "OPTIONS"
.PP
\-d
@@ -58,11 +49,6 @@ configuration file.
Enable debugging.
.RE
.PP
\-h
.RS 4
Print the usage summary and exit.
.RE
.PP
\-q
.RS 4
Quiet mode \- exit code only.
@@ -85,170 +71,6 @@ When loading the zone file read the journal if it exists.
Specify the class of the zone. If not specified "IN" is assumed.
.RE
.PP
\-i \fImode\fR
.RS 4
Perform post\-load zone integrity checks. Possible modes are
\fB"full"\fR
(default),
\fB"full\-sibling"\fR,
\fB"local"\fR,
\fB"local\-sibling"\fR
and
\fB"none"\fR.
.sp
Mode
\fB"full"\fR
checks that MX records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). Mode
\fB"local"\fR
only checks MX records which refer to in\-zone hostnames.
.sp
Mode
\fB"full"\fR
checks that SRV records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). Mode
\fB"local"\fR
only checks SRV records which refer to in\-zone hostnames.
.sp
Mode
\fB"full"\fR
checks that delegation NS records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames). It also checks that glue address records in the zone match those advertised by the child. Mode
\fB"local"\fR
only checks NS records which refer to in\-zone hostnames or that some required glue exists, that is when the nameserver is in a child zone.
.sp
Mode
\fB"full\-sibling"\fR
and
\fB"local\-sibling"\fR
disable sibling glue checks but are otherwise the same as
\fB"full"\fR
and
\fB"local"\fR
respectively.
.sp
Mode
\fB"none"\fR
disables the checks.
.RE
.PP
\-f \fIformat\fR
.RS 4
Specify the format of the zone file. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR.
.RE
.PP
\-F \fIformat\fR
.RS 4
Specify the format of the output file specified. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR. For
\fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents.
.RE
.PP
\-k \fImode\fR
.RS 4
Perform
\fB"check\-names"\fR
checks with the specified failure mode. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-compilezone\fR),
\fB"warn"\fR
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR.
.RE
.PP
\-m \fImode\fR
.RS 4
Specify whether MX records should be checked to see if they are addresses. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.RE
.PP
\-M \fImode\fR
.RS 4
Check if a MX record refers to a CNAME. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.RE
.PP
\-n \fImode\fR
.RS 4
Specify whether NS records should be checked to see if they are addresses. Possible modes are
\fB"fail"\fR
(default for
\fBnamed\-compilezone\fR),
\fB"warn"\fR
(default for
\fBnamed\-checkzone\fR) and
\fB"ignore"\fR.
.RE
.PP
\-o \fIfilename\fR
.RS 4
Write zone output to
\fIfilename\fR. If
\fIfilename\fR
is
\fI\-\fR
then write to standard out. This is mandatory for
\fBnamed\-compilezone\fR.
.RE
.PP
\-s \fIstyle\fR
.RS 4
Specify the style of the dumped zone file. Possible styles are
\fB"full"\fR
(default) and
\fB"relative"\fR. The full format is most suitable for processing automatically by a separate script. On the other hand, the relative format is more human\-readable and is thus suitable for editing by hand. For
\fBnamed\-checkzone\fR
this does not cause any effects unless it dumps the zone contents. It also does not have any meaning if the output format is not text.
.RE
.PP
\-S \fImode\fR
.RS 4
Check if a SRV record refers to a CNAME. Possible modes are
\fB"fail"\fR,
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.RE
.PP
\-t \fIdirectory\fR
.RS 4
Chroot to
\fIdirectory\fR
so that include directives in the configuration file are processed as if run by a similarly chrooted named.
.RE
.PP
\-w \fIdirectory\fR
.RS 4
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.
.RE
.PP
\-D
.RS 4
Dump zone file in canonical format. This is always enabled for
\fBnamed\-compilezone\fR.
.RE
.PP
\-W \fImode\fR
.RS 4
Specify whether to check for non\-terminal wildcards. Non\-terminal wildcards are almost always the result of a failure to understand the wildcard matching algorithm (RFC 1034). Possible modes are
\fB"warn"\fR
(default) and
\fB"ignore"\fR.
.RE
.PP
zonename
.RS 4
The domain name of the zone being checked.
@@ -265,13 +87,14 @@ returns an exit status of 1 if errors were detected and 0 otherwise.
.SH "SEE ALSO"
.PP
\fBnamed\fR(8),
\fBnamed\-checkconf\fR(8),
RFC 1035,
BIND 9 Administrator Reference Manual.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2002 Internet Software Consortium.
.br

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,9 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkzone.c,v 1.49 2007/06/18 23:47:17 tbox Exp $ */
/*! \file */
/* $Id: named-checkzone.c,v 1.13.2.5 2004/10/25 01:45:25 marka Exp $ */
#include <config.h>
@@ -25,7 +23,6 @@
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/hash.h>
#include <isc/log.h>
@@ -39,26 +36,21 @@
#include <dns/db.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/masterdump.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/rdataset.h>
#include <dns/result.h>
#include <dns/types.h>
#include <dns/zone.h>
#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 int dumpzone = 0;
static const char *output_filename;
static char *prog_name = NULL;
static const dns_master_style_t *outputstyle = NULL;
static enum { progmode_check, progmode_compile } progmode;
static const char *dbtype[] = { "rbt" };
#define ERRRET(result, function) \
do { \
@@ -73,24 +65,64 @@ static enum { progmode_check, progmode_compile } progmode;
static void
usage(void) {
fprintf(stderr,
"usage: %s [-djqvD] [-c class] [-o output] "
"[-f inputformat] [-F outputformat] "
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
"[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
"[-i (full|local|none)] [-M (ignore|warn|fail)] "
"[-S (ignore|warn|fail)] [-W (ignore|warn)] "
"zonename filename\n", prog_name);
"usage: named-checkzone [-djqv] [-c class] 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)
dns_zone_detach(&zone);
dns_name_destroy();
}
/*% main processing routine */
int
main(int argc, char **argv) {
int c;
@@ -100,328 +132,39 @@ main(int argc, char **argv) {
isc_result_t result;
char classname_in[] = "IN";
char *classname = classname_in;
const char *workdir = NULL;
const char *inputformatstr = NULL;
const char *outputformatstr = NULL;
dns_masterformat_t inputformat = dns_masterformat_text;
dns_masterformat_t outputformat = dns_masterformat_text;
FILE *errout = stdout;
outputstyle = &dns_master_style_full;
prog_name = strrchr(argv[0], '/');
if (prog_name == NULL)
prog_name = strrchr(argv[0], '\\');
if (prog_name != NULL)
prog_name++;
else
prog_name = argv[0];
/*
* Libtool doesn't preserve the program name prior to final
* installation. Remove the libtool prefix ("lt-").
*/
if (strncmp(prog_name, "lt-", 3) == 0)
prog_name += 3;
if (strcmp(prog_name, "named-checkzone") == 0)
progmode = progmode_check;
else if (strcmp(prog_name, "named-compilezone") == 0)
progmode = progmode_compile;
else
INSIST(0);
/* Compilation specific defaults */
if (progmode == progmode_compile) {
zone_options |= (DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_FATALNS |
DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL |
DNS_ZONEOPT_CHECKWILDCARD);
}
#define ARGCMP(X) (strcmp(isc_commandline_argument, X) == 0)
isc_commandline_errprint = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv,
"c:df:hi:jk:m:n:qs:t:o:vw:DF:M:S:W:"))
!= EOF) {
while ((c = isc_commandline_parse(argc, argv, "c:djqsv")) != EOF) {
switch (c) {
case 'c':
classname = isc_commandline_argument;
break;
case 'd':
debug++;
break;
case 'i':
if (ARGCMP("full")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY |
DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_TRUE;
docheckns = ISC_TRUE;
dochecksrv = ISC_TRUE;
} else if (ARGCMP("full-sibling")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_TRUE;
docheckns = ISC_TRUE;
dochecksrv = ISC_TRUE;
} else if (ARGCMP("local")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options |= DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
} else if (ARGCMP("local-sibling")) {
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
} else if (ARGCMP("none")) {
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
zone_options &= ~DNS_ZONEOPT_CHECKSIBLING;
docheckmx = ISC_FALSE;
docheckns = ISC_FALSE;
dochecksrv = ISC_FALSE;
} else {
fprintf(stderr, "invalid argument to -i: %s\n",
isc_commandline_argument);
exit(1);
}
break;
case 'f':
inputformatstr = isc_commandline_argument;
break;
case 'F':
outputformatstr = isc_commandline_argument;
break;
case 'j':
nomerge = ISC_FALSE;
break;
case 'k':
if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_CHECKNAMES;
zone_options &= ~DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (ARGCMP("fail")) {
zone_options |= DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL;
} else if (ARGCMP("ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKNAMESFAIL);
} else {
fprintf(stderr, "invalid argument to -k: %s\n",
isc_commandline_argument);
exit(1);
}
break;
case 'n':
if (ARGCMP("ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS);
} else if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_CHECKNS;
zone_options &= ~DNS_ZONEOPT_FATALNS;
} else if (ARGCMP("fail")) {
zone_options |= DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS;
} else {
fprintf(stderr, "invalid argument to -n: %s\n",
isc_commandline_argument);
exit(1);
}
break;
case 'm':
if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_CHECKMX;
zone_options &= ~DNS_ZONEOPT_CHECKMXFAIL;
} else if (ARGCMP("fail")) {
zone_options |= DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_CHECKMXFAIL;
} else if (ARGCMP("ignore")) {
zone_options &= ~(DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_CHECKMXFAIL);
} else {
fprintf(stderr, "invalid argument to -m: %s\n",
isc_commandline_argument);
exit(1);
}
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 's':
if (ARGCMP("full"))
outputstyle = &dns_master_style_full;
else if (ARGCMP("relative")) {
outputstyle = &dns_master_style_default;
} else {
fprintf(stderr,
"unknown or unsupported style: %s\n",
isc_commandline_argument);
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;
case 'M':
if (ARGCMP("fail")) {
zone_options &= ~DNS_ZONEOPT_WARNMXCNAME;
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
} else if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options &= ~DNS_ZONEOPT_IGNOREMXCNAME;
} else if (ARGCMP("ignore")) {
zone_options |= DNS_ZONEOPT_WARNMXCNAME;
zone_options |= DNS_ZONEOPT_IGNOREMXCNAME;
} else {
fprintf(stderr, "invalid argument to -M: %s\n",
isc_commandline_argument);
exit(1);
}
break;
case 'S':
if (ARGCMP("fail")) {
zone_options &= ~DNS_ZONEOPT_WARNSRVCNAME;
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
} else if (ARGCMP("warn")) {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options &= ~DNS_ZONEOPT_IGNORESRVCNAME;
} else if (ARGCMP("ignore")) {
zone_options |= DNS_ZONEOPT_WARNSRVCNAME;
zone_options |= DNS_ZONEOPT_IGNORESRVCNAME;
} else {
fprintf(stderr, "invalid argument to -S: %s\n",
isc_commandline_argument);
exit(1);
}
break;
case 'W':
if (ARGCMP("warn"))
zone_options |= DNS_ZONEOPT_CHECKWILDCARD;
else if (ARGCMP("ignore"))
zone_options &= ~DNS_ZONEOPT_CHECKWILDCARD;
break;
case '?':
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
prog_name, isc_commandline_option);
case 'h':
usage();
default:
fprintf(stderr, "%s: unhandled option -%c\n",
prog_name, isc_commandline_option);
exit(1);
}
}
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 (inputformatstr != NULL) {
if (strcasecmp(inputformatstr, "text") == 0)
inputformat = dns_masterformat_text;
else if (strcasecmp(inputformatstr, "raw") == 0)
inputformat = dns_masterformat_raw;
else {
fprintf(stderr, "unknown file format: %s\n",
inputformatstr);
exit(1);
}
}
if (outputformatstr != NULL) {
if (strcasecmp(outputformatstr, "text") == 0)
outputformat = dns_masterformat_text;
else if (strcasecmp(outputformatstr, "raw") == 0)
outputformat = dns_masterformat_raw;
else {
fprintf(stderr, "unknown file format: %s\n",
outputformatstr);
exit(1);
}
}
if (progmode == progmode_compile) {
dumpzone = 1; /* always dump */
if (output_filename == NULL) {
fprintf(stderr,
"output file required, but not specified\n");
usage();
}
}
if (output_filename != NULL)
dumpzone = 1;
/*
* If we are outputing to stdout then send the informational
* output to stderr.
*/
if (dumpzone &&
(output_filename == NULL ||
strcmp(output_filename, "-") == 0 ||
strcmp(output_filename, "/dev/fd/1") == 0 ||
strcmp(output_filename, "/dev/stdout") == 0))
errout = stderr;
if (isc_commandline_index + 2 != argc)
if (isc_commandline_index + 2 > argc)
usage();
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
if (!quiet)
RUNTIME_CHECK(setup_logging(mctx, errout, &lctx)
== ISC_R_SUCCESS);
if (!quiet) {
RUNTIME_CHECK(setup_logging(mctx, &lctx) == ISC_R_SUCCESS);
dns_log_init(lctx);
dns_log_setcontext(lctx);
}
RUNTIME_CHECK(isc_entropy_create(mctx, &ectx) == ISC_R_SUCCESS);
RUNTIME_CHECK(isc_hash_create(mctx, ectx, DNS_NAME_MAXWIRE)
== ISC_R_SUCCESS);
@@ -430,22 +173,9 @@ main(int argc, char **argv) {
origin = argv[isc_commandline_index++];
filename = argv[isc_commandline_index++];
result = load_zone(mctx, origin, filename, inputformat, classname,
&zone);
if (result == ISC_R_SUCCESS && dumpzone) {
if (!quiet && progmode == progmode_compile) {
fprintf(errout, "dump zone to %s...", output_filename);
fflush(errout);
}
result = dump_zone(origin, zone, output_filename,
outputformat, outputstyle);
if (!quiet && progmode == progmode_compile)
fprintf(errout, "done\n");
}
result = setup(origin, filename, classname);
if (!quiet && result == ISC_R_SUCCESS)
fprintf(errout, "OK\n");
fprintf(stdout, "OK\n");
destroy();
if (lctx != NULL)
isc_log_destroy(&lctx);

View File

@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,8 +18,9 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.docbook,v 1.33 2007/06/18 23:47:17 tbox Exp $ -->
<refentry id="man.named-checkzone">
<!-- $Id: named-checkzone.docbook,v 1.3.2.10 2007/08/28 07:18:12 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>June 13, 2000</date>
</refentryinfo>
@@ -34,7 +35,6 @@
<copyright>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
@@ -48,56 +48,17 @@
<refnamediv>
<refname><application>named-checkzone</application></refname>
<refname><application>named-compilezone</application></refname>
<refpurpose>zone file validity checking or converting tool</refpurpose>
<refpurpose>zone file validity checking tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>named-checkzone</command>
<arg><option>-d</option></arg>
<arg><option>-h</option></arg>
<arg><option>-j</option></arg>
<arg><option>-q</option></arg>
<arg><option>-v</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
<arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
<arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-M <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">style</replaceable></option></arg>
<arg><option>-S <replaceable class="parameter">mode</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><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="req">zonename</arg>
<arg choice="req">filename</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>named-compilezone</command>
<arg><option>-d</option></arg>
<arg><option>-j</option></arg>
<arg><option>-q</option></arg>
<arg><option>-v</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-C <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">format</replaceable></option></arg>
<arg><option>-F <replaceable class="parameter">format</replaceable></option></arg>
<arg><option>-i <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-m <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-n <replaceable class="parameter">mode</replaceable></option></arg>
<arg><option>-o <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">style</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><option>-W <replaceable class="parameter">mode</replaceable></option></arg>
<arg choice="req">zonename</arg>
<arg choice="req">filename</arg>
</cmdsynopsis>
@@ -105,23 +66,13 @@
<refsect1>
<title>DESCRIPTION</title>
<para><command>named-checkzone</command>
checks the syntax and integrity of a zone file. It performs the
same checks as <command>named</command> does when loading a
zone. This makes <command>named-checkzone</command> useful for
checking zone files before configuring them into a name server.
</para>
<para>
<command>named-compilezone</command> is similar to
<command>named-checkzone</command>, but it always dumps the
zone contents to a specified file in a specified format.
Additionally, it applies stricter check levels by default,
since the dump output will be used as an actual zone file
loaded by <command>named</command>.
When manually specified otherwise, the check levels must at
least be as strict as those specified in the
<command>named</command> configuration file.
</para>
<command>named-checkzone</command> checks the syntax and integrity of
a zone file. It performs the same checks as <command>named</command>
does when loading a zone. This makes
<command>named-checkzone</command> useful for checking zone
files before configuring them into a name server.
</para>
</refsect1>
<refsect1>
@@ -130,291 +81,66 @@
<variablelist>
<varlistentry>
<term>-d</term>
<listitem>
<para>
Enable debugging.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Print the usage summary and exit.
</para>
</listitem>
<listitem>
<para>
Enable debugging.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-q</term>
<listitem>
<para>
Quiet mode - exit code only.
</para>
</listitem>
<listitem>
<para>
Quiet mode - exit code only.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem>
<para>
Print the version of the <command>named-checkzone</command>
program and exit.
</para>
</listitem>
<listitem>
<para>
Print the version of the <command>named-checkzone</command>
program and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j</term>
<listitem>
<para>
When loading the zone file read the journal if it exists.
</para>
When loading the zone file read the journal if it exists.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Specify the class of the zone. If not specified "IN" is assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Perform post-load zone integrity checks. Possible modes are
<command>"full"</command> (default),
<command>"full-sibling"</command>,
<command>"local"</command>,
<command>"local-sibling"</command> and
<command>"none"</command>.
</para>
<para>
Mode <command>"full"</command> checks that MX records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <command>"local"</command> only
checks MX records which refer to in-zone hostnames.
</para>
<para>
Mode <command>"full"</command> checks that SRV records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <command>"local"</command> only
checks SRV records which refer to in-zone hostnames.
</para>
<para>
Mode <command>"full"</command> checks that delegation NS
records refer to A or AAAA record (both in-zone and out-of-zone
hostnames). It also checks that glue address records
in the zone match those advertised by the child.
Mode <command>"local"</command> only checks NS records which
refer to in-zone hostnames or that some required glue exists,
that is when the nameserver is in a child zone.
</para>
<para>
Mode <command>"full-sibling"</command> and
<command>"local-sibling"</command> disable sibling glue
checks but are otherwise the same as <command>"full"</command>
and <command>"local"</command> respectively.
</para>
<para>
Mode <command>"none"</command> disables the checks.
Specify the class of the zone. If not specified "IN" is assumed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable class="parameter">format</replaceable></term>
<listitem>
<para>
Specify the format of the zone file.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-F <replaceable class="parameter">format</replaceable></term>
<listitem>
<para>
Specify the format of the output file specified.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
For <command>named-checkzone</command>,
this does not cause any effects unless it dumps the zone
contents.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Perform <command>"check-names"</command> checks with the
specified failure mode.
Possible modes are <command>"fail"</command>
(default for <command>named-compilezone</command>),
<command>"warn"</command>
(default for <command>named-checkzone</command>) and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-m <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether MX 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>-M <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check if a MX record refers to a CNAME.
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>
(default for <command>named-compilezone</command>),
<command>"warn"</command>
(default for <command>named-checkzone</command>) 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>.
If <filename>filename</filename> is <filename>-</filename> then
write to standard out.
This is mandatory for <command>named-compilezone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">style</replaceable></term>
<listitem>
<para>
Specify the style of the dumped zone file.
Possible styles are <command>"full"</command> (default)
and <command>"relative"</command>.
The full format is most suitable for processing
automatically by a separate script.
On the other hand, the relative format is more
human-readable and is thus suitable for editing by hand.
For <command>named-checkzone</command>
this does not cause any effects unless it dumps the zone
contents.
It also does not have any meaning if the output format
is not text.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-S <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Check if a SRV record refers to a CNAME.
Possible modes are <command>"fail"</command>,
<command>"warn"</command> (default) and
<command>"ignore"</command>.
</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.
This is always enabled for <command>named-compilezone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-W <replaceable class="parameter">mode</replaceable></term>
<listitem>
<para>
Specify whether to check for non-terminal wildcards.
Non-terminal wildcards are almost always the result of a
failure to understand the wildcard matching algorithm (RFC 1034).
Possible modes are <command>"warn"</command> (default)
and
<command>"ignore"</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonename</term>
<listitem>
<para>
The domain name of the zone being checked.
</para>
</listitem>
<listitem>
<para>
The domain name of the zone being checked.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>filename</term>
<listitem>
<para>
The name of the zone file.
</para>
</listitem>
<listitem>
<para>
The name of the zone file.
</para>
</listitem>
</varlistentry>
</variablelist>
@@ -423,16 +149,21 @@
<refsect1>
<title>RETURN VALUES</title>
<para><command>named-checkzone</command>
returns an exit status of 1 if
errors were detected and 0 otherwise.
<para>
<command>named-checkzone</command> returns an exit status of 1 if
errors were detected and 0 otherwise.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
<para>
<citerefentry>
<refentrytitle>named</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named-checkconf</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>RFC 1035</citetitle>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
@@ -441,12 +172,16 @@
<refsect1>
<title>AUTHOR</title>
<para><corpauthor>Internet Systems Consortium</corpauthor>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry><!--
</refentry>
<!--
- Local variables:
- mode: sgml
- End:
-->

View File

@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named-checkzone.html,v 1.41 2007/05/21 04:09:03 marka Exp $ -->
<!-- $Id: named-checkzone.html,v 1.5.2.18 2007/06/20 02:25:45 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,239 +22,79 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.named-checkzone"></a><div class="titlepage"></div>
<a name="id2476275"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2>Name</h2>
<p><span class="application">named-checkzone</span>, <span class="application">named-compilezone</span> &#8212; zone file validity checking or converting tool</p>
<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">-h</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-M <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-S <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {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>] {zonename} {filename}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543669"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the
same checks as <span><strong class="command">named</strong></span> does when loading a
zone. This makes <span><strong class="command">named-checkzone</strong></span> useful for
checking zone files before configuring them into a name server.
</p>
<a name="id2543381"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">named-compilezone</strong></span> is similar to
<span><strong class="command">named-checkzone</strong></span>, but it always dumps the
zone contents to a specified file in a specified format.
Additionally, it applies stricter check levels by default,
since the dump output will be used as an actual zone file
loaded by <span><strong class="command">named</strong></span>.
When manually specified otherwise, the check levels must at
least be as strict as those specified in the
<span><strong class="command">named</strong></span> configuration file.
</p>
<span><strong class="command">named-checkzone</strong></span> checks the syntax and integrity of
a zone file. It performs the same checks as <span><strong class="command">named</strong></span>
does when loading a zone. This makes
<span><strong class="command">named-checkzone</strong></span> useful for checking zone
files before configuring them into a name server.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543704"></a><h2>OPTIONS</h2>
<a name="id2543401"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
Enable debugging.
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
Print the usage summary and exit.
</p></dd>
Enable debugging.
</p></dd>
<dt><span class="term">-q</span></dt>
<dd><p>
Quiet mode - exit code only.
</p></dd>
Quiet mode - exit code only.
</p></dd>
<dt><span class="term">-v</span></dt>
<dd><p>
Print the version of the <span><strong class="command">named-checkzone</strong></span>
program and exit.
</p></dd>
Print the version of the <span><strong class="command">named-checkzone</strong></span>
program and exit.
</p></dd>
<dt><span class="term">-j</span></dt>
<dd><p>
When loading the zone file read the journal if it exists.
When loading the zone file read the journal if it exists.
</p></dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd><p>
Specify the class of the zone. If not specified "IN" is assumed.
</p></dd>
<dt><span class="term">-i <em class="replaceable"><code>mode</code></em></span></dt>
<dd>
<p>
Perform post-load zone integrity checks. Possible modes are
<span><strong class="command">"full"</strong></span> (default),
<span><strong class="command">"full-sibling"</strong></span>,
<span><strong class="command">"local"</strong></span>,
<span><strong class="command">"local-sibling"</strong></span> and
<span><strong class="command">"none"</strong></span>.
</p>
<p>
Mode <span><strong class="command">"full"</strong></span> checks that MX records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span><strong class="command">"local"</strong></span> only
checks MX records which refer to in-zone hostnames.
</p>
<p>
Mode <span><strong class="command">"full"</strong></span> checks that SRV records
refer to A or AAAA record (both in-zone and out-of-zone
hostnames). Mode <span><strong class="command">"local"</strong></span> only
checks SRV records which refer to in-zone hostnames.
</p>
<p>
Mode <span><strong class="command">"full"</strong></span> checks that delegation NS
records refer to A or AAAA record (both in-zone and out-of-zone
hostnames). It also checks that glue address records
in the zone match those advertised by the child.
Mode <span><strong class="command">"local"</strong></span> only checks NS records which
refer to in-zone hostnames or that some required glue exists,
that is when the nameserver is in a child zone.
</p>
<p>
Mode <span><strong class="command">"full-sibling"</strong></span> and
<span><strong class="command">"local-sibling"</strong></span> disable sibling glue
checks but are otherwise the same as <span><strong class="command">"full"</strong></span>
and <span><strong class="command">"local"</strong></span> respectively.
</p>
<p>
Mode <span><strong class="command">"none"</strong></span> disables the checks.
</p>
</dd>
<dt><span class="term">-f <em class="replaceable"><code>format</code></em></span></dt>
<dd><p>
Specify the format of the zone file.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
Specify the class of the zone. If not specified "IN" is assumed.
</p></dd>
<dt><span class="term">-F <em class="replaceable"><code>format</code></em></span></dt>
<dd><p>
Specify the format of the output file specified.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
For <span><strong class="command">named-checkzone</strong></span>,
this does not cause any effects unless it dumps the zone
contents.
</p></dd>
<dt><span class="term">-k <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Perform <span><strong class="command">"check-names"</strong></span> checks with the
specified failure mode.
Possible modes are <span><strong class="command">"fail"</strong></span>
(default for <span><strong class="command">named-compilezone</strong></span>),
<span><strong class="command">"warn"</strong></span>
(default for <span><strong class="command">named-checkzone</strong></span>) and
<span><strong class="command">"ignore"</strong></span>.
</p></dd>
<dt><span class="term">-m <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Specify whether MX records should be checked to see if they
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">-M <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Check if a MX record refers to a CNAME.
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>
(default for <span><strong class="command">named-compilezone</strong></span>),
<span><strong class="command">"warn"</strong></span>
(default for <span><strong class="command">named-checkzone</strong></span>) 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>.
If <code class="filename">filename</code> is <code class="filename">-</code> then
write to standard out.
This is mandatory for <span><strong class="command">named-compilezone</strong></span>.
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>style</code></em></span></dt>
<dd><p>
Specify the style of the dumped zone file.
Possible styles are <span><strong class="command">"full"</strong></span> (default)
and <span><strong class="command">"relative"</strong></span>.
The full format is most suitable for processing
automatically by a separate script.
On the other hand, the relative format is more
human-readable and is thus suitable for editing by hand.
For <span><strong class="command">named-checkzone</strong></span>
this does not cause any effects unless it dumps the zone
contents.
It also does not have any meaning if the output format
is not text.
</p></dd>
<dt><span class="term">-S <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Check if a SRV record refers to a CNAME.
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">-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.
This is always enabled for <span><strong class="command">named-compilezone</strong></span>.
</p></dd>
<dt><span class="term">-W <em class="replaceable"><code>mode</code></em></span></dt>
<dd><p>
Specify whether to check for non-terminal wildcards.
Non-terminal wildcards are almost always the result of a
failure to understand the wildcard matching algorithm (RFC 1034).
Possible modes are <span><strong class="command">"warn"</strong></span> (default)
and
<span><strong class="command">"ignore"</strong></span>.
</p></dd>
<dt><span class="term">zonename</span></dt>
<dd><p>
The domain name of the zone being checked.
</p></dd>
The domain name of the zone being checked.
</p></dd>
<dt><span class="term">filename</span></dt>
<dd><p>
The name of the zone file.
</p></dd>
The name of the zone file.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544325"></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.
<a name="id2543512"></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="id2544337"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<a name="id2543525"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<em class="citetitle">RFC 1035</em>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544361"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
<a name="id2543560"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>

View File

@@ -43,7 +43,7 @@ RSC=rc.exe
# 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/isccfg/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool
# 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
@@ -70,7 +70,7 @@ LINK32=link.exe
# 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/isccfg/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool
# 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

View File

@@ -1,29 +1,29 @@
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>
{{{
}}}
###############################################################################
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/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/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/isccfg/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/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"
# 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"
!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/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/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/isccfg/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/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
# 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
!ENDIF

View File

@@ -25,9 +25,6 @@ NULL=
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
@@ -111,21 +108,10 @@ 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"
@@ -138,99 +124,8 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/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
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/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" \
"..\..\..\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"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
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"
-@erase "$(INTDIR)\named-checkconf.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkconf.pdb"
-@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_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/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /I "../../../lib/isccfg/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)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
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) @<<
@@ -262,6 +157,116 @@ LINK32_OBJS= \
$(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/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_OBJS= \
"$(INTDIR)\check-tool.obj" \
"$(INTDIR)\named-checkconf.obj"
"..\..\..\Build\Release\named-checkconf.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\named-checkconf.exe" "$(OUTDIR)\namedcheckconf.bsc"
CLEAN :
-@erase "$(INTDIR)\check-tool.obj"
-@erase "$(INTDIR)\check-tool.sbr"
-@erase "$(INTDIR)\named-checkconf.obj"
-@erase "$(INTDIR)\named-checkconf.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkconf.pdb"
-@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
.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)\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")
@@ -285,84 +290,6 @@ 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
!IF "$(CFG)" == "namedcheckconf - Win32 Release"
"libisccfg - Win32 Release" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release"
cd "..\..\..\bin\check\win32"
"libisccfg - Win32 ReleaseCLEAN" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Release" RECURSE=1 CLEAN
cd "..\..\..\bin\check\win32"
!ELSEIF "$(CFG)" == "namedcheckconf - Win32 Debug"
"libisccfg - Win32 Debug" :
cd "..\..\..\lib\isccfg\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisccfg.mak" CFG="libisccfg - Win32 Debug"
cd "..\..\..\bin\check\win32"
"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

View File

@@ -42,8 +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/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /YX /FD /c
# SUBTRACT CPP /Fr
# 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 BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -51,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 ../../../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 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"
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
@@ -67,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/isc/noatomic/include" /I "../../../lib/dns/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" /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"
@@ -76,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 ../../../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 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
!ENDIF

View File

@@ -104,25 +104,20 @@ _VC_MANIFEST_CLEAN=
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
!IF "$(RECURSE)" == "0"
ALL : "..\..\..\Build\Release\named-checkzone.exe" "$(OUTDIR)\namedcheckzone.bsc"
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)
@@ -130,98 +125,7 @@ CLEAN :
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/isc/noatomic/include" /I "../../../lib/dns/include" /I "../../../lib/isccfg/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) @<<
$(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)\namedcheckzone.bsc"
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 ../../../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" \
"..\..\..\lib\dns\win32\Release\libdns.lib" \
"..\..\..\lib\isccfg\win32\Release\libisccfg.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"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
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"
-@erase "$(INTDIR)\named-checkzone.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkzone.pdb"
-@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)"
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/isc/noatomic/include" /I "../../../lib/dns/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 /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
.c{$(INTDIR)}.obj::
$(CPP) @<<
@@ -266,13 +170,94 @@ 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 ../../../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_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" \
"..\..\..\lib\dns\win32\Debug\libdns.lib" \
"..\..\..\lib\isccfg\win32\Debug\libisccfg.lib" \
"..\..\..\lib\isc\win32\Debug\libisc.lib"
"$(INTDIR)\named-checkzone.obj"
"..\..\..\Build\Release\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\named-checkzone.exe" "$(OUTDIR)\namedcheckzone.bsc"
CLEAN :
-@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 "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\named-checkzone.pdb"
-@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)"
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 "__STDC__" /D "WIN32" /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)\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/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"
"..\..\..\Build\Debug\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
@@ -295,92 +280,16 @@ 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
!IF "$(CFG)" == "namedcheckzone - 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)" == "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

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.40 2007/06/18 23:47:17 tbox Exp $
# $Id: Makefile.in,v 1.25.2.4 2004/08/18 23:22:52 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,35 +21,26 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISC_INCLUDES} ${LWRES_INCLUDES}
CINCLUDES = -I${srcdir}/include ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS =
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
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} ${BIND9DEPLIBS} ${ISCDEPLIBS} ${ISCCFGDEPLIBS} \
${LWRESDEPLIBS}
DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \
${ISCCFGLIBS} @IDNLIBS@ @LIBS@
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
SUBDIRS =
TARGETS = dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@
TARGETS = dig host nslookup
OBJS = dig.@O@ dighost.@O@ host.@O@ nslookup.@O@
@@ -65,17 +56,14 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dig.@O@ dighost.@O@ ${UOBJS} ${LIBS}
dig: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dig.@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}
host: host.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ host.@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}
nslookup: nslookup.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nslookup.@O@ dighost.@O@ ${UOBJS} ${LIBS}
doc man:: ${MANOBJS}
@@ -89,13 +77,8 @@ installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
install:: dig@EXEEXT@ host@EXEEXT@ nslookup@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
dig@EXEEXT@ ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
host@EXEEXT@ ${DESTDIR}${bindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} \
nslookup@EXEEXT@ ${DESTDIR}${bindir}
for m in ${MANPAGES}; do \
${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man1; \
done
install:: dig host nslookup installdirs
${LIBTOOL_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

View File

@@ -1,5 +1,5 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 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
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dig.1,v 1.45 2007/05/16 06:12:00 marka Exp $
.\" $Id: dig.1,v 1.14.2.17 2007/05/16 06:57:45 marka Exp $
.\"
.hy 0
.ad l
@@ -33,7 +33,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\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-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...]
.HP 4
\fBdig\fR [\fB\-h\fR]
.HP 4
@@ -61,7 +61,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.
@@ -70,9 +70,7 @@ The IN and CH class names overlap with the IN and CH top level domains names. Ei
\fB\-t\fR
and
\fB\-c\fR
options to specify the type and class or use the
\fB\-q\fR
the specify the domain name or use "IN." and "CH." when looking up these top level domains.
options to specify the type and class or use "IN." and "CH." when looking up these top level domains.
.SH "SIMPLE USAGE"
.PP
A typical invocation of
@@ -122,7 +120,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 or "0.0.0.0" or "::". An optional port may be specified by appending "#<port>"
\fIaddress\fR. This must be a valid address on one of the host's network interfaces.
.PP
The default query class (IN for internet) is overridden by the
\fB\-c\fR
@@ -148,16 +146,6 @@ 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 BIND 9. The default query type is "A", unless the
@@ -168,13 +156,6 @@ is set to
ixfr=N. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone's SOA record was
\fIN\fR.
.PP
The
\fB\-q\fR
option sets the query name to
\fIname\fR. This useful do distinguish the
\fIname\fR
from other arguments.
.PP
Reverse lookups \(em mapping addresses to names \(em are simplified by the
\fB\-x\fR
option.
@@ -188,9 +169,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 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.
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.
.PP
To sign the DNS queries sent by
\fBdig\fR
@@ -199,8 +180,6 @@ and their responses using transaction signatures (TSIG), specify a TSIG key file
option. You can also specify the TSIG key itself on the command line using the
\fB\-y\fR
option;
\fIhmac\fR
is the type of the TSIG, default HMAC\-MD5,
\fIname\fR
is the name of the TSIG key and
\fIkey\fR
@@ -208,7 +187,7 @@ is the actual key. The key is a base\-64 encoded string, typically generated by
\fBdnssec\-keygen\fR(8). Caution should be taken when using the
\fB\-y\fR
option on multi\-user systems as the key can be visible in the output from
\fBps\fR(1)
\fBps\fR(1 )
or in the shell's history file. When using TSIG authentication with
\fBdig\fR, the name server that is queried needs to know the key and algorithm that is being used. In BIND, this is done by providing appropriate
\fBkey\fR
@@ -261,11 +240,6 @@ Use [do not use] the search list defined by the searchlist or domain directive i
(if any). The search list is not used by default.
.RE
.PP
\fB+[no]showsearch\fR
.RS 4
Perform [do not perform] a search showing intermediate results.
.RE
.PP
\fB+[no]defname\fR
.RS 4
Deprecated, treated as a synonym for
@@ -274,13 +248,9 @@ Deprecated, treated as a synonym for
.PP
\fB+[no]aaonly\fR
.RS 4
Sets the "aa" flag in the query.
.RE
.PP
\fB+[no]aaflag\fR
.RS 4
A synonym for
\fI+[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.
.RE
.PP
\fB+[no]adflag\fR
@@ -293,16 +263,6 @@ Set [do not set] the AD (authentic data) bit in the query. The AD bit currently
Set [do not set] the CD (checking disabled) bit in the query. This requests the server to not perform DNSSEC validation of responses.
.RE
.PP
\fB+[no]cl\fR
.RS 4
Display [do not display] the CLASS when printing the record.
.RE
.PP
\fB+[no]ttlid\fR
.RS 4
Display [do not display] the TTL when printing the record.
.RE
.PP
\fB+[no]recurse\fR
.RS 4
Toggle the setting of the RD (recursion desired) bit in the query. This bit is set by default, which means
@@ -398,19 +358,11 @@ to less than 1 will result in a query timeout of 1 second being applied.
.PP
\fB+tries=T\fR
.RS 4
Sets the number of times to try UDP queries to server to
Sets the number of times to retry 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 tries is silently rounded up to 1.
.RE
.PP
\fB+retry=T\fR
.RS 4
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.
is less than or equal to zero, the number of retries is silently rounded up to 1.
.RE
.PP
\fB+ndots=D\fR
@@ -432,14 +384,7 @@ directive in
.RS 4
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. Values other than zero will cause a EDNS query to be sent.
.RE
.PP
\fB+edns=#\fR
.RS 4
Specify the EDNS version to query with. Valid values are 0 to 255. Setting the EDNS version will cause a EDNS query to be sent.
\fB+noedns\fR
clears the remembered EDNS version.
bytes. The maximum and minimum sizes of this buffer are 65535 and 0 respectively. Values outside this range are rounded up or down appropriately.
.RE
.PP
\fB+[no]multiline\fR
@@ -463,32 +408,6 @@ Attempt to display the contents of messages which are malformed. The default is
.RS 4
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query.
.RE
.PP
\fB+[no]sigchase\fR
.RS 4
Chase DNSSEC signature chains. Requires dig be compiled with \-DDIG_SIGCHASE.
.RE
.PP
\fB+trusted\-key=####\fR
.RS 4
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.
.RE
.PP
\fB+[no]topdown\fR
.RS 4
When chasing DNSSEC signature chains perform a top\-down validation. Requires dig be compiled with \-DDIG_SIGCHASE.
.RE
.SH "MULTIPLE QUERIES"
.PP
The BIND 9 implementation of
@@ -525,17 +444,6 @@ which means that
\fBdig\fR
will not print the initial query when it looks up the NS records for
isc.org.
.SH "IDN SUPPORT"
.PP
If
\fBdig\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names.
\fBdig\fR
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server. If you'd like to turn off the IDN support for some reason, defines the
\fBIDN_DISABLE\fR
environment variable. The IDN support is disabled if the variable is set when
\fBdig\fR
runs.
.SH "FILES"
.PP
\fI/etc/resolv.conf\fR
@@ -553,5 +461,5 @@ There are probably too many query options.
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 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
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.html,v 1.41 2007/05/16 06:12:01 marka Exp $ -->
<!-- $Id: dig.html,v 1.6.2.23 2007/05/16 06:57:45 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,608 +22,449 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.dig"></a><div class="titlepage"></div>
<a name="id2476275"></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">-q <em class="replaceable"><code>name</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>[<span class="optional">hmac:</span>]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> [@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> [<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="id2543508"></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
displays the answers that are returned from the name server(s) that
were queried. Most DNS administrators use <span><strong class="command">dig</strong></span> to
troubleshoot DNS problems because of its flexibility, ease of use and
clarity of output. Other lookup tools tend to have less functionality
than <span><strong class="command">dig</strong></span>.
</p>
<a name="id2543474"></a><h2>DESCRIPTION</h2>
<p>
Although <span><strong class="command">dig</strong></span> is normally used with
command-line
arguments, it also has a batch mode of operation for reading lookup
requests from a file. A brief summary of its command-line arguments
and options is printed when the <code class="option">-h</code> option is given.
Unlike earlier versions, the BIND 9 implementation of
<span><strong class="command">dig</strong></span> allows multiple lookups to be issued
from the
command line.
</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
displays the answers that are returned from the name server(s) that
were queried. Most DNS administrators use <span><strong class="command">dig</strong></span> to
troubleshoot DNS problems because of its flexibility, ease of use and
clarity of output. Other lookup tools tend to have less functionality
than <span><strong class="command">dig</strong></span>.
</p>
<p>
Unless it is told to query a specific name server,
<span><strong class="command">dig</strong></span> will try each of the servers listed
in
<code class="filename">/etc/resolv.conf</code>.
</p>
Although <span><strong class="command">dig</strong></span> is normally used with command-line
arguments, it also has a batch mode of operation for reading lookup
requests from a file. A brief summary of its command-line arguments
and options is printed when the <code class="option">-h</code> option is given.
Unlike earlier versions, the BIND 9 implementation of
<span><strong class="command">dig</strong></span> allows multiple lookups to be issued from the
command line.
</p>
<p>
When no command line arguments or options are given, will perform an
NS query for "." (the root).
</p>
Unless it is told to query a specific name server,
<span><strong class="command">dig</strong></span> will try each of the servers listed in
<code class="filename">/etc/resolv.conf</code>.
</p>
<p>
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>
When no command line arguments or options are given, will perform an
NS query for "." (the root).
</p>
<p>
The IN and CH class names overlap with the IN and CH top level
domains names. Either use the <code class="option">-t</code> and
<code class="option">-c</code> options to specify the type and class or
use the <code class="option">-q</code> the specify the domain name or
use "IN." and "CH." when looking up these top level domains.
</p>
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>
<p>
The IN and CH class names overlap with the IN and CH top level
domains names. Either use the <code class="option">-t</code> and
<code class="option">-c</code> options to specify the type and class or
use "IN." and "CH." when looking up these top level domains.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543577"></a><h2>SIMPLE USAGE</h2>
<a name="id2543542"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
<pre class="programlisting"> dig @server name type </pre>
<p>
where:
<p> where:
</p>
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">server</code></span></dt>
<dd><p>
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
<em class="parameter"><code>server</code></em> argument is a
hostname,
<span><strong class="command">dig</strong></span> resolves that name before
querying that name
server. If no <em class="parameter"><code>server</code></em>
argument is provided,
<span><strong class="command">dig</strong></span> consults <code class="filename">/etc/resolv.conf</code>
and queries the name servers listed there. The reply from the
name
server that responds is displayed.
</p></dd>
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
<em class="parameter"><code>server</code></em> argument is a hostname,
<span><strong class="command">dig</strong></span> resolves that name before querying that name
server. If no <em class="parameter"><code>server</code></em> argument is provided,
<span><strong class="command">dig</strong></span> consults <code class="filename">/etc/resolv.conf</code>
and queries the name servers listed there. The reply from the name
server that responds is displayed.
</p></dd>
<dt><span class="term"><code class="constant">name</code></span></dt>
<dd><p>
is the name of the resource record that is to be looked up.
</p></dd>
is the name of the resource record that is to be looked up.
</p></dd>
<dt><span class="term"><code class="constant">type</code></span></dt>
<dd><p>
indicates what type of query is required &#8212;
ANY, A, MX, SIG, etc.
<em class="parameter"><code>type</code></em> can be any valid query
type. If no
<em class="parameter"><code>type</code></em> argument is supplied,
<span><strong class="command">dig</strong></span> will perform a lookup for an
A record.
</p></dd>
indicates what type of query is required &#8212;
ANY, A, MX, SIG, etc.
<em class="parameter"><code>type</code></em> can be any valid query type. If no
<em class="parameter"><code>type</code></em> argument is supplied,
<span><strong class="command">dig</strong></span> will perform a lookup for an A record.
</p></dd>
</dl></div>
<p>
</p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543668"></a><h2>OPTIONS</h2>
<a name="id2543621"></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 or "0.0.0.0" or "::". An optional
port
may be specified by appending "#&lt;port&gt;"
</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.
</p>
<p>
The default query class (IN for internet) is overridden by the
<code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
any valid
class, such as HS for Hesiod records or CH for Chaosnet records.
</p>
The default query class (IN for internet) is overridden by the
<code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is any valid
class, such as HS for Hesiod records or CH for Chaosnet records.
</p>
<p>
The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
operate
in batch mode by reading a list of lookup requests to process from the
file <em class="parameter"><code>filename</code></em>. The file contains a
number of
queries, one per line. Each entry in the file should be organized in
the same way they would be presented as queries to
<span><strong class="command">dig</strong></span> using the command-line interface.
</p>
The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span> operate
in batch mode by reading a list of lookup requests to process from the
file <em class="parameter"><code>filename</code></em>. The file contains a number of
queries, one per line. Each entry in the file should be organized in
the same way they would be presented as queries to
<span><strong class="command">dig</strong></span> using the command-line interface.
</p>
<p>
If a non-standard port number is to be queried, the
<code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
the port number that <span><strong class="command">dig</strong></span> 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.
</p>
If a non-standard port number is to be queried, the
<code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
the port number that <span><strong class="command">dig</strong></span> 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.
</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>
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 BIND 9. The default query type is "A", unless the
<code class="option">-x</code> option is supplied to indicate a reverse lookup.
A zone transfer can be requested by specifying a type of AXFR. When
an incremental zone transfer (IXFR) is required,
<em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
The incremental zone transfer will contain the changes made to the zone
since the serial number in the zone's SOA record was
<em class="parameter"><code>N</code></em>.
</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 BIND 9. The default query type is "A", unless the
<code class="option">-x</code> option is supplied to indicate a reverse lookup.
A zone transfer can be requested by specifying a type of AXFR. When
an incremental zone transfer (IXFR) is required,
<em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
The incremental zone transfer will contain the changes made to the zone
since the serial number in the zone's SOA record was
<em class="parameter"><code>N</code></em>.
</p>
Reverse lookups &#8212; mapping addresses to names &#8212; are simplified by the
<code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is an IPv4
address in dotted-decimal notation, or a colon-delimited IPv6 address.
When this option is used, there is no need to provide the
<em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
<em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
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.
</p>
<p>
The <code class="option">-q</code> option sets the query name to
<em class="parameter"><code>name</code></em>. This useful do distinguish the
<em class="parameter"><code>name</code></em> from other arguments.
</p>
<p>
Reverse lookups &#8212; mapping addresses to names &#8212; are simplified by the
<code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
an IPv4
address in dotted-decimal notation, or a colon-delimited IPv6 address.
When this option is used, there is no need to provide the
<em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
<em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
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 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
responses using transaction signatures (TSIG), specify a TSIG key file
using the <code class="option">-k</code> option. You can also specify the TSIG
key itself on the command line using the <code class="option">-y</code> option;
<em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
<em class="parameter"><code>name</code></em> is the name of the TSIG key and
<em class="parameter"><code>key</code></em> is the actual key. The key is a
base-64
encoded string, typically generated by
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and their
responses using transaction signatures (TSIG), specify a TSIG key file
using the <code class="option">-k</code> option. You can also specify the TSIG
key itself on the command line using the <code class="option">-y</code> option;
<em class="parameter"><code>name</code></em> is the name of the TSIG key and
<em class="parameter"><code>key</code></em> is the actual key. The key is a base-64
encoded string, typically generated by <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
Caution should be taken when using the <code class="option">-y</code> option on
multi-user systems as the key can be visible in the output from
<span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
or in the shell's history file. When
using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
server that is queried needs to know the key and algorithm that is
being used. In BIND, this is done by providing appropriate
<span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
<code class="filename">named.conf</code>.
</p>
Caution should be taken when using the <code class="option">-y</code> option on
multi-user systems as the key can be visible in the output from
<span class="citerefentry"><span class="refentrytitle">ps</span>(1
)</span> or in the shell's history file. When
using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
server that is queried needs to know the key and algorithm that is
being used. In BIND, this is done by providing appropriate
<span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
<code class="filename">named.conf</code>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543939"></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
these set or reset flag bits in the query header, some determine which
sections of the answer get printed, and others determine the timeout
and retry strategies.
</p>
<a name="id2543786"></a><h2>QUERY OPTIONS</h2>
<p>
Each query option is identified by a keyword preceded by a plus sign
(<code class="literal">+</code>). Some keywords set or reset an
option. These may be preceded
by the string <code class="literal">no</code> to negate the meaning of
that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <code class="option">+keyword=value</code>.
The query options are:
<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
these set or reset flag bits in the query header, some determine which
sections of the answer get printed, and others determine the timeout
and retry strategies.
</p>
<p>
Each query option is identified by a keyword preceded by a plus sign
(<code class="literal">+</code>). Some keywords set or reset an option. These may be preceded
by the string <code class="literal">no</code> to negate the meaning of that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <code class="option">+keyword=value</code>.
The query options are:
</p>
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
<dd><p>
Use [do not use] TCP when querying name servers. The default
behavior is to use UDP unless an AXFR or IXFR query is
requested, in
which case a TCP connection is used.
</p></dd>
Use [do not use] TCP when querying name servers. The default
behavior is to use UDP unless an AXFR or IXFR query is requested, in
which case a TCP connection is used.
</p></dd>
<dt><span class="term"><code class="option">+[no]vc</code></span></dt>
<dd><p>
Use [do not use] TCP when querying name servers. This alternate
syntax to <em class="parameter"><code>+[no]tcp</code></em> is
provided for backwards
compatibility. The "vc" stands for "virtual circuit".
</p></dd>
Use [do not use] TCP when querying name servers. This alternate
syntax to <em class="parameter"><code>+[no]tcp</code></em> is provided for backwards
compatibility. The "vc" stands for "virtual circuit".
</p></dd>
<dt><span class="term"><code class="option">+[no]ignore</code></span></dt>
<dd><p>
Ignore truncation in UDP responses instead of retrying with TCP.
By
default, TCP retries are performed.
</p></dd>
Ignore truncation in UDP responses instead of retrying with TCP. By
default, TCP retries are performed.
</p></dd>
<dt><span class="term"><code class="option">+domain=somename</code></span></dt>
<dd><p>
Set the search list to contain the single domain
<em class="parameter"><code>somename</code></em>, as if specified in
a
<span><strong class="command">domain</strong></span> directive in
<code class="filename">/etc/resolv.conf</code>, and enable
search list
processing as if the <em class="parameter"><code>+search</code></em>
option were given.
</p></dd>
Set the search list to contain the single domain
<em class="parameter"><code>somename</code></em>, as if specified in a
<span><strong class="command">domain</strong></span> directive in
<code class="filename">/etc/resolv.conf</code>, and enable search list
processing as if the <em class="parameter"><code>+search</code></em> option were given.
</p></dd>
<dt><span class="term"><code class="option">+[no]search</code></span></dt>
<dd><p>
Use [do not use] the search list defined by the searchlist or
domain
directive in <code class="filename">resolv.conf</code> (if
any).
The search list is not used by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]showsearch</code></span></dt>
<dd><p>
Perform [do not perform] a search showing intermediate
results.
</p></dd>
Use [do not use] the search list defined by the searchlist or domain
directive in <code class="filename">resolv.conf</code> (if any).
The search list is not used by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]defname</code></span></dt>
<dd><p>
Deprecated, treated as a synonym for <em class="parameter"><code>+[no]search</code></em>
</p></dd>
Deprecated, treated as a synonym for <em class="parameter"><code>+[no]search</code></em>
</p></dd>
<dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
<dd><p>
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>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
<dd><p>
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.
</p></dd>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
<dd><p>
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>
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]recurse</code></span></dt>
<dd><p>
Toggle the setting of the RD (recursion desired) bit in the
query.
This bit is set by default, which means <span><strong class="command">dig</strong></span>
normally sends recursive queries. Recursion is automatically
disabled
when the <em class="parameter"><code>+nssearch</code></em> or
<em class="parameter"><code>+trace</code></em> query options are
used.
</p></dd>
Toggle the setting of the RD (recursion desired) bit in the query.
This bit is set by default, which means <span><strong class="command">dig</strong></span>
normally sends recursive queries. Recursion is automatically disabled
when the <em class="parameter"><code>+nssearch</code></em> or
<em class="parameter"><code>+trace</code></em> query options are used.
</p></dd>
<dt><span class="term"><code class="option">+[no]nssearch</code></span></dt>
<dd><p>
When this option is set, <span><strong class="command">dig</strong></span>
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.
</p></dd>
When this option is set, <span><strong class="command">dig</strong></span> 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.
</p></dd>
<dt><span class="term"><code class="option">+[no]trace</code></span></dt>
<dd><p>
Toggle tracing of the delegation path from the root name servers
for
the name being looked up. Tracing is disabled by default. When
tracing is enabled, <span><strong class="command">dig</strong></span> makes
iterative queries to
resolve the name being looked up. It will follow referrals from
the
root servers, showing the answer from each server that was used
to
resolve the lookup.
</p></dd>
Toggle tracing of the delegation path from the root name servers for
the name being looked up. Tracing is disabled by default. When
tracing is enabled, <span><strong class="command">dig</strong></span> makes iterative queries to
resolve the name being looked up. It will follow referrals from the
root servers, showing the answer from each server that was used to
resolve the lookup.
</p></dd>
<dt><span class="term"><code class="option">+[no]cmd</code></span></dt>
<dd><p>
Toggles the printing of the initial comment in the output
identifying
the version of <span><strong class="command">dig</strong></span> and the query
options that have
been applied. This comment is printed by default.
</p></dd>
Toggles the printing of the initial comment in the output identifying
the version of <span><strong class="command">dig</strong></span> and the query options that have
been applied. This comment is printed by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]short</code></span></dt>
<dd><p>
Provide a terse answer. The default is to print the answer in a
verbose form.
</p></dd>
Provide a terse answer. The default is to print the answer in a
verbose form.
</p></dd>
<dt><span class="term"><code class="option">+[no]identify</code></span></dt>
<dd><p>
Show [or do not show] the IP address and port number that
supplied the
answer when the <em class="parameter"><code>+short</code></em> 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.
</p></dd>
Show [or do not show] the IP address and port number that supplied the
answer when the <em class="parameter"><code>+short</code></em> 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.
</p></dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
<dd><p>
Toggle the display of comment lines in the output. The default
is to
print comments.
</p></dd>
Toggle the display of comment lines in the output. The default is to
print comments.
</p></dd>
<dt><span class="term"><code class="option">+[no]stats</code></span></dt>
<dd><p>
This query option toggles the printing of statistics: when the
query
was made, the size of the reply and so on. The default
behavior is
to print the query statistics.
</p></dd>
This query option toggles the printing of statistics: when the query
was made, the size of the reply and so on. The default behavior is
to print the query statistics.
</p></dd>
<dt><span class="term"><code class="option">+[no]qr</code></span></dt>
<dd><p>
Print [do not print] the query as it is sent.
By default, the query is not printed.
</p></dd>
Print [do not print] the query as it is sent.
By default, the query is not printed.
</p></dd>
<dt><span class="term"><code class="option">+[no]question</code></span></dt>
<dd><p>
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.
</p></dd>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]answer</code></span></dt>
<dd><p>
Display [do not display] the answer section of a reply. The
default
is to display it.
</p></dd>
Display [do not display] the answer section of a reply. The default
is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]authority</code></span></dt>
<dd><p>
Display [do not display] the authority section of a reply. The
default is to display it.
</p></dd>
Display [do not display] the authority section of a reply. The
default is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]additional</code></span></dt>
<dd><p>
Display [do not display] the additional section of a reply.
The default is to display it.
</p></dd>
Display [do not display] the additional section of a reply.
The default is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]all</code></span></dt>
<dd><p>
Set or clear all display flags.
</p></dd>
Set or clear all display flags.
</p></dd>
<dt><span class="term"><code class="option">+time=T</code></span></dt>
<dd><p>
Sets the timeout for a query to
<em class="parameter"><code>T</code></em> seconds. The default
timeout is 5 seconds.
An attempt to set <em class="parameter"><code>T</code></em> to less
than 1 will result
in a query timeout of 1 second being applied.
</p></dd>
Sets the timeout for a query to
<em class="parameter"><code>T</code></em> seconds. The default timeout is 5 seconds.
An attempt to set <em class="parameter"><code>T</code></em> to less than 1 will result
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 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
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>
Sets the number of times to retry 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.
</p></dd>
<dt><span class="term"><code class="option">+ndots=D</code></span></dt>
<dd><p>
Set the number of dots that have to appear in
<em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em> for it to be
considered absolute. The default value is that defined using
the
ndots statement in <code class="filename">/etc/resolv.conf</code>, or 1 if no
ndots statement is present. Names with fewer dots are
interpreted as
relative names and will be searched for in the domains listed in
the
<code class="option">search</code> or <code class="option">domain</code> directive in
<code class="filename">/etc/resolv.conf</code>.
</p></dd>
Set the number of dots that have to appear in
<em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em> for it to be
considered absolute. The default value is that defined using the
ndots statement in <code class="filename">/etc/resolv.conf</code>, or 1 if no
ndots statement is present. Names with fewer dots are interpreted as
relative names and will be searched for in the domains listed in the
<code class="option">search</code> or <code class="option">domain</code> directive in
<code class="filename">/etc/resolv.conf</code>.
</p></dd>
<dt><span class="term"><code class="option">+bufsize=B</code></span></dt>
<dd><p>
Set the UDP message buffer size advertised using EDNS0 to
<em class="parameter"><code>B</code></em> bytes. The maximum and minimum sizes
of this buffer are 65535 and 0 respectively. Values outside
this range are rounded up or down appropriately.
Values other than zero will cause a EDNS query to be sent.
</p></dd>
<dt><span class="term"><code class="option">+edns=#</code></span></dt>
<dd><p>
Specify the EDNS version to query with. Valid values
are 0 to 255. Setting the EDNS version will cause a
EDNS query to be sent. <code class="option">+noedns</code> clears the
remembered EDNS version.
</p></dd>
Set the UDP message buffer size advertised using EDNS0 to
<em class="parameter"><code>B</code></em> bytes. The maximum and minimum sizes of this
buffer are 65535 and 0 respectively. Values outside this range are
rounded up or down appropriately.
</p></dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
<dd><p>
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 <span><strong class="command">dig</strong></span> output.
</p></dd>
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 <span><strong class="command">dig</strong></span> output.
</p></dd>
<dt><span class="term"><code class="option">+[no]fail</code></span></dt>
<dd><p>
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
behavior.
</p></dd>
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
behavior.
</p></dd>
<dt><span class="term"><code class="option">+[no]besteffort</code></span></dt>
<dd><p>
Attempt to display the contents of messages which are malformed.
The default is to not display malformed answers.
</p></dd>
Attempt to display the contents of messages which are malformed.
The default is to not display malformed answers.
</p></dd>
<dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
<dd><p>
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>
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>
</dl></div>
<p>
</p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545128"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2544354"></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
supporting the <code class="option">-f</code> batch file option). Each of those
queries can be supplied with its own set of flags, options and query
options.
</p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span> supports
specifying multiple queries on the command line (in addition to
supporting the <code class="option">-f</code> batch file option). Each of those
queries can be supplied with its own set of flags, options and query
options.
</p>
<p>
In this case, each <em class="parameter"><code>query</code></em> argument
represent an
individual query in the command-line syntax described above. Each
consists of any of the standard options and flags, the name to be
looked up, an optional query type and class and any query options that
should be applied to that query.
</p>
In this case, each <em class="parameter"><code>query</code></em> argument represent an
individual query in the command-line syntax described above. Each
consists of any of the standard options and flags, the name to be
looked up, an optional query type and class and any query options that
should be applied to that query.
</p>
<p>
A global set of query options, which should be applied to all queries,
can also be supplied. These global query options must precede the
first tuple of name, class, type, options, flags, and query options
supplied on the command line. Any global query options (except
the <code class="option">+[no]cmd</code> option) can be
overridden by a query-specific set of query options. For example:
</p>
A global set of query options, which should be applied to all queries,
can also be supplied. These global query options must precede the
first tuple of name, class, type, options, flags, and query options
supplied on the command line. Any global query options (except
the <code class="option">+[no]cmd</code> option) can be
overridden by a query-specific set of query options. For example:
</p>
<pre class="programlisting">
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</pre>
<p>
shows how <span><strong class="command">dig</strong></span> could be used from the
command line
to make three lookups: an ANY query for <code class="literal">www.isc.org</code>, a
reverse lookup of 127.0.0.1 and a query for the NS records of
<code class="literal">isc.org</code>.
shows how <span><strong class="command">dig</strong></span> could be used from the command line
to make three lookups: an ANY query for <code class="literal">www.isc.org</code>, a
reverse lookup of 127.0.0.1 and a query for the NS records of
<code class="literal">isc.org</code>.
A global query option of <em class="parameter"><code>+qr</code></em> is
applied, so
that <span><strong class="command">dig</strong></span> shows the initial query it made
for each
lookup. The final query has a local query option of
<em class="parameter"><code>+noqr</code></em> which means that <span><strong class="command">dig</strong></span>
will not print the initial query when it looks up the NS records for
<code class="literal">isc.org</code>.
</p>
A global query option of <em class="parameter"><code>+qr</code></em> is applied, so
that <span><strong class="command">dig</strong></span> shows the initial query it made for each
lookup. The final query has a local query option of
<em class="parameter"><code>+noqr</code></em> which means that <span><strong class="command">dig</strong></span>
will not print the initial query when it looks up the NS records for
<code class="literal">isc.org</code>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545258"></a><h2>IDN SUPPORT</h2>
<a name="id2544481"></a><h2>FILES</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span><strong class="command">dig</strong></span> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <code class="envar">IDN_DISABLE</code> environment variable.
The IDN support is disabled if the variable is set when
<span><strong class="command">dig</strong></span> runs.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545281"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545298"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">RFC1035</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545335"></a><h2>BUGS</h2>
<code class="filename">/etc/resolv.conf</code>
</p>
<p>
There are probably too many query options.
</p>
<code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544500"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">RFC1035</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544606"></a><h2>BUGS </h2>
<p>
There are probably too many query options.
</p>
</div>
</div></body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
.\" Copyright (C) 2004, 2005, 2007 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: host.1,v 1.28 2007/05/09 03:33:50 marka Exp $
.\" $Id: host.1,v 1.11.2.9 2007/05/09 03:32:21 marka Exp $
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
host \- DNS lookup utility
.SH "SYNOPSIS"
.HP 5
\fBhost\fR [\fB\-aCdlnrsTwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-4\fR] [\fB\-6\fR] {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] {name} [server]
.SH "DESCRIPTION"
.PP
\fBhost\fR
@@ -89,13 +89,11 @@ List mode is selected by the
option. This makes
\fBhost\fR
perform a zone transfer for zone
\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.
\fIname\fR. The argument is provided for compatibility with older implementations. This option is equivalent to making a query of type AXFR.
.PP
The
\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.
\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.
.PP
The
\fB\-N\fR
@@ -139,16 +137,6 @@ 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
@@ -160,7 +148,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. 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).
will query for PTR records.
.PP
The time to wait for a reply can be controlled through the
\fB\-W\fR
@@ -179,32 +167,6 @@ is less than one, the wait interval is set to one second. When the
option is used,
\fBhost\fR
will effectively wait forever for a reply. The time to wait for a response will be set to the number of seconds given by the hardware's maximum value for an integer quantity.
.PP
The
\fB\-s\fR
option tells
\fBhost\fR
\fInot\fR
to send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior.
.PP
The
\fB\-m\fR
can be used to set the memory usage debugging flags
\fIrecord\fR,
\fIusage\fR
and
\fItrace\fR.
.SH "IDN SUPPORT"
.PP
If
\fBhost\fR
has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names.
\fBhost\fR
appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server. If you'd like to turn off the IDN support for some reason, defines the
\fBIDN_DISABLE\fR
environment variable. The IDN support is disabled if the variable is set when
\fBhost\fR
runs.
.SH "FILES"
.PP
\fI/etc/resolv.conf\fR
@@ -215,5 +177,5 @@ runs.
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2002 Internet Software Consortium.
Copyright \(co 2000\-2003 Internet Software Consortium.
.br

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,33 +15,18 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: host.c,v 1.114 2007/06/18 23:47:17 tbox Exp $ */
/*! \file */
/* $Id: host.c,v 1.76.2.13 2007/08/28 07:18:13 tbox Exp $ */
#include <config.h>
#include <stdlib.h>
#include <limits.h>
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
#ifdef WITH_IDN
#include <idn/result.h>
#include <idn/log.h>
#include <idn/resconf.h>
#include <idn/api.h>
#endif
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/netaddr.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
#include <isc/task.h>
#include <isc/stdlib.h>
#include <dns/byaddr.h>
#include <dns/fixedname.h>
@@ -51,16 +36,12 @@
#include <dns/rdataclass.h>
#include <dns/rdataset.h>
#include <dns/rdatatype.h>
#include <dns/rdatastruct.h>
#include <dig/dig.h>
static isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static isc_boolean_t default_lookups = ISC_TRUE;
static int seen_error = -1;
static isc_boolean_t list_addresses = ISC_TRUE;
static dns_rdatatype_t list_type = dns_rdatatype_a;
static isc_boolean_t printed_server = ISC_FALSE;
static const char *opcodetext[] = {
"QUERY",
@@ -101,52 +82,131 @@ static const char *rcodetext[] = {
"BADVERS"
};
struct rtype {
unsigned int type;
const char *text;
};
static const char *rtypetext[] = {
"zero", /* 0 */
"has address", /* 1 */
"name server", /* 2 */
"MD", /* 3 */
"MF", /* 4 */
"is an alias for", /* 5 */
"SOA", /* 6 */
"MB", /* 7 */
"MG", /* 8 */
"MR", /* 9 */
"NULL", /* 10 */
"has well known services", /* 11 */
"domain name pointer", /* 12 */
"host information", /* 13 */
"MINFO", /* 14 */
"mail is handled by", /* 15 */
"text", /* 16 */
"RP", /* 17 */
"AFSDB", /* 18 */
"x25 address", /* 19 */
"isdn address", /* 20 */
"RT", /* 21 */
"NSAP", /* 22 */
"NSAP_PTR", /* 23 */
"has signature", /* 24 */
"has key", /* 25 */
"PX", /* 26 */
"GPOS", /* 27 */
"has AAAA address", /* 28 */
"LOC", /* 29 */
"has next record", /* 30 */
"EID", /* 31 */
"NIMLOC", /* 32 */
"SRV", /* 33 */
"ATMA", /* 34 */
"NAPTR", /* 35 */
"KX", /* 36 */
"CERT", /* 37 */
"has v6 address", /* 38 */
"DNAME", /* 39 */
"has optional information", /* 41 */
"has 42 record", /* 42 */
"has 43 record", /* 43 */
"has 44 record", /* 44 */
"has 45 record", /* 45 */
"has 46 record", /* 46 */
"has 47 record", /* 47 */
"has 48 record", /* 48 */
"has 49 record", /* 49 */
"has 50 record", /* 50 */
"has 51 record", /* 51 */
"has 52 record", /* 52 */
"has 53 record", /* 53 */
"has 54 record", /* 54 */
"has 55 record", /* 55 */
"has 56 record", /* 56 */
"has 57 record", /* 57 */
"has 58 record", /* 58 */
"has 59 record", /* 59 */
"has 60 record", /* 60 */
"has 61 record", /* 61 */
"has 62 record", /* 62 */
"has 63 record", /* 63 */
"has 64 record", /* 64 */
"has 65 record", /* 65 */
"has 66 record", /* 66 */
"has 67 record", /* 67 */
"has 68 record", /* 68 */
"has 69 record", /* 69 */
"has 70 record", /* 70 */
"has 71 record", /* 71 */
"has 72 record", /* 72 */
"has 73 record", /* 73 */
"has 74 record", /* 74 */
"has 75 record", /* 75 */
"has 76 record", /* 76 */
"has 77 record", /* 77 */
"has 78 record", /* 78 */
"has 79 record", /* 79 */
"has 80 record", /* 80 */
"has 81 record", /* 81 */
"has 82 record", /* 82 */
"has 83 record", /* 83 */
"has 84 record", /* 84 */
"has 85 record", /* 85 */
"has 86 record", /* 86 */
"has 87 record", /* 87 */
"has 88 record", /* 88 */
"has 89 record", /* 89 */
"has 90 record", /* 90 */
"has 91 record", /* 91 */
"has 92 record", /* 92 */
"has 93 record", /* 93 */
"has 94 record", /* 94 */
"has 95 record", /* 95 */
"has 96 record", /* 96 */
"has 97 record", /* 97 */
"has 98 record", /* 98 */
"has 99 record", /* 99 */
"UINFO", /* 100 */
"UID", /* 101 */
"GID", /* 102 */
"UNSPEC"}; /* 103 */
struct rtype rtypes[] = {
{ 1, "has address" },
{ 2, "name server" },
{ 5, "is an alias for" },
{ 11, "has well known services" },
{ 12, "domain name pointer" },
{ 13, "host information" },
{ 15, "mail is handled by" },
{ 16, "descriptive text" },
{ 19, "x25 address" },
{ 20, "ISDN address" },
{ 24, "has signature" },
{ 25, "has key" },
{ 28, "has IPv6 address" },
{ 29, "location" },
{ 0, NULL }
};
static void
show_usage(void) {
fputs(
"Usage: host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time]\n"
" [-R number] [-m flag] hostname [server]\n"
"Usage: host [-aCdlrTwv] [-c class] [-n] [-N ndots] [-t type] [-W time]\n"
" [-R number] hostname [server]\n"
" -a is equivalent to -v -t ANY\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 IP6.INT reverse lookups\n"
" -i Use the old IN6.INT form of IPv6 reverse lookup\n"
" -N changes the number of dots allowed before root lookup is done\n"
" -r disables recursive processing\n"
" -R specifies number of retries for UDP packets\n"
" -s a SERVFAIL response should stop query\n"
" -t specifies the query type\n"
" -T enables TCP/IP mode\n"
" -v enables verbose output\n"
" -w specifies to wait forever for a reply\n"
" -W specifies how long to wait for a reply\n"
" -4 use IPv4 query transport only\n"
" -6 use IPv6 query transport only\n"
" -m set memory debugging flag (trace|record|usage)\n", stderr);
" -W specifies how long to wait for a reply\n", stderr);
exit(1);
}
@@ -156,14 +216,17 @@ 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));
TIME_NOW(&now);
result = isc_time_now(&now);
check_result(result, "isc_time_now");
diff = (int) isc_time_microdiff(&now, &query->time_sent);
printf("Received %u bytes from %s in %d ms\n",
bytes, fromtext, diff/1000);
@@ -212,18 +275,8 @@ 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,
@@ -239,6 +292,7 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
char t[4096];
isc_boolean_t first;
isc_boolean_t no_rdata;
const char *rtt;
if (sectionid == DNS_SECTION_QUESTION)
no_rdata = ISC_TRUE;
@@ -296,27 +350,15 @@ printsection(dns_message_t *msg, dns_section_t sectionid,
} else {
loopresult = dns_rdataset_first(rdataset);
while (loopresult == ISC_R_SUCCESS) {
struct rtype *t;
const char *rtt;
char typebuf[DNS_RDATATYPE_FORMATSIZE];
char typebuf2[DNS_RDATATYPE_FORMATSIZE
+ 20];
dns_rdataset_current(rdataset, &rdata);
for (t = rtypes; t->text != NULL; t++) {
if (t->type == rdata.type) {
rtt = t->text;
goto found;
}
}
dns_rdatatype_format(rdata.type,
typebuf,
sizeof(typebuf));
snprintf(typebuf2, sizeof(typebuf2),
"has %s record", typebuf);
rtt = typebuf2;
found:
if (rdata.type <= 103)
rtt = rtypetext[rdata.type];
else if (rdata.type == 249)
rtt = "key";
else if (rdata.type == 250)
rtt = "signature";
else
rtt = "unknown";
say_message(print_name, rtt,
&rdata, query);
dns_rdata_reset(&rdata);
@@ -369,49 +411,16 @@ printrdata(dns_message_t *msg, dns_rdataset_t *rdataset, dns_name_t *owner,
return (ISC_R_SUCCESS);
}
static void
chase_cnamechain(dns_message_t *msg, dns_name_t *qname) {
isc_result_t result;
dns_rdataset_t *rdataset;
dns_rdata_cname_t cname;
dns_rdata_t rdata = DNS_RDATA_INIT;
unsigned int i = msg->counts[DNS_SECTION_ANSWER];
while (i-- > 0) {
rdataset = NULL;
result = dns_message_findname(msg, DNS_SECTION_ANSWER, qname,
dns_rdatatype_cname, 0, NULL,
&rdataset);
if (result != ISC_R_SUCCESS)
return;
result = dns_rdataset_first(rdataset);
check_result(result, "dns_rdataset_first");
dns_rdata_reset(&rdata);
dns_rdataset_current(rdataset, &rdata);
result = dns_rdata_tostruct(&rdata, &cname, NULL);
check_result(result, "dns_rdata_tostruct");
dns_name_copy(&cname.cname, qname, NULL);
dns_rdata_freestruct(&cname);
}
}
isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_boolean_t did_flag = ISC_FALSE;
dns_rdataset_t *opt, *tsig = NULL;
dns_name_t *tsigname;
isc_result_t result = ISC_R_SUCCESS;
int force_error;
UNUSED(headers);
/*
* We get called multiple times.
* Preserve any existing error status.
*/
force_error = (seen_error == 1) ? 1 : 0;
seen_error = 1;
if (listed_server && !printed_server) {
if (listed_server) {
char sockstr[ISC_SOCKADDR_FORMATSIZE];
printf("Using domain server:\n");
@@ -420,7 +429,6 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
sizeof(sockstr));
printf("Address: %s\n", sockstr);
printf("Aliases: \n\n");
printed_server = ISC_TRUE;
}
if (msg->rcode != 0) {
@@ -432,43 +440,6 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
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;
dns_fixedname_t fixed;
dns_name_t *name;
/* Add AAAA and MX lookups. */
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
dns_name_copy(query->lookup->name, name, NULL);
chase_cnamechain(msg, name);
dns_name_format(name, namestr, sizeof(namestr));
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_aaaa;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
lookup = clone_lookup(query->lookup, ISC_FALSE);
if (lookup != NULL) {
strncpy(lookup->textname, namestr,
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1] = 0;
lookup->rdtype = dns_rdatatype_mx;
lookup->rdtypeset = ISC_TRUE;
lookup->origin = NULL;
lookup->retries = tries;
ISC_LIST_APPEND(lookup_list, lookup, link);
}
}
if (!short_form) {
printf(";; ->>HEADER<<- opcode: %s, status: %s, id: %u\n",
opcodetext[msg->opcode], rcodetext[msg->rcode],
@@ -561,65 +532,9 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (!short_form)
printf("\n");
if (short_form && !default_lookups &&
ISC_LIST_EMPTY(msg->sections[DNS_SECTION_ANSWER])) {
char namestr[DNS_NAME_FORMATSIZE];
char typestr[DNS_RDATATYPE_FORMATSIZE];
dns_name_format(query->lookup->name, namestr, sizeof(namestr));
dns_rdatatype_format(query->lookup->rdtype, typestr,
sizeof(typestr));
printf("%s has no %s record\n", namestr, typestr);
}
seen_error = force_error;
return (result);
}
static const char * optstring = "46ac:dilnm:rst:vwCDN:R:TW:";
static void
pre_parse_args(int argc, char **argv) {
int c;
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
switch (c) {
case 'm':
if (strcasecmp("trace", isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGTRACE;
else if (!strcasecmp("record",
isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGRECORD;
else if (strcasecmp("usage",
isc_commandline_argument) == 0)
isc_mem_debugging |= ISC_MEM_DEBUGUSAGE;
break;
case '4': break;
case '6': break;
case 'a': break;
case 'c': break;
case 'd': break;
case 'i': break;
case 'l': break;
case 'n': break;
case 'r': break;
case 's': break;
case 't': break;
case 'v': break;
case 'w': break;
case 'C': break;
case 'D': break;
case 'N': break;
case 'R': break;
case 'T': break;
case 'W': break;
default:
show_usage();
}
}
isc_commandline_reset = ISC_TRUE;
isc_commandline_index = 1;
}
static void
parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
char hostname[MXNAME];
@@ -630,16 +545,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();
lookup->servfail_stops = ISC_FALSE;
lookup->comments = ISC_FALSE;
while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
while ((c = isc_commandline_parse(argc, argv, "ilvwrdt:c:aTCN:R:W:Dn"))
!= EOF) {
switch (c) {
case 'l':
lookup->tcp_mode = ISC_TRUE;
@@ -655,51 +567,27 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
lookup->recurse = ISC_FALSE;
break;
case 't':
if (strncasecmp(isc_commandline_argument,
"ixfr=", 5) == 0) {
rdtype = dns_rdatatype_ixfr;
/* XXXMPA add error checking */
serial = strtoul(isc_commandline_argument + 5,
NULL, 10);
result = ISC_R_SUCCESS;
} else {
tr.base = isc_commandline_argument;
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
tr.base = isc_commandline_argument;
tr.length = strlen(isc_commandline_argument);
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
}
if (result != ISC_R_SUCCESS) {
fatalexit = 2;
fatal("invalid type: %s\n",
isc_commandline_argument);
}
}
if (!lookup->rdtypeset ||
lookup->rdtype != dns_rdatatype_axfr)
lookup->rdtype = rdtype;
lookup->rdtypeset = ISC_TRUE;
#ifdef WITH_IDN
idnoptions = 0;
#endif
if (rdtype == dns_rdatatype_axfr) {
/* -l -t any -v */
list_type = dns_rdatatype_any;
short_form = ISC_FALSE;
lookup->tcp_mode = ISC_TRUE;
} else if (rdtype == dns_rdatatype_ixfr) {
lookup->ixfr_serial = serial;
list_type = rdtype;
#ifdef WITH_IDN
} else if (rdtype == dns_rdatatype_a ||
rdtype == dns_rdatatype_aaaa ||
rdtype == dns_rdatatype_mx) {
idnoptions = IDN_ASCCHECK;
list_type = rdtype;
#endif
} else
list_type = rdtype;
list_addresses = ISC_FALSE;
default_lookups = ISC_FALSE;
break;
case 'c':
tr.base = isc_commandline_argument;
@@ -715,7 +603,6 @@ 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 ||
@@ -725,16 +612,11 @@ 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 'm':
/* Handled by pre_parse_args(). */
break;
case 'w':
/*
@@ -749,9 +631,9 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
timeout = 1;
break;
case 'R':
tries = atoi(isc_commandline_argument) + 1;
if (tries < 2)
tries = 2;
tries = atoi(isc_commandline_argument);
if (tries < 1)
tries = 1;
break;
case 'T':
lookup->tcp_mode = ISC_TRUE;
@@ -765,7 +647,6 @@ 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",
@@ -775,48 +656,26 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
case 'D':
debugging = ISC_TRUE;
break;
case '4':
if (have_ipv4) {
isc_net_disableipv6();
have_ipv6 = ISC_FALSE;
} else
fatal("can't find IPv4 networking");
break;
case '6':
if (have_ipv6) {
isc_net_disableipv4();
have_ipv4 = ISC_FALSE;
} else
fatal("can't find IPv6 networking");
break;
case 's':
lookup->servfail_stops = ISC_TRUE;
break;
}
}
lookup->retries = tries;
if (isc_commandline_index >= argc)
if (isc_commandline_index >= argc) {
show_usage();
}
strncpy(hostname, argv[isc_commandline_index], sizeof(hostname));
hostname[sizeof(hostname)-1]=0;
if (argc > isc_commandline_index + 1) {
set_nameserver(argv[isc_commandline_index+1]);
debug("server is %s", argv[isc_commandline_index+1]);
listed_server = ISC_TRUE;
} else
check_ra = ISC_TRUE;
}
lookup->pending = ISC_FALSE;
if (get_reverse(store, sizeof(store), hostname,
lookup->ip6_int, ISC_TRUE) == ISC_R_SUCCESS) {
if (get_reverse(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;
@@ -831,20 +690,14 @@ int
main(int argc, char **argv) {
isc_result_t result;
tries = 2;
ISC_LIST_INIT(lookup_list);
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
fatalexit = 1;
#ifdef WITH_IDN
idnoptions = IDN_ASCCHECK;
#endif
debug("main()");
progname = argv[0];
pre_parse_args(argc, argv);
result = isc_app_start();
check_result(result, "isc_app_start");
setup_libs();
@@ -856,5 +709,6 @@ main(int argc, char **argv) {
cancel_all();
destroy_libs();
isc_app_finish();
return ((seen_error == 0) ? 0 : 1);
return (0);
}

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007 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/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -18,23 +18,19 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.docbook,v 1.16 2007/06/18 23:47:17 tbox Exp $ -->
<refentry id="man.host">
<!-- $Id: host.docbook,v 1.2.2.9 2007/08/28 07:18:13 tbox Exp $ -->
<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>
<refentry>
<refmeta>
<refentrytitle>host</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>
<refnamediv>
<refname>host</refname>
<refpurpose>DNS lookup utility</refpurpose>
</refnamediv>
<refmeta>
<refentrytitle>host</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
@@ -47,231 +43,178 @@
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refsynopsisdiv>
<cmdsynopsis>
<command>host</command>
<arg><option>-aCdlnrsTwv</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-N <replaceable class="parameter">ndots</replaceable></option></arg>
<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>-m <replaceable class="parameter">flag</replaceable></option></arg>
<arg><option>-4</option></arg>
<arg><option>-6</option></arg>
<arg choice="req">name</arg>
<arg choice="opt">server</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refnamediv>
<refname>host</refname>
<refpurpose>DNS lookup utility</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<refsynopsisdiv>
<cmdsynopsis>
<command>host</command>
<arg><option>-aCdlnrTwv</option></arg>
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-N <replaceable class="parameter">ndots</replaceable></option></arg>
<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 choice="req">name</arg>
<arg choice="opt">server</arg>
</cmdsynopsis>
</refsynopsisdiv>
<para><command>host</command>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
When no arguments or options are given,
<command>host</command>
prints a short summary of its command line arguments and options.
</para>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>host</command>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
When no arguments or options are given,
<command>host</command>
prints a short summary of its command line arguments and options.
</para>
<para><parameter>name</parameter> is the domain name that is to be
looked
up. It can also be a dotted-decimal IPv4 address or a colon-delimited
IPv6 address, in which case <command>host</command> will by
default
perform a reverse lookup for that address.
<parameter>server</parameter> is an optional argument which
is either
the name or IP address of the name server that <command>host</command>
should query instead of the server or servers listed in
<filename>/etc/resolv.conf</filename>.
</para>
<para>
<parameter>name</parameter> is the domain name that is to be looked
up. It can also be a dotted-decimal IPv4 address or a colon-delimited
IPv6 address, in which case <command>host</command> will by default
perform a reverse lookup for that address.
<parameter>server</parameter> is an optional argument which is either
the name or IP address of the name server that <command>host</command>
should query instead of the server or servers listed in
<filename>/etc/resolv.conf</filename>.
</para>
<para>
The <option>-a</option> (all) option is equivalent to setting the
<option>-v</option> option and asking <command>host</command> to make
a query of type ANY.
</para>
<para>
The <option>-a</option> (all) option is equivalent to setting the
<option>-v</option> option and asking <command>host</command> to make
a query of type ANY.
</para>
<para>
When the <option>-C</option> option is used, <command>host</command>
will attempt to display the SOA records for zone
<parameter>name</parameter> from all the listed
authoritative name
servers for that zone. The list of name servers is defined by the NS
records that are found for the zone.
</para>
<para>
When the <option>-C</option> option is used, <command>host</command>
will attempt to display the SOA records for zone
<parameter>name</parameter> from all the listed authoritative name
servers for that zone. The list of name servers is defined by the NS
records that are found for the zone.
</para>
<para>
The <option>-c</option> option instructs to make a DNS query of class
<parameter>class</parameter>. This can be used to lookup
Hesiod or
Chaosnet class resource records. The default class is IN (Internet).
</para>
<para>
The <option>-c</option> option instructs to make a DNS query of class
<parameter>class</parameter>. This can be used to lookup Hesiod or
Chaosnet class resource records. The default class is IN (Internet).
</para>
<para>
Verbose output is generated by <command>host</command> when
the
<option>-d</option> or <option>-v</option> option is used. The two
options are equivalent. They have been provided for backwards
compatibility. In previous versions, the <option>-d</option> option
switched on debugging traces and <option>-v</option> enabled verbose
output.
</para>
<para>
Verbose output is generated by <command>host</command> when the
<option>-d</option> or <option>-v</option> option is used. The two
options are equivalent. They have been provided for backwards
compatibility. In previous versions, the <option>-d</option> option
switched on debugging traces and <option>-v</option> enabled verbose
output.
</para>
<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>. 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>
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.
</para>
<para>
The <option>-i</option>
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.
</para>
<para>
The <option>-n</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.
</para>
<para>
The <option>-N</option> option sets the number of dots that have to be
in <parameter>name</parameter> for it to be considered
absolute. The
default value is that defined using the ndots statement in
<filename>/etc/resolv.conf</filename>, or 1 if no ndots
statement is
present. Names with fewer dots are interpreted as relative names and
will be searched for in the domains listed in the <type>search</type>
or <type>domain</type> directive in
<filename>/etc/resolv.conf</filename>.
</para>
<para>
The <option>-N</option> option sets the number of dots that have to be
in <parameter>name</parameter> for it to be considered absolute. The
default value is that defined using the ndots statement in
<filename>/etc/resolv.conf</filename>, or 1 if no ndots statement is
present. Names with fewer dots are interpreted as relative names and
will be searched for in the domains listed in the <type>search</type>
or <type>domain</type> directive in
<filename>/etc/resolv.conf</filename>.
</para>
<para>
The number of UDP retries for a lookup can be changed with the
<option>-R</option> option. <parameter>number</parameter>
indicates
how many times <command>host</command> will repeat a query
that does
not get answered. The default number of retries is 1. If
<parameter>number</parameter> is negative or zero, the
number of
retries will default to 1.
</para>
<para>
The number of UDP retries for a lookup can be changed with the
<option>-R</option> option. <parameter>number</parameter> indicates
how many times <command>host</command> will repeat a query that does
not get answered. The default number of retries is 1. If
<parameter>number</parameter> is negative or zero, the number of
retries will default to 1.
</para>
<para>
Non-recursive queries can be made via the <option>-r</option> option.
Setting this option clears the <type>RD</type> &mdash; recursion
desired &mdash; bit in the query which <command>host</command> makes.
This should mean that the name server receiving the query will not
attempt to resolve <parameter>name</parameter>. The
<option>-r</option> option enables <command>host</command>
to mimic
the behavior of a name server by making non-recursive queries and
expecting to receive answers to those queries that are usually
referrals to other name servers.
</para>
<para>
Non-recursive queries can be made via the <option>-r</option> option.
Setting this option clears the <type>RD</type> &mdash; recursion
desired &mdash; bit in the query which <command>host</command> makes.
This should mean that the name server receiving the query will not
attempt to resolve <parameter>name</parameter>. The
<option>-r</option> option enables <command>host</command> to mimic
the behavior of a name server by making non-recursive queries and
expecting to receive answers to those queries that are usually
referrals to other name servers.
</para>
<para>
By default <command>host</command> uses UDP when making
queries. The
<option>-T</option> 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.
</para>
<para>
By default <command>host</command> uses UDP when making queries. The
<option>-T</option> 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.
</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 recognized query type: CNAME,
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<command>host</command> automatically selects an appropriate query
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.
</para>
<para>
The <option>-t</option> option is used to select the query type.
<parameter>type</parameter> can be any recognized query
type: CNAME,
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<command>host</command> automatically selects an appropriate
query
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. 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>
The time to wait for a reply can be controlled through the
<option>-W</option> and <option>-w</option> options. The
<option>-W</option> option makes <command>host</command> wait for
<parameter>wait</parameter> seconds. If <parameter>wait</parameter>
is less than one, the wait interval is set to one second. When the
<option>-w</option> option is used, <command>host</command> will
effectively wait forever for a reply. The time to wait for a response
will be set to the number of seconds given by the hardware's maximum
value for an integer quantity.
</para>
<para>
The time to wait for a reply can be controlled through the
<option>-W</option> and <option>-w</option> options. The
<option>-W</option> option makes <command>host</command>
wait for
<parameter>wait</parameter> seconds. If <parameter>wait</parameter>
is less than one, the wait interval is set to one second. When the
<option>-w</option> option is used, <command>host</command>
will
effectively wait forever for a reply. The time to wait for a response
will be set to the number of seconds given by the hardware's maximum
value for an integer quantity.
</para>
</refsect1>
<para>
The <option>-s</option> option tells <command>host</command>
<emphasis>not</emphasis> to send the query to the next nameserver
if any server responds with a SERVFAIL response, which is the
reverse of normal stub resolver behavior.
</para>
<refsect1>
<title>FILES</title>
<para>
<filename>/etc/resolv.conf</filename>
</para>
</refsect1>
<para>
The <option>-m</option> can be used to set the memory usage debugging
flags
<parameter>record</parameter>, <parameter>usage</parameter> and
<parameter>trace</parameter>.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
<refsect1>
<title>IDN SUPPORT</title>
<para>
If <command>host</command> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<command>host</command> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <envar>IDN_DISABLE</envar> environment variable.
The IDN support is disabled if the variable is set when
<command>host</command> runs.
</para>
</refsect1>
<refsect1>
<title>FILES</title>
<para><filename>/etc/resolv.conf</filename>
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>
</refentry><!--
- Local variables:
- mode: sgml
- End:
-->
</refsect1>
</refentry>

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005, 2007 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
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.html,v 1.27 2007/05/09 03:33:50 marka Exp $ -->
<!-- $Id: host.html,v 1.4.2.16 2007/05/09 03:32:21 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,191 +22,143 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.host"></a><div class="titlepage"></div>
<a name="id2476275"></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">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
<div 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>
<div class="refsect1" lang="en">
<a name="id2543428"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
When no arguments or options are given,
<span><strong class="command">host</strong></span>
prints a short summary of its command line arguments and options.
</p>
<p><em class="parameter"><code>name</code></em> is the domain name that is to be
looked
up. It can also be a dotted-decimal IPv4 address or a colon-delimited
IPv6 address, in which case <span><strong class="command">host</strong></span> will by
default
perform a reverse lookup for that address.
<em class="parameter"><code>server</code></em> is an optional argument which
is either
the name or IP address of the name server that <span><strong class="command">host</strong></span>
should query instead of the server or servers listed in
<code class="filename">/etc/resolv.conf</code>.
</p>
<a name="id2543402"></a><h2>DESCRIPTION</h2>
<p>
The <code class="option">-a</code> (all) option is equivalent to setting the
<code class="option">-v</code> option and asking <span><strong class="command">host</strong></span> to make
a query of type ANY.
</p>
<span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
When no arguments or options are given,
<span><strong class="command">host</strong></span>
prints a short summary of its command line arguments and options.
</p>
<p>
When the <code class="option">-C</code> option is used, <span><strong class="command">host</strong></span>
will attempt to display the SOA records for zone
<em class="parameter"><code>name</code></em> from all the listed
authoritative name
servers for that zone. The list of name servers is defined by the NS
records that are found for the zone.
</p>
<em class="parameter"><code>name</code></em> is the domain name that is to be looked
up. It can also be a dotted-decimal IPv4 address or a colon-delimited
IPv6 address, in which case <span><strong class="command">host</strong></span> will by default
perform a reverse lookup for that address.
<em class="parameter"><code>server</code></em> is an optional argument which is either
the name or IP address of the name server that <span><strong class="command">host</strong></span>
should query instead of the server or servers listed in
<code class="filename">/etc/resolv.conf</code>.
</p>
<p>
The <code class="option">-c</code> option instructs to make a DNS query of class
<em class="parameter"><code>class</code></em>. This can be used to lookup
Hesiod or
Chaosnet class resource records. The default class is IN (Internet).
</p>
The <code class="option">-a</code> (all) option is equivalent to setting the
<code class="option">-v</code> option and asking <span><strong class="command">host</strong></span> to make
a query of type ANY.
</p>
<p>
Verbose output is generated by <span><strong class="command">host</strong></span> when
the
<code class="option">-d</code> or <code class="option">-v</code> option is used. The two
options are equivalent. They have been provided for backwards
compatibility. In previous versions, the <code class="option">-d</code> option
switched on debugging traces and <code class="option">-v</code> enabled verbose
output.
</p>
When the <code class="option">-C</code> option is used, <span><strong class="command">host</strong></span>
will attempt to display the SOA records for zone
<em class="parameter"><code>name</code></em> from all the listed authoritative name
servers for that zone. The list of name servers is defined by the NS
records that are found for the zone.
</p>
<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>. 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>
The <code class="option">-c</code> option instructs to make a DNS query of class
<em class="parameter"><code>class</code></em>. This can be used to lookup Hesiod or
Chaosnet class resource records. The default class is IN (Internet).
</p>
<p>
The <code class="option">-i</code>
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.
</p>
Verbose output is generated by <span><strong class="command">host</strong></span> when the
<code class="option">-d</code> or <code class="option">-v</code> option is used. The two
options are equivalent. They have been provided for backwards
compatibility. In previous versions, the <code class="option">-d</code> option
switched on debugging traces and <code class="option">-v</code> enabled verbose
output.
</p>
<p>
The <code class="option">-N</code> option sets the number of dots that have to be
in <em class="parameter"><code>name</code></em> for it to be considered
absolute. The
default value is that defined using the ndots statement in
<code class="filename">/etc/resolv.conf</code>, or 1 if no ndots
statement is
present. Names with fewer dots are interpreted as relative names and
will be searched for in the domains listed in the <span class="type">search</span>
or <span class="type">domain</span> directive in
<code class="filename">/etc/resolv.conf</code>.
</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.
</p>
<p>
The number of UDP retries for a lookup can be changed with the
<code class="option">-R</code> option. <em class="parameter"><code>number</code></em>
indicates
how many times <span><strong class="command">host</strong></span> will repeat a query
that does
not get answered. The default number of retries is 1. If
<em class="parameter"><code>number</code></em> is negative or zero, the
number of
retries will default to 1.
</p>
The <code class="option">-n</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.
</p>
<p>
Non-recursive queries can be made via the <code class="option">-r</code> option.
Setting this option clears the <span class="type">RD</span> &#8212; recursion
desired &#8212; bit in the query which <span><strong class="command">host</strong></span> makes.
This should mean that the name server receiving the query will not
attempt to resolve <em class="parameter"><code>name</code></em>. The
<code class="option">-r</code> option enables <span><strong class="command">host</strong></span>
to mimic
the behavior of a name server by making non-recursive queries and
expecting to receive answers to those queries that are usually
referrals to other name servers.
</p>
The <code class="option">-N</code> option sets the number of dots that have to be
in <em class="parameter"><code>name</code></em> for it to be considered absolute. The
default value is that defined using the ndots statement in
<code class="filename">/etc/resolv.conf</code>, or 1 if no ndots statement is
present. Names with fewer dots are interpreted as relative names and
will be searched for in the domains listed in the <span class="type">search</span>
or <span class="type">domain</span> directive in
<code class="filename">/etc/resolv.conf</code>.
</p>
<p>
By default <span><strong class="command">host</strong></span> uses UDP when making
queries. The
<code class="option">-T</code> 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.
</p>
The number of UDP retries for a lookup can be changed with the
<code class="option">-R</code> option. <em class="parameter"><code>number</code></em> indicates
how many times <span><strong class="command">host</strong></span> will repeat a query that does
not get answered. The default number of retries is 1. If
<em class="parameter"><code>number</code></em> is negative or zero, the number of
retries will default to 1.
</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>
Non-recursive queries can be made via the <code class="option">-r</code> option.
Setting this option clears the <span class="type">RD</span> &#8212; recursion
desired &#8212; bit in the query which <span><strong class="command">host</strong></span> makes.
This should mean that the name server receiving the query will not
attempt to resolve <em class="parameter"><code>name</code></em>. The
<code class="option">-r</code> option enables <span><strong class="command">host</strong></span> to mimic
the behavior of a name server by making non-recursive queries and
expecting to receive answers to those queries that are usually
referrals to other name servers.
</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 recognized query
type: CNAME,
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<span><strong class="command">host</strong></span> automatically selects an appropriate
query
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. 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>
By default <span><strong class="command">host</strong></span> uses UDP when making queries. The
<code class="option">-T</code> 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.
</p>
<p>
The time to wait for a reply can be controlled through the
<code class="option">-W</code> and <code class="option">-w</code> options. The
<code class="option">-W</code> option makes <span><strong class="command">host</strong></span>
wait for
<em class="parameter"><code>wait</code></em> seconds. If <em class="parameter"><code>wait</code></em>
is less than one, the wait interval is set to one second. When the
<code class="option">-w</code> option is used, <span><strong class="command">host</strong></span>
will
effectively wait forever for a reply. The time to wait for a response
will be set to the number of seconds given by the hardware's maximum
value for an integer quantity.
</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 recognized query type: CNAME,
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<span><strong class="command">host</strong></span> automatically selects an appropriate query
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.
</p>
<p>
The <code class="option">-s</code> option tells <span><strong class="command">host</strong></span>
<span class="emphasis"><em>not</em></span> to send the query to the next nameserver
if any server responds with a SERVFAIL response, which is the
reverse of normal stub resolver behavior.
</p>
<p>
The <code class="option">-m</code> can be used to set the memory usage debugging
flags
<em class="parameter"><code>record</code></em>, <em class="parameter"><code>usage</code></em> and
<em class="parameter"><code>trace</code></em>.
</p>
The time to wait for a reply can be controlled through the
<code class="option">-W</code> and <code class="option">-w</code> options. The
<code class="option">-W</code> option makes <span><strong class="command">host</strong></span> wait for
<em class="parameter"><code>wait</code></em> seconds. If <em class="parameter"><code>wait</code></em>
is less than one, the wait interval is set to one second. When the
<code class="option">-w</code> option is used, <span><strong class="command">host</strong></span> will
effectively wait forever for a reply. The time to wait for a response
will be set to the number of seconds given by the hardware's maximum
value for an integer quantity.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543725"></a><h2>IDN SUPPORT</h2>
<a name="id2543651"></a><h2>FILES</h2>
<p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span><strong class="command">host</strong></span> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <code class="envar">IDN_DISABLE</code> environment variable.
The IDN support is disabled if the variable is set when
<span><strong class="command">host</strong></span> runs.
</p>
<code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543748"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543828"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
<a name="id2543664"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
</div>
</div></body>
</html>

View File

@@ -1,6 +1,6 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -15,13 +15,11 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.h,v 1.105 2007/06/18 23:47:17 tbox Exp $ */
/* $Id: dig.h,v 1.71.2.19 2007/08/28 07:18:13 tbox Exp $ */
#ifndef DIG_H
#define DIG_H
/*! \file */
#include <dns/rdatalist.h>
#include <dst/dst.h>
@@ -40,82 +38,58 @@
#define MXSERV 20
#define MXNAME (DNS_NAME_MAXTEXT+1)
#define MXRD 32
/*% Buffer Size */
#define BUFSIZE 512
#define COMMSIZE 0xffff
#ifndef RESOLV_CONF
/*% location of resolve.conf */
#define RESOLV_CONF "/etc/resolv.conf"
#endif
/*% output buffer */
#define OUTPUTBUF 32767
/*% Max RR Limit */
#define MAXRRLIMIT 0xffffffff
#define MAXTIMEOUT 0xffff
/*% Max number of tries */
#define MAXTRIES 0xffffffff
/*% Max number of dots */
#define MAXNDOTS 0xffff
/*% Max number of ports */
#define MAXPORT 0xffff
/*% Max serial number */
#define MAXSERIAL 0xffffffff
/*% Default TCP Timeout */
/*
* Default timeout values
*/
#define TCP_TIMEOUT 10
/*% Default UDP Timeout */
#define UDP_TIMEOUT 5
#define SERVER_TIMEOUT 1
#define LOOKUP_LIMIT 64
/*%
/*
* Lookup_limit is just a limiter, keeping too many lookups from being
* created. It's job is mainly to prevent the program from running away
* in a tight loop of constant lookups. It's value is arbitrary.
*/
/*
* 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;
/*% The dig_lookup structure */
struct dig_lookup {
isc_boolean_t
pending, /*%< Pending a successful answer */
pending, /* Pending a successful answer */
waiting_connect,
doing_xfr,
ns_search_only, /*%< dig +nssearch, host -C */
identify, /*%< Append an "on server <foo>" message */
identify_previous_line, /*% Prepend a "Nameserver <foo>:"
ns_search_only, /* dig +nssearch, host -C */
identify, /* Append an "on server <foo>" message */
identify_previous_line, /* Prepend a "Nameserver <foo>:"
message, with newline and tab */
ignore,
recurse,
aaonly,
adflag,
cdflag,
trace, /*% dig +trace */
trace_root, /*% initial query for either +trace or +nssearch */
trace, /* dig +trace */
trace_root, /* initial query for either +trace or +nssearch */
tcp_mode,
ip6_int,
comments,
@@ -130,27 +104,10 @@ struct dig_lookup {
done_as_is,
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 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;
@@ -174,17 +131,14 @@ isc_boolean_t sigchase;
isc_uint32_t retries;
int nsfound;
isc_uint16_t udpsize;
isc_int16_t edns;
isc_uint32_t ixfr_serial;
isc_buffer_t rdatabuf;
char rdatastore[MXNAME];
dst_context_t *tsigctx;
isc_buffer_t *querysig;
isc_uint32_t msgcounter;
dns_fixedname_t fdomain;
};
/*% The dig_query structure */
struct dig_query {
dig_lookup_t *lookup;
isc_boolean_t waiting_connect,
@@ -198,7 +152,6 @@ 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;
@@ -215,7 +168,6 @@ struct dig_query {
ISC_LINK(dig_query_t) link;
isc_sockaddr_t sockaddr;
isc_time_t time_sent;
isc_uint64_t byte_count;
isc_buffer_t sendbuf;
};
@@ -229,12 +181,6 @@ 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;
@@ -246,27 +192,22 @@ typedef ISC_LIST(dig_lookup_t) dig_lookuplist_t;
extern dig_lookuplist_t lookup_list;
extern dig_serverlist_t server_list;
extern dig_searchlistlist_t search_list;
extern unsigned int extrabytes;
extern isc_boolean_t check_ra, have_ipv4, have_ipv6, specified_source,
usesearch, showsearch, qr;
extern isc_boolean_t have_ipv4, have_ipv6, specified_source,
usesearch, qr;
extern in_port_t port;
extern unsigned int timeout;
extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern int sendcount;
extern int ndots;
extern int 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];
extern dns_name_t *hmacname;
extern unsigned int digestbits;
#ifdef DIG_SIGCHASE
extern char trustedkey[MXNAME];
#endif
extern dns_tsigkey_t *key;
extern isc_boolean_t validated;
extern isc_taskmgr_t *taskmgr;
@@ -275,11 +216,7 @@ extern isc_boolean_t free_now;
extern isc_boolean_t debugging, memdebugging;
extern char *progname;
extern int tries;
extern int fatalexit;
#ifdef WITH_IDN
extern int idnoptions;
#endif
/*
* Routines in dighost.c.
@@ -288,7 +225,11 @@ void
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
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,
isc_boolean_t strict);
void
@@ -330,18 +271,18 @@ requeue_lookup(dig_lookup_t *lookold, isc_boolean_t servers);
dig_lookup_t *
make_empty_lookup(void);
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);
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
clone_server_list(dig_serverlist_t src,
dig_serverlist_t *dest);
@@ -355,29 +296,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);
/*%<
/*
* Print the final result of the lookup.
*/
void
received(int bytes, isc_sockaddr_t *from, dig_query_t *query);
/*%<
/*
* Print a message about where and when the response
* was received from, like the final comment in the
* output of "dig".
@@ -392,14 +323,6 @@ dighost_shutdown(void);
char *
next_token(char **stringp, const char *delim);
#ifdef DIG_SIGCHASE
/* Chasing functions */
dns_rdataset_t *
chase_scanname(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers);
void
chase_sig(dns_message_t *msg);
#endif
ISC_LANG_ENDDECLS
#endif

View File

@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: nslookup.1,v 1.14 2007/05/16 06:12:01 marka Exp $
.\" $Id: nslookup.1,v 1.1.4.12 2007/05/16 06:57:45 marka Exp $
.\"
.hy 0
.ad l
@@ -156,7 +156,7 @@ The class specifies the protocol group of the information.
(Default = IN; abbreviation = cl)
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBdebug\fR
\fB\fI[no]\fR\fR\fBdebug\fR
.RS 4
Turn on or off the display of the full response packet and any intermediate response packets when searching.
.sp
@@ -164,7 +164,7 @@ Turn on or off the display of the full response packet and any intermediate resp
[no]deb)
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBd2\fR
\fB\fI[no]\fR\fR\fBd2\fR
.RS 4
Turn debugging mode on or off. This displays more about what nslookup is doing.
.sp
@@ -177,7 +177,7 @@ Sets the search list to
\fIname\fR.
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBsearch\fR
\fB\fI[no]\fR\fR\fBsearch\fR
.RS 4
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
@@ -203,7 +203,7 @@ Change the type of the information query.
(Default = A; abbreviations = q, ty)
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBrecurse\fR
\fB\fI[no]\fR\fR\fBrecurse\fR
.RS 4
Tell the name server to query other servers if it does not have the information.
.sp
@@ -220,19 +220,12 @@ Set the number of retries to number.
Change the initial timeout interval for waiting for a reply to number seconds.
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBvc\fR
\fB\fI[no]\fR\fR\fBvc\fR
.RS 4
Always use a virtual circuit when sending requests to the server.
.sp
(Default = novc)
.RE
.PP
\fB \fR\fB\fI[no]\fR\fR\fBfail\fR
.RS 4
Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response.
.sp
(Default = nofail)
.RE
.RE
.IP "" 4
.RE

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nslookup.c,v 1.117 2007/06/18 23:47:17 tbox Exp $ */
/* $Id: nslookup.c,v 1.90.2.16 2007/08/28 07:18:13 tbox Exp $ */
#include <config.h>
@@ -25,7 +25,6 @@
#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>
@@ -50,8 +49,7 @@ static isc_boolean_t short_form = ISC_TRUE,
comments = ISC_TRUE, section_question = ISC_TRUE,
section_answer = ISC_TRUE, section_authority = ISC_TRUE,
section_additional = ISC_TRUE, recurse = ISC_TRUE,
aaonly = ISC_FALSE, nofail = ISC_TRUE;
aaonly = ISC_FALSE;
static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
@@ -121,8 +119,7 @@ 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]))
@@ -177,18 +174,7 @@ 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;
@@ -518,46 +504,7 @@ 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) {
@@ -596,21 +543,21 @@ setoption(char *opt) {
set_search_domain(domainopt);
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "port=", 5) == 0) {
set_port(&opt[5]);
port = atoi(&opt[5]);
} else if (strncasecmp(opt, "po=", 3) == 0) {
set_port(&opt[3]);
port = atoi(&opt[3]);
} else if (strncasecmp(opt, "timeout=", 8) == 0) {
set_timeout(&opt[8]);
timeout = atoi(&opt[8]);
} else if (strncasecmp(opt, "t=", 2) == 0) {
set_timeout(&opt[2]);
timeout = atoi(&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) {
set_tries(&opt[6]);
tries = atoi(&opt[6]);
} else if (strncasecmp(opt, "ret=", 4) == 0) {
set_tries(&opt[4]);
tries = atoi(&opt[4]);
} else if (strncasecmp(opt, "def", 3) == 0) {
usesearch = ISC_TRUE;
} else if (strncasecmp(opt, "nodef", 5) == 0) {
@@ -621,24 +568,18 @@ setoption(char *opt) {
tcpmode = ISC_FALSE;
} else if (strncasecmp(opt, "deb", 3) == 0) {
short_form = ISC_FALSE;
showsearch = ISC_TRUE;
} else if (strncasecmp(opt, "nodeb", 5) == 0) {
short_form = ISC_TRUE;
showsearch = ISC_FALSE;
} else if (strncasecmp(opt, "d2", 2) == 0) {
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 if (strncasecmp(opt, "fail", 3) == 0) {
nofail=ISC_FALSE;
} else if (strncasecmp(opt, "nofail", 3) == 0) {
nofail=ISC_TRUE;
} else {
printf("*** Invalid option: %s\n", opt);
}
@@ -669,8 +610,9 @@ addlookup(char *opt) {
rdclass = dns_rdataclass_in;
}
lookup = make_empty_lookup();
if (get_reverse(store, sizeof(store), opt, lookup->ip6_int, ISC_TRUE)
== ISC_R_SUCCESS) {
if (get_reverse(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;
@@ -697,8 +639,6 @@ addlookup(char *opt) {
lookup->section_authority = section_authority;
lookup->section_additional = section_additional;
lookup->new_search = ISC_TRUE;
if (nofail)
lookup->servfail_stops = ISC_FALSE;
ISC_LIST_INIT(lookup->q);
ISC_LINK_INIT(lookup, link);
ISC_LIST_APPEND(lookup_list, lookup, link);
@@ -738,20 +678,21 @@ get_next_command(void) {
(strcasecmp(ptr, "lserver") == 0)) {
isc_app_block();
set_nameserver(arg);
check_ra = ISC_FALSE;
isc_app_unblock();
show_settings(ISC_TRUE, ISC_TRUE);
} else if (strcasecmp(ptr, "exit") == 0) {
in_use = ISC_FALSE;
goto cleanup;
} else if (strcasecmp(ptr, "help") == 0 ||
strcasecmp(ptr, "?") == 0) {
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
@@ -777,10 +718,9 @@ parse_args(int argc, char **argv) {
have_lookup = ISC_TRUE;
in_use = ISC_TRUE;
addlookup(argv[0]);
} else {
set_nameserver(argv[0]);
check_ra = ISC_FALSE;
}
else
set_nameserver(argv[0]);
}
}
}
@@ -856,8 +796,6 @@ main(int argc, char **argv) {
ISC_LIST_INIT(server_list);
ISC_LIST_INIT(search_list);
check_ra = ISC_TRUE;
result = isc_app_start();
check_result(result, "isc_app_start");

View File

@@ -17,11 +17,12 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nslookup.docbook,v 1.16 2007/06/18 23:47:17 tbox Exp $ -->
<!-- $Id: nslookup.docbook,v 1.3.4.13 2007/08/28 07:18:13 tbox Exp $ -->
<!--
- Copyright (c) 1985, 1989
- The Regents of the University of California. All rights reserved.
-
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
@@ -37,7 +38,7 @@
- 4. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -50,22 +51,18 @@
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-->
<refentry>
<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>
<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>
<refmeta>
<refentrytitle>nslookup</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
<refname>nslookup</refname>
<refpurpose>query Internet name servers interactively</refpurpose>
</refnamediv>
<refmeta>
<refentrytitle>nslookup</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<docinfo>
<copyright>
@@ -77,420 +74,257 @@
</copyright>
</docinfo>
<refsynopsisdiv>
<cmdsynopsis>
<command>nslookup</command>
<arg><option>-option</option></arg>
<arg choice="opt">name | -</arg>
<arg choice="opt">server</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refnamediv>
<refname>nslookup</refname>
<refpurpose>query Internet name servers interactively</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<para><command>Nslookup</command>
is a program to query Internet domain name servers. <command>Nslookup</command>
has two modes: interactive and non-interactive. Interactive mode allows
the user to query name servers for information about various hosts and
domains or to print a list of hosts in a domain. Non-interactive mode
is
used to print just the name and requested information for a host or
domain.
</para>
</refsect1>
<refsynopsisdiv>
<cmdsynopsis>
<command>nslookup</command>
<arg><option>-option</option></arg>
<arg choice="opt">name | -</arg>
<arg choice="opt">server</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>ARGUMENTS</title>
<para>
Interactive mode is entered in the following cases:
<orderedlist numeration="loweralpha">
<listitem>
<para>
when no arguments are given (the default name server will be used)
</para>
</listitem>
<listitem>
<para>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
</para>
</listitem>
</orderedlist>
</para>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>Nslookup</command>
is a program to query Internet domain name servers. <command>Nslookup</command>
has two modes: interactive and non-interactive. Interactive mode allows
the user to query name servers for information about various hosts and
domains or to print a list of hosts in a domain. Non-interactive mode is
used to print just the name and requested information for a host or
domain.
</para>
</refsect1>
<para>
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.
</para>
<refsect1>
<title>ARGUMENTS</title>
<para>
Interactive mode is entered in the following cases:
<orderedlist numeration="loweralpha">
<listitem>
<para>
when no arguments are given (the default name server will be used)
</para>
</listitem>
<listitem>
<para>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
</para>
</listitem>
</orderedlist>
</para>
<para>
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:
<informalexample>
<programlisting>
<para>
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.
</para>
<para>
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:
<informalexample>
<programlisting>
nslookup -query=hinfo -timeout=10
</programlisting>
</informalexample>
</para>
</informalexample>
</para>
</refsect1>
</refsect1>
<refsect1>
<title>INTERACTIVE COMMANDS</title>
<variablelist>
<varlistentry>
<term><constant>host</constant> <optional>server</optional></term>
<listitem>
<para>
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.
</para>
<refsect1>
<title>INTERACTIVE COMMANDS</title>
<variablelist>
<varlistentry><term><constant>host</constant> <optional>server</optional></term>
<listitem><para>
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.
</para>
<para>
To look up a host not in the current domain, append a period to
the name.
</para>
</listitem>
</varlistentry>
<para>
To look up a host not in the current domain, append a period to
the name.
</para></listitem></varlistentry>
<varlistentry>
<term><constant>server</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem>
<para/>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>lserver</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem>
<para>
Change the default server to <replaceable>domain</replaceable>; <constant>lserver</constant> uses the initial
server to look up information about <replaceable>domain</replaceable>, while <constant>server</constant> uses
the current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>server</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem><para></para></listitem></varlistentry>
<varlistentry><term><constant>lserver</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem><para>
Change the default server to <replaceable>domain</replaceable>; <constant>lserver</constant> uses the initial
server to look up information about <replaceable>domain</replaceable>, while <constant>server</constant> uses
the current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
</para></listitem></varlistentry>
<varlistentry>
<term><constant>root</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>root</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>finger</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>finger</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>ls</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>ls</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>view</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>view</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>help</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>help</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>?</constant></term>
<listitem>
<para>
not implemented
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>?</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>
<varlistentry>
<term><constant>exit</constant></term>
<listitem>
<para>
Exits the program.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>exit</constant></term>
<listitem><para>Exits the program.</para></listitem></varlistentry>
<varlistentry>
<term><constant>set</constant>
<replaceable>keyword<optional>=value</optional></replaceable></term>
<listitem>
<para>
This command is used to change state information that affects
the lookups. Valid keywords are:
<variablelist>
<varlistentry>
<term><constant>all</constant></term>
<listitem>
<para>
Prints the current values of the frequently used
options to <command>set</command>.
Information about the current default
server and host is also printed.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>set</constant> <replaceable>keyword<optional>=value</optional></replaceable></term>
<listitem><para>This command is used to change state information that affects
the lookups. Valid keywords are:
<variablelist>
<varlistentry><term><constant>all</constant></term>
<listitem>
<para>Prints the current values of the frequently used
options to <command>set</command>. Information about the current default
server and host is also printed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>class=</constant><replaceable>value</replaceable></term>
<listitem>
<para>
Change the query class to one of:
<variablelist>
<varlistentry>
<term><constant>IN</constant></term>
<listitem>
<para>
the Internet class
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>CH</constant></term>
<listitem>
<para>
the Chaos class
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>HS</constant></term>
<listitem>
<para>
the Hesiod class
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>ANY</constant></term>
<listitem>
<para>
wildcard
</para>
</listitem>
</varlistentry>
</variablelist>
The class specifies the protocol group of the information.
<varlistentry><term><constant>class=</constant><replaceable>value</replaceable></term>
<listitem><para>
Change the query class to one of:
<variablelist>
<varlistentry><term><constant>IN</constant></term>
<listitem><para>the Internet class</para></listitem></varlistentry>
<varlistentry><term><constant>CH</constant></term>
<listitem><para>the Chaos class</para></listitem></varlistentry>
<varlistentry><term><constant>HS</constant></term>
<listitem><para>the Hesiod class</para></listitem></varlistentry>
<varlistentry><term><constant>ANY</constant></term>
<listitem><para>wildcard</para></listitem></varlistentry>
</variablelist>
The class specifies the protocol group of the information.
</para><para>
(Default = IN; abbreviation = cl)
</para></listitem>
</varlistentry>
</para>
<para>
(Default = IN; abbreviation = cl)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>debug</constant></term>
<listitem>
<para>
<varlistentry><term><constant><replaceable><optional>no</optional></replaceable>debug</constant></term>
<listitem><para>
Turn on or off the display of the full response packet and
any intermediate response packets when searching.
</para>
<para>
(Default = nodebug; abbreviation = <optional>no</optional>deb)
</para>
</listitem>
</varlistentry>
</para><para>
(Default = nodebug; abbreviation = <optional>no</optional>deb)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>d2</constant></term>
<listitem>
<para>
Turn debugging mode on or off. This displays more about
what nslookup is doing.
</para>
<para>
(Default = nod2)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant><replaceable><optional>no</optional></replaceable>d2</constant></term>
<listitem><para>
Turn debugging mode on or off. This displays more about
what nslookup is doing.
</para><para>
(Default = nod2)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>domain=</constant><replaceable>name</replaceable></term>
<listitem>
<para>
Sets the search list to <replaceable>name</replaceable>.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>domain=</constant><replaceable>name</replaceable></term>
<listitem><para>
Sets the search list to <replaceable>name</replaceable>.
</para></listitem></varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>search</constant></term>
<listitem>
<para>
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.
</para>
<para>
(Default = search)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant><replaceable><optional>no</optional></replaceable>search</constant></term>
<listitem><para>
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.
</para><para>
(Default = search)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>port=</constant><replaceable>value</replaceable></term>
<listitem>
<para>
Change the default TCP/UDP name server port to <replaceable>value</replaceable>.
</para>
<para>
(Default = 53; abbreviation = po)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>port=</constant><replaceable>value</replaceable></term>
<listitem><para>
Change the default TCP/UDP name server port to <replaceable>value</replaceable>.
</para><para>
(Default = 53; abbreviation = po)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>querytype=</constant><replaceable>value</replaceable></term>
<listitem>
<para/>
</listitem>
</varlistentry>
<varlistentry><term><constant>querytype=</constant><replaceable>value</replaceable></term>
<listitem><para></para></listitem></varlistentry>
<varlistentry>
<term><constant>type=</constant><replaceable>value</replaceable></term>
<listitem>
<para>
Change the type of the information query.
</para>
<para>
(Default = A; abbreviations = q, ty)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>type=</constant><replaceable>value</replaceable></term>
<listitem><para>
Change the type of the information query.
</para><para>
(Default = A; abbreviations = q, ty)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>recurse</constant></term>
<listitem>
<para>
Tell the name server to query other servers if it does not
have the
information.
</para>
<para>
(Default = recurse; abbreviation = [no]rec)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant><replaceable><optional>no</optional></replaceable>recurse</constant></term>
<listitem><para>
Tell the name server to query other servers if it does not have the
information.
</para><para>
(Default = recurse; abbreviation = [no]rec)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>retry=</constant><replaceable>number</replaceable></term>
<listitem>
<para>
Set the number of retries to number.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>retry=</constant><replaceable>number</replaceable></term>
<listitem><para>
Set the number of retries to number.
</para></listitem></varlistentry>
<varlistentry>
<term><constant>timeout=</constant><replaceable>number</replaceable></term>
<listitem>
<para>
Change the initial timeout interval for waiting for a
reply to number seconds.
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant>timeout=</constant><replaceable>number</replaceable></term>
<listitem><para>
Change the initial timeout interval for waiting for a
reply to number seconds.
</para></listitem></varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>vc</constant></term>
<listitem>
<para>
Always use a virtual circuit when sending requests to the
server.
</para>
<para>
(Default = novc)
</para>
</listitem>
</varlistentry>
<varlistentry><term><constant><replaceable><optional>no</optional></replaceable>vc</constant></term>
<listitem><para>
Always use a virtual circuit when sending requests to the server.
</para><para>
(Default = novc)
</para></listitem></varlistentry>
<varlistentry>
<term><constant>
<replaceable><optional>no</optional></replaceable>fail</constant></term>
<listitem>
<para>
Try the next nameserver if a nameserver responds with
SERVFAIL or a referral (nofail) or terminate query
(fail) on such a response.
</para>
<para>
(Default = nofail)
</para>
</listitem>
</varlistentry>
</variablelist>
</para></listitem></varlistentry>
</variablelist>
</refsect1>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>FILES</title>
<para>
<filename>/etc/resolv.conf</filename>
</para>
</refsect1>
<refsect1>
<title>FILES</title>
<para><filename>/etc/resolv.conf</filename>
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>host</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>host</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>
<refsect1>
<title>Author</title>
<para>
Andrew Cherenson
</para>
</refsect1>
</refentry><!--
- Local variables:
- mode: sgml
- End:
-->
<refsect1>
<title>Author</title>
<para>
Andrew Cherenson
</para>
</refsect1>
</refentry>

View File

@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nslookup.html,v 1.21 2007/05/16 06:12:01 marka Exp $ -->
<!-- $Id: nslookup.html,v 1.1.4.19 2007/05/16 06:57:45 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -31,277 +31,232 @@
<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="id2543355"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">Nslookup</strong></span>
is a program to query Internet domain name servers. <span><strong class="command">Nslookup</strong></span>
has two modes: interactive and non-interactive. Interactive mode allows
the user to query name servers for information about various hosts and
domains or to print a list of hosts in a domain. Non-interactive mode
is
used to print just the name and requested information for a host or
domain.
</p>
<a name="id2543346"></a><h2>DESCRIPTION</h2>
<p>
<span><strong class="command">Nslookup</strong></span>
is a program to query Internet domain name servers. <span><strong class="command">Nslookup</strong></span>
has two modes: interactive and non-interactive. Interactive mode allows
the user to query name servers for information about various hosts and
domains or to print a list of hosts in a domain. Non-interactive mode is
used to print just the name and requested information for a host or
domain.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543371"></a><h2>ARGUMENTS</h2>
<a name="id2543363"></a><h2>ARGUMENTS</h2>
<p>
Interactive mode is entered in the following cases:
</p>
Interactive mode is entered in the following cases:
</p>
<div class="orderedlist"><ol type="a">
<li><p>
when no arguments are given (the default name server will be used)
</p></li>
when no arguments are given (the default name server will be used)
</p></li>
<li><p>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
</p></li>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
</p></li>
</ol></div>
<p>
</p>
</p>
<p>
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.
</p>
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.
</p>
<p>
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:
</p>
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:
</p>
<div class="informalexample"><pre class="programlisting">
nslookup -query=hinfo -timeout=10
</pre></div>
<p>
</p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543413"></a><h2>INTERACTIVE COMMANDS</h2>
<a name="id2543405"></a><h2>INTERACTIVE COMMANDS</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">host</code> [<span class="optional">server</span>]</span></dt>
<dd>
<p>
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.
</p>
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.
</p>
<p>
To look up a host not in the current domain, append a period to
the name.
</p>
To look up a host not in the current domain, append a period to
the name.
</p>
</dd>
<dt><span class="term"><code class="constant">server</code> <em class="replaceable"><code>domain</code></em></span></dt>
<dd><p></p></dd>
<dt><span class="term"><code class="constant">lserver</code> <em class="replaceable"><code>domain</code></em></span></dt>
<dd><p>
Change the default server to <em class="replaceable"><code>domain</code></em>; <code class="constant">lserver</code> uses the initial
server to look up information about <em class="replaceable"><code>domain</code></em>, while <code class="constant">server</code> uses
the current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
</p></dd>
Change the default server to <em class="replaceable"><code>domain</code></em>; <code class="constant">lserver</code> uses the initial
server to look up information about <em class="replaceable"><code>domain</code></em>, while <code class="constant">server</code> uses
the current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
</p></dd>
<dt><span class="term"><code class="constant">root</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">finger</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">ls</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">view</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">help</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">?</code></span></dt>
<dd><p>
not implemented
</p></dd>
<dd><p>not implemented</p></dd>
<dt><span class="term"><code class="constant">exit</code></span></dt>
<dd><p>
Exits the program.
</p></dd>
<dt><span class="term"><code class="constant">set</code>
<em class="replaceable"><code>keyword[<span class="optional">=value</span>]</code></em></span></dt>
<dd><p>Exits the program.</p></dd>
<dt><span class="term"><code class="constant">set</code> <em class="replaceable"><code>keyword[<span class="optional">=value</span>]</code></em></span></dt>
<dd>
<p>
This command is used to change state information that affects
the lookups. Valid keywords are:
</p>
<p>This command is used to change state information that affects
the lookups. Valid keywords are:
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">all</code></span></dt>
<dd><p>
Prints the current values of the frequently used
options to <span><strong class="command">set</strong></span>.
Information about the current default
server and host is also printed.
</p></dd>
<dd><p>Prints the current values of the frequently used
options to <span><strong class="command">set</strong></span>. Information about the current default
server and host is also printed.
</p></dd>
<dt><span class="term"><code class="constant">class=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
<p>
Change the query class to one of:
</p>
Change the query class to one of:
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">IN</code></span></dt>
<dd><p>
the Internet class
</p></dd>
<dd><p>the Internet class</p></dd>
<dt><span class="term"><code class="constant">CH</code></span></dt>
<dd><p>
the Chaos class
</p></dd>
<dd><p>the Chaos class</p></dd>
<dt><span class="term"><code class="constant">HS</code></span></dt>
<dd><p>
the Hesiod class
</p></dd>
<dd><p>the Hesiod class</p></dd>
<dt><span class="term"><code class="constant">ANY</code></span></dt>
<dd><p>
wildcard
</p></dd>
<dd><p>wildcard</p></dd>
</dl></div>
<p>
The class specifies the protocol group of the information.
</p>
The class specifies the protocol group of the information.
</p>
<p>
(Default = IN; abbreviation = cl)
</p>
(Default = IN; abbreviation = cl)
</p>
</dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>debug</code></span></dt>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>debug</code></span></dt>
<dd>
<p>
Turn on or off the display of the full response packet and
any intermediate response packets when searching.
</p>
</p>
<p>
(Default = nodebug; abbreviation = [<span class="optional">no</span>]deb)
</p>
(Default = nodebug; abbreviation = [<span class="optional">no</span>]deb)
</p>
</dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>d2</code></span></dt>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>d2</code></span></dt>
<dd>
<p>
Turn debugging mode on or off. This displays more about
what nslookup is doing.
</p>
Turn debugging mode on or off. This displays more about
what nslookup is doing.
</p>
<p>
(Default = nod2)
</p>
(Default = nod2)
</p>
</dd>
<dt><span class="term"><code class="constant">domain=</code><em class="replaceable"><code>name</code></em></span></dt>
<dd><p>
Sets the search list to <em class="replaceable"><code>name</code></em>.
</p></dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>search</code></span></dt>
Sets the search list to <em class="replaceable"><code>name</code></em>.
</p></dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>search</code></span></dt>
<dd>
<p>
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.
</p>
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.
</p>
<p>
(Default = search)
</p>
(Default = search)
</p>
</dd>
<dt><span class="term"><code class="constant">port=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd>
<p>
Change the default TCP/UDP name server port to <em class="replaceable"><code>value</code></em>.
</p>
Change the default TCP/UDP name server port to <em class="replaceable"><code>value</code></em>.
</p>
<p>
(Default = 53; abbreviation = po)
</p>
(Default = 53; abbreviation = po)
</p>
</dd>
<dt><span class="term"><code class="constant">querytype=</code><em class="replaceable"><code>value</code></em></span></dt>
<dd><p></p></dd>
<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.
</p>
Change the type of the information query.
</p>
<p>
(Default = A; abbreviations = q, ty)
</p>
(Default = A; abbreviations = q, ty)
</p>
</dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>recurse</code></span></dt>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>recurse</code></span></dt>
<dd>
<p>
Tell the name server to query other servers if it does not
have the
information.
</p>
Tell the name server to query other servers if it does not have the
information.
</p>
<p>
(Default = recurse; abbreviation = [no]rec)
</p>
(Default = recurse; abbreviation = [no]rec)
</p>
</dd>
<dt><span class="term"><code class="constant">retry=</code><em class="replaceable"><code>number</code></em></span></dt>
<dd><p>
Set the number of retries to number.
</p></dd>
Set the number of retries to number.
</p></dd>
<dt><span class="term"><code class="constant">timeout=</code><em class="replaceable"><code>number</code></em></span></dt>
<dd><p>
Change the initial timeout interval for waiting for a
reply to number seconds.
</p></dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>vc</code></span></dt>
Change the initial timeout interval for waiting for a
reply to number seconds.
</p></dd>
<dt><span class="term"><code class="constant"><em class="replaceable"><code>[<span class="optional">no</span>]</code></em>vc</code></span></dt>
<dd>
<p>
Always use a virtual circuit when sending requests to the
server.
</p>
Always use a virtual circuit when sending requests to the server.
</p>
<p>
(Default = novc)
</p>
</dd>
<dt><span class="term"><code class="constant">
<em class="replaceable"><code>[<span class="optional">no</span>]</code></em>fail</code></span></dt>
<dd>
<p>
Try the next nameserver if a nameserver responds with
SERVFAIL or a referral (nofail) or terminate query
(fail) on such a response.
</p>
<p>
(Default = nofail)
</p>
(Default = novc)
</p>
</dd>
</dl></div>
<p>
</p>
</p>
</dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2546279"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2546291"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2546325"></a><h2>Author</h2>
<a name="id2543797"></a><h2>FILES</h2>
<p>
Andrew Cherenson
</p>
<code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543810"></a><h2>SEE ALSO</h2>
<p>
<span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543845"></a><h2>Author</h2>
<p>
Andrew Cherenson
</p>
</div>
</div></body>
</html>

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/isc/noatomic/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 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 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 ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dig.exe"
# 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"
!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/isc/noatomic/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
# 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
# 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 ../../../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
# 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
!ENDIF
@@ -94,10 +94,6 @@ SOURCE=..\dig.c
# 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,9 +25,6 @@ NULL=
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "dig - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
@@ -108,21 +105,10 @@ _VC_MANIFEST_CLEAN=
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"
@@ -132,94 +118,8 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
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/isc/noatomic/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 ../../../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" \
"..\..\..\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"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
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"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dig.bsc"
-@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_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/isc/noatomic/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= \
"$(INTDIR)\dig.sbr" \
"$(INTDIR)\dighost.sbr"
"$(OUTDIR)\dig.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/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" \
"..\..\..\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
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) @<<
@@ -251,6 +151,109 @@ LINK32_OBJS= \
$(CPP_PROJ) $<
<<
RSC=rc.exe
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_OBJS= \
"$(INTDIR)\dig.obj" \
"$(INTDIR)\dighost.obj"
"..\..\..\Build\Release\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\dig.exe" "$(OUTDIR)\dig.bsc"
CLEAN :
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dig.sbr"
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dig.bsc"
-@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
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\dig.bsc"
BSC32_SBRS= \
"$(INTDIR)\dig.sbr" \
"$(INTDIR)\dighost.sbr"
"$(OUTDIR)\dig.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 /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"
"..\..\..\Build\Debug\dig.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("dig.dep")
@@ -298,110 +301,6 @@ 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
!IF "$(CFG)" == "dig - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"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

View File

@@ -43,7 +43,7 @@ RSC=rc.exe
# 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/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddighost
# 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
@@ -70,7 +70,7 @@ LINK32=link.exe
# 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/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/dns/include" /I "../../../lib/bind9/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddighost
# 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

View File

@@ -1,29 +1,29 @@
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>
{{{
}}}
###############################################################################
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/isc/noatomic/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 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 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 ../../../lib/bind9/win32/Release/libbind9.lib ../../../lib/lwres/win32/Release/liblwres.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/host.exe"
# 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"
!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/isc/noatomic/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
# 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
# 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 ../../../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
# 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
!ENDIF

View File

@@ -25,9 +25,6 @@ NULL=
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "host - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
@@ -108,21 +105,10 @@ _VC_MANIFEST_CLEAN=
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"
@@ -132,94 +118,8 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
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/isc/noatomic/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 ../../../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" \
"..\..\..\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"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
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"
-@erase "$(INTDIR)\host.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\host.bsc"
-@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_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/isc/noatomic/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= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\host.sbr"
"$(OUTDIR)\host.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/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" \
"..\..\..\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
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) @<<
@@ -251,6 +151,109 @@ LINK32_OBJS= \
$(CPP_PROJ) $<
<<
RSC=rc.exe
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_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\host.obj"
"..\..\..\Build\Release\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\host.exe" "$(OUTDIR)\host.bsc"
CLEAN :
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\host.obj"
-@erase "$(INTDIR)\host.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\host.bsc"
-@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
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\host.bsc"
BSC32_SBRS= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\host.sbr"
"$(OUTDIR)\host.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 /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"
"..\..\..\Build\Debug\host.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("host.dep")
@@ -298,110 +301,6 @@ 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
!IF "$(CFG)" == "host - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"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

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/isc/noatomic/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 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 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 ../../../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"
# 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"
!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/isc/noatomic/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
# 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
# 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 ../../../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
# 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
!ENDIF
@@ -88,10 +88,6 @@ 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,9 +25,6 @@ NULL=
NULL=nul
!ENDIF
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "nslookup - Win32 Release"
_VC_MANIFEST_INC=0
_VC_MANIFEST_BASENAME=__VC80
@@ -108,21 +105,10 @@ _VC_MANIFEST_CLEAN=
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"
@@ -132,94 +118,8 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
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/isc/noatomic/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 ../../../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" \
"..\..\..\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"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
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"
-@erase "$(INTDIR)\nslookup.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\nslookup.bsc"
-@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_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/isc/noatomic/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= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\nslookup.sbr"
"$(OUTDIR)\nslookup.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/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" \
"..\..\..\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
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) @<<
@@ -251,6 +151,109 @@ LINK32_OBJS= \
$(CPP_PROJ) $<
<<
RSC=rc.exe
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_OBJS= \
"$(INTDIR)\dighost.obj" \
"$(INTDIR)\nslookup.obj"
"..\..\..\Build\Release\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\nslookup.exe" "$(OUTDIR)\nslookup.bsc"
CLEAN :
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\dighost.sbr"
-@erase "$(INTDIR)\nslookup.obj"
-@erase "$(INTDIR)\nslookup.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\nslookup.bsc"
-@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
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\nslookup.bsc"
BSC32_SBRS= \
"$(INTDIR)\dighost.sbr" \
"$(INTDIR)\nslookup.sbr"
"$(OUTDIR)\nslookup.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 /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"
"..\..\..\Build\Debug\nslookup.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
$(_VC_MANIFEST_EMBED_EXE)
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("nslookup.dep")
@@ -298,110 +301,6 @@ 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
!IF "$(CFG)" == "nslookup - Win32 Release"
"libisc - Win32 Release" :
cd "..\..\..\lib\isc\win32"
$(MAKE) /$(MAKEFLAGS) /F ".\libisc.mak" CFG="libisc - Win32 Release"
cd "..\..\..\bin\dig\win32"
"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

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.31 2007/06/18 23:47:17 tbox Exp $
# $Id: Makefile.in,v 1.19.2.5 2005/05/02 00:25:33 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,14 +21,14 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DVERSION=\"${VERSION}\"
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
@@ -39,31 +39,46 @@ DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
# Alphabetically
TARGETS = dnssec-keygen@EXEEXT@ dnssec-signzone@EXEEXT@
TARGETS = dnssec-keygen \
dnssec-makekeyset \
dnssec-signkey \
dnssec-signzone
OBJS = dnssectool.@O@
SRCS = dnssec-keygen.c dnssec-signzone.c dnssectool.c
SRCS = dnssec-keygen.c dnssec-makekeyset.c \
dnssec-signkey.c dnssec-signzone.c \
dnssectool.c
MANPAGES = dnssec-keygen.8 dnssec-signzone.8
MANPAGES = dnssec-keygen.8 \
dnssec-makekeyset.8 \
dnssec-signkey.8 \
dnssec-signzone.8
HTMLPAGES = dnssec-keygen.html dnssec-signzone.html
HTMLPAGES = dnssec-keygen.html \
dnssec-makekeyset.html \
dnssec-signkey.html \
dnssec-signzone.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
dnssec-keygen@EXEEXT@: dnssec-keygen.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-keygen.@O@ ${OBJS} ${LIBS}
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-signzone.@O@: dnssec-signzone.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -DVERSION=\"${VERSION}\" \
-c ${srcdir}/dnssec-signzone.c
dnssec-signzone@EXEEXT@: dnssec-signzone.@O@ ${OBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
dnssec-signzone.@O@ ${OBJS} ${LIBS}
dnssec-signzone: 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, 2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2000, 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
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keygen.8,v 1.38 2007/06/18 23:37:19 marka Exp $
.\" $Id: dnssec-keygen.8,v 1.19.2.9 2007/05/09 03:32:21 marka Exp $
.\"
.hy 0
.ad l
@@ -33,34 +33,32 @@
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\-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}
\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}
.SH "DESCRIPTION"
.PP
\fBdnssec\-keygen\fR
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034. 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. It can also generate keys for use with TSIG (Transaction Signatures), as defined in RFC 2845.
.SH "OPTIONS"
.PP
\-a \fIalgorithm\fR
.RS 4
Selects the cryptographic algorithm. The value of
\fBalgorithm\fR
must be one of RSAMD5 (RSA) or RSASHA1, DSA, DH (Diffie Hellman), or HMAC\-MD5. These values are case insensitive.
must be one of RSAMD5 or RSA, DSA, DH (Diffie Hellman), or HMAC\-MD5. These values are case insensitive.
.sp
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.
Note that for DNSSEC, DSA is a mandatory to implement algorithm, and RSA is recommended. For TSIG, HMAC\-MD5 is mandatory.
.RE
.PP
\-b \fIkeysize\fR
.RS 4
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.
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.
.RE
.PP
\-n \fInametype\fR
.RS 4
Specifies the owner type of the key. The value of
\fBnametype\fR
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. Defaults to ZONE for DNSKEY generation.
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.
.RE
.PP
\-c \fIclass\fR
@@ -70,12 +68,7 @@ Indicates that the DNS record containing the key should have the specified class
.PP
\-e
.RS 4
If generating an RSAMD5/RSASHA1 key, use a large exponent.
.RE
.PP
\-f \fIflag\fR
.RS 4
Set the specified flag in the flag field of the KEY/DNSKEY record. The only recognized flag is KSK (Key Signing Key) DNSKEY.
If generating an RSA key, use a large exponent.
.RE
.PP
\-g \fIgenerator\fR
@@ -89,14 +82,9 @@ Prints a short summary of the options and arguments to
\fBdnssec\-keygen\fR.
.RE
.PP
\-k
.RS 4
Generate KEY records rather than DNSKEY records.
.RE
.PP
\-p \fIprotocol\fR
.RS 4
Sets the protocol value for the generated key. The protocol is a number between 0 and 255. The default is 3 (DNSSEC). Other possible values for this argument are listed in RFC 2535 and its successors.
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.
.RE
.PP
\-r \fIrandomdev\fR
@@ -132,7 +120,8 @@ 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.
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 4
\(bu
\fInnnn\fR
@@ -185,6 +174,8 @@ 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,
@@ -196,5 +187,5 @@ Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
Copyright \(co 2000, 2001 Internet Software Consortium.
.br

View File

@@ -1,6 +1,7 @@
/*
* Portions Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
* Portions Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2001 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -13,25 +14,9 @@
* 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.
*
* 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-keygen.c,v 1.78 2007/06/18 23:47:17 tbox Exp $ */
/*! \file */
/* $Id: dnssec-keygen.c,v 1.48.2.5 2007/08/28 07:18:13 tbox Exp $ */
#include <config.h>
@@ -62,10 +47,6 @@
const char *program = "dnssec-keygen";
int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 | HMAC-MD5 |"
" HMAC-SHA1 | HMAC-SHA224 | HMAC-SHA256 | "
" HMAC-SHA384 | HMAC-SHA512";
static isc_boolean_t
dsa_size_ok(int size) {
return (ISC_TF(size >= 512 && size <= 1024 && size % 64 == 0));
@@ -74,42 +55,30 @@ dsa_size_ok(int size) {
static void
usage(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, " %s -a alg -b bits [-n type] [options] name\n\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: %s\n", algs);
fprintf(stderr, " -a algorithm: RSA | RSAMD5 | DH | DSA | HMAC-MD5"
"\n");
fprintf(stderr, " -b key size, in bits:\n");
fprintf(stderr, " RSAMD5:\t\t[512..%d]\n", MAX_RSA);
fprintf(stderr, " RSASHA1:\t\t[512..%d]\n", MAX_RSA);
fprintf(stderr, " RSA:\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, " HMAC-SHA1:\t[1..160]\n");
fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
fprintf(stderr, " HMAC-SHA256:\t[1..256]\n");
fprintf(stderr, " HMAC-SHA384:\t[1..384]\n");
fprintf(stderr, " HMAC-SHA512:\t[1..512]\n");
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER | OTHER\n");
fprintf(stderr, " (DNSKEY generation defaults to ZONE\n");
fprintf(stderr, " -n nametype: ZONE | HOST | ENTITY | USER\n");
fprintf(stderr, " name: owner of the key\n");
fprintf(stderr, "Other options:\n");
fprintf(stderr, " -c <class> (default: IN)\n");
fprintf(stderr, " -d <digest bits> (0 => max, default)\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, " -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, "Output:\n");
fprintf(stderr, " K<name>+<alg>+<id>.key, "
"K<name>+<alg>+<id>.private\n");
@@ -121,11 +90,12 @@ int
main(int argc, char **argv) {
char *algname = NULL, *nametype = NULL, *type = NULL;
char *classname = NULL;
char *endp;
char *randomfile = NULL;
char *prog, *endp;
dst_key_t *key = NULL, *oldkey;
dns_fixedname_t fname;
dns_name_t *name;
isc_uint16_t flags = 0, ksk = 0;
isc_uint16_t flags = 0;
dns_secalg_t alg;
isc_boolean_t conflict = ISC_FALSE, null_key = ISC_FALSE;
isc_mem_t *mctx = NULL;
@@ -138,20 +108,23 @@ main(int argc, char **argv) {
isc_log_t *log = NULL;
isc_entropy_t *ectx = NULL;
dns_rdataclass_t rdclass;
int options = DST_TYPE_PRIVATE | DST_TYPE_PUBLIC;
int dbits = 0;
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");
if (argc == 1)
usage();
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
dns_result_register();
isc_commandline_errprint = ISC_FALSE;
while ((ch = isc_commandline_parse(argc, argv,
"a:b:c:d:ef:g:kn:t:p:s:r:v:h")) != -1)
"a:b:c:eg:n:t:p:s:hr:v:")) != -1)
{
switch (ch) {
case 'a':
@@ -165,35 +138,24 @@ main(int argc, char **argv) {
case 'c':
classname = isc_commandline_argument;
break;
case 'd':
dbits = strtol(isc_commandline_argument, &endp, 10);
if (*endp != '\0' || dbits < 0)
fatal("-d requires a non-negative number");
break;
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);
@@ -209,7 +171,7 @@ main(int argc, char **argv) {
"[0..15]");
break;
case 'r':
setup_entropy(mctx, isc_commandline_argument, &ectx);
randomfile = isc_commandline_argument;
break;
case 'v':
endp = NULL;
@@ -218,22 +180,16 @@ main(int argc, char **argv) {
fatal("-v must be followed by a number");
break;
case '?':
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
case 'h':
usage();
default:
fprintf(stderr, "%s: unhandled option -%c\n",
program, isc_commandline_option);
exit(1);
fprintf(stderr, "%s: invalid argument -%c\n",
program, ch);
usage();
}
}
if (ectx == NULL)
setup_entropy(mctx, NULL, &ectx);
setup_entropy(mctx, randomfile, &ectx);
ret = dst_lib_init(mctx, ectx,
ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY);
if (ret != ISC_R_SUCCESS)
@@ -248,40 +204,19 @@ main(int argc, char **argv) {
if (algname == NULL)
fatal("no algorithm was specified");
if (strcasecmp(algname, "RSA") == 0) {
fprintf(stderr, "The use of RSA (RSAMD5) is not recommended.\n"
"If you still wish to use RSA (RSAMD5) please "
"specify \"-a RSAMD5\"\n");
return (1);
} else if (strcasecmp(algname, "HMAC-MD5") == 0) {
options |= DST_TYPE_KEY;
if (strcasecmp(algname, "RSA") == 0)
alg = DNS_KEYALG_RSA;
else if (strcasecmp(algname, "HMAC-MD5") == 0)
alg = DST_ALG_HMACMD5;
} else if (strcasecmp(algname, "HMAC-SHA1") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACSHA1;
} else if (strcasecmp(algname, "HMAC-SHA224") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACSHA224;
} else if (strcasecmp(algname, "HMAC-SHA256") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACSHA256;
} else if (strcasecmp(algname, "HMAC-SHA384") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACSHA384;
} else if (strcasecmp(algname, "HMAC-SHA512") == 0) {
options |= DST_TYPE_KEY;
alg = DST_ALG_HMACSHA512;
} 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 && (options & DST_TYPE_KEY) != 0) {
if (type != NULL) {
if (strcasecmp(type, "NOAUTH") == 0)
flags |= DNS_KEYTYPE_NOAUTH;
else if (strcasecmp(type, "NOCONF") == 0)
@@ -301,8 +236,7 @@ main(int argc, char **argv) {
fatal("key size not specified (-b option)");
switch (alg) {
case DNS_KEYALG_RSAMD5:
case DNS_KEYALG_RSASHA1:
case DNS_KEYALG_RSA:
if (size != 0 && (size < 512 || size > MAX_RSA))
fatal("RSA key size %d out of range", size);
break;
@@ -312,116 +246,57 @@ 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)
fatal("HMAC-MD5 key size %d out of range", size);
if (dbits != 0 && (dbits < 80 || dbits > 128))
fatal("HMAC-MD5 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-MD5 digest bits %d not divisible by 8",
dbits);
break;
case DST_ALG_HMACSHA1:
if (size < 1 || size > 160)
fatal("HMAC-SHA1 key size %d out of range", size);
if (dbits != 0 && (dbits < 80 || dbits > 160))
fatal("HMAC-SHA1 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-SHA1 digest bits %d not divisible by 8",
dbits);
break;
case DST_ALG_HMACSHA224:
if (size < 1 || size > 224)
fatal("HMAC-SHA224 key size %d out of range", size);
if (dbits != 0 && (dbits < 112 || dbits > 224))
fatal("HMAC-SHA224 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-SHA224 digest bits %d not divisible by 8",
dbits);
break;
case DST_ALG_HMACSHA256:
if (size < 1 || size > 256)
fatal("HMAC-SHA256 key size %d out of range", size);
if (dbits != 0 && (dbits < 128 || dbits > 256))
fatal("HMAC-SHA256 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-SHA256 digest bits %d not divisible by 8",
dbits);
break;
case DST_ALG_HMACSHA384:
if (size < 1 || size > 384)
fatal("HMAC-384 key size %d out of range", size);
if (dbits != 0 && (dbits < 192 || dbits > 384))
fatal("HMAC-SHA384 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-SHA384 digest bits %d not divisible by 8",
dbits);
break;
case DST_ALG_HMACSHA512:
if (size < 1 || size > 512)
fatal("HMAC-SHA512 key size %d out of range", size);
if (dbits != 0 && (dbits < 256 || dbits > 512))
fatal("HMAC-SHA512 digest bits %d out of range", dbits);
if ((dbits % 8) != 0)
fatal("HMAC-SHA512 digest bits %d not divisible by 8",
dbits);
break;
}
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_RSA && rsa_exp != 0)
fatal("specified RSA exponent without RSA");
if (alg != DNS_KEYALG_DH && generator != 0)
fatal("specified DH generator for a non-DH key");
fatal("specified DH generator without DH");
if (nametype == NULL) {
if ((options & DST_TYPE_KEY) != 0) /* KEY / HMAC */
fatal("no nametype specified");
flags |= DNS_KEYOWNER_ZONE; /* DNSKEY */
} else if (strcasecmp(nametype, "zone") == 0)
if (nametype == NULL)
fatal("no nametype specified");
if (strcasecmp(nametype, "zone") == 0)
flags |= DNS_KEYOWNER_ZONE;
else if ((options & DST_TYPE_KEY) != 0) { /* KEY / HMAC */
if (strcasecmp(nametype, "host") == 0 ||
strcasecmp(nametype, "entity") == 0)
flags |= DNS_KEYOWNER_ENTITY;
else if (strcasecmp(nametype, "user") == 0)
flags |= DNS_KEYOWNER_USER;
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
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 / HMAC */
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);
protocol = DNS_KEYPROTO_DNSSEC;
}
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 ||
alg == DST_ALG_HMACSHA1 || alg == DST_ALG_HMACSHA224 ||
alg == DST_ALG_HMACSHA256 || alg == DST_ALG_HMACSHA384 ||
alg == DST_ALG_HMACSHA512))
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],
@@ -429,12 +304,11 @@ 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_RSAMD5:
case DNS_KEYALG_RSASHA1:
case DNS_KEYALG_RSA:
param = rsa_exp;
break;
case DNS_KEYALG_DH:
@@ -442,11 +316,6 @@ main(int argc, char **argv) {
break;
case DNS_KEYALG_DSA:
case DST_ALG_HMACMD5:
case DST_ALG_HMACSHA1:
case DST_ALG_HMACSHA224:
case DST_ALG_HMACSHA256:
case DST_ALG_HMACSHA384:
case DST_ALG_HMACSHA512:
param = 0;
break;
}
@@ -468,15 +337,13 @@ 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);
}
dst_key_setbits(key, dbits);
/*
* Try to read a key with the same name, alg and id from disk.
* If there is one we must continue generating a new one
@@ -510,10 +377,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, options, NULL);
ret = dst_key_tofile(key, DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, 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));
}
@@ -521,12 +388,12 @@ 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);
cleanup_entropy(&ectx);
dst_lib_destroy();
dns_name_destroy();
if (verbose > 10)
isc_mem_stats(mctx, stdout);
isc_mem_destroy(&mctx);

View File

@@ -3,7 +3,7 @@
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -18,8 +18,9 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.docbook,v 1.19 2007/06/18 23:47:17 tbox Exp $ -->
<refentry id="man.dnssec-keygen">
<!-- $Id: dnssec-keygen.docbook,v 1.3.2.8 2007/08/28 07:18:13 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>June 30, 2000</date>
</refentryinfo>
@@ -30,11 +31,6 @@
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>dnssec-keygen</application></refname>
<refpurpose>DNSSEC key generation tool</refpurpose>
</refnamediv>
<docinfo>
<copyright>
<year>2004</year>
@@ -45,12 +41,15 @@
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>dnssec-keygen</application></refname>
<refpurpose>DNSSEC key generation tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>dnssec-keygen</command>
@@ -59,10 +58,8 @@
<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>
@@ -74,10 +71,11 @@
<refsect1>
<title>DESCRIPTION</title>
<para><command>dnssec-keygen</command>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
TSIG (Transaction Signatures), as defined in RFC 2845.
<para>
<command>dnssec-keygen</command> 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.
</para>
</refsect1>
@@ -87,173 +85,147 @@
<variablelist>
<varlistentry>
<term>-a <replaceable class="parameter">algorithm</replaceable></term>
<listitem>
<para>
Selects the cryptographic algorithm. The value of
<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 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>
<listitem>
<para>
Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5 or RSA,
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-b <replaceable class="parameter">keysize</replaceable></term>
<listitem>
<para>
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.
</para>
</listitem>
<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
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">nametype</replaceable></term>
<listitem>
<para>
Specifies the owner type of the key. The value of
<option>nametype</option> 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. Defaults to ZONE for DNSKEY
generation.
</para>
</listitem>
<listitem>
<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
case insensitive.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
</para>
</listitem>
<listitem>
<para>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e</term>
<listitem>
<para>
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>
<listitem>
<para>
If generating an RSA key, use a large exponent.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-g <replaceable class="parameter">generator</replaceable></term>
<listitem>
<para>
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.
</para>
</listitem>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-keygen</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-k</term>
<listitem>
<para>
Generate KEY records rather than DNSKEY records.
</para>
</listitem>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-keygen</command>.
</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 3 (DNSSEC).
Other possible values for this argument are listed in
RFC 2535 and its successors.
</para>
</listitem>
<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.
Other possible values for this argument are listed in
RFC 2535 and its successors.
</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>
<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>-s <replaceable class="parameter">strength</replaceable></term>
<listitem>
<para>
Specifies the strength value of the key. The strength is
a number between 0 and 15, and currently has no defined
purpose in DNSSEC.
</para>
</listitem>
<listitem>
<para>
Specifies the strength value of the key. The strength is
a number between 0 and 15, and currently has no defined
purpose in DNSSEC.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">type</replaceable></term>
<listitem>
<para>
Indicates the use of the key. <option>type</option> 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.
</para>
</listitem>
<listitem>
<para>
Indicates the use of the key. <option>type</option> 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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v <replaceable class="parameter">level</replaceable></term>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
</variablelist>
@@ -262,82 +234,91 @@
<refsect1>
<title>GENERATED KEYS</title>
<para>
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.
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>.
</para>
<itemizedlist>
<listitem>
<para><filename>nnnn</filename> is the key name.
<para>
<filename>nnnn</filename> is the key name.
</para>
</listitem>
<listitem>
<para><filename>aaa</filename> is the numeric representation
of the
<para>
<filename>aaa</filename> is the numeric representation of the
algorithm.
</para>
</listitem>
<listitem>
<para><filename>iiiii</filename> is the key identifier (or
footprint).
<para>
<filename>iiiii</filename> is the key identifier (or footprint).
</para>
</listitem>
</itemizedlist>
<para><command>dnssec-keygen</command>
creates two files, with names based
on the printed string. <filename>Knnnn.+aaa+iiiii.key</filename>
contains the public key, and
<filename>Knnnn.+aaa+iiiii.private</filename> contains the
private
key.
<para>
<command>dnssec-keygen</command> creates two files, with names based
on the printed string. <filename>Knnnn.+aaa+iiiii.key</filename>
contains the public key, and
<filename>Knnnn.+aaa+iiiii.private</filename> contains the private
key.
</para>
<para>
The <filename>.key</filename> file contains a DNS KEY record
that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
The <filename>.key</filename> file contains a DNS KEY record that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
</para>
<para>
The <filename>.private</filename> file contains
algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
The <filename>.private</filename> file contains algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
</para>
<para>
Both <filename>.key</filename> and <filename>.private</filename>
files are generated for symmetric encryption algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
Both <filename>.key</filename> and <filename>.private</filename>
files are generated for symmetric encryption algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
</para>
</refsect1>
<refsect1>
<title>EXAMPLE</title>
<para>
To generate a 768-bit DSA key for the domain
<userinput>example.com</userinput>, the following command would be
issued:
</para>
<para><userinput>dnssec-keygen -a DSA -b 768 -n ZONE example.com</userinput>
To generate a 768-bit DSA key for the domain
<userinput>example.com</userinput>, the following command would be
issued:
</para>
<para>
The command would print a string of the form:
</para>
<para><userinput>Kexample.com.+003+26160</userinput>
<userinput>dnssec-keygen -a DSA -b 768 -n ZONE example.com</userinput>
</para>
<para>
In this example, <command>dnssec-keygen</command> creates
the files <filename>Kexample.com.+003+26160.key</filename>
and
<filename>Kexample.com.+003+26160.private</filename>.
The command would print a string of the form:
</para>
<para>
<userinput>Kexample.com.+003+26160</userinput>
</para>
<para>
In this example, <command>dnssec-keygen</command> creates
the files <filename>Kexample.com.+003+26160.key</filename> and
<filename>Kexample.com.+003+26160.private</filename>.
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
<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>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 2535</citetitle>,
@@ -348,11 +329,14 @@
<refsect1>
<title>AUTHOR</title>
<para><corpauthor>Internet Systems Consortium</corpauthor>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry><!--
</refentry>
<!--
- Local variables:
- mode: sgml
- End:

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2000, 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
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.html,v 1.30 2007/06/18 23:37:19 marka Exp $ -->
<!-- $Id: dnssec-keygen.html,v 1.5.2.16 2007/05/09 03:32:21 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,201 +22,188 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.dnssec-keygen"></a><div class="titlepage"></div>
<a name="id2476275"></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">-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 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>
<div class="refsect1" lang="en">
<a name="id2543474"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
TSIG (Transaction Signatures), as defined in RFC 2845.
<a name="id2543443"></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
keys for use with TSIG (Transaction Signatures), as
defined in RFC 2845.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543485"></a><h2>OPTIONS</h2>
<a name="id2543456"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
<p>
Selects the cryptographic algorithm. The value of
<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>
Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5 or RSA,
DSA, DH (Diffie Hellman), or HMAC-MD5. These values
are case insensitive.
</p>
<p>
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>
Note that for DNSSEC, DSA is a mandatory to implement algorithm,
and RSA is recommended. For TSIG, HMAC-MD5 is mandatory.
</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. 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.
</p></dd>
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.
</p></dd>
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
<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 (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. Defaults to ZONE for DNSKEY
generation.
</p></dd>
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
case insensitive.
</p></dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd><p>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
</p></dd>
Indicates that the DNS record containing the key should have
the specified class. If not specified, class IN is used.
</p></dd>
<dt><span class="term">-e</span></dt>
<dd><p>
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>
If generating an RSA key, use a large exponent.
</p></dd>
<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt>
<dd><p>
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.
</p></dd>
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.
</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-keygen</strong></span>.
</p></dd>
<dt><span class="term">-k</span></dt>
<dd><p>
Generate KEY records rather than DNSKEY records.
</p></dd>
Prints a short summary of the options and arguments to
<span><strong class="command">dnssec-keygen</strong></span>.
</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 3 (DNSSEC).
Other possible values for this argument are listed in
RFC 2535 and its successors.
</p></dd>
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.
</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>
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">-s <em class="replaceable"><code>strength</code></em></span></dt>
<dd><p>
Specifies the strength value of the key. The strength is
a number between 0 and 15, and currently has no defined
purpose in DNSSEC.
</p></dd>
Specifies the strength value of the key. The strength is
a number between 0 and 15, and currently has no defined
purpose in DNSSEC.
</p></dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd><p>
Indicates the use of the key. <code class="option">type</code> 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.
</p></dd>
Indicates the use of the key. <code class="option">type</code> 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.
</p></dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
<dd><p>
Sets the debugging level.
</p></dd>
Sets the debugging level.
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543820"></a><h2>GENERATED KEYS</h2>
<a name="id2543691"></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.
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>.
</p>
<div class="itemizedlist"><ul type="disc">
<li><p><code class="filename">nnnn</code> is the key name.
<li><p>
<code class="filename">nnnn</code> is the key name.
</p></li>
<li><p><code class="filename">aaa</code> is the numeric representation
of the
<li><p>
<code class="filename">aaa</code> is the numeric representation of the
algorithm.
</p></li>
<li><p><code class="filename">iiiii</code> is the key identifier (or
footprint).
<li><p>
<code class="filename">iiiii</code> is the key identifier (or footprint).
</p></li>
</ul></div>
<p><span><strong class="command">dnssec-keygen</strong></span>
creates two files, with names based
on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
contains the public key, and
<code class="filename">Knnnn.+aaa+iiiii.private</code> contains the
private
key.
<p>
<span><strong class="command">dnssec-keygen</strong></span> creates two files, with names based
on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
contains the public key, and
<code class="filename">Knnnn.+aaa+iiiii.private</code> contains the private
key.
</p>
<p>
The <code class="filename">.key</code> file contains a DNS KEY record
that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
The <code class="filename">.key</code> file contains a DNS KEY record that
can be inserted into a zone file (directly or with a $INCLUDE
statement).
</p>
<p>
The <code class="filename">.private</code> file contains
algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
The <code class="filename">.private</code> file contains algorithm-specific
fields. For obvious security reasons, this file does not have
general read permission.
</p>
<p>
Both <code class="filename">.key</code> and <code class="filename">.private</code>
files are generated for symmetric encryption algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
Both <code class="filename">.key</code> and <code class="filename">.private</code>
files are generated for symmetric encryption algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543902"></a><h2>EXAMPLE</h2>
<a name="id2543783"></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
issued:
</p>
<p><strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong>
To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be
issued:
</p>
<p>
The command would print a string of the form:
</p>
<p><strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
<strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong>
</p>
<p>
In this example, <span><strong class="command">dnssec-keygen</strong></span> creates
the files <code class="filename">Kexample.com.+003+26160.key</code>
and
<code class="filename">Kexample.com.+003+26160.private</code>.
The command would print a string of the form:
</p>
<p>
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
</p>
<p>
In this example, <span><strong class="command">dnssec-keygen</strong></span> creates
the files <code class="filename">Kexample.com.+003+26160.key</code> and
<code class="filename">Kexample.com.+003+26160.private</code>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543946"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<a name="id2543829"></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>,
<em class="citetitle">RFC 2845</em>,
@@ -224,8 +211,9 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544045"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
<a name="id2543881"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>

View File

@@ -0,0 +1,141 @@
.\" 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.9 2006/12/12 01:42:53 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-makekeyset
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.71.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"
.PP
\-a
.RS 4
Verify all generated signatures.
.RE
.PP
\-s \fIstart\-time\fR
.RS 4
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.
.RE
.PP
\-e \fIend\-time\fR
.RS 4
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.
.RE
.PP
\-h
.RS 4
Prints a short summary of the options and arguments to
\fBdnssec\-makekeyset\fR.
.RE
.PP
\-p
.RS 4
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.
.RE
.PP
\-r \fIrandomdev\fR
.RS 4
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.
.RE
.PP
\-t \fIttl\fR
.RS 4
Specify the TTL (time to live) of the KEY and SIG records. The default is 3600 seconds.
.RE
.PP
\-v \fIlevel\fR
.RS 4
Sets the debugging level.
.RE
.PP
key
.RS 4
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.
.RE
.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")
.br
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br

View File

@@ -0,0 +1,473 @@
/*
* 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

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

@@ -0,0 +1,153 @@
<!--
- 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.16 2007/01/26 23:26:58 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.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2476275"></a><div class="titlepage"></div>
<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="id2543403"></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="id2543427"></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="id2543606"></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="id2543652"></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="id2543688"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>
</html>

143
bin/dnssec/dnssec-signkey.8 Normal file
View File

@@ -0,0 +1,143 @@
.\" 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.8 2006/12/12 01:42:53 marka Exp $
.\"
.hy 0
.ad l
.\" Title: dnssec\-signkey
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.71.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"
.PP
\-a
.RS 4
Verify all generated signatures.
.RE
.PP
\-c \fIclass\fR
.RS 4
Specifies the DNS class of the key sets.
.RE
.PP
\-s \fIstart\-time\fR
.RS 4
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.
.RE
.PP
\-e \fIend\-time\fR
.RS 4
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.
.RE
.PP
\-h
.RS 4
Prints a short summary of the options and arguments to
\fBdnssec\-signkey\fR.
.RE
.PP
\-p
.RS 4
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.
.RE
.PP
\-r \fIrandomdev\fR
.RS 4
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.
.RE
.PP
\-v \fIlevel\fR
.RS 4
Sets the debugging level.
.RE
.PP
keyset
.RS 4
The file containing the child's keyset.
.RE
.PP
key
.RS 4
The keys used to sign the child's keyset.
.RE
.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")
.br
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br

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

@@ -0,0 +1,478 @@
/*
* 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

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

@@ -0,0 +1,148 @@
<!--
- 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.15 2007/01/26 23:26:58 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.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="id2476275"></a><div class="titlepage"></div>
<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="id2543409"></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="id2543431"></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="id2543620"></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="id2543672"></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="id2543710"></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-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" Copyright (C) 2004, 2005, 2007 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
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-signzone.8,v 1.45 2007/05/09 03:33:50 marka Exp $
.\" $Id: dnssec-signzone.8,v 1.23.2.12 2007/05/09 03:32:21 marka Exp $
.\"
.hy 0
.ad l
@@ -33,12 +33,14 @@
dnssec\-signzone \- DNSSEC zone signing tool
.SH "SYNOPSIS"
.HP 16
\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\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\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-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...]
\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...]
.SH "DESCRIPTION"
.PP
\fBdnssec\-signzone\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
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
file for each child zone.
.SH "OPTIONS"
.PP
@@ -52,40 +54,25 @@ Verify all generated signatures.
Specifies the DNS class of the zone.
.RE
.PP
\-k \fIkey\fR
.RS 4
Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times.
.RE
.PP
\-l \fIdomain\fR
.RS 4
Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records.
.RE
.PP
\-d \fIdirectory\fR
.RS 4
Look for
\fIkeyset\fR
\fIsignedkey\fR
files in
\fBdirectory\fR
as the directory
.RE
.PP
\-g
.RS 4
Generate DS records for child zones from keyset files. Existing DS records will be removed.
.RE
.PP
\-s \fIstart\-time\fR
.RS 4
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
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 minus 1 hour (to allow for clock skew) is used.
is specified, the current time is used.
.RE
.PP
\-e \fIend\-time\fR
.RS 4
Specify the date and time when the generated RRSIG records expire. As with
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.
@@ -108,7 +95,7 @@ Prints a short summary of the options and arguments to
.RS 4
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 RRSIG 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 SIG 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
@@ -116,24 +103,7 @@ 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 RRSIG records are due to expire in less than 7.5 days, they would be replaced.
.RE
.PP
\-I \fIinput\-format\fR
.RS 4
The format of the input zone file. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly. The use of this option does not make much sense for non\-dynamic zones.
.RE
.PP
\-j \fIjitter\fR
.RS 4
When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously. If the zone is incrementally signed, i.e. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time. The
\fBjitter\fR
option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time.
.sp
Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time.
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.
.RE
.PP
\-n \fIncpus\fR
@@ -141,46 +111,11 @@ Signature lifetime jitter also to some extent benefits validators and servers by
Specifies the number of threads to use. By default, one thread is started for each detected CPU.
.RE
.PP
\-N \fIsoa\-serial\-format\fR
.RS 4
The SOA serial number format of the signed zone. Possible formats are
\fB"keep"\fR
(default),
\fB"increment"\fR
and
\fB"unixtime"\fR.
.RS 4
.PP
\fB"keep"\fR
.RS 4
Do not modify the SOA serial number.
.RE
.PP
\fB"increment"\fR
.RS 4
Increment the SOA serial number using RFC 1982 arithmetics.
.RE
.PP
\fB"unixtime"\fR
.RS 4
Set the SOA serial number to the number of seconds since epoch.
.RE
.RE
.RE
.PP
\-o \fIorigin\fR
.RS 4
The zone origin. If not specified, the name of the zone file is assumed to be the origin.
.RE
.PP
\-O \fIoutput\-format\fR
.RS 4
The format of the output file containing the signed zone. Possible formats are
\fB"text"\fR
(default) and
\fB"raw"\fR.
.RE
.PP
\-p
.RS 4
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.
@@ -207,11 +142,6 @@ Print statistics at completion.
Sets the debugging level.
.RE
.PP
\-z
.RS 4
Ignore KSK flag on key when determining what to sign.
.RE
.PP
zonefile
.RS 4
The file containing the zone to be signed.
@@ -225,48 +155,34 @@ Specify which keys should be used to sign the zone. If no keys are specified, th
.PP
The following command signs the
\fBexample.com\fR
zone with the DSA key generated by
zone with the DSA key generated in the
\fBdnssec\-keygen\fR
(Kexample.com.+003+17247). The zone's keys must be in the master file (\fIdb.example.com\fR). This invocation looks for
\fIkeyset\fR
files, in the current directory, so that DS records can be generated from them (\fB\-g\fR).
.sp
.RS 4
.nf
% dnssec\-signzone \-g \-o example.com db.example.com \\
Kexample.com.+003+17247
db.example.com.signed
%
.fi
.RE
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.
\fBexample.com\fR, the following command would be issued:
.PP
In the above example,
\fBdnssec\-signzone \-o example.com db.example.com Kexample.com.+003+26160\fR
.PP
The command would print a string of the form:
.PP
In this example,
\fBdnssec\-signzone\fR
creates the file
\fIdb.example.com.signed\fR. This file should be referenced in a zone statement in a
\fInamed.conf\fR
file.
.PP
This example re\-signs a previously signed zone with default parameters. The private keys are assumed to be in the current directory.
.sp
.RS 4
.nf
% cp db.example.com.signed db.example.com
% dnssec\-signzone \-o example.com db.example.com
db.example.com.signed
%
.fi
.RE
.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\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br

File diff suppressed because it is too large Load Diff

View File

@@ -2,8 +2,8 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -18,64 +18,56 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.docbook,v 1.27 2007/06/18 23:47:18 tbox Exp $ -->
<refentry id="man.dnssec-signzone">
<!-- $Id: dnssec-signzone.docbook,v 1.2.2.12 2007/08/28 07:18:13 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>June 30, 2000</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>dnssec-signzone</application></refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>dnssec-signzone</application></refname>
<refpurpose>DNSSEC zone signing tool</refpurpose>
</refnamediv>
<docinfo>
<copyright>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder>Internet Software Consortium.</holder>
</copyright>
</docinfo>
<refnamediv>
<refname><application>dnssec-signzone</application></refname>
<refpurpose>DNSSEC zone signing tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>dnssec-signzone</command>
<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>-I <replaceable class="parameter">input-format</replaceable></option></arg>
<arg><option>-j <replaceable class="parameter">jitter</replaceable></option></arg>
<arg><option>-N <replaceable class="parameter">soa-serial-format</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>-O <replaceable class="parameter">output-format</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>
@@ -83,13 +75,15 @@
<refsect1>
<title>DESCRIPTION</title>
<para><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>
<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.
</para>
</refsect1>
@@ -99,325 +93,194 @@
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Verify all generated signatures.
</para>
</listitem>
<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 zone.
</para>
</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>
<listitem>
<para>
Specifies the DNS class of the zone.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-d <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
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>
<listitem>
<para>
Look for <filename>signedkey</filename> files in
<option>directory</option> as the directory
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable class="parameter">start-time</replaceable></term>
<listitem>
<para>
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 minus 1 hour (to allow for clock skew) is used.
</para>
</listitem>
<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 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
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>
<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>-f <replaceable class="parameter">output-file</replaceable></term>
<listitem>
<para>
The name of the output file containing the signed zone. The
default is to append <filename>.signed</filename> to
the
input filename.
</para>
</listitem>
<listitem>
<para>
The name of the output file containing the signed zone. The
default is to append <filename>.signed</filename> to the
input filename.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-signzone</command>.
</para>
</listitem>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>dnssec-signzone</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i <replaceable class="parameter">interval</replaceable></term>
<listitem>
<para>
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 RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</para>
<para>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<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 RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-I <replaceable class="parameter">input-format</replaceable></term>
<listitem>
<para>
The format of the input zone file.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
This option is primarily intended to be used for dynamic
signed zones so that the dumped zone file in a non-text
format containing updates can be signed directly.
The use of this option does not make much sense for
non-dynamic zones.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-j <replaceable class="parameter">jitter</replaceable></term>
<listitem>
<para>
When signing a zone with a fixed signature lifetime, all
RRSIG records issued at the time of signing expires
simultaneously. If the zone is incrementally signed, i.e.
a previously-signed zone is passed as input to the signer,
all expired signatures have to be regenerated at about the
same time. The <option>jitter</option> option specifies a
jitter window that will be used to randomize the signature
expire time, thus spreading incremental signature
regeneration over time.
</para>
<para>
Signature lifetime jitter also to some extent benefits
validators and servers by spreading out cache expiration,
i.e. if large numbers of RRSIGs don't expire at the same time
from all caches there will be less congestion than if all
validators need to refetch at mostly the same time.
</para>
</listitem>
<listitem>
<para>
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
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</para>
<para>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<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
are due to expire in less than 7.5 days, they would be
replaced.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">ncpus</replaceable></term>
<listitem>
<para>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-N <replaceable class="parameter">soa-serial-format</replaceable></term>
<listitem>
<para>
The SOA serial number format of the signed zone.
Possible formats are <command>"keep"</command> (default),
<command>"increment"</command> and
<command>"unixtime"</command>.
</para>
<variablelist>
<varlistentry>
<term><command>"keep"</command></term>
<listitem>
<para>Do not modify the SOA serial number.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>"increment"</command></term>
<listitem>
<para>Increment the SOA serial number using RFC 1982
arithmetics.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>"unixtime"</command></term>
<listitem>
<para>Set the SOA serial number to the number of seconds
since epoch.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
<listitem>
<para>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-o <replaceable class="parameter">origin</replaceable></term>
<listitem>
<para>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-O <replaceable class="parameter">output-format</replaceable></term>
<listitem>
<para>
The format of the output file containing the signed zone.
Possible formats are <command>"text"</command> (default)
and <command>"raw"</command>.
</para>
</listitem>
<listitem>
<para>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</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>
<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>
<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</term>
<listitem>
<para>
Print statistics at completion.
</para>
</listitem>
<listitem>
<para>
Print statistics at completion.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-v <replaceable class="parameter">level</replaceable></term>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-z</term>
<listitem>
<para>
Ignore KSK flag on key when determining what to sign.
</para>
</listitem>
<listitem>
<para>
Sets the debugging level.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>zonefile</term>
<listitem>
<para>
The file containing the zone to be signed.
</para>
</listitem>
<listitem>
<para>
The file containing the zone to be signed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>key</term>
<listitem>
<para>
<listitem>
<para>
Specify which keys should be used to sign the zone. If
no keys are specified, then the zone will be examined
for DNSKEY records at the zone apex. If these are found and
there are matching private keys, in the current directory,
then these will be used for signing.
</para>
</listitem>
</para>
</listitem>
</varlistentry>
</variablelist>
@@ -426,37 +289,38 @@
<refsect1>
<title>EXAMPLE</title>
<para>
The following command signs the <userinput>example.com</userinput>
zone with the DSA key generated by <command>dnssec-keygen</command>
(Kexample.com.+003+17247). The zone's keys must be in the master
file (<filename>db.example.com</filename>). This invocation looks
for <filename>keyset</filename> files, in the current directory,
so that DS records can be generated from them (<command>-g</command>).
</para>
<programlisting>% dnssec-signzone -g -o example.com db.example.com \
Kexample.com.+003+17247
db.example.com.signed
%</programlisting>
<para>
In the above example, <command>dnssec-signzone</command> creates
the file <filename>db.example.com.signed</filename>. This
file should be referenced in a zone statement in a
<filename>named.conf</filename> file.
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.
<userinput>example.com</userinput>, the following command would be
issued:
</para>
<para>
This example re-signs a previously signed zone with default parameters.
The private keys are assumed to be in the current directory.
<userinput>dnssec-signzone -o example.com db.example.com Kexample.com.+003+26160</userinput>
</para>
<para>
The command would print a string of the form:
</para>
<para>
In this example, <command>dnssec-signzone</command> creates
the file <filename>db.example.com.signed</filename>. This file
should be referenced in a zone statement in a
<filename>named.conf</filename> file.
</para>
<programlisting>% cp db.example.com.signed db.example.com
% dnssec-signzone -o example.com db.example.com
db.example.com.signed
%</programlisting>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><citerefentry>
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
<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>.
@@ -465,11 +329,14 @@ db.example.com.signed
<refsect1>
<title>AUTHOR</title>
<para><corpauthor>Internet Systems Consortium</corpauthor>
<para>
<corpauthor>Internet Systems Consortium</corpauthor>
</para>
</refsect1>
</refentry><!--
</refentry>
<!--
- Local variables:
- mode: sgml
- End:

View File

@@ -1,6 +1,6 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
- Copyright (C) 2004, 2005, 2007 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
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.html,v 1.31 2007/05/09 03:33:50 marka Exp $ -->
<!-- $Id: dnssec-signzone.html,v 1.4.2.18 2007/05/09 03:32:21 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -22,214 +22,137 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
<a name="man.dnssec-signzone"></a><div class="titlepage"></div>
<a name="id2476275"></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">-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">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-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 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>
<div class="refsect1" lang="en">
<a name="id2543526"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-signzone</strong></span>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
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.
<a name="id2543457"></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.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543541"></a><h2>OPTIONS</h2>
<a name="id2543476"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
Verify all generated signatures.
</p></dd>
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 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>
Specifies the DNS class of the zone.
</p></dd>
<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
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>
Look for <code class="filename">signedkey</code> files in
<code class="option">directory</code> as the directory
</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 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 minus 1 hour (to allow for clock skew) is used.
</p></dd>
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 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
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>
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">-f <em class="replaceable"><code>output-file</code></em></span></dt>
<dd><p>
The name of the output file containing the signed zone. The
default is to append <code class="filename">.signed</code> to
the
input filename.
</p></dd>
The name of the output file containing the signed zone. The
default is to append <code class="filename">.signed</code> to the
input filename.
</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-signzone</strong></span>.
</p></dd>
Prints a short summary of the options and arguments to
<span><strong class="command">dnssec-signzone</strong></span>.
</p></dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
<p>
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 RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</p>
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
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</p>
<p>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<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 RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</p>
</dd>
<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
<dd><p>
The format of the input zone file.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
This option is primarily intended to be used for dynamic
signed zones so that the dumped zone file in a non-text
format containing updates can be signed directly.
The use of this option does not make much sense for
non-dynamic zones.
</p></dd>
<dt><span class="term">-j <em class="replaceable"><code>jitter</code></em></span></dt>
<dd>
<p>
When signing a zone with a fixed signature lifetime, all
RRSIG records issued at the time of signing expires
simultaneously. If the zone is incrementally signed, i.e.
a previously-signed zone is passed as input to the signer,
all expired signatures have to be regenerated at about the
same time. The <code class="option">jitter</code> option specifies a
jitter window that will be used to randomize the signature
expire time, thus spreading incremental signature
regeneration over time.
</p>
<p>
Signature lifetime jitter also to some extent benefits
validators and servers by spreading out cache expiration,
i.e. if large numbers of RRSIGs don't expire at the same time
from all caches there will be less congestion than if all
validators need to refetch at mostly the same time.
</p>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<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
are due to expire in less than 7.5 days, they would be
replaced.
</p>
</dd>
<dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
<dd><p>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</p></dd>
<dt><span class="term">-N <em class="replaceable"><code>soa-serial-format</code></em></span></dt>
<dd>
<p>
The SOA serial number format of the signed zone.
Possible formats are <span><strong class="command">"keep"</strong></span> (default),
<span><strong class="command">"increment"</strong></span> and
<span><strong class="command">"unixtime"</strong></span>.
</p>
<div class="variablelist"><dl>
<dt><span class="term"><span><strong class="command">"keep"</strong></span></span></dt>
<dd><p>Do not modify the SOA serial number.</p></dd>
<dt><span class="term"><span><strong class="command">"increment"</strong></span></span></dt>
<dd><p>Increment the SOA serial number using RFC 1982
arithmetics.</p></dd>
<dt><span class="term"><span><strong class="command">"unixtime"</strong></span></span></dt>
<dd><p>Set the SOA serial number to the number of seconds
since epoch.</p></dd>
</dl></div>
</dd>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</p></dd>
<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
<dd><p>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</p></dd>
<dt><span class="term">-O <em class="replaceable"><code>output-format</code></em></span></dt>
<dd><p>
The format of the output file containing the signed zone.
Possible formats are <span><strong class="command">"text"</strong></span> (default)
and <span><strong class="command">"raw"</strong></span>.
</p></dd>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</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>
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>
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</span></dt>
<dd><p>
Print statistics at completion.
</p></dd>
Print statistics at completion.
</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">-z</span></dt>
<dd><p>
Ignore KSK flag on key when determining what to sign.
</p></dd>
Sets the debugging level.
</p></dd>
<dt><span class="term">zonefile</span></dt>
<dd><p>
The file containing the zone to be signed.
</p></dd>
The file containing the zone to be signed.
</p></dd>
<dt><span class="term">key</span></dt>
<dd><p>
Specify which keys should be used to sign the zone. If
@@ -237,48 +160,46 @@
for DNSKEY records at the zone apex. If these are found and
there are matching private keys, in the current directory,
then these will be used for signing.
</p></dd>
</p></dd>
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544327"></a><h2>EXAMPLE</h2>
<a name="id2543858"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
(Kexample.com.+003+17247). The zone's keys must be in the master
file (<code class="filename">db.example.com</code>). This invocation looks
for <code class="filename">keyset</code> files, in the current directory,
so that DS records can be generated from them (<span><strong class="command">-g</strong></span>).
</p>
<pre class="programlisting">% dnssec-signzone -g -o example.com db.example.com \
Kexample.com.+003+17247
db.example.com.signed
%</pre>
<p>
In the above example, <span><strong class="command">dnssec-signzone</strong></span> creates
the file <code class="filename">db.example.com.signed</code>. This
file should be referenced in a zone statement in a
<code class="filename">named.conf</code> file.
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.
<strong class="userinput"><code>example.com</code></strong>, the following command would be
issued:
</p>
<p>
This example re-signs a previously signed zone with default parameters.
The private keys are assumed to be in the current directory.
<strong class="userinput"><code>dnssec-signzone -o example.com db.example.com Kexample.com.+003+26160</code></strong>
</p>
<p>
The command would print a string of the form:
</p>
<p>
In this example, <span><strong class="command">dnssec-signzone</strong></span> creates
the file <code class="filename">db.example.com.signed</code>. This file
should be referenced in a zone statement in a
<code class="filename">named.conf</code> file.
</p>
<pre class="programlisting">% cp db.example.com.signed db.example.com
% dnssec-signzone -o example.com db.example.com
db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2544378"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<a name="id2543908"></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="id2544403"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
<a name="id2543944"></a><h2>AUTHOR</h2>
<p>
<span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
</div></body>

View File

@@ -2,7 +2,7 @@
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* 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.
*
@@ -15,13 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.c,v 1.44 2007/06/18 23:47:18 tbox Exp $ */
/*! \file */
/*%
* DNSSEC Support Routines.
*/
/* $Id: dnssectool.c,v 1.31.2.7 2005/07/02 02:42:29 marka Exp $ */
#include <config.h>
@@ -29,8 +23,6 @@
#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>
@@ -39,7 +31,6 @@
#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>
@@ -50,15 +41,7 @@
extern int verbose;
extern const char *program;
typedef struct entropysource entropysource_t;
struct entropysource {
isc_entropysource_t *source;
isc_mem_t *mctx;
ISC_LINK(entropysource_t) link;
};
static ISC_LIST(entropysource_t) sources;
static isc_entropysource_t *source = NULL;
static fatalcallback_t *fatalcallback = NULL;
void
@@ -124,12 +107,12 @@ alg_format(const dns_secalg_t alg, char *cp, unsigned int size) {
}
void
sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size) {
sig_format(dns_rdata_sig_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);
}
@@ -138,8 +121,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));
}
@@ -217,8 +200,6 @@ 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);
@@ -227,7 +208,6 @@ 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) {
@@ -241,32 +221,17 @@ 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) {
entropysource_t *source;
while (!ISC_LIST_EMPTY(sources)) {
source = ISC_LIST_HEAD(sources);
ISC_LIST_UNLINK(sources, source, link);
isc_entropy_destroysource(&source->source);
isc_mem_put(source->mctx, source, sizeof(*source));
}
if (source != NULL)
isc_entropy_destroysource(&source);
isc_entropy_detach(ectx);
}
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base) {
strtotime(char *str, isc_int64_t now, isc_int64_t base) {
isc_int64_t val, offset;
isc_result_t result;
char *endp;
@@ -295,19 +260,3 @@ strtotime(const 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,8 +1,8 @@
/*
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.h,v 1.19 2007/06/18 23:47:18 tbox Exp $ */
/* $Id: dnssectool.h,v 1.15.2.1 2004/03/09 06:09:16 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_rrsig_t *sig, char *cp, unsigned int size);
sig_format(dns_rdata_sig_t *sig, char *cp, unsigned int size);
#define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + ALG_FORMATSIZE + sizeof("65535"))
void
@@ -68,9 +68,6 @@ void
cleanup_entropy(isc_entropy_t **ectx);
isc_stdtime_t
strtotime(const char *str, isc_int64_t now, isc_int64_t base);
dns_rdataclass_t
strtoclass(const char *str);
strtotime(char *str, isc_int64_t now, isc_int64_t base);
#endif /* DNSSEC_DNSSECTOOL_H */

View File

@@ -1,29 +1,29 @@
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>
{{{
}}}
###############################################################################
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

@@ -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/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /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
@@ -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/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /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" /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"

View File

@@ -119,7 +119,7 @@ CLEAN :
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/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\keygen.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 "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\keygen.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
@@ -196,7 +196,7 @@ CLEAN :
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/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /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" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<

View File

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

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

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

@@ -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/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /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/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/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
@@ -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/isc/noatomic/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /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/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/lwres/win32/include/lwres" /I "../../../lib/dns/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"

View File

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

@@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
###############################################################################
Project: "libbind9"=.\libbind9.dsp - Package Owner=<4>
Project: "signkey"=".\signkey.dsp" - Package Owner=<4>
Package=<5>
{{{

View File

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

@@ -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/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /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
@@ -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/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /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" /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"
@@ -90,6 +90,7 @@ LINK32=link.exe
SOURCE="..\dnssec-signzone.c"
# End Source File
# End Source File
# End Group
# Begin Group "Header Files"

View File

@@ -119,7 +119,7 @@ CLEAN :
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/isc/noatomic/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signzone.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 "__STDC__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\signzone.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
@@ -196,7 +196,7 @@ CLEAN :
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/isc/noatomic/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "__STDC__" /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" /D "_DEBUG" /D "WIN32" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /FR"$(INTDIR)\\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
.c{$(INTDIR)}.obj::
$(CPP) @<<

View File

@@ -4,4 +4,3 @@ Makefile
*.lo
named
lwresd
bind9.xsl.h

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium.
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -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.95 2007/06/18 23:47:18 tbox Exp $
# $Id: Makefile.in,v 1.74.2.5 2004/09/06 21:42:06 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
@BIND9_INCLUDES@
#
# Add database drivers here.
@@ -31,70 +31,55 @@ DBDRIVER_SRCS =
DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
DLZ_DRIVER_DIR = ${top_srcdir}/contrib/dlz/drivers
DLZDRIVER_OBJS = @DLZ_DRIVER_OBJS@
DLZDRIVER_SRCS = @DLZ_DRIVER_SRCS@
DLZDRIVER_INCLUDES = @DLZ_DRIVER_INCLUDES@
DLZDRIVER_LIBS = @DLZ_DRIVER_LIBS@
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${LWRES_INCLUDES} ${DNS_INCLUDES} \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DLZDRIVER_INCLUDES} ${DBDRIVER_INCLUDES}
CDEFINES = @USE_DLZ@
${DBDRIVER_INCLUDES}
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_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} ${BIND9DEPLIBS} \
DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} \
${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} \
${DLZDRIVER_LIBS} ${DBDRIVER_LIBS} @LIBS@
LIBS = ${LWRESLIBS} ${DNSLIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
SUBDIRS = unix
TARGETS = named@EXEEXT@ lwresd@EXEEXT@
TARGETS = named lwresd
OBJS = builtin.@O@ client.@O@ config.@O@ control.@O@ \
controlconf.@O@ interfacemgr.@O@ \
OBJS = aclconf.@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@ \
zoneconf.@O@ \
lwaddr.@O@ lwresd.@O@ lwdclient.@O@ lwderror.@O@ lwdgabn.@O@ \
lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ \
${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
$(DBDRIVER_OBJS)
UOBJS = unix/os.@O@
GENERATED = bind9.xsl.h
SRCS = builtin.c client.c config.c control.c \
controlconf.c interfacemgr.c \
SRCS = aclconf.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 \
zoneconf.c \
lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \
lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c \
${DLZDRIVER_SRCS} ${DBDRIVER_SRCS}
$(DBDRIVER_SRCS)
MANPAGES = named.8 lwresd.8 named.conf.5
@@ -105,24 +90,21 @@ 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@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
${OBJS} ${UOBJS} ${LIBS}
named: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${OBJS} ${UOBJS} ${LIBS}
lwresd@EXEEXT@: named@EXEEXT@
rm -f lwresd@EXEEXT@
@LN@ named@EXEEXT@ lwresd@EXEEXT@
lwresd: named
rm -f lwresd
@LN@ named lwresd
doc man:: ${MANOBJS}
@@ -130,24 +112,16 @@ docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
rm -f ${TARGETS} ${OBJS} ${GENERATED}
bind9.xsl.h: bind9.xsl convertxsl.pl
${PERL} ${srcdir}/convertxsl.pl < ${srcdir}/bind9.xsl > bind9.xsl.h
depend: bind9.xsl.h
server.@O@: bind9.xsl.h
rm -f ${TARGETS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
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:: named lwresd installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f lwresd; @LN@ named lwresd)
${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5
@DLZ_DRIVER_RULES@

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: aclconf.c,v 1.8 2007/06/18 23:47:50 tbox Exp $ */
/* $Id: aclconf.c,v 1.27.2.5 2006/03/02 00:37:17 marka Exp $ */
#include <config.h>
@@ -23,22 +23,21 @@
#include <isc/string.h> /* Required for HP/UX (and others?) */
#include <isc/util.h>
#include <isccfg/namedconf.h>
#include <isccfg/aclconf.h>
#include <dns/acl.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#define LOOP_MAGIC ISC_MAGIC('L','O','O','P')
#include <named/aclconf.h>
#define LOOP_MAGIC ISC_MAGIC('L','O','O','P')
void
cfg_aclconfctx_init(cfg_aclconfctx_t *ctx) {
ns_aclconfctx_init(ns_aclconfctx_t *ctx) {
ISC_LIST_INIT(ctx->named_acl_cache);
}
void
cfg_aclconfctx_destroy(cfg_aclconfctx_t *ctx) {
ns_aclconfctx_destroy(ns_aclconfctx_t *ctx) {
dns_acl_t *dacl, *next;
for (dacl = ISC_LIST_HEAD(ctx->named_acl_cache);
dacl != NULL;
@@ -76,8 +75,8 @@ 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,
isc_log_t *lctx, cfg_aclconfctx_t *ctx,
isc_mem_t *mctx, dns_acl_t **target)
ns_aclconfctx_t *ctx, isc_mem_t *mctx,
dns_acl_t **target)
{
isc_result_t result;
const cfg_obj_t *cacl = NULL;
@@ -92,7 +91,7 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
{
if (strcasecmp(aclname, dacl->name) == 0) {
if (ISC_MAGIC_VALID(dacl, LOOP_MAGIC)) {
cfg_obj_log(nameobj, lctx, ISC_LOG_ERROR,
cfg_obj_log(nameobj, dns_lctx, ISC_LOG_ERROR,
"acl loop detected: %s", aclname);
return (ISC_R_FAILURE);
}
@@ -103,7 +102,7 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
/* Not yet converted. Convert now. */
result = get_acl_def(cctx, aclname, &cacl);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(nameobj, lctx, ISC_LOG_WARNING,
cfg_obj_log(nameobj, dns_lctx, ISC_LOG_WARNING,
"undefined ACL '%s'", aclname);
return (result);
}
@@ -115,7 +114,7 @@ convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t *cctx,
DE_CONST(aclname, loop.name);
loop.magic = LOOP_MAGIC;
ISC_LIST_APPEND(ctx->named_acl_cache, &loop, nextincache);
result = cfg_acl_fromconfig(cacl, cctx, lctx, ctx, mctx, &dacl);
result = ns_acl_fromconfig(cacl, cctx, ctx, mctx, &dacl);
ISC_LIST_UNLINK(ctx->named_acl_cache, &loop, nextincache);
loop.magic = 0;
loop.name = NULL;
@@ -130,9 +129,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_log_t *lctx, isc_mem_t *mctx,
dns_name_t *dnsname)
{
convert_keyname(const cfg_obj_t *keyobj, isc_mem_t *mctx, dns_name_t *dnsname) {
isc_result_t result;
isc_buffer_t buf;
dns_fixedname_t fixname;
@@ -146,7 +143,7 @@ convert_keyname(const cfg_obj_t *keyobj, isc_log_t *lctx, isc_mem_t *mctx,
result = dns_name_fromtext(dns_fixedname_name(&fixname), &buf,
dns_rootname, ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(keyobj, lctx, ISC_LOG_WARNING,
cfg_obj_log(keyobj, dns_lctx, ISC_LOG_WARNING,
"key name '%s' is not a valid domain name",
txtname);
return (result);
@@ -155,12 +152,11 @@ convert_keyname(const cfg_obj_t *keyobj, isc_log_t *lctx, isc_mem_t *mctx,
}
isc_result_t
cfg_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
isc_log_t *lctx,
cfg_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target)
ns_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
ns_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target)
{
isc_result_t result;
unsigned int count;
@@ -205,15 +201,14 @@ cfg_acl_fromconfig(const cfg_obj_t *caml,
/* Key name */
de->type = dns_aclelementtype_keyname;
dns_name_init(&de->u.keyname, NULL);
result = convert_keyname(ce, lctx, mctx,
&de->u.keyname);
result = convert_keyname(ce, mctx, &de->u.keyname);
if (result != ISC_R_SUCCESS)
goto cleanup;
} else if (cfg_obj_islist(ce)) {
/* Nested ACL */
de->type = dns_aclelementtype_nestedacl;
result = cfg_acl_fromconfig(ce, cctx, lctx, ctx,
mctx, &de->u.nestedacl);
result = ns_acl_fromconfig(ce, cctx, ctx, mctx,
&de->u.nestedacl);
if (result != ISC_R_SUCCESS)
goto cleanup;
} else if (cfg_obj_isstring(ce)) {
@@ -230,14 +225,13 @@ cfg_acl_fromconfig(const cfg_obj_t *caml,
de->negative = ISC_TF(! de->negative);
} else {
de->type = dns_aclelementtype_nestedacl;
result = convert_named_acl(ce, cctx, lctx,
ctx, mctx,
result = convert_named_acl(ce, cctx, ctx, mctx,
&de->u.nestedacl);
if (result != ISC_R_SUCCESS)
goto cleanup;
}
} else {
cfg_obj_log(ce, lctx, ISC_LOG_WARNING,
cfg_obj_log(ce, dns_lctx, ISC_LOG_WARNING,
"address match list contains "
"unsupported element type");
result = ISC_R_FAILURE;

View File

@@ -1,281 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: bind9.xsl,v 1.13 2007/06/18 23:47:18 tbox Exp $ -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="isc/bind/statistics">
<html>
<head>
<style type="text/css">
body {
font-family: sans-serif;
background-color: #ffffff;
color: #000000;
}
table {
border-collapse: collapse;
}
tr.rowh {
text-align: center;
border: 1px solid #000000;
background-color: #8080ff;
color: #ffffff;
}
tr.row {
text-align: right;
border: 1px solid #000000;
background-color: teal;
color: #ffffff;
}
tr.lrow {
text-align: left;
border: 1px solid #000000;
background-color: teal;
color: #ffffff;
}
.header {
background-color: teal;
color: #ffffff;
padding: 4px;
}
.content {
background-color: #ffffff;
color: #000000;
padding: 4px;
}
.item {
padding: 4px;
align: right;
}
.value {
padding: 4px;
font-weight: bold;
}
</style>
<title>BIND 9 Statistics</title>
</head>
<body>
<div class="header">Bind 9 Configuration and Statistics</div>
<br/>
<table>
<tr class="rowh"><th colspan="2">Times</th></tr>
<tr class="lrow">
<td>boot-time</td>
<td><xsl:value-of select="server/boot-time"/></td>
</tr>
<tr class="lrow">
<td>current-time</td>
<td><xsl:value-of select="server/current-time"/></td>
</tr>
</table>
<br/>
<table>
<tr class="rowh"><th colspan="2">Server statistics</th></tr>
<xsl:for-each select="server/counters/*">
<tr class="lrow">
<td><xsl:value-of select="name()"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
<br/>
<xsl:for-each select="views/view">
<table>
<tr class="rowh">
<th colspan="11">Zones for View <xsl:value-of select="name"/></th>
</tr>
<tr class="rowh">
<th>Name</th>
<th>Class</th>
<th>Serial</th>
<th>Success</th>
<th>Referral</th>
<th>NXRRSET</th>
<th>NXDOMAIN</th>
<th>Recursion</th>
<th>Failure</th>
<th>Duplicate</th>
<th>Dropped</th>
</tr>
<xsl:for-each select="zones/zone">
<tr class="lrow">
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="rdataclass"/>
</td>
<td>
<xsl:value-of select="serial"/>
</td>
<td>
<xsl:value-of select="counters/success"/>
</td>
<td>
<xsl:value-of select="counters/referral"/>
</td>
<td>
<xsl:value-of select="counters/nxrrset"/>
</td>
<td>
<xsl:value-of select="counters/nxdomain"/>
</td>
<td>
<xsl:value-of select="counters/recursion"/>
</td>
<td>
<xsl:value-of select="counters/failure"/>
</td>
<td>
<xsl:value-of select="counters/duplicate"/>
</td>
<td>
<xsl:value-of select="counters/dropped"/>
</td>
</tr>
</xsl:for-each>
</table>
<br/>
</xsl:for-each>
<br/>
<table>
<tr class="rowh">
<th colspan="7">Network Status</th>
</tr>
<tr class="rowh">
<th>ID</th>
<th>Name</th>
<th>Type</th>
<th>References</th>
<th>LocalAddress</th>
<th>PeerAddress</th>
<th>State</th>
</tr>
<xsl:for-each select="socketmgr/sockets/socket">
<tr class="lrow">
<td>
<xsl:value-of select="id"/>
</td>
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="type"/>
</td>
<td>
<xsl:value-of select="references"/>
</td>
<td>
<xsl:value-of select="local-address"/>
</td>
<td>
<xsl:value-of select="peer-address"/>
</td>
<td>
<xsl:for-each select="states">
<xsl:value-of select="."/>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</table>
<br/>
<table>
<tr class="rowh">
<th colspan="2">Task Manager Configuration</th>
</tr>
<tr class="lrow">
<td>Thread-Model</td>
<td>
<xsl:value-of select="taskmgr/thread-model/type"/>
</td>
</tr>
<tr class="lrow">
<td>Worker Threads</td>
<td>
<xsl:value-of select="taskmgr/thread-model/worker-threads"/>
</td>
</tr>
<tr class="lrow">
<td>Default Quantum</td>
<td>
<xsl:value-of select="taskmgr/thread-model/default-quantum"/>
</td>
</tr>
<tr class="lrow">
<td>Tasks Running</td>
<td>
<xsl:value-of select="taskmgr/thread-model/tasks-running"/>
</td>
</tr>
</table>
<br/>
<table>
<tr class="rowh">
<th colspan="5">Tasks</th>
</tr>
<tr class="rowh">
<th>ID</th>
<th>Name</th>
<th>References</th>
<th>State</th>
<th>Quantum</th>
</tr>
<xsl:for-each select="taskmgr/tasks/task">
<tr class="lrow">
<td>
<xsl:value-of select="id"/>
</td>
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="references"/>
</td>
<td>
<xsl:value-of select="state"/>
</td>
<td>
<xsl:value-of select="quantum"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,307 +0,0 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: builtin.c,v 1.11 2007/06/18 23:47:18 tbox Exp $ */
/*! \file
* \brief
* The built-in "version", "hostname", "id", "authors" and "empty" databases.
*/
#include <config.h>
#include <string.h>
#include <stdio.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/result.h>
#include <dns/sdb.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);
static isc_result_t do_empty_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);
char *server;
char *contact;
};
static builtin_t version_builtin = { do_version_lookup, NULL, NULL };
static builtin_t hostname_builtin = { do_hostname_lookup, NULL, NULL };
static builtin_t authors_builtin = { do_authors_lookup, NULL, NULL };
static builtin_t id_builtin = { do_id_lookup, NULL, NULL };
static builtin_t empty_builtin = { do_empty_lookup, NULL, NULL };
static 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
do_empty_lookup(dns_sdblookup_t *lookup) {
UNUSED(lookup);
return (ISC_R_SUCCESS);
}
static isc_result_t
builtin_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) {
isc_result_t result;
const char *contact = "hostmaster";
const char *server = "@";
builtin_t *b = (builtin_t *) dbdata;
UNUSED(zone);
UNUSED(dbdata);
if (b == &empty_builtin) {
server = ".";
contact = ".";
} else {
if (b->server != NULL)
server = b->server;
if (b->contact != NULL)
contact = b->contact;
}
result = dns_sdb_putsoa(lookup, server, contact, 0);
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
result = dns_sdb_putrr(lookup, "ns", 0, server);
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)
{
REQUIRE(argc >= 1);
UNUSED(zone);
UNUSED(driverdata);
if (strcmp(argv[0], "empty") == 0) {
if (argc != 3)
return (DNS_R_SYNTAX);
} else 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 if (strcmp(argv[0], "empty") == 0) {
builtin_t *empty;
char *server;
char *contact;
/*
* We don't want built-in zones to fail. Fallback to
* the static configuration if memory allocation fails.
*/
empty = isc_mem_get(ns_g_mctx, sizeof(*empty));
server = isc_mem_strdup(ns_g_mctx, argv[1]);
contact = isc_mem_strdup(ns_g_mctx, argv[2]);
if (empty == NULL || server == NULL || contact == NULL) {
*dbdata = &empty_builtin;
if (server != NULL)
isc_mem_free(ns_g_mctx, server);
if (contact != NULL)
isc_mem_free(ns_g_mctx, contact);
if (empty != NULL)
isc_mem_put(ns_g_mctx, empty, sizeof (*empty));
} else {
memcpy(empty, &empty_builtin, sizeof (empty_builtin));
empty->server = server;
empty->contact = contact;
*dbdata = empty;
}
} else
return (ISC_R_NOTIMPLEMENTED);
return (ISC_R_SUCCESS);
}
static void
builtin_destroy(const char *zone, void *driverdata, void **dbdata) {
builtin_t *b = (builtin_t *) *dbdata;
UNUSED(zone);
UNUSED(driverdata);
/*
* Don't free the static versions.
*/
if (*dbdata == &version_builtin || *dbdata == &hostname_builtin ||
*dbdata == &authors_builtin || *dbdata == &id_builtin ||
*dbdata == &empty_builtin)
return;
isc_mem_free(ns_g_mctx, b->server);
isc_mem_free(ns_g_mctx, b->contact);
isc_mem_put(ns_g_mctx, b, sizeof (*b));
}
static dns_sdbmethods_t builtin_methods = {
builtin_lookup,
builtin_authority,
NULL, /* allnodes */
builtin_create,
builtin_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);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,9 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.79 2007/06/18 23:47:18 tbox Exp $ */
/*! \file */
/* $Id: config.c,v 1.11.2.9 2006/03/01 01:34:04 marka Exp $ */
#include <config.h>
@@ -27,25 +25,22 @@
#include <isc/buffer.h>
#include <isc/log.h>
#include <isc/mem.h>
#include <isc/parseint.h>
#include <isc/region.h>
#include <isc/result.h>
#include <isc/sockaddr.h>
#include <isc/util.h>
#include <isccfg/namedconf.h>
#include <isccfg/cfg.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>
#include <named/config.h>
#include <named/globals.h>
/*% default configuration */
static char defaultconf[] = "\
options {\n\
# blackhole {none;};\n"
@@ -71,7 +66,6 @@ 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
"\
@@ -80,14 +74,12 @@ options {\n\
#endif
"\
recursive-clients 1000;\n\
rrset-order {type NS order random; order cyclic; };\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\
@@ -97,17 +89,13 @@ options {\n\
treat-cr-as-space true;\n\
use-id-pool true;\n\
use-ixfr true;\n\
edns-udp-size 4096;\n\
max-udp-size 4096;\n\
version \""VERSION"\";\n\
\n\
/* view */\n\
allow-notify {none;};\n\
allow-update-forwarding {none;};\n\
allow-query-cache { localnets; localhost; };\n\
allow-query-cache-on { any; };\n\
allow-recursion { localnets; localhost; };\n\
allow-recursion-on { any; };\n\
# allow-v6-synthesis <obsolete>;\n\
allow-recursion {any;};\n\
allow-v6-synthesis {none;};\n\
# sortlist <none>\n\
# topology <none>\n\
auth-nxdomain false;\n\
@@ -130,28 +118,15 @@ options {\n\
max-cache-ttl 604800; /* 1 week */\n\
transfer-format many-answers;\n\
max-cache-size 0;\n\
check-names master fail;\n\
check-names slave warn;\n\
check-names master ignore;\n\
check-names slave ignore;\n\
check-names response ignore;\n\
check-mx warn;\n\
acache-enable no;\n\
acache-cleaning-interval 60;\n\
max-acache-size 0;\n\
dnssec-enable yes;\n\
dnssec-validation no; /* Make yes for 9.5. */ \n\
dnssec-accept-expired no;\n\
clients-per-query 10;\n\
max-clients-per-query 100;\n\
zero-no-soa-ttl-cache no;\n\
"
" /* zone */\n\
\n\
/* zone */\n\
allow-query {any;};\n\
allow-query-on {any;};\n\
allow-transfer {any;};\n\
notify yes;\n\
# also-notify <none>\n\
notify-delay 5;\n\
dialup no;\n\
# forward <none>\n\
# forwarders <none>\n\
@@ -159,8 +134,6 @@ 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\
@@ -169,49 +142,9 @@ 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\
check-wildcard yes;\n\
check-sibling yes;\n\
check-integrity yes;\n\
check-mx-cname warn;\n\
check-srv-cname warn;\n\
zero-no-soa-ttl yes;\n\
update-check-ksk yes;\n\
try-tcp-refresh yes; /* BIND 8 compat */\n\
};\n\
"
"#\n\
# Zones in the \"_bind\" view are NOT counted in 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) {
@@ -223,10 +156,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(const cfg_obj_t **maps, const char* name, const 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)
@@ -234,43 +167,6 @@ ns_config_get(const cfg_obj_t **maps, const char *name, const cfg_obj_t **obj) {
}
}
isc_result_t
ns_checknames_get(const cfg_obj_t **maps, const char *which,
const cfg_obj_t **obj)
{
const cfg_listelt_t *element;
const cfg_obj_t *checknames;
const cfg_obj_t *type;
const 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;
@@ -285,6 +181,7 @@ ns_config_listcount(const cfg_obj_t *list) {
isc_result_t
ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp) {
const char *str;
isc_textregion_t r;
isc_result_t result;
@@ -292,31 +189,13 @@ ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
*classp = defclass;
return (ISC_R_SUCCESS);
}
DE_CONST(cfg_obj_asstring(classobj), r.base);
r.length = strlen(r.base);
str = cfg_obj_asstring(classobj);
DE_CONST(str, r.base);
r.length = strlen(str);
result = dns_rdataclass_fromtext(classp, &r);
if (result != ISC_R_SUCCESS)
cfg_obj_log(classobj, ns_g_lctx, ISC_LOG_ERROR,
"unknown class '%s'", r.base);
return (result);
}
isc_result_t
ns_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype,
dns_rdatatype_t *typep) {
isc_textregion_t r;
isc_result_t result;
if (!cfg_obj_isstring(typeobj)) {
*typep = deftype;
return (ISC_R_SUCCESS);
}
DE_CONST(cfg_obj_asstring(typeobj), r.base);
r.length = strlen(r.base);
result = dns_rdatatype_fromtext(typep, &r);
if (result != ISC_R_SUCCESS)
cfg_obj_log(typeobj, ns_g_lctx, ISC_LOG_ERROR,
"unknown type '%s'", r.base);
"unknown class '%s'", str);
return (result);
}
@@ -351,7 +230,6 @@ ns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
isc_result_t result;
INSIST(addrsp != NULL && *addrsp == NULL);
INSIST(countp != NULL);
addrlist = cfg_tuple_get(list, "addresses");
count = ns_config_listcount(addrlist);
@@ -404,42 +282,12 @@ ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
*addrsp = NULL;
}
static isc_result_t
get_masters_def(const cfg_obj_t *cctx, const char *name,
const cfg_obj_t **ret)
{
isc_result_t result;
const cfg_obj_t *masters = NULL;
const 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)) {
const 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(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 addrcount = 0, keycount = 0, i = 0;
isc_uint32_t listcount = 0, l = 0, j;
isc_uint32_t stackcount = 0, pushed = 0;
isc_uint32_t count, i = 0;
isc_result_t result;
const cfg_listelt_t *element;
const cfg_obj_t *addrlist;
@@ -448,18 +296,12 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
dns_fixedname_t fname;
isc_sockaddr_t *addrs = NULL;
dns_name_t **keys = NULL;
struct { const char *name; } *lists = NULL;
struct {
const cfg_listelt_t *element;
in_port_t port;
} *stack = NULL;
REQUIRE(addrsp != NULL && *addrsp == NULL);
REQUIRE(keysp != NULL && *keysp == NULL);
REQUIRE(countp != NULL);
INSIST(addrsp != NULL && *addrsp == 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);
@@ -478,126 +320,35 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
result = ISC_R_NOMEMORY;
element = cfg_list_first(addrlist);
resume:
for ( ;
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 != NULL;
element = cfg_list_next(element))
element = cfg_list_next(element), i++)
{
const cfg_obj_t *addr;
const cfg_obj_t *key;
const char *keystr;
isc_buffer_t b;
addr = cfg_tuple_get(cfg_listelt_value(element),
"masterselement");
INSIST(i < count);
addr = cfg_tuple_get(cfg_listelt_value(element), "sockaddr");
key = cfg_tuple_get(cfg_listelt_value(element), "key");
if (!cfg_obj_issockaddr(addr)) {
const 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].name, 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++].name = 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)) {
i++;
if (!cfg_obj_isstring(key))
continue;
}
keys[i] = isc_mem_get(mctx, sizeof(dns_name_t));
if (keys[i] == NULL)
goto cleanup;
@@ -615,75 +366,29 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
keys[i]);
if (result != ISC_R_SUCCESS)
goto cleanup;
i++;
}
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);
} else
new = NULL;
isc_mem_put(mctx, addrs, oldsize);
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);
} else
new = NULL;
isc_mem_put(mctx, keys, oldsize);
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);
INSIST(i == count);
*addrsp = addrs;
*keysp = keys;
*countp = addrcount;
*countp = count;
return (ISC_R_SUCCESS);
cleanup:
if (addrs != NULL)
isc_mem_put(mctx, addrs, addrcount * sizeof(isc_sockaddr_t));
isc_mem_put(mctx, addrs, count * sizeof(isc_sockaddr_t));
if (keys != NULL) {
for (j = 0; j <= i; j++) {
unsigned int 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, keycount * sizeof(dns_name_t *));
isc_mem_put(mctx, keys, count * 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);
}
@@ -717,7 +422,7 @@ ns_config_getport(const cfg_obj_t *config, in_port_t *portp) {
isc_result_t result;
int i;
(void)cfg_map_get(config, "options", &options);
cfg_map_get(config, "options", &options);
i = 0;
if (options != NULL)
maps[i++] = options;
@@ -736,65 +441,16 @@ ns_config_getport(const cfg_obj_t *config, in_port_t *portp) {
return (ISC_R_SUCCESS);
}
struct keyalgorithms {
const char *str;
enum { hmacnone, hmacmd5, hmacsha1, hmacsha224,
hmacsha256, hmacsha384, hmacsha512 } hmac;
isc_uint16_t size;
} algorithms[] = {
{ "hmac-md5", hmacmd5, 128 },
{ "hmac-md5.sig-alg.reg.int", hmacmd5, 0 },
{ "hmac-md5.sig-alg.reg.int.", hmacmd5, 0 },
{ "hmac-sha1", hmacsha1, 160 },
{ "hmac-sha224", hmacsha224, 224 },
{ "hmac-sha256", hmacsha256, 256 },
{ "hmac-sha384", hmacsha384, 384 },
{ "hmac-sha512", hmacsha512, 512 },
{ NULL, hmacnone, 0 }
};
isc_result_t
ns_config_getkeyalgorithm(const char *str, dns_name_t **name,
isc_uint16_t *digestbits)
ns_config_getkeyalgorithm(const char *str, dns_name_t **name)
{
int i;
size_t len = 0;
isc_uint16_t bits;
isc_result_t result;
for (i = 0; algorithms[i].str != NULL; i++) {
len = strlen(algorithms[i].str);
if (strncasecmp(algorithms[i].str, str, len) == 0 &&
(str[len] == '\0' ||
(algorithms[i].size != 0 && str[len] == '-')))
break;
if (strcasecmp(str, "hmac-md5") == 0 ||
strcasecmp(str, "hmac-md5.sig-alg.reg.int") == 0 ||
strcasecmp(str, "hmac-md5.sig-alg.reg.int.") == 0)
{
if (name != NULL)
*name = dns_tsig_hmacmd5_name;
return (ISC_R_SUCCESS);
}
if (algorithms[i].str == NULL)
return (ISC_R_NOTFOUND);
if (str[len] == '-') {
result = isc_parse_uint16(&bits, str + len + 1, 10);
if (result != ISC_R_SUCCESS)
return (result);
if (bits > algorithms[i].size)
return (ISC_R_RANGE);
} else if (algorithms[i].size == 0)
bits = 128;
else
bits = algorithms[i].size;
if (name != NULL) {
switch (algorithms[i].hmac) {
case hmacmd5: *name = dns_tsig_hmacmd5_name; break;
case hmacsha1: *name = dns_tsig_hmacsha1_name; break;
case hmacsha224: *name = dns_tsig_hmacsha224_name; break;
case hmacsha256: *name = dns_tsig_hmacsha256_name; break;
case hmacsha384: *name = dns_tsig_hmacsha384_name; break;
case hmacsha512: *name = dns_tsig_hmacsha512_name; break;
default:
INSIST(0);
}
}
if (digestbits != NULL)
*digestbits = bits;
return (ISC_R_SUCCESS);
return (ISC_R_NOTFOUND);
}

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,9 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.c,v 1.32 2007/06/18 23:47:18 tbox Exp $ */
/*! \file */
/* $Id: control.c,v 1.7.2.6 2005/04/07 02:22:08 marka Exp $ */
#include <config.h>
@@ -26,7 +24,6 @@
#include <isc/app.h>
#include <isc/event.h>
#include <isc/mem.h>
#include <isc/timer.h>
#include <isc/util.h>
#include <dns/result.h>
@@ -37,7 +34,6 @@
#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>
@@ -54,7 +50,7 @@ command_compare(const char *text, const char *command) {
return (ISC_FALSE);
}
/*%
/*
* This function is called to process the incoming command
* when a control channel message is received.
*/
@@ -63,9 +59,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
isccc_sexpr_t *data;
char *command;
isc_result_t result;
int log_level;
#ifdef HAVE_LIBSCF
ns_smf_want_disable = 0;
char *instance = NULL;
#endif
data = isccc_alist_lookup(message, "_data");
@@ -84,28 +79,20 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
return (result);
}
/*
* Compare the 'command' parameter against all known control commands.
*/
if (command_compare(command, NS_COMMAND_NULL) ||
command_compare(command, NS_COMMAND_STATUS)) {
log_level = ISC_LOG_DEBUG(1);
} else {
log_level = ISC_LOG_INFO;
}
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, log_level,
NS_LOGMODULE_CONTROL, ISC_LOG_DEBUG(1),
"received control channel command '%s'",
command);
/*
* Compare the 'command' parameter against all known control commands.
*/
if (command_compare(command, NS_COMMAND_RELOAD)) {
result = ns_server_reloadcommand(ns_g_server, command, text);
result = ns_server_reloadcommand(ns_g_server, command);
} 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, text);
} else if (command_compare(command, NS_COMMAND_RETRANSFER)) {
result = ns_server_retransfercommand(ns_g_server, command);
result = ns_server_refreshcommand(ns_g_server, command);
} else if (command_compare(command, NS_COMMAND_HALT)) {
#ifdef HAVE_LIBSCF
/*
@@ -121,8 +108,17 @@ 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)
ns_smf_want_disable = 1;
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 = 0, ns_smf_chroot
* is not relevant and we fall through to
@@ -130,7 +126,6 @@ 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)) {
@@ -139,11 +134,19 @@ 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)
ns_smf_want_disable = 1;
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);
}
#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)) {
@@ -151,7 +154,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, command);
ns_server_dumpdb(ns_g_server);
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_TRACE)) {
result = ns_server_setdebuglevel(ns_g_server, command);
@@ -161,30 +164,10 @@ 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_TSIGLIST)) {
result = ns_server_tsiglist(ns_g_server, text);
} else if (command_compare(command, NS_COMMAND_TSIGDELETE)) {
result = ns_server_tsigdelete(ns_g_server, command, 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_TIMERPOKE)) {
result = ISC_R_SUCCESS;
isc_timermgr_poke(ns_g_timermgr);
} else if (command_compare(command, NS_COMMAND_NULL)) {
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_NOTIFY)) {
result = ns_server_notifycommand(ns_g_server, command, text);
} else if (command_compare(command, NS_COMMAND_VALIDATION)) {
result = ns_server_validation(ns_g_server, command);
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,28 +15,29 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.54 2007/06/18 23:47:18 tbox Exp $ */
/*! \file */
/* $Id: controlconf.c,v 1.28.2.15 2006/12/07 04:52:57 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/namedconf.h>
#include <bind9/check.h>
#include <isccfg/cfg.h>
#include <isccfg/check.h>
#include <isccc/alist.h>
#include <isccc/cc.h>
@@ -47,8 +48,11 @@
#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>
@@ -98,10 +102,6 @@ struct controllistener {
isc_boolean_t exiting;
controlkeylist_t keys;
controlconnectionlist_t connections;
isc_sockettype_t type;
isc_uint32_t perm;
isc_uint32_t owner;
isc_uint32_t group;
ISC_LINK(controllistener_t) link;
};
@@ -197,8 +197,6 @@ shutdown_listener(controllistener_t *listener) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_NOTICE,
"stopping command channel on %s", socktext);
if (listener->type == isc_sockettype_unix)
isc_socket_cleanunix(&listener->address, ISC_TRUE);
listener->exiting = ISC_TRUE;
}
@@ -603,10 +601,8 @@ control_newconn(isc_task_t *task, isc_event_t *event) {
}
sock = nevent->newsocket;
isc_socket_setname(sock, "control", NULL);
(void)isc_socket_getpeername(sock, &peeraddr);
if (listener->type == isc_sockettype_tcp &&
!address_ok(&peeraddr, listener->acl)) {
if (!address_ok(&peeraddr, listener->acl)) {
char socktext[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_format(&peeraddr, socktext, sizeof(socktext));
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
@@ -758,7 +754,7 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,
algstr = cfg_obj_asstring(algobj);
secretstr = cfg_obj_asstring(secretobj);
if (ns_config_getkeyalgorithm(algstr, NULL, NULL) !=
if (ns_config_getkeyalgorithm(algstr, NULL) !=
ISC_R_SUCCESS)
{
cfg_obj_log(control, ns_g_lctx,
@@ -839,7 +835,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
if (keyid->keyname == NULL)
CHECK(ISC_R_NOMEMORY);
CHECK(bind9_check_key(key, ns_g_lctx));
CHECK(cfg_check_key(key, ns_g_lctx));
(void)cfg_map_get(key, "algorithm", &algobj);
(void)cfg_map_get(key, "secret", &secretobj);
@@ -848,7 +844,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
algstr = cfg_obj_asstring(algobj);
secretstr = cfg_obj_asstring(secretobj);
if (ns_config_getkeyalgorithm(algstr, NULL, NULL) != ISC_R_SUCCESS) {
if (ns_config_getkeyalgorithm(algstr, NULL) != ISC_R_SUCCESS) {
cfg_obj_log(key, ns_g_lctx,
ISC_LOG_WARNING,
"unsupported algorithm '%s' in "
@@ -925,8 +921,8 @@ 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, cfg_aclconfctx_t *aclconfctx,
const char *socktext, isc_sockettype_t type)
isc_sockaddr_t *addr, ns_aclconfctx_t *aclconfctx,
const char *socktext)
{
controllistener_t *listener;
const cfg_obj_t *allow;
@@ -1011,11 +1007,10 @@ update_listener(ns_controls_t *cp, controllistener_t **listenerp,
/*
* Now, keep the old access list unless a new one can be made.
*/
if (control != NULL && type == isc_sockettype_tcp) {
if (control != NULL) {
allow = cfg_tuple_get(control, "allow");
result = cfg_acl_fromconfig(allow, config, ns_g_lctx,
aclconfctx, listener->mctx,
&new_acl);
result = ns_acl_fromconfig(allow, config, aclconfctx,
listener->mctx, &new_acl);
} else {
result = dns_acl_any(listener->mctx, &new_acl);
}
@@ -1037,34 +1032,14 @@ update_listener(ns_controls_t *cp, controllistener_t **listenerp,
"command channel %s: %s",
socktext, isc_result_totext(result));
if (result == ISC_R_SUCCESS && type == isc_sockettype_unix) {
isc_uint32_t perm, owner, group;
perm = cfg_obj_asuint32(cfg_tuple_get(control, "perm"));
owner = cfg_obj_asuint32(cfg_tuple_get(control, "owner"));
group = cfg_obj_asuint32(cfg_tuple_get(control, "group"));
result = ISC_R_SUCCESS;
if (listener->perm != perm || listener->owner != owner ||
listener->group != group)
result = isc_socket_permunix(&listener->address, perm,
owner, group);
if (result == ISC_R_SUCCESS) {
listener->perm = perm;
listener->owner = owner;
listener->group = group;
} else if (control != NULL)
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't update ownership/permission for "
"command channel %s", socktext);
}
*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, cfg_aclconfctx_t *aclconfctx,
const char *socktext, isc_sockettype_t type)
isc_sockaddr_t *addr, ns_aclconfctx_t *aclconfctx,
const char *socktext)
{
isc_mem_t *mctx = cp->server->mctx;
controllistener_t *listener;
@@ -1087,10 +1062,6 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
listener->listening = ISC_FALSE;
listener->exiting = ISC_FALSE;
listener->acl = NULL;
listener->type = type;
listener->perm = 0;
listener->owner = 0;
listener->group = 0;
ISC_LINK_INIT(listener, link);
ISC_LIST_INIT(listener->keys);
ISC_LIST_INIT(listener->connections);
@@ -1098,10 +1069,10 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
/*
* Make the acl.
*/
if (control != NULL && type == isc_sockettype_tcp) {
if (control != NULL) {
allow = cfg_tuple_get(control, "allow");
result = cfg_acl_fromconfig(allow, config, ns_g_lctx,
aclconfctx, mctx, &new_acl);
result = ns_acl_fromconfig(allow, config, aclconfctx,
mctx, &new_acl);
} else {
result = dns_acl_any(mctx, &new_acl);
}
@@ -1136,37 +1107,20 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
if (result == ISC_R_SUCCESS) {
int pf = isc_sockaddr_pf(&listener->address);
if ((pf == AF_INET && isc_net_probeipv4() != ISC_R_SUCCESS) ||
#ifdef ISC_PLATFORM_HAVESYSUNH
(pf == AF_UNIX && isc_net_probeunix() != ISC_R_SUCCESS) ||
#endif
(pf == AF_INET6 && isc_net_probeipv6() != ISC_R_SUCCESS))
result = ISC_R_FAMILYNOSUPPORT;
}
if (result == ISC_R_SUCCESS && type == isc_sockettype_unix)
isc_socket_cleanunix(&listener->address, ISC_FALSE);
if (result == ISC_R_SUCCESS)
result = isc_socket_create(ns_g_socketmgr,
isc_sockaddr_pf(&listener->address),
type, &listener->sock);
if (result == ISC_R_SUCCESS)
isc_socket_setname(listener->sock, "control", NULL);
isc_sockettype_tcp,
&listener->sock);
if (result == ISC_R_SUCCESS)
result = isc_socket_bind(listener->sock,
&listener->address);
if (result == ISC_R_SUCCESS && type == isc_sockettype_unix) {
listener->perm = cfg_obj_asuint32(cfg_tuple_get(control,
"perm"));
listener->owner = cfg_obj_asuint32(cfg_tuple_get(control,
"owner"));
listener->group = cfg_obj_asuint32(cfg_tuple_get(control,
"group"));
result = isc_socket_permunix(&listener->address, listener->perm,
listener->owner, listener->group);
}
if (result == ISC_R_SUCCESS)
result = control_listen(listener);
@@ -1203,7 +1157,7 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
isc_result_t
ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
cfg_aclconfctx_t *aclconfctx)
ns_aclconfctx_t *aclconfctx)
{
controllistener_t *listener;
controllistenerlist_t new_listeners;
@@ -1249,6 +1203,9 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
* The parser handles BIND 8 configuration file
* syntax, so it allows unix phrases as well
* inet phrases with no keys{} clause.
*
* "unix" phrases have been reported as
* unsupported by the parser.
*/
control = cfg_listelt_value(element2);
@@ -1269,8 +1226,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
socktext);
update_listener(cp, &listener, control, config,
&addr, aclconfctx, socktext,
isc_sockettype_tcp);
&addr, aclconfctx, socktext);
if (listener != NULL)
/*
@@ -1285,81 +1241,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
*/
add_listener(cp, &listener, control,
config, &addr, aclconfctx,
socktext,
isc_sockettype_tcp);
if (listener != NULL)
ISC_LIST_APPEND(new_listeners,
listener, link);
}
}
for (element = cfg_list_first(controlslist);
element != NULL;
element = cfg_list_next(element)) {
const cfg_obj_t *controls;
const cfg_obj_t *unixcontrols = NULL;
controls = cfg_listelt_value(element);
(void)cfg_map_get(controls, "unix", &unixcontrols);
if (unixcontrols == NULL)
continue;
for (element2 = cfg_list_first(unixcontrols);
element2 != NULL;
element2 = cfg_list_next(element2)) {
const cfg_obj_t *control;
const cfg_obj_t *path;
isc_sockaddr_t addr;
isc_result_t result;
/*
* The parser handles BIND 8 configuration file
* syntax, so it allows unix phrases as well
* inet phrases with no keys{} clause.
*/
control = cfg_listelt_value(element2);
path = cfg_tuple_get(control, "path");
result = isc_sockaddr_frompath(&addr,
cfg_obj_asstring(path));
if (result != ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL,
ISC_LOG_DEBUG(9),
"control channel '%s': %s",
cfg_obj_asstring(path),
isc_result_totext(result));
continue;
}
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL,
ISC_LOG_DEBUG(9),
"processing control channel '%s'",
cfg_obj_asstring(path));
update_listener(cp, &listener, control, config,
&addr, aclconfctx,
cfg_obj_asstring(path),
isc_sockettype_unix);
if (listener != NULL)
/*
* Remove the listener from the old
* list, so it won't be shut down.
*/
ISC_LIST_UNLINK(cp->listeners,
listener, link);
else
/*
* This is a new listener.
*/
add_listener(cp, &listener, control,
config, &addr, aclconfctx,
cfg_obj_asstring(path),
isc_sockettype_unix);
socktext);
if (listener != NULL)
ISC_LIST_APPEND(new_listeners,
@@ -1390,8 +1272,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
isc_sockaddr_format(&addr, socktext, sizeof(socktext));
update_listener(cp, &listener, NULL, NULL,
&addr, NULL, socktext,
isc_sockettype_tcp);
&addr, NULL, socktext);
if (listener != NULL)
/*
@@ -1405,8 +1286,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
* This is a new listener.
*/
add_listener(cp, &listener, NULL, NULL,
&addr, NULL, socktext,
isc_sockettype_tcp);
&addr, NULL, socktext);
if (listener != NULL)
ISC_LIST_APPEND(new_listeners,

View File

@@ -1,36 +0,0 @@
#!/usr/bin/env perl
#
# Copyright (C) 2006 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: convertxsl.pl,v 1.7 2007/06/18 23:47:18 tbox Exp $
use strict;
use warnings;
print 'static char msg[] = "';
my $lines = '';
while (<>) {
chomp;
$lines .= $_;
}
$lines =~ s/[\ \t]+/ /g;
$lines =~ s/\>\ \</\>\</g;
$lines =~ s/\"/\\\"/g;
print $lines;
print '\\n";', "\n";

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,10 +15,10 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: aclconf.h,v 1.7 2007/06/18 23:47:51 tbox Exp $ */
/* $Id: aclconf.h,v 1.12.2.3 2006/03/02 00:37:17 marka Exp $ */
#ifndef ISCCFG_ACLCONF_H
#define ISCCFG_ACLCONF_H 1
#ifndef NS_ACLCONF_H
#define NS_ACLCONF_H 1
#include <isc/lang.h>
@@ -26,9 +26,9 @@
#include <dns/types.h>
typedef struct cfg_aclconfctx {
typedef struct ns_aclconfctx {
ISC_LIST(dns_acl_t) named_acl_cache;
} cfg_aclconfctx_t;
} ns_aclconfctx_t;
/***
*** Functions
@@ -37,30 +37,29 @@ typedef struct cfg_aclconfctx {
ISC_LANG_BEGINDECLS
void
cfg_aclconfctx_init(cfg_aclconfctx_t *ctx);
ns_aclconfctx_init(ns_aclconfctx_t *ctx);
/*
* Initialize an ACL configuration context.
*/
void
cfg_aclconfctx_destroy(cfg_aclconfctx_t *ctx);
ns_aclconfctx_destroy(ns_aclconfctx_t *ctx);
/*
* Destroy an ACL configuration context.
*/
isc_result_t
cfg_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
isc_log_t *lctx,
cfg_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target);
ns_acl_fromconfig(const cfg_obj_t *caml,
const cfg_obj_t *cctx,
ns_aclconfctx_t *ctx,
isc_mem_t *mctx,
dns_acl_t **target);
/*
* Construct a new dns_acl_t from configuration data in 'caml' and
* 'cctx'. Memory is allocated through 'mctx'.
*
* Any named ACLs referred to within 'caml' will be be converted
* into nested dns_acl_t objects. Multiple references to the same
* inte nested dns_acl_t objects. Multiple references to the same
* named ACLs will be converted into shared references to a single
* nested dns_acl_t object when the referring objects were created
* passing the same ACL configuration context 'ctx'.
@@ -70,4 +69,4 @@ cfg_acl_fromconfig(const cfg_obj_t *caml,
ISC_LANG_ENDDECLS
#endif /* ISCCFG_ACLCONF_H */
#endif /* NS_ACLCONF_H */

View File

@@ -1,31 +0,0 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: builtin.h,v 1.5 2007/06/18 23:47:19 tbox Exp $ */
#ifndef NAMED_BUILTIN_H
#define NAMED_BUILTIN_H 1
/*! \file */
#include <isc/types.h>
isc_result_t ns_builtin_init(void);
void ns_builtin_deinit(void);
#endif /* NAMED_BUILTIN_H */

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.h,v 1.82 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: client.h,v 1.60.2.4 2004/07/23 02:57:01 marka Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -24,8 +24,9 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* Client
*
* This module defines two objects, ns_client_t and ns_clientmgr_t.
*
* An ns_client_t object handles incoming DNS requests from clients
@@ -43,12 +44,12 @@
* fully handled (which can be much later), the ns_client_t must be
* notified of this by calling one of the following functions
* exactly once in the context of its task:
* \code
*
* ns_client_send() (sending a non-error response)
* ns_client_sendraw() (sending a raw response)
* ns_client_error() (sending an error response)
* ns_client_next() (sending no response)
*\endcode
*
* This will release any resources used by the request and
* and allow the ns_client_t to listen for the next request.
*
@@ -67,13 +68,10 @@
#include <isc/stdtime.h>
#include <isc/quota.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/rdatatype.h>
#include <dns/tcpmsg.h>
#include <dns/types.h>
#include <dns/tcpmsg.h>
#include <dns/fixedname.h>
#include <named/types.h>
#include <named/query.h>
@@ -83,7 +81,6 @@
typedef ISC_LIST(ns_client_t) client_list_t;
/*% nameserver client structure */
struct ns_client {
unsigned int magic;
isc_mem_t * mctx;
@@ -116,16 +113,15 @@ struct ns_client {
dns_rdataset_t * opt;
isc_uint16_t udpsize;
isc_uint16_t extflags;
isc_int16_t ednsversion; /* -1 noedns */
void (*next)(ns_client_t *);
void (*shutdown)(void *arg, isc_result_t result);
void *shutdown_arg;
ns_query_t query;
isc_stdtime_t requesttime;
isc_stdtime_t now;
dns_name_t signername; /*%< [T]SIG key name */
dns_name_t * signer; /*%< NULL if not valid sig */
isc_boolean_t mortal; /*%< Die after handling request */
dns_name_t signername; /* [T]SIG key name */
dns_name_t * signer; /* NULL if not valid sig */
isc_boolean_t mortal; /* Die after handling request */
isc_quota_t *tcpquota;
isc_quota_t *recursionquota;
ns_interface_t *interface;
@@ -133,7 +129,7 @@ struct ns_client {
isc_boolean_t peeraddr_valid;
struct in6_pktinfo pktinfo;
isc_event_t ctlevent;
/*%
/*
* Information about recent FORMERR response(s), for
* FORMERR loop avoidance. This is separate for each
* client object rather than global only to avoid
@@ -145,7 +141,7 @@ struct ns_client {
dns_messageid_t id;
} formerrcache;
ISC_LINK(ns_client_t) link;
/*%
/*
* The list 'link' is part of, or NULL if not on any list.
*/
client_list_t *list;
@@ -155,42 +151,36 @@ struct ns_client {
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
#define NS_CLIENTATTR_TCP 0x01
#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 */
extern unsigned int ns_client_requests;
#define NS_CLIENTATTR_RA 0x02 /* Client gets recusive service */
#define NS_CLIENTATTR_PKTINFO 0x04 /* pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x08 /* recv'd from multicast */
/***
*** Functions
***/
/*%
/*
* Note! These ns_client_ routines MUST be called ONLY from the client's
* task in order to ensure synchronization.
*/
void
ns_client_send(ns_client_t *client);
/*%
/*
* Finish processing the current client request and
* send client->message as a response.
* \brief
* Note! These ns_client_ routines MUST be called ONLY from the client's
* task in order to ensure synchronization.
*/
void
ns_client_sendraw(ns_client_t *client, dns_message_t *msg);
/*%
/*
* Finish processing the current client request and
* send msg as a response using client->message->id for the id.
*/
void
ns_client_error(ns_client_t *client, isc_result_t result);
/*%
/*
* Finish processing the current client request and return
* an error response to the client. The error response
* will have an RCODE determined by 'result'.
@@ -198,32 +188,32 @@ ns_client_error(ns_client_t *client, isc_result_t result);
void
ns_client_next(ns_client_t *client, isc_result_t result);
/*%
/*
* Finish processing the current client request,
* return no response to the client.
*/
isc_boolean_t
ns_client_shuttingdown(ns_client_t *client);
/*%
/*
* Return ISC_TRUE iff the client is currently shutting down.
*/
void
ns_client_attach(ns_client_t *source, ns_client_t **target);
/*%
/*
* Attach '*targetp' to 'source'.
*/
void
ns_client_detach(ns_client_t **clientp);
/*%
/*
* Detach '*clientp' from its client.
*/
isc_result_t
ns_client_replace(ns_client_t *client);
/*%
/*
* Try to replace the current client with a new one, so that the
* current one can go off and do some lengthy work without
* leaving the dispatch/socket without service.
@@ -231,20 +221,20 @@ ns_client_replace(ns_client_t *client);
void
ns_client_settimeout(ns_client_t *client, unsigned int seconds);
/*%
/*
* Set a timer in the client to go off in the specified amount of time.
*/
isc_result_t
ns_clientmgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_timermgr_t *timermgr, ns_clientmgr_t **managerp);
/*%
/*
* Create a client manager.
*/
void
ns_clientmgr_destroy(ns_clientmgr_t **managerp);
/*%
/*
* Destroy a client manager and all ns_client_t objects
* managed by it.
*/
@@ -252,7 +242,7 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp);
isc_result_t
ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
ns_interface_t *ifp, isc_boolean_t tcp);
/*%
/*
* Create up to 'n' clients listening on interface 'ifp'.
* If 'tcp' is ISC_TRUE, the clients will listen for TCP connections,
* otherwise for UDP requests.
@@ -260,59 +250,53 @@ ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
isc_sockaddr_t *
ns_client_getsockaddr(ns_client_t *client);
/*%
/*
* Get the socket address of the client whose request is
* currently being processed.
*/
isc_result_t
ns_client_checkaclsilent(ns_client_t *client,
isc_sockaddr_t *sockaddr,
dns_acl_t *acl,
ns_client_checkaclsilent(ns_client_t *client,dns_acl_t *acl,
isc_boolean_t default_allow);
/*%
/*
* Convenience function for client request ACL checking.
*
* Check the current client request against 'acl'. If 'acl'
* is NULL, allow the request iff 'default_allow' is ISC_TRUE.
* If netaddr is NULL, check the ACL against client->peeraddr;
* otherwise check it against netaddr.
*
* Notes:
*\li This is appropriate for checking allow-update,
* This is appropriate for checking allow-update,
* allow-query, allow-transfer, etc. It is not appropriate
* for checking the blackhole list because we treat positive
* matches as "allow" and negative matches as "deny"; in
* the case of the blackhole list this would be backwards.
*
* Requires:
*\li 'client' points to a valid client.
*\li 'sockaddr' points to a valid address, or is NULL.
*\li 'acl' points to a valid ACL, or is NULL.
* 'client' points to a valid client.
* 'acl' points to a valid ACL, or is NULL.
*
* Returns:
*\li ISC_R_SUCCESS if the request should be allowed
* \li ISC_R_REFUSED if the request should be denied
*\li No other return values are possible.
* ISC_R_SUCCESS if the request should be allowed
* ISC_R_REFUSED if the request should be denied
* No other return values are possible.
*/
isc_result_t
ns_client_checkacl(ns_client_t *client,
isc_sockaddr_t *sockaddr,
const char *opname, dns_acl_t *acl,
isc_boolean_t default_allow,
int log_level);
/*%
* Like ns_client_checkaclsilent, except the outcome of the check is
* logged at log level 'log_level' if denied, and at debug 3 if approved.
* Log messages will refer to the request as an 'opname' request.
/*
* Like ns_client_checkacl, but also logs the outcome of the
* check at log level 'log_level' if denied, and at debug 3
* if approved. Log messages will refer to the request as
* an 'opname' request.
*
* Requires:
*\li 'client' points to a valid client.
*\li 'sockaddr' points to a valid address, or is NULL.
*\li 'acl' points to a valid ACL, or is NULL.
*\li 'opname' points to a null-terminated string.
* Those of ns_client_checkaclsilent(), and:
*
* 'opname' points to a null-terminated string.
*/
void
@@ -321,47 +305,7 @@ ns_client_log(ns_client_t *client, isc_logcategory_t *category,
const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap) ISC_FORMAT_PRINTF(5, 0);
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
dns_rdataclass_t rdclass, char *buf, size_t len);
#define NS_CLIENT_ACLMSGSIZE(x) \
(DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE + \
DNS_RDATACLASS_FORMATSIZE + sizeof(x) + sizeof("'/'"))
void
ns_client_recursing(ns_client_t *client);
/*%
* Add client to end of th recursing list.
*/
void
ns_client_killoldestquery(ns_client_t *client);
/*%
* Kill the oldest recursive query (recursing list head).
*/
void
ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager);
/*%
* Dump the outstanding recursive queries to 'f'.
*/
void
ns_client_qnamereplace(ns_client_t *client, dns_name_t *name);
/*%
* Replace the qname.
*/
isc_boolean_t
ns_client_isself(dns_view_t *myview, dns_tsigkey_t *mykey,
isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr,
dns_rdataclass_t rdclass, void *arg);
/*%
* Isself callback.
*/
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
char *buf, size_t len);
#endif /* NAMED_CLIENT_H */

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2002 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,13 +15,11 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.h,v 1.13 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: config.h,v 1.4.2.3 2006/03/02 00:37:17 marka Exp $ */
#ifndef NAMED_CONFIG_H
#define NAMED_CONFIG_H 1
/*! \file */
#include <isccfg/cfg.h>
#include <dns/types.h>
@@ -33,10 +31,6 @@ 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);
isc_result_t
ns_checknames_get(const cfg_obj_t **maps, const char* name,
const cfg_obj_t **obj);
int
ns_config_listcount(const cfg_obj_t *list);
@@ -44,10 +38,6 @@ isc_result_t
ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp);
isc_result_t
ns_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype,
dns_rdatatype_t *typep);
dns_zonetype_t
ns_config_getzonetype(const cfg_obj_t *zonetypeobj);
@@ -73,7 +63,6 @@ isc_result_t
ns_config_getport(const cfg_obj_t *config, in_port_t *portp);
isc_result_t
ns_config_getkeyalgorithm(const char *str, dns_name_t **name,
isc_uint16_t *digestbits);
ns_config_getkeyalgorithm(const char *str, dns_name_t **name);
#endif /* NAMED_CONFIG_H */

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,20 +15,18 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.h,v 1.24 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: control.h,v 1.6.2.5 2006/03/02 00:37:17 marka Exp $ */
#ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1
/*! \file
* \brief
/*
* The name server command channel.
*/
#include <isccc/types.h>
#include <isccfg/aclconf.h>
#include <named/aclconf.h>
#include <named/types.h>
#define NS_CONTROL_PORT 953
@@ -38,35 +36,24 @@
#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_TSIGLIST "tsig-list"
#define NS_COMMAND_TSIGDELETE "tsig-delete"
#define NS_COMMAND_FREEZE "freeze"
#define NS_COMMAND_UNFREEZE "unfreeze"
#define NS_COMMAND_THAW "thaw"
#define NS_COMMAND_TIMERPOKE "timerpoke"
#define NS_COMMAND_RECURSING "recursing"
#define NS_COMMAND_NULL "null"
#define NS_COMMAND_NOTIFY "notify"
#define NS_COMMAND_VALIDATION "validation"
isc_result_t
ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp);
/*%<
/*
* Create an initial, empty set of command channels for 'server'.
*/
void
ns_controls_destroy(ns_controls_t **ctrlsp);
/*%<
/*
* Destroy a set of command channels.
*
* Requires:
@@ -75,8 +62,8 @@ ns_controls_destroy(ns_controls_t **ctrlsp);
isc_result_t
ns_controls_configure(ns_controls_t *controls, const cfg_obj_t *config,
cfg_aclconfctx_t *aclconfctx);
/*%<
ns_aclconfctx_t *aclconfctx);
/*
* Configure zero or more command channels into 'controls'
* as defined in the configuration parse tree 'config'.
* The channels will evaluate ACLs in the context of
@@ -85,7 +72,7 @@ ns_controls_configure(ns_controls_t *controls, const cfg_obj_t *config,
void
ns_controls_shutdown(ns_controls_t *controls);
/*%<
/*
* Initiate shutdown of all the command channels in 'controls'.
*/

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
* Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,13 +15,11 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: globals.h,v 1.71 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: globals.h,v 1.59.2.3 2006/03/02 00:37:17 marka Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
/*! \file */
#include <isc/rwlock.h>
#include <isc/log.h>
#include <isc/net.h>
@@ -47,8 +45,6 @@ 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
@@ -88,7 +84,6 @@ 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.
@@ -112,9 +107,6 @@ 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);
EXTERN isc_time_t ns_g_boottime;
#undef EXTERN
#undef INIT

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.h,v 1.32 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: interfacemgr.h,v 1.23.2.1 2004/03/09 06:09:21 marka Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -24,23 +24,24 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* Interface manager
*
* The interface manager monitors the operating system's list
* of network interfaces, creating and destroying listeners
* as needed.
*
* Reliability:
*\li No impact expected.
* No impact expected.
*
* Resources:
*
* Security:
* \li The server will only be able to bind to the DNS port on
* The server will only be able to bind to the DNS port on
* newly discovered interfaces if it is running as root.
*
* Standards:
*\li The API for scanning varies greatly among operating systems.
* The API for scanning varies greatly among operating systems.
* This module attempts to hide the differences.
*/
@@ -64,24 +65,20 @@
#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 */
/*% The nameserver interface structure */
struct ns_interface {
unsigned int magic; /*%< Magic number. */
ns_interfacemgr_t * mgr; /*%< Interface manager. */
unsigned int magic; /* Magic number. */
ns_interfacemgr_t * mgr; /* Interface manager. */
isc_mutex_t lock;
int references; /*%< Locked */
unsigned int generation; /*%< Generation number. */
isc_sockaddr_t addr; /*%< Address and port. */
unsigned int flags; /*%< Interface characteristics */
char name[32]; /*%< Null terminated. */
dns_dispatch_t * udpdispatch; /*%< UDP dispatcher. */
isc_socket_t * tcpsocket; /*%< TCP socket. */
int ntcptarget; /*%< Desired number of concurrent
TCP accepts */
int ntcpcurrent; /*%< Current ditto, locked */
ns_clientmgr_t * clientmgr; /*%< Client manager. */
int references; /* Locked */
unsigned int generation; /* Generation number. */
isc_sockaddr_t addr; /* Address and port. */
char name[32]; /* Null terminated. */
dns_dispatch_t * udpdispatch; /* UDP dispatcher. */
isc_socket_t * tcpsocket; /* TCP socket. */
int ntcptarget; /* Desired number of concurrent
TCP accepts */
int ntcpcurrent; /* Current ditto, locked */
ns_clientmgr_t * clientmgr; /* Client manager. */
ISC_LINK(ns_interface_t) link;
};
@@ -94,7 +91,7 @@ ns_interfacemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
isc_socketmgr_t *socketmgr,
dns_dispatchmgr_t *dispatchmgr,
ns_interfacemgr_t **mgrp);
/*%
/*
* Create a new interface manager.
*
* Initially, the new manager will not listen on any interfaces.
@@ -113,7 +110,7 @@ ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr);
void
ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose);
/*%
/*
* Scan the operatings system's list of network interfaces
* and create listeners when new interfaces are discovered.
* Shut down the sockets for interfaces that go away.
@@ -123,30 +120,16 @@ ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose);
* in named.conf.
*/
void
ns_interfacemgr_adjust(ns_interfacemgr_t *mgr, ns_listenlist_t *list,
isc_boolean_t verbose);
/*%
* Similar to ns_interfacemgr_scan(), but this function also tries to see the
* need for an explicit listen-on when a list element in 'list' is going to
* override an already-listening a wildcard interface.
*
* This function does not update localhost and localnets ACLs.
*
* This should be called once on server startup, after configuring views and
* zones.
*/
void
ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t *value);
/*%
/*
* Set the IPv4 "listen-on" list of 'mgr' to 'value'.
* The previous IPv4 listen-on list is freed.
*/
void
ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t *value);
/*%
/*
* Set the IPv6 "listen-on" list of 'mgr' to 'value'.
* The previous IPv6 listen-on list is freed.
*/
@@ -162,15 +145,9 @@ ns_interface_detach(ns_interface_t **targetp);
void
ns_interface_shutdown(ns_interface_t *ifp);
/*%
/*
* Stop listening for queries on interface 'ifp'.
* May safely be called multiple times.
*/
void
ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr);
isc_boolean_t
ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr);
#endif /* NAMED_INTERFACEMGR_H */

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 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/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: listenlist.h,v 1.14 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: listenlist.h,v 1.10.2.1 2004/03/09 06:09:21 marka Exp $ */
#ifndef NAMED_LISTENLIST_H
#define NAMED_LISTENLIST_H 1
@@ -24,8 +24,7 @@
***** Module Info
*****/
/*! \file
* \brief
/*
* "Listen lists", as in the "listen-on" configuration statement.
*/
@@ -63,38 +62,38 @@ struct ns_listenlist {
isc_result_t
ns_listenelt_create(isc_mem_t *mctx, in_port_t port,
dns_acl_t *acl, ns_listenelt_t **target);
/*%
/*
* Create a listen-on list element.
*/
void
ns_listenelt_destroy(ns_listenelt_t *elt);
/*%
/*
* Destroy a listen-on list element.
*/
isc_result_t
ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t **target);
/*%
/*
* Create a new, empty listen-on list.
*/
void
ns_listenlist_attach(ns_listenlist_t *source, ns_listenlist_t **target);
/*%
/*
* Attach '*target' to '*source'.
*/
void
ns_listenlist_detach(ns_listenlist_t **listp);
/*%
/*
* Detach 'listp'.
*/
isc_result_t
ns_listenlist_default(isc_mem_t *mctx, in_port_t port,
isc_boolean_t enabled, ns_listenlist_t **target);
/*%
/*
* Create a listen-on list with default contents, matching
* all addresses with port 'port' (if 'enabled' is ISC_TRUE),
* or no addresses (if 'enabled' is ISC_FALSE).

View File

@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
* Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,13 +15,11 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: log.h,v 1.24 2007/06/18 23:47:19 tbox Exp $ */
/* $Id: log.h,v 1.19.2.1 2004/03/09 06:09:22 marka Exp $ */
#ifndef NAMED_LOG_H
#define NAMED_LOG_H 1
/*! \file */
#include <isc/log.h>
#include <isc/types.h>
@@ -35,7 +33,6 @@
#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.
@@ -56,7 +53,7 @@
isc_result_t
ns_log_init(isc_boolean_t safe);
/*%
/*
* Initialize the logging system and set up an initial default
* logging default configuration that will be used until the
* config file has been read.
@@ -68,7 +65,7 @@ ns_log_init(isc_boolean_t safe);
isc_result_t
ns_log_setdefaultchannels(isc_logconfig_t *lcfg);
/*%
/*
* Set up logging channels according to the named defaults, which
* may differ from the logging library defaults. Currently,
* this just means setting up default_debug.
@@ -76,19 +73,19 @@ ns_log_setdefaultchannels(isc_logconfig_t *lcfg);
isc_result_t
ns_log_setsafechannels(isc_logconfig_t *lcfg);
/*%
/*
* Like ns_log_setdefaultchannels(), but omits any logging to files.
*/
isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg);
/*%
/*
* Set up "category default" to go to the right places.
*/
isc_result_t
ns_log_setunmatchedcategory(isc_logconfig_t *lcfg);
/*%
/*
* Set up "category unmatched" to go to the right places.
*/

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