Compare commits

...
1633 Commits
Author SHA1 Message Date
Mark Andrews 6bb68b2cb7 9.2.0-P2 2007-08-12 23:58:06 +00:00
Mark Andrews 6611c18046 9.2.0-P2 2007-08-12 23:33:24 +00:00
Mark Andrews fde8269185 9.2.0-P1 2002-06-01 02:16:13 +00:00
Mark Andrews 53a96ddd53 pullup:
1243.   [bug]           It was possible to trigger a REQUIRE() in
                        dns_message_findtype(). [RT #2659]
2002-06-01 02:05:24 +00:00
cvs2git e0bffa6517 This commit was manufactured by cvs2git to create branch 'v9_2_0_patch'. 2002-02-08 05:42:31 +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 caa8797a00 1196. [contrib] update mdnkit to 2.2.3. 2002-02-08 05:42:24 +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 c42af00541 new rev 2002-02-07 00:36:02 +00:00
Brian Wellington 08102bb28c consistency - all of the other arrays of checking-related stuff are not
null-terminated.
2002-02-06 06:54:31 +00:00
Mark Andrews 9ae90732df 1195. [bug] Attempts to redefine builtin acls should be caught.
[RT #2403]
2002-02-06 06:45:40 +00:00
Mark Andrews c1567cb58c missing word, capitalisation 2002-02-06 05:59:34 +00:00
Mark Andrews f3222d48cc 1194. [bug] Not all duplicate zone definitions were being detected
at the named.conf stage. [RT #2431]
2002-02-06 05:58:06 +00:00
Mark Andrews e95cc59f90 1193. [bug] best effort parsing didn't handle packet truncation. 2002-02-06 04:20:23 +00:00
Brian Wellington 64ea670052 the dynamic zone test wasn't working as expected since the child zone wasn't
securely delegated.
2002-02-06 03:28:59 +00:00
Brian Wellington 60e9e70654 1024 -> DNS_NAME_FORMATSIZE 2002-02-05 21:41:31 +00:00
Brian Wellington 47db0efda1 spacing 2002-02-05 20:02:47 +00:00
Brian Wellington 8839b6acbf clean up the shutdown "logic". 2002-02-05 19:46:30 +00:00
Brian Wellington db462c020e spacing 2002-02-05 19:44:55 +00:00
Brian Wellington 32dd66cc5e spacing 2002-02-05 07:54:08 +00:00
Brian Wellington 6c62c34a5b signing the root zone didn't work. 2002-02-05 05:16:11 +00:00
Brian Wellington ecb55f9962 The code for parsing non-answer messages could get confused if it saw a SIG NS
before an NS.
2002-02-05 01:15:21 +00:00
Danny Mayer c6d29fbd5f Added isc_fsaccess_changeowner function similar to the code to set file access attributes 2002-02-02 01:01:15 +00:00
Danny Mayer 51693f0bd9 Added case to ensure that normal cleanup code is run during system shutdown 2002-02-02 00:56:40 +00:00
Brian Wellington 18b7133679 more minor cleanups 2002-02-01 20:18:33 +00:00
Brian Wellington 23e4260821 minor cleanup 2002-02-01 20:08:56 +00:00
Andreas Gustafsson 45ddf396e9 spacing 2002-02-01 02:33:26 +00:00
Brian Wellington 4ca54c8f3b ns5 is the incorrectly configured server, not ns4. 2002-02-01 01:56:00 +00:00
Brian Wellington 9ecd36e0de RFC 2065 -> RFC 2535 2002-01-31 01:50:46 +00:00
Brian Wellington 6383d77950 regen 2002-01-30 20:07:03 +00:00
Brian Wellington b39e8e9c00 SIG(0) updates, DNSSEC fixes. 2002-01-30 06:33:37 +00:00
Brian Wellington 1ed8794070 regen 2002-01-30 02:24:36 +00:00
Brian Wellington 5cd1e83a84 Slighly desuckify the update-policy description. There really should
be examples there.
2002-01-30 02:23:11 +00:00
Brian Wellington a9f5be4348 regen 2002-01-30 01:49:01 +00:00
Brian Wellington 41f154b98e document rndc freeze & unfreeze 2002-01-30 01:47:35 +00:00
Brian Wellington 94b4f2728e rndc unfreeze should reload the zone. 2002-01-30 00:55:15 +00:00
Brian Wellington f29583dca7 mention freeze & unfreeze in the usage 2002-01-30 00:20:50 +00:00
Brian Wellington f1457d6c8c regen 2002-01-30 00:10:56 +00:00
Brian Wellington cc0a7affe9 document the key-directory option 2002-01-30 00:09:54 +00:00
Brian Wellington ec02e04ead various updates in the xml that have never been propagated 2002-01-29 23:41:25 +00:00
Brian Wellington 8fb0f1fa42 regen 2002-01-29 23:30:32 +00:00
Brian Wellington a20b2c5f53 document SIG(0) support. 2002-01-29 23:30:12 +00:00
Brian Wellington f5cb884c84 regen 2002-01-29 22:37:58 +00:00
Brian Wellington 206c9e7f5d oops, broke the docbook detection stuff on netbsd 2002-01-29 22:37:44 +00:00
Brian Wellington 0062c1ddfe 1192. [bug] The seconds fields in LOC records were restricted
to three decimal places.  More decimal places should
			be allowed and silently truncated.
2002-01-27 20:52:47 +00:00
Brian Wellington 07eee0ceda regen 2002-01-26 23:12:54 +00:00
Brian Wellington 35ae209f35 oops, missed the sgml catalog file. Hope this doesn't break anything. 2002-01-26 23:12:39 +00:00
Brian Wellington 360a56a4a4 regen 2002-01-26 22:56:17 +00:00
Brian Wellington aa75c92b6b autodetect more of the docbook stuff on Red Hat Linux 7.2. 2002-01-26 22:56:02 +00:00
Mark Andrews bfe7da9c6b mention EXCLUDED 2002-01-25 05:25:16 +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
Danny Mayer 6fedbb60b2 Change freebuf flag to be local to calls to NTstrerror() and be threadsafe 2002-01-25 03:39:25 +00:00
Mark Andrews 0e84be2c52 unsigned char -> char 2002-01-25 03:12:07 +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
Danny Mayer efd263562b Removed C++ "//" comment lines 2002-01-24 23:43:28 +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
Danny Mayer d7979cbb6c Removed errno references (except for pipe) and used WSAGetLastError() instead, changed logging to use isc__strerror() (adding function in this file for now), changed select timeout to 400 Milleseconds from 2 seconds. This reduces the wait when adding a socket at the cost of CPU usage. 2002-01-24 23:19:35 +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 b172c78a9a new rev of draft-ietf-dnsext-restrict-key-for-dnssec
new draft draft-ietf-dnsop-v6-name-space-fragmentation
2002-01-24 22:54:43 +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 db18d1997e DNS_ZONEFLG_FLUSH was not being cleared.
dns_zone_flush() could return a misleading result.
If the zone was being dumped incrementaly when dns_zone_flush() was
called ensure that it gets redumped if the were still outstanding
changes.
2002-01-24 13:45:36 +00:00
Brian Wellington b6279d0b4b Don't freeze an already frozen zone. 2002-01-24 09:58:42 +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 42e74b77f5 '$/ = "";' caused entries to be dropped creating false positives. 2002-01-24 06:23:34 +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
Mark Andrews c3e0aed7da NOTIMP vs NOTIMPL 2002-01-24 01:00:08 +00:00
Andreas Gustafsson f6bd49ffd0 consistent spacing 2002-01-23 18:02:49 +00:00
Andreas Gustafsson b938d2af61 consistent spacing 2002-01-23 18:02:28 +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 b2ca6fd3a8 #1187 was both unclean and broken. Fix it and clean it up. 2002-01-23 08:46:40 +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 7e715a0fc5 alignment 2002-01-23 03:42:23 +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 c45ca0b839 Note MD and MF in zones will cause there rejection. 2002-01-23 02:51:43 +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
Mark Andrews 023dd2cfe0 reverse also-notify changes. dns_zone_setalsonotify() has relaxed its calling
convention.
Correct INSIST
2002-01-23 02:12:24 +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 b6e20238b6 Fix RT #2309 differently, allowing rather than rejecting empty
also-notify clauses
2002-01-23 02:03:05 +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
Mark Andrews de619d1e81 remove also-notify empty checks. 2002-01-23 01:51:16 +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 5804bf8118 consistently begin RR type table entries with a lowercase letter 2002-01-23 01:39:29 +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 d83346263d clarify 1173. 2002-01-23 01:30:33 +00:00
Andreas Gustafsson 93aba2cb04 The comment saying that the string passed to isc_log_settag()
may not be altered after the call no longer applies
2002-01-23 01:27:52 +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
Andreas Gustafsson 6430d5b4ef new files 2002-01-22 22:31:06 +00:00
Andreas Gustafsson 473ca0bf8c Added RT #2399 regression test 2002-01-22 22:27:29 +00:00
Andreas Gustafsson 48b0f5ff87 1191. [bug] A dynamic update removing the last non-apex name in
a secure zone would fail. [RT #2399]
2002-01-22 22:26:45 +00:00
Andreas Gustafsson 0b809e3e23 spacing 2002-01-22 22:24:47 +00:00
Brian Wellington cde7dfea4c 1190. [func] Add the "rndc freeze" and"rndc unfreeze" commands.
[RT #2394]

Basically, "freeze" disables dynamic updates to a zone, syncs the journal
file into the master file, and removes the journal.  This allows manual
edits of a dynamic zone file without stopping the server, since the
zone is temporarily considered non-dynamic.  "unfreeze" re-enables dynamic
updates to a zone.

So, instead of the old:
	rndc stop
	edit master file
	remove journal
	restart server
you can now do:
	rndc freeze zone
	edit master file
	rndc reload zone
	rndc unfreeze zone
which doesn't require stopping the server.

About everyone here at the secure dynamic update workshop wanted this.
It will be documented soon.
2002-01-22 22:05:59 +00:00
Andreas Gustafsson 915c16e8aa typo in comment 2002-01-22 21:52:32 +00:00
Andreas Gustafsson ec52edeff2 missing format string argument; add format checking 2002-01-22 21:45:07 +00:00
Andreas Gustafsson 47af71b523 use token.value.as_textregion.base, not token.value.pointer 2002-01-22 19:31:57 +00:00
Brian Wellington 15033eed4d make a few dynamic update log messages more informative 2002-01-22 16:05:51 +00:00
Brian Wellington fca9cc33ad 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-22 15:40:24 +00:00
Brian Wellington 2ca2e1a1ce 1188. [bug] Dynamic updates of a signed zone would fail if
some of the zone private keys were unavailable.
2002-01-22 13:04:45 +00:00
Brian Wellington 84185d19c7 1187. [bug] named was incorrectly returning DNSSEC records
in negative responses when the DO bit was not set.
2002-01-22 09:07:30 +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 683f10428e 1186. [bug] isc_hex_tobuffer(,,length = 0) failed to unget the
EOL token when reading to end of line.
2002-01-22 06:02:14 +00:00
Mark Andrews 022e33bfc7 rndcconfgen -> rndc-confgen 2002-01-22 05:39:34 +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 5da1e589c2 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-22 03:16:28 +00:00
Mark Andrews 852fa3b2e3 1183. [bug] Handle ENOSR error when writing to the internal
control pipe. [RT #2395]
2002-01-22 02:38:34 +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
Brian Wellington 8569ab045a 1182. [bug] The server could throw an assertion failure when
constructing a negative response packet.
2002-01-21 16:26:06 +00:00
Brian Wellington a5c077e40c 1181. [func] Add the "key-directory" configuration statement,
which allows the server to look for online signing
			keys in alternate directories.
2002-01-21 11:00:25 +00:00
Brian Wellington 2ca556300b 1180. [func] dnssec-keygen should always generate keys with
protocol 3 (DNSSEC), since it's less confusing
			that way.
2002-01-21 10:13:20 +00:00
Brian Wellington 930ecd3756 style 2002-01-21 09:47:09 +00:00
Brian Wellington 97527fc03c 1179. [func] Add SIG(0) support to nsupdate. 2002-01-21 07:59:15 +00:00
Mark Andrews c46f10e4a1 Use as_textregion.base not as_pointer. [RT #2385] 2002-01-21 01:07:32 +00:00
Mark Andrews e1c2a8b9c1 1178. [func] Follow and cache (if appropriate) A6 and other
data chains to completion in the additional section.
2002-01-17 00:16:30 +00:00
Mark Andrews 73442acbe7 rndc-keygen -> rndc-confgen [RT #2362] 2002-01-16 03:47:23 +00:00
Mark Andrews a4f0e6d8d6 rndc-keygen -> rndc-confgen [RT #2362] 2002-01-16 02:21:53 +00:00
Brian Wellington 3a8d4a316e openssl 0.9.6a and higher don't have the RSA locking bug that earlier versions
did, so don't disable precomputation.  Note that while this was fixed for
RSA, other algorithms still don't do locking when performing precomputation,
and thus we still disable it.
2002-01-15 22:09:45 +00:00
Mark Andrews b7064914ca 1177. [func] Report view when loading zones if it is not a
standard view (_default or _bind). [RT #2270]
2002-01-15 06:42:15 +00:00
Brian Wellington 6e8b843125 When parsing a hex string of unknown length, properly unget the EOL token
at the end.  This doesn't affect any existing code, since the one caller
passes a known length, but it's still a bug.
2002-01-15 02:10:10 +00:00
Mark Andrews ef38731b6f new rev 2002-01-14 22:47:36 +00:00
Brian Wellington 3e67a87fc6 Change:
1176.   [doc]           allow-v6-synthesis is only performed for clients
                        that are supplied recursive service.  [RT #2260]

to

1176.   [doc]           Document that allow-v6-synthesis is only performed
                        for clients that are supplied recursive service.
			[RT #2260]

since there is no change in behavior.
2002-01-14 05:13:21 +00:00
Mark Andrews 49f62849e5 1176. [doc] allow-v6-synthesis is only performed for clients
that are supplied recursive service.  [RT #2260]
2002-01-14 05:01:50 +00:00
Mark Andrews b627356826 re-do:
1168.   [bug]           Empty also-notify clauses were not handled. [RT #2309]
2002-01-14 04:16:03 +00:00
Mark Andrews e9472e9f18 1175. [bug] named-checkzone and named-checkconf failed to call
dns_result_register() at startup which could
                        result in runtime exceptions when printing
                        "out of memory" errors. [RT #2335]
2002-01-14 01:42:04 +00:00
Andreas Gustafsson 9cf6d43887 cut-and-paste-o:s 2002-01-11 01:30:32 +00:00
Mark Andrews d073663cb4 1174. [bug] Win32: add WSAECONNRESET to the expected errors
from connect(). [RT #2308]
2002-01-10 03:50:13 +00:00
Mark Andrews 80278e8856 new draft 2002-01-10 03:32:06 +00:00
Mark Andrews 7ead8b72ea new rev 2002-01-09 23:21:57 +00:00
Mark Andrews cad61731f8 1173. [bug] Potential leaks in isc_log_create() and
isc_log_settag(). [RT #2336]
2002-01-09 06:16:10 +00:00
Mark Andrews ac69ec1294 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-09 06:14:07 +00:00
Mark Andrews 54469c2b22 1172. [doc] Add CERT, GPOS, KX, NAPTR, NSAP, PX and TXT to
table of RR types in ARM.
2002-01-09 05:44:28 +00:00
Mark Andrews 21143c2afa new rev 2002-01-08 21:45:39 +00:00
Mark Andrews f9ff782e79 remove rational behind using a anonymous port for queries 2002-01-08 00:34:45 +00:00
Mark Andrews 6646cc41d7 Q: Why is named listening on UDP port other than 53? 2002-01-07 22:53:48 +00:00
Mark Andrews ca2ebf900d Mac OS X 10.1 2002-01-06 23:01:25 +00:00
Brian Wellington e74100e3f4 move isc_region_compare to isc/region.[ch], not isc/buffer.[ch] 2002-01-05 07:28:44 +00:00
Olafur Gudmundsson 90e303b114 Adding function isc_region_compare and using in instead of compare_region in lib/dns 2002-01-05 07:05:28 +00:00
Andreas Gustafsson cfbdb5e079 note that the command channel can be disabled using controls { }; 2002-01-05 01:26:10 +00:00
Mark Andrews 9c827a3997 initalise warning
initalise token
only print known token types.
2002-01-04 06:19:20 +00:00
Mark Andrews adbb11147c 1170. [bug] Don't attempt to print the token when a I/O error
occurs when parsing named.conf.  [RT #2275]
2002-01-04 05:42:12 +00:00
Andreas Gustafsson 6a2a7fbfd1 oops, forgot this file in last commit 2002-01-04 04:34:51 +00:00
Andreas Gustafsson 669e9657c7 Split off the named.conf grammar into a source module separate
from the configuration parser, to facilitate reuse of the latter for
parsing non-BIND configuration files
2002-01-04 02:32:16 +00:00
Mark Andrews b3ebf6f275 Mention the need to run "make distclean" prior to re-configuring. 2002-01-02 00:25:13 +00:00
Mark Andrews c58088e3a0 draft-ietf-dnsext-message-size has been replace by rfc3226 2001-12-31 02:32:50 +00:00
Mark Andrews 60c2c8814f draft-ietf-dnsext-dnssec-okbit in now rfc3225 2001-12-31 02:19:25 +00:00
Mark Andrews 9ab461a6ff 1169. [func] Identify recursive queries in the query log. 2001-12-29 05:31:26 +00:00
Mark Andrews 77467267d9 1168. [bug] Empty also-notify clauses were not handled gracefully.
[RT #2309]
2001-12-29 04:49:51 +00:00
Brian Wellington b7dca533e0 avoid calling set_offsets() in dns_name_copy() if possible. 2001-12-28 20:59:27 +00:00
Mark Andrews 0fa218cc7c reduce the log level of connection reset from error to info. 2001-12-27 05:07:26 +00:00
Mark Andrews 13ba983cc8 1167. [contrib] nslint-2.1a3 (from author). 2001-12-21 04:12:05 +00:00
Mark Andrews 3036da0109 don't reuse the same number 2001-12-20 00:43:55 +00:00
Andreas Gustafsson 84d8c0166d clarified, added RT reference, and adjusted spacing 2001-12-19 23:37:35 +00:00
Mark Andrews da5d1cf1b1 1164. [bug] "Not Implemented" should be reported as NOTIMP. 2001-12-19 12:16:47 +00:00
Mark Andrews df1415d1e8 Out of date comment. 2001-12-19 05:51:34 +00:00
Mark Andrews 82107a8889 reference after free in error path. 2001-12-19 05:44:54 +00:00
Danny Mayer 13f20ab1fa Update isc_time_formattimestamp to use the 12-Dec-2001 style of datestamp. Fix badtime to be 99-Bad-9999 2001-12-19 03:46:57 +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
Mark Andrews 66291de206 1165. [bug] We were rejecting notify-source{-v6} in zone clauses. 2001-12-18 23:23:32 +00:00
Brian Wellington 0118965e19 fix large DH key generation, hopefully for the last time. 2001-12-18 06:05:41 +00:00
Mark Andrews 6c06bc591a 1164. [bug] Empty masters clauses in slave / stub zones were not
handled gracefully.  [RT #2262]
2001-12-17 22:56:58 +00:00
Mark Andrews 486e212005 new rev 2001-12-17 21:11:49 +00:00
Mark Andrews 58d9437115 grammar 2001-12-17 03:15:25 +00:00
Mark Andrews c36f45e354 1163. [func] isc_time_formattimestamp() will now reports the year.
The format matches BIND 8 date stamp.
2001-12-17 02:55:06 +00:00
Andreas Gustafsson b31471255d pullup: correct Latin plural 2001-12-14 18:30:09 +00:00
Andreas Gustafsson 07caa8f1f9 correct Latin plural 2001-12-14 18:29:10 +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
Andreas Gustafsson 9cec4ca6ca 1162. [bug] The allow-notify option was not accepted in slave
zone statements.
2001-12-13 06:31:00 +00:00
Brian Wellington 19f0d00107 check that allow-notify is only specified for slave zones 2001-12-13 06:20:40 +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 23fb770906 1161. [bug] named-checkzone looped on unbalanced brackets.
[RT #2248]
2001-12-13 06:13:44 +00:00
Andreas Gustafsson 793711f26e added 2001-12-12 17:25:18 +00:00
Brian Wellington 1898837a5e Add the well-known 1536 bit prime from draft-ietf-dnsext-rfc2539bis-dhk-01.txt 2001-12-12 17:18:52 +00:00
Brian Wellington 9af8851b85 whitespace style 2001-12-12 17:09:39 +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
Brian Wellington 0cb27602e5 1160. [bug] Generating Diffie-Hellman keys longer than 1024
bits could fail. [RT #2241]
2001-12-12 16:43:24 +00:00
Andreas Gustafsson 3e86caf335 added 2001-12-12 16:24:52 +00:00
Mark Andrews 2c63b97c09 update tests for MD and MF know longer being loadable 2001-12-12 06:24:11 +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 0d6f70f1db reword 1154 2001-12-12 00:10:37 +00:00
Mark Andrews 11dbb6dc6b silently reject MD and MF updates. 2001-12-11 23:53:13 +00:00
Mark Andrews 5af6873693 tag slave zones when loading 2001-12-11 20:52:41 +00:00
Mark Andrews ff1b064f5e 1159. [bug] MD and MF are not permitted to be loaded by RFC1123. 2001-12-11 20:37:16 +00:00
Mark Andrews 8e40433e34 1158. [func] Report the client's address when logging notify
messages.
2001-12-10 23:09:24 +00:00
Brian Wellington 23924b681e updates 2001-12-10 04:49:32 +00:00
Mark Andrews 5157792c8d Q. I have Freebsd 4.4 and "rndcconfgen -a" just sits there. 2001-12-09 16:55:13 +00:00
Brian Wellington efc01ed4ad fix comment 2001-12-08 02:14:46 +00:00
Brian Wellington e57e32e575 restructuring - build the nxt chain independently from the signing process 2001-12-08 00:38:40 +00:00
Brian Wellington 708f3fd049 Added the DNS_DBFIND_FORCENXT flag to dns_db_find, which causes the lookup
to search for NXT records, even if the zone is not marked as secure.
2001-12-08 00:37:07 +00:00
Mark Andrews 192cd0c440 new rev 2001-12-07 07:10:24 +00:00
Brian Wellington 8740bb8af0 remove #defines that shouldn't be there. 2001-12-07 01:55:42 +00:00
Brian Wellington 68d9a8bddf Fix a typo (I hope) in marka's keys-in-match-* patch. 2001-12-07 01:34:08 +00:00
Mark Andrews b01b0bb771 Add a multiview zone transfer key based solution. 2001-12-06 23:10:22 +00:00
Andreas Gustafsson 1b1f3fca3a spacing 2001-12-06 18:55:52 +00:00
Mark Andrews 880723fb13 1157. [func] match-clients and match-destinations now accept
keys. [RT #2045]
2001-12-06 04:38:51 +00:00
Brian Wellington e128be1387 track the size of memory blocks when debugging is enabled. 2001-12-05 19:13:26 +00:00
Mark Andrews e23cb8a303 RUNTIME_CHECK(dns_rdata_tostruct())
if isc_time_add() fails, issue warning message and retry with a half interval,
this should only happen if we are approaching time wrap around (2038 for UNIX
systems).
2001-12-05 03:21:23 +00:00
Andreas Gustafsson ee515ce130 commented 2001-12-05 03:05:30 +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 dd7c36abb9 spelling 2001-12-05 02:28:12 +00:00
Andreas Gustafsson 8f44fd4f8d document configure.in 1.316:
1156.   [port]          The configure test for strsep() incorrectly
                        succeeded on certain patched versions of
                        AIX 4.3.3. [RT #2190]
2001-12-05 02:19:52 +00:00
Mark Andrews 09de14b4e6 add entry on prerequisite failure messages 2001-12-05 01:40:42 +00:00
Mark Andrews fefbb64a75 1155. [func] Recover from master files being removed from under
us.
2001-12-04 05:17:53 +00:00
Mark Andrews 772ef7e815 updates 2001-12-04 02:06:09 +00:00
Brian Wellington 41e50ece38 add dns_name_hashbylabel() and make the rbt use it. 2001-12-04 01:32:44 +00:00
Andreas Gustafsson 4de7f30751 regenerated 2001-12-03 21:52:34 +00:00
Andreas Gustafsson ba1549060f test for strsep() using AC_TRY_LINK() instead of AC_CHECK_FUNC() to deal with AIX braindamage [RT #2190] 2001-12-03 21:52:07 +00:00
Andreas Gustafsson 5d727330e4 brace style 2001-12-03 19:44:08 +00:00
Mark Andrews 111e3433d2 1154. [bug] When scanning interfaces skip the interface
if address no address is configured.  [RT #2176]
2001-12-03 04:41:42 +00:00
Mark Andrews 3acadb07f4 wrong test to see if snprintf had a too small buffer. 2001-12-01 00:39:22 +00:00
Mark Andrews cf300e03de 1153. [func] 'rndc {stop|halt} -p' now reports the process id
of the instance of named being shutdown.
2001-12-01 00:34:27 +00:00
Andreas Gustafsson 439a2f855b regenerated 2001-11-30 23:15:28 +00:00
Andreas Gustafsson d906600f7d return an exit status from OpenSSL test program 2001-11-30 23:15:17 +00:00
Andreas Gustafsson 06ccdb9fe7 regenerated 2001-11-30 23:13:17 +00:00
Andreas Gustafsson 2995f8205e tweaked 2001-11-30 23:13:05 +00:00
Andreas Gustafsson 093823a75c regenerated 2001-11-30 23:09:35 +00:00
Andreas Gustafsson bc53aacc6e check whether linking with OpenSSL works at all before checking
whether the version is compatible
2001-11-30 23:09:28 +00:00
Brian Wellington b7415ddd79 let isc_lex_destroy() close sources. 2001-11-30 18:26:46 +00:00
Mark Andrews 5e8f2512a6 leave isc_lex_destroy() to close any open streams. 2001-11-30 03:14:50 +00:00
Brian Wellington 2e4bec457d Before signing with a key, make sure that it's not the public-only part.
A sane crypto toolkit would catch this and return an error, but openssl
unceremoniously seg faults.
2001-11-30 02:11:04 +00:00
Andreas Gustafsson fdba3257ce one more ignored return value 2001-11-30 02:09:48 +00:00
Andreas Gustafsson 1f1d36a87b Check return values or cast them to (void), as required by the coding
standards; add exceptions to the coding standards for cases where this is
not desirable
2001-11-30 01:59:49 +00:00
Mark Andrews 9ac8796f16 1152. [bug] libbind: read buffer overflows. 2001-11-30 01:19:02 +00:00
Andreas Gustafsson 700847b76c spelling 2001-11-30 01:10:09 +00:00
Andreas Gustafsson d5cc778a3e tweaked messages 2001-11-30 01:09:11 +00:00
Andreas Gustafsson f2c49862fb clarify 1148. 2001-11-30 01:06:15 +00:00
Andreas Gustafsson 242bba8991 1151. [bug] nslookup failed to check that the arguments to
the port, timeout, and retry options were
                        valid integers and in range. [RT #2099]

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

1149.   [func]          New function isc_parse_uint32().
2001-11-30 01:02:18 +00:00
Andreas Gustafsson ce78304c4f expired drafts 2001-11-30 00:59:12 +00:00
Andreas Gustafsson b1e7bb6aef edited 2001-11-30 00:52:53 +00:00
Andreas Gustafsson 45fe575607 IPV6_V6ONLY, not IPV6_IPV6ONLY 2001-11-29 23:55:16 +00:00
Mark Andrews 02bdc23f8e 1148. [func] 'rndc-confgen -a' provide positive feedback. 2001-11-29 23:17:22 +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 54ef87c8c9 regenerated 2001-11-29 22:52:54 +00:00
Andreas Gustafsson eba289dabe clarified the meaning of * in an inet controls clause [RT #2073] 2001-11-29 22:52:03 +00:00
Andreas Gustafsson 4463c6f19e reference RT #2164 2001-11-29 18:34:23 +00:00
Andreas Gustafsson f59d47928e reference RT #2164 2001-11-29 18:34:10 +00:00
Mark Andrews ef29912666 1147. [func] Set IPV6_IPV6ONLY on IPv6 sockets if supported by
the OS.  listen-on-v6 { any; }; should no longer
                        result in IPv4 queries be accepted.  Similarly
                        control { inet :: ... }; should no longer result
                        in IPv4 connections being accepted.  This can be
                        overridden at compile time by defining
                        ISC_ALLOW_MAPPED=1.
2001-11-29 13:14:33 +00:00
Mark Andrews 0cfa2fb26d 1146. [func] Allow IPV6_IPV6ONLY to be set/cleared on a socket if
supported by the OS by a new function
                        isc_socket_ipv6only().
2001-11-29 07:31:25 +00:00
Andreas Gustafsson 06a949d2ce 1145. [func] host no longer reports a NOERROR/NODATA response
by printing nothing. [RT #2065]
2001-11-29 01:21:19 +00:00
Andreas Gustafsson db080b7310 need <isc/print.h> 2001-11-29 01:14:35 +00:00
Andreas Gustafsson 9ecb35e7d4 Rewrote code that prints the silly human-readable RR type names to
handle all possible RR types, and made it much smaller in the process
2001-11-29 01:08:43 +00:00
Brian Wellington 6785447aaf use dns_diff_applysilently 2001-11-29 00:39:07 +00:00
Andreas Gustafsson bfbea562e6 new function dns_diff_applysilently() [RT #2157] 2001-11-29 00:15:35 +00:00
Andreas Gustafsson af36ecc41a complete sentences 2001-11-28 23:38:32 +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
Brian Wellington 0b81e99ddf 1144. [bug] rndc-confgen would crash if both the -a and -t
options were specified. [RT #2159]
2001-11-28 21:44:19 +00:00
Mark Andrews bbc985b36e new revs 2001-11-28 14:26:10 +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
Andreas Gustafsson 5c898d95dc regenerated 2001-11-28 02:52:31 +00:00
Mark Andrews d486854a4a order 2001-11-28 02:52:25 +00:00
Andreas Gustafsson cd801a4ed8 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 02:46:21 +00:00
Brian Wellington 3638017bd3 1143. [bug] When a trusted-keys statement was present and named
was built without crypto support, it would leak memory.
2001-11-28 02:35:02 +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 892476530f end sentence in period 2001-11-28 01:37:33 +00:00
Andreas Gustafsson eacbf2cc01 pullup:
shutup bogus ambiguous else compiler warning.
2001-11-27 23:21:56 +00:00
Mark Andrews 6737b6ebf0 shutup bogus ambiguous else compiler warning. 2001-11-27 22:53:55 +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
Brian Wellington 8bb79fc9b9 clarify #1141 2001-11-27 22:11:47 +00:00
Brian Wellington 8771fbe4a2 1142. [bug] dnssec-signzone would fail to delete temporary files
in some failure cases. [RT #2144]
2001-11-27 22:08:58 +00:00
Brian Wellington b541c10d04 1141. [bug] When named rejected a control message, it would
leak a file descriptor and memory.
2001-11-27 21:51:31 +00:00
Andreas Gustafsson c01237c6bc 1140. [bug] rndc-confgen did not accept IPv6 addresses as arguments
to the -s option. [RT #2138]
2001-11-27 20:59:52 +00:00
Andreas Gustafsson c52806164c minor clarifications to 1137.-1139. 2001-11-27 20:45:33 +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 5d7c50da51 success on Debian GNU/Linux 2.2 and 3.0 reported by Bdale Garbee <bdale@gag.com> 2001-11-27 20:23:24 +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
Andreas Gustafsson e181d9899b regenerated 2001-11-27 18:56:18 +00:00
Andreas Gustafsson 06a316a2fe command example was missing TTL (reported in private email by Bdale Garbee <bdale@gag.com> 2001-11-27 18:55:20 +00:00
Mark Andrews 559fe25977 new rev 2001-11-27 12:58:44 +00:00
Mark Andrews 60213f2815 1139. [func] It is now possible to flush a given name from the
caches via 'rndc flushname name [view]'.  [RT #2051]
2001-11-27 04:06:17 +00:00
Mark Andrews 6c8abf481d 1138. [func] It is now possible to flush given names from the
cache dns_cache_flushname().
2001-11-27 03:10:32 +00:00
Mark Andrews 1e4bfff185 1137. [func] It is now possible to flush given names from the
adb cache dns_adb_flushname().
2001-11-27 03:00:50 +00:00
Andreas Gustafsson 91cd0f93ad sizeof style 2001-11-27 01:56:32 +00:00
Andreas Gustafsson b414eb4312 regenerated 2001-11-27 01:10:26 +00:00
Andreas Gustafsson db1bdb20a5 created a section describing the built-in CHAOS zones; clarify that
the global server options does not apply to their view [RT #2064]
2001-11-27 01:09:22 +00:00
Andreas Gustafsson f1b6872550 Do not put a space before ';' when terminating a statement or in a 'for' statement. 2001-11-27 00:56:32 +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 4d1d37a19d out-of-range SOA timers were silently clamped [RT #2081] 2001-11-26 23:51:21 +00:00
Andreas Gustafsson 751af0ee2f duplicate code consistently 2001-11-26 23:37:24 +00:00
Andreas Gustafsson 6b31d9c568 1136. [bug] CNAME records synthesized from DNAMEs did not
have a TTL of zero as required by RFC2672
                        [RT #2129]
2001-11-26 22:54:16 +00:00
Andreas Gustafsson d61bc8ca1c added 2001-11-26 06:05:36 +00:00
Andreas Gustafsson d5a0b9c15c Paul wants us to test releases on ns-ext and ns-int 2001-11-25 01:56:01 +00:00
Andreas Gustafsson 8f4ecd4a9e updated for 9.2.0 (final) 2001-11-25 01:38:13 +00:00
Mark Andrews ee80f45064 1135. [func] You can now override the default syslog() facility for
named/lwresd at compile time. [RT #1982]
2001-11-23 01:15:07 +00:00
Danny Mayer 022dd8775a Added dns_sdb_putrdata to list of visible functions 2001-11-22 04:33:33 +00:00
Danny Mayer c2cee22ec1 Added builtin.c to build 2001-11-22 03:12:00 +00:00
Danny Mayer 7869e8ad05 Braces were missing when isc__strerror was added 2001-11-22 03:11:01 +00:00
Danny Mayer d67b892041 isc__strerror was being used incorrectly. Return value is the result and not a pointer to the error message 2001-11-22 03:08:12 +00:00
Andreas Gustafsson acf6bcebf9 style 2001-11-22 02:18:52 +00:00
Andreas Gustafsson 9a762177e6 style 2001-11-22 01:59:02 +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 27f9274cb4 nsupdate should not take octal and hex TTLs 2001-11-22 00:59:18 +00:00
Andreas Gustafsson 38ba66e41b regenerated 2001-11-22 00:37:35 +00:00
Andreas Gustafsson fdf2eaf21b edited 2001-11-22 00:35:36 +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 d9d6d2f77f 1134. [bug] Multithreaded servers could deadlock in ferror()
when reloading zone files. [RT #1951, #1998]
2001-11-21 22:26:46 +00:00
Andreas Gustafsson 9b2c0d2924 complete sentences 2001-11-21 22:20:45 +00:00
Mark Andrews 61cdf27dc2 new draft 2001-11-21 22:20:21 +00:00
Mark Andrews eb2c518a38 1133. [bug] IN6_IS_ADDR_LOOPBACK not portably defined on platforms
without IN6_IS_ADDR_LOOPBACK. [RT #2106]
2001-11-21 13:06:20 +00:00
Danny Mayer d5f394f4c4 Change strerror references to use isc__strerror [RT #1689] 2001-11-21 05:07:25 +00:00
Danny Mayer 05903e6b3a Added libbind9 to list of DLL's to install in System32 2001-11-21 05:04:13 +00:00
Danny Mayer 622a594a7c Added support for libbind9 in the batch build process 2001-11-21 05:02:41 +00:00
Andreas Gustafsson 3cac42f8db libbind9 requires libdns and libisccfg 2001-11-21 02:19:02 +00:00
Andreas Gustafsson 3c17c8b945 ignore libtool stuff 2001-11-21 02:16:29 +00:00
Andreas Gustafsson 6bbb37a184 merge the RR table and RDATA table into one; describe all classes in one place 2001-11-21 01:02:44 +00:00
Andreas Gustafsson e4946c508e added section on secure zone transfers 2001-11-20 23:32:09 +00:00
Andreas Gustafsson d2e371201c the named.conf options block should not apply to the built-in views 2001-11-20 22:30:35 +00:00
Andreas Gustafsson 4f30395c97 Suppress compiler warnings about empty translation units 2001-11-20 21:28:41 +00:00
Andreas Gustafsson e2fd9af691 new draft 2001-11-20 18:48:21 +00:00
Andreas Gustafsson 6af3a0d53c properly quote embedded newlines in string 2001-11-20 18:46:43 +00:00
Brian Wellington 81f6192a0c spacing 2001-11-20 18:42:26 +00:00
Mark Andrews 4072dfb9b8 1132. [func] Improve UPDATE prerequisite failure diagnotic messages. 2001-11-20 05:04:41 +00:00
Andreas Gustafsson 945f7311ca Don't return a value from isc__strerror(); it was never used, and
casting it to void everywhere as required by the coding standards would have been silly
and pointless
2001-11-20 01:45:49 +00:00
Andreas Gustafsson 17453368fa Reimplemented the built-in CHAOS zones using sdb. 2001-11-20 01:18:15 +00:00
Mark Andrews d8720af3a3 new draft 2001-11-20 00:43:22 +00:00
Andreas Gustafsson 6cd7bd1fb5 spacing 2001-11-19 22:32:04 +00:00
Andreas Gustafsson 459d31fa83 consistently put the LIBDNS_EXTERNAL_DATA before the const 2001-11-19 21:34:31 +00:00
Andreas Gustafsson 10640b2e3e added lib/bind9/win32/* 2001-11-19 21:17:08 +00:00
Andreas Gustafsson b0a1fa9b20 updated drafts 2001-11-19 20:52:23 +00:00
Danny Mayer e61793f086 Added LIB*_EXTERNAL_DATA Macros necessary to make lib extern variables globally visible in Win32 2001-11-19 03:08:44 +00:00
Danny Mayer 707b733dc3 Add missing include file 2001-11-18 06:21:35 +00:00
Danny Mayer cff4f731e4 Fix to eliminate extra cursor and ico information 2001-11-18 06:19:17 +00:00
Danny Mayer 33b8775d3a Updated to support tree organization changes and to support the lib/bind9 library code 2001-11-18 03:11:06 +00:00
Danny Mayer 0021672451 Added proper code for retrieving the hostname 2001-11-18 03:03:42 +00:00
Danny Mayer 74dfe6155f Add win32 support for bind9 library 2001-11-17 03:57:12 +00:00
Andreas Gustafsson cde2f4dabe style 2001-11-16 23:58:39 +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 92094d44a2 1131. [bug] The match-destinations view option did not work with
IPv6 destinations. [RT #2073, #2074]
2001-11-16 20:01:57 +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
Andreas Gustafsson 11fe3dcfe2 clarified 1130. 2001-11-16 18:53:51 +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 d1abb8bb02 1130. [bug] Out of range serial number were not being logged.
[RT #2076]
2001-11-16 10:50:00 +00:00
Brian Wellington db0e722d83 oops, remove the other call to freehostent() 2001-11-16 06:48:22 +00:00
Brian Wellington 09ce736e9a unitialized variable [RT #2075] 2001-11-16 04:43:04 +00:00
Brian Wellington d972554740 mismatched parens, missing failure return, remove incorrect use of
freehostent() [RT #2075]
2001-11-16 04:41:58 +00:00
Andreas Gustafsson b4aeceec73 1129. [bug] Multithreaded servers could crash under heavy
resolution load due to a race condition. [RT #2018]
2001-11-16 02:07:51 +00:00
Andreas Gustafsson db40c6bfdf don't unlock the node lock in no_references() [RT #2018] 2001-11-16 00:17:07 +00:00
Andreas Gustafsson a831ffc8fe new draft 2001-11-15 23:46:00 +00:00
Andreas Gustafsson f8aa552edb Split contrib/sdb into a subdirectory per driver 2001-11-15 23:15:34 +00:00
Mark Andrews b8f2869bef accepted by dnsop 2001-11-15 22:22:21 +00:00
Andreas Gustafsson 307ba34fa0 1128. [func] sdb drivers can now provide RR data in either text
or wire format, the latter using the new functions
                        dns_sdb_putrdata() and dns_sdb_putnamedrdata().
(in preparation for sdb-izing the built-in CHAOS zones)
2001-11-15 20:32:05 +00:00
Brian Wellington d9af67ef70 add RSA to the secalgs list in rdata.c (as a synonym for RSAMD5), remove the
special case code in dnssec-keygen to parse RSA.
2001-11-15 19:44:52 +00:00
Andreas Gustafsson 36d8518388 indentation 2001-11-15 19:06:04 +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
Andreas Gustafsson 3179bab5b8 extra text after #else 2001-11-15 01:58:28 +00:00
Brian Wellington 00c8cf21f0 simplify #ifdef mess 2001-11-15 01:29:42 +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
Andreas Gustafsson 20c21edada deal with the NO_DATA/NO_ADDRESS mess using a bunch
of #ifs and #ifdefs, as recommended by Mark
2001-11-15 01:20:16 +00:00
Andreas Gustafsson cef23f1f01 no need to include <isccfg/cfg.h>; include <isc/net.h> to define in_port_t 2001-11-15 01:04:06 +00:00
Andreas Gustafsson 06364bcf06 did not compile on systems lacking getaddrinfo() due to typos 2001-11-15 00:58:00 +00:00
Andreas Gustafsson a79f12ba46 remove NO_ADDRESS, not NO_DATA 2001-11-15 00:53:05 +00:00
Brian Wellington 47b4920f08 add the undocumented -S (simple output format) option 2001-11-15 00:51:23 +00:00
Andreas Gustafsson 78f0b08d54 duplicate switch case on systems defining NO_ADDRESS and NO_DATA with the same value 2001-11-15 00:51:10 +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
Brian Wellington 420e5e1022 retry connecting on all errors except CANCELED, not just on CONNREFUSED. 2001-11-14 23:54:29 +00:00
Andreas Gustafsson f547209bf6 more leftovers 2001-11-14 23:16:49 +00:00
Andreas Gustafsson 452606f147 forgot to remove a function declaration in previous change 2001-11-14 23:15:44 +00:00
Andreas Gustafsson ca1ecf38c6 forgot to remove an UNLOCK() in previous change 2001-11-14 23:15:22 +00:00
Brian Wellington 3f96cf3e4f Allow up to 10 addresses, not 4. 2001-11-14 23:14:29 +00:00
Brian Wellington b6b9d8b843 1127. [func] rndc: If the server to contact has multiple addresses,
try all of them.
2001-11-14 23:12:18 +00:00
Brian Wellington 0f1938c982 set ai_socktype in the hints to getaddrinfo, so that the result doesn't
contain duplicate addresses.
2001-11-14 23:03:42 +00:00
Andreas Gustafsson ca50fa0230 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-14 22:32:10 +00:00
Brian Wellington 08e4f1ac94 oops, inadvertantly checked in a change here. 2001-11-14 22:14:19 +00:00
Brian Wellington a873540eb6 When in singlethreaded mode, don't drain the event queue before exiting
isc_app_run().  The events will be delivered when the taskmgr is destroyed.
This will allow, for example, dnssec-signzone to be aborted with ^C.
I think this works, and the system tests pass, but it might break something.
2001-11-14 22:11:58 +00:00
Brian Wellington b493dfe8bc Add bind9_getaddresses(), a consistent version of the get_address function
from dig/host/nslookup, nsupdate, and rndc.  This should make it
easier to have the various programs support multiple addresses for a hostname.
2001-11-14 22:08:38 +00:00
Andreas Gustafsson cab27680d6 change 1077. introduced a locking hierarchy violation; fix by
introducing a separate lock for resolver->nfctx.
2001-11-14 22:05:05 +00:00
Brian Wellington f109354dce copyright 2001-11-14 22:01:40 +00:00
Andreas Gustafsson 31f6e44dca 1126. [bug] The server could access a freed event if shut
down while a client start event was pending
                        delivery. [RT #2061]
2001-11-14 22:00:22 +00:00
Mark Andrews 77e0ae46ee new draft 2001-11-14 21:35:45 +00:00
Andreas Gustafsson fbdbb3e8fa spacing 2001-11-14 19:11:06 +00:00
Andreas Gustafsson abbc8ed09b added FAQ about rndc attempting to use IPv6 2001-11-14 17:59:10 +00:00
Andreas Gustafsson 3c53361901 added FAQ about rndc attempting to use IPv6 2001-11-14 17:47:33 +00:00
Mark Andrews 6d6529b5e5 1125. [bug] rndc: -k missing from usage. [RT #2057] 2001-11-14 06:42:46 +00:00
Mark Andrews 0b07b9482c 1124. [doc] dig: +[no]dnssec, +[no]besteffort and +[no]fail
now documented. [RT #2052]
2001-11-14 06:34:24 +00:00
Mark Andrews c0fe9b0d1b 1123. [bug] dig +[no]fail did not match description. [RT #2052] 2001-11-14 06:31:38 +00:00
Andreas Gustafsson 10a6442013 typo 2001-11-14 02:03:43 +00:00
Andreas Gustafsson 2869504d83 1122. [tuning] Resolution timeout reduced from 90 to 30 seconds.
[RT #2046]
2001-11-14 01:31:12 +00:00
Andreas Gustafsson ce6caa0759 grammar 2001-11-14 01:10:59 +00:00
Andreas Gustafsson 138cc7f283 1121. [bug] The server could attempt to access a NULL zone
table if shutting down while resolving.
                        [RT #1587, #2054]
2001-11-14 01:01:28 +00:00
Mark Andrews 2edb8bce12 draft-schlyter-appkey-01.txt 2001-11-13 22:39:13 +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 2053e8c26c consistent spacing 2001-11-13 19:06:41 +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
Andreas Gustafsson 5c859d99f0 new draft 2001-11-13 18:27:58 +00:00
Mark Andrews ae29b66fbf BIND 8.3 compat "suppress-initial-notify". 2001-11-13 06:57:11 +00:00
Mark Andrews ac1a59e95c 1120. [bug] Errors in options were not fatal. [RT #2002] 2001-11-13 06:40:59 +00:00
Mark Andrews aa51fc8106 1119. [bug] Errors in options were not fatal. [RT #2002] 2001-11-13 06:34:59 +00:00
Mark Andrews 0316cd0c04 NODE_VALID -> DNS_RBTNODE_VALID 2001-11-13 06:19:55 +00:00
Danny Mayer 58930ca980 On Win32 added support for creating NTFS disk ACL's 2001-11-13 05:21:37 +00:00
Danny Mayer 5c4e92b973 Added support for NTFS disks 2001-11-13 05:07:57 +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 2612cf1a5e draft-ietf-dnsop-hardie-shared-root-server-06.txt 2001-11-13 00:04:14 +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
Andreas Gustafsson f3ca27e9fe sizeof style 2001-11-12 19:05:39 +00:00
Andreas Gustafsson e3e94dd137 1118. [bug] On multithreaded servers, a race condition
could cause an assertion failure in resolver.c
                        during resolver shutdown. [RT #2029]
2001-11-12 18:48:50 +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 c0bf2b179a When DNS_RBT_USEMAGIC is defined as true, do magic number
checking of RBT nodes
2001-11-10 01:37:44 +00:00
Andreas Gustafsson 9656a02498 regenerated 2001-11-09 23:21:41 +00:00
Andreas Gustafsson d76ac5ddfd pullup:
install soa.h
2001-11-09 23:17:17 +00:00
Brian Wellington 9fbcea8dba install soa.h 2001-11-09 23:09:29 +00:00
Andreas Gustafsson 7c014c5bf4 117. [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-09 23:08:22 +00:00
Andreas Gustafsson b5c8773673 pullup:
theoretically potential file descriptor leak.
2001-11-09 20:21:41 +00:00
Mark Andrews 3e42bdfdc9 1116. [bug] Setting transfers in a server clause, transfers-in,
or transfers-per-ns to a value greater than
                        2147483647 disabled transfers.  [RT #2002]
2001-11-09 04:21:58 +00:00
Mark Andrews b20eef7ab0 1115. [func] Set maximum values for cleaning-interval,
heartbeat-interval, interface-interval,
                        max-transfer-idle-in, max-transfer-idle-out,
                        max-transfer-time-in, max-transfer-time-out,
                        statistics-interval of 28 days and
                        sig-validity-interval of 3660 days. [RT #2002]
2001-11-09 03:34:55 +00:00
Andreas Gustafsson a571ebca8b style 2001-11-09 01:53:20 +00:00
Mark Andrews f498427f17 theoretically potential file descriptor leak. 2001-11-09 00:37:10 +00:00
Mark Andrews eb9945c49a expand dialup description. 2001-11-09 00:22:36 +00:00
Andreas Gustafsson 727f5b8846 regenerated 2001-11-08 21:22:49 +00:00
Andreas Gustafsson 7ff4660fa4 Proofread up to and including section 6.3 2001-11-08 21:21:58 +00:00
Andreas Gustafsson 0a792c72e6 regenerated 2001-11-08 21:15:07 +00:00
Andreas Gustafsson bad3251d3f Undo the parts of 1113. pertaining to the allow-update option; simplify grammar 2001-11-08 21:13:42 +00:00
Andreas Gustafsson ea01b618d9 1114. [port] Ignore more accept() errors. [RT #2021] 2001-11-08 20:24:25 +00:00
Andreas Gustafsson 9eec883bf8 1112. was not a user visible change 2001-11-08 18:58:40 +00:00
Mark Andrews 80dd46d7aa 1113. [bug] allow-update/allow-update-forwarding did not work
when specified in a view.  [RT #2014]
2001-11-08 05:36:23 +00:00
Danny Mayer 993572b249 On a successful connect need to clear the except_fds bit for the socket. except_fds is only set for a connect call, so it is always safe to clear 2001-11-08 03:35:37 +00:00
Danny Mayer afce5ee1c8 On a successful connect need to clear the except_fds bit for the socket. except_fds is only set for a connect call, so it is always safe to clear 2001-11-08 03:29:05 +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 868c254c18 regenerated 2001-11-08 00:14:00 +00:00
Andreas Gustafsson f5385613e2 note that the +[no]cmd option cannot be overridden on a per-query
basis [RT #2004]
2001-11-08 00:13:54 +00:00
Andreas Gustafsson 088eaf3878 use complete sentence in 1110. 2001-11-07 23:09:14 +00:00
Andreas Gustafsson 46ba6046bc rephrased 1108. to describe the bug, not the fix, and to remove an inappropriate
mention of unrelated cleanup that just happened to be in the same commit
2001-11-07 23:06:00 +00:00
Brian Wellington bcf53cf8d0 Move the memory allocation wrappers into openssl_link.c, since they're
openssl specific.
2001-11-07 23:03:54 +00:00
Andreas Gustafsson 66923d616a spacing 2001-11-07 23:01:41 +00:00
Andreas Gustafsson 1c398fd83c further clarification of 1073. 2001-11-07 23:00:48 +00:00
Andreas Gustafsson 78bf1ca895 1111. [bug] Multithreaded servers could deadlock processing
recursive queries due to a locking hieararchy
                        violation in adb.c. [RT #2017]
2001-11-07 22:40:33 +00:00
Mark Andrews c9b0b5d9bf draft-ietf-dnsext-restrict-key-for-dnssec-00.txt 2001-11-07 22:20:56 +00:00
Mark Andrews c29d36bdf7 skipped 10 changes 2001-11-07 22:09:24 +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 2ffd8b0788 regenerated 2001-11-07 18:40:21 +00:00
Andreas Gustafsson b7554e2bc9 regenerated 2001-11-07 18:27:18 +00:00
Mark Andrews 6b13908f70 add rt #2003 2001-11-07 05:42:17 +00:00
Mark Andrews afeabf9f70 1120. [bug] dig only accept valid abbreviations of +options. 2001-11-07 05:40:48 +00:00
Mark Andrews 3842a051ba 1109. [bug] nsupdate accepted illegal ttl values.
e.g. "update add foo -0 IN A 1.2.3.4"
simlified ttl range processing by using unsigned long.
2001-11-07 04:44:09 +00:00
Danny Mayer a89d1aea0c Fix to catch connect failures in Win32, affecting rndc hangs. [RT #1870] 2001-11-07 04:39:28 +00:00
Mark Andrews 773e64ec15 try-edns is no more 2001-11-07 04:25:19 +00:00
Danny Mayer e209942448 Fix select to set and check for exception fds for the connect() function for the socket. Miscellaneous error handling cleanup. [RT #1870] 2001-11-07 04:24:38 +00:00
Mark Andrews be9932698b max-adb-size is no more.
1073.  [bug]           The adb cache should also be space driven.
                       [RT #1915, #1938]
2001-11-07 03:52:20 +00:00
Mark Andrews 85477ac281 Add table of dialup modes 2001-11-07 03:10:25 +00:00
Andreas Gustafsson d35b058b31 include 1106. and 1107. in rc9 2001-11-07 01:02:14 +00:00
Brian Wellington 51e66e5dee missing static 2001-11-06 23:10:34 +00:00
Brian Wellington 88d64279bb if the function table entry already exists when _init() is called, don't
overwrite it.
2001-11-06 22:51:00 +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 f368466f81 Creating a NULL KEY shouldn't trigger a "no crypto" error. 2001-11-06 22:27:52 +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
Mark Andrews 8786484edf draft-ietf-dnsext-tkey-renewal-mode-00.txt 2001-11-06 21:29:58 +00:00
Brian Wellington ba45e16a66 Clean up the implementation cleanup mechanism. Also remove ->issymmetric,
since it's easier to just do it in dst_api.c.
2001-11-06 20:47:59 +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 04f158ce9a 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 20:21:42 +00:00
Brian Wellington 1a1eba30c3 regen 2001-11-06 20:06:05 +00:00
Brian Wellington 0e40083fdd @DNS_OPENSSL_LIBS@ -> @DNS_CRYPTO_LIBS@ 2001-11-06 20:05:13 +00:00
Andreas Gustafsson d2a23df349 clear errno before calling strtol() 2001-11-06 19:59:38 +00:00
Brian Wellington 78baa4ccb8 some files weren't being removed. 2001-11-06 19:32:54 +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
Brian Wellington 2f93757751 Rework the "no crypto support" test. Rather than explicitly checking whether
built without openssl, instead return NOCRYPTO if the algorithm is not
supported but known.
2001-11-06 18:08:07 +00:00
Brian Wellington 3bc4de1f1b memory leaks on errors 2001-11-06 17:59:50 +00:00
Brian Wellington 62c1fe7b45 1106. [bug] After seeing an out of range TTL, nsupdate would
treat all TTLs as out of range. [RT #2001]
2001-11-06 17:46:35 +00:00
Brian Wellington 7b5bf4bea4 a key could be freed twice in an unlikely error case. 2001-11-06 03:02:48 +00:00
Mark Andrews 712bf9b0cc 1105. [port] OpenUNIX 8 enable threads by default. [RT #1970] 2001-11-06 02:45:46 +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 20d0c8c5bb regenerated 2001-11-05 22:24:39 +00:00
Andreas Gustafsson 06278dd28a grammar summary output for named maps was missing the name field 2001-11-05 22:24:31 +00:00
Andreas Gustafsson bcf3845c01 include 1103-1104 in rc9 2001-11-05 22:00:48 +00:00
Mark Andrews 52c5fd5684 add draft-schlyter-pkix-dns-00.txt 2001-11-05 21:45:00 +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
Mark Andrews 497514c667 New rev of draft-ietf-dnsext-dnssec-opt-in 2001-11-05 21:42:40 +00:00
Andreas Gustafsson ca08f931b9 regenerated 2001-11-05 21:36:27 +00:00
Andreas Gustafsson 569b52d136 don't try to insert the nonexistent file lib/bind/COPYRIGHT into configure.in 2001-11-05 21:34: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 ff303bcf27 Begin comments with capital letter; misc other
comment cleanup
2001-11-05 20:02:41 +00:00
Andreas Gustafsson 67145f44e5 don't say "'foo' unexpected near 'foo'" - once is enough 2001-11-05 18:21:22 +00:00
Andreas Gustafsson 7e2f4ceafa 1104. [bug] Invalid arguments to the transfer-format option
could cause an assertion failure. [RT #1995]
2001-11-05 18:19:46 +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
Mark Andrews 72499be79f 1103. [port] OpenUNIX 8 support (ifconfig.sh). [RT #1970] 2001-11-05 04:19:56 +00:00
Andreas Gustafsson 29406d7aa3 Clarify that the latest FAQ is specifically about zone transfers involving multiple views 2001-11-05 01:12:01 +00:00
Mark Andrews 22dd55305b add blank line 2001-11-04 23:01:25 +00:00
Mark Andrews 474acc7dd9 Q: When using views I get the wrong version of the zone. 2001-11-04 22:56:24 +00:00
Andreas Gustafsson c5f432d9c2 pullup:
typo in debug message [RT #1989]
2001-11-04 19:21:50 +00:00
Andreas Gustafsson 0902c53969 typo in debug message [RT #1989] 2001-11-04 19:20:39 +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 c8d9ff1fe8 spelling 2001-11-03 00:17:03 +00:00
Mark Andrews 50c7ddaa5e pullup from BIND 8.3:
1284.   [bug]           struct __res_state was still broken after #1265.
2001-11-02 23:23:34 +00:00
Andreas Gustafsson adcfb59d04 regenerated 2001-11-02 22:54:18 +00:00
Andreas Gustafsson 7c6f960a20 remove empty line 2001-11-02 22:31:38 +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
Danny Mayer 93c498f0c6 ntfile.c now unnecessary as the iob array is now properly referenced 2001-11-02 05:22:05 +00:00
Danny Mayer e5cba9f559 Win32 I/O - remove ntfile routines and _iob from .def files. Standard calls now work 2001-11-02 05:02:15 +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 4e99bcb060 regenerated 2001-11-02 02:06:47 +00:00
Mark Andrews 90c5477ca1 1102. [doc] Note that query logging is enabled by directing the
queries category to a channel.
2001-11-02 01:45:19 +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 552a117791 1101. [bug] Array bounds read error in lwres_gai_strerror. 2001-11-02 00:48:06 +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 785d1541b6 yet another in6addr_loopback change 2001-11-01 23:20:21 +00:00
Andreas Gustafsson 63bdedb251 regenerated 2001-11-01 23:01:22 +00:00
Andreas Gustafsson 2f330bed30 one more in6addr_loopback change 2001-11-01 23:00:44 +00:00
Andreas Gustafsson 8342523519 regenerated 2001-11-01 22:49:16 +00:00
Andreas Gustafsson 9f6c66e1b3 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-01 22:39:30 +00:00
Andreas Gustafsson 50d93bb5f8 pullup:
1084.   [cleanup]       libbind: gai_strerror() rewritten.
2001-11-01 19:00:47 +00:00
Andreas Gustafsson 64e9b7eafb spelling 2001-11-01 17:10:19 +00:00
Mark Andrews 9d34aaa2bd silence compiler the same way 2001-11-01 07:15:28 +00:00
Mark Andrews f3e4c3d6c5 1100. [bug] libbind: DNSSEC key ids were computed incorrectly. 2001-11-01 06:51:25 +00:00
Mark Andrews 6fb633bc3f 1099. [cleanup] libbind: defining REPORT_ERRORS in lib/bind/dst caused
compile time errors.
2001-11-01 06:24:39 +00:00
Mark Andrews ca033e166c 1098. [bug] libbind: HMAC-MD5 key files are now mode 0600. 2001-11-01 06:11:43 +00:00
Mark Andrews ca6cee1837 gettimeofday.h is no longer require (prototype in port_after.h). 2001-11-01 05:50:19 +00:00
Mark Andrews c82af3a7f1 1094. [func] libbind: add support gcc's format string checking. 2001-11-01 05:15:27 +00:00
Mark Andrews e82a62f172 spelling and order 2001-11-01 05:09:41 +00:00
Mark Andrews f9321a16fb 1096. [func] libbind: RES_PRF_TRUNC for dig. 2001-11-01 05:07:54 +00:00
Mark Andrews c8bedec446 1096. [func] libbind: "DNSSEC OK" (DO) support. 2001-11-01 04:59:18 +00:00
Mark Andrews 7a104af70f 1095. [func] libbind: resolver option: no-tld-query. disables
trying unqualified as a tld.  no_tld_query is also
                        supported for FreeBSD compatability.
2001-11-01 04:51:00 +00:00
Mark Andrews 923de3bb9c 1094. [func] libbind: add support gcc's format string checking. 2001-11-01 04:21:15 +00:00
Mark Andrews 2359261a25 1093. [doc] libbind: miscellaneous nroff fixes. 2001-11-01 04:06:38 +00:00
Mark Andrews 769cd7d5dd 1092. [bug] libbind: get*by*() failed to check if res_init() had
been called.
2001-11-01 04:03:40 +00:00
Mark Andrews 6bad645917 1091. [bug] libbind: misplaced va_end(). 2001-11-01 04:00:57 +00:00
Mark Andrews 11931cc68d 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-01 03:55:57 +00:00
Mark Andrews d91d025def 1089. [func] libbind: inet_{cidr,net}_{pton,ntop}() now have IPv6
support.
2001-11-01 03:52:16 +00:00
Mark Andrews 985b4f1c86 1088. [port] libbind: MPE/iX C.70 (incomplete) 2001-11-01 03:49:00 +00:00
Mark Andrews 1d556695ef 1087. [bug] libbind: struct __res_state to large on 64 bit arch. 2001-11-01 03:37:18 +00:00
Mark Andrews e9ca87459a 1086. [port] libbind: sunos: old sprintf. 2001-11-01 00:57:49 +00:00
Mark Andrews 4b711da3c2 regen 2001-11-01 00:49:46 +00:00
Mark Andrews ca690f9802 1085. [port] libbind: solaris: sys_nerr and sys_errlist do not
exist when compiling in 64 bit mode.
2001-11-01 00:48:05 +00:00
Mark Andrews 137a1f98e3 1084. [cleanup] libbind: gai_strerror() re-written. 2001-11-01 00:30:41 +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 43c69727ea 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.
[RT #1940]
2001-10-31 21:55:31 +00:00
Andreas Gustafsson 589dce8281 spacing 2001-10-31 20:39:39 +00:00
Andreas Gustafsson 5f4804c7e4 reference RT #1975 2001-10-31 19:45:47 +00:00
Andreas Gustafsson 5cd7e9d4db 1083. [bug] The default control channel listened on the
wildcard adress, not the loopback as documented.
2001-10-31 19:35:19 +00:00
Andreas Gustafsson 1418d7292d reference RT #1974 2001-10-31 17:57:14 +00:00
Andreas Gustafsson cc8e8b59d6 1082. [bug] The -g option to named incorrectly caused logging
to be sent to syslog in addition to stderr.
2001-10-31 17:42:04 +00:00
Brian Wellington 3b0c7a322a update to -03 2001-10-31 02:19:40 +00:00
Andreas Gustafsson 65775fe205 1081. [bug] Multicast queries were incorrectly identified
based on the source address, not the destination
                        address.
(from JINMEI Tatuya)
2001-10-31 01:24:58 +00:00
Andreas Gustafsson 30e3e23338 replaced the name RLIMIT_NOFILE by WIN32_MAX_OPEN_FILES, since
it was used for something completely unrelated to the Unix meaning of
RLIMIT_NOFILE
2001-10-31 00:32:42 +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 17b687ef36 1080. [bug] BIND 8 compatibility: accept bare IP prefixes
as the second element of a two-element top level
                        sort list statement. [RT #1964]
2001-10-30 20:19:34 +00:00
Andreas Gustafsson cd60cef97d rewrote parts of 1079. to reduce code duplication and to support
a bare 'localhost' or 'localnets' at the top level of the sortlist
2001-10-30 19:45: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
Mark Andrews 998358fa90 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]
2001-10-30 06:41:58 +00:00
Mark Andrews bc508906db 1078. [bug] We failed to correct bad tv_usec values in one case.
[RT #1966]
2001-10-30 02:39:33 +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 fde3820de9 AXFRs were misidentified as AXFR-style IXFRs in log messages 2001-10-30 00:55:25 +00:00
Andreas Gustafsson f33fe250cf running out of memory during ns_client_t construction could crash server [RT #409] 2001-10-30 00:48:25 +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
Andreas Gustafsson e8108e60c9 removed empty line 2001-10-29 19:30:11 +00:00
Andreas Gustafsson 479c6fc458 disable change 1069 since it makes the problem of caching server
memory growth worse rather than better, at least under some load conditions
2001-10-29 19:10:42 +00:00
Andreas Gustafsson 8cb2bd68c9 reverted part of previous commit affecting entry 1069; that was supposed to be a separate commit 2001-10-29 19:09:55 +00:00
Andreas Gustafsson b352902413 1077. [func] Do not accept further recursive clients when
the total number of of recursive lookups being
                        processed exceeds max-recursive-clients, even
                        if some of the lookups are internally generated.
                        [RT #1915, #1938]
2001-10-29 19:02:48 +00:00
Andreas Gustafsson 7736b3327e edited 2001-10-29 18:40:12 +00:00
Andreas Gustafsson a680e06bac fixed line break 2001-10-29 18:36:05 +00:00
Mark Andrews 72e8c079c4 1076. [bug] A badly defined global key could trigger an assertion
on load/reload if views were used. [RT #1947]
2001-10-29 06:09:05 +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 7923de0ddd consistently begin debug log messages with a lower case letter 2001-10-27 00:32:31 +00:00
Andreas Gustafsson d3f58baf38 log a debug log message when reaching a memory water mark 2001-10-27 00:29:35 +00:00
Andreas Gustafsson 6b07de6abf document the rdatasetheader next and down pointers 2001-10-27 00:27:54 +00:00
Andreas Gustafsson f2b515e117 more compiler warning elimination 2001-10-26 23:18:51 +00:00
Andreas Gustafsson 9615df2e83 eliminate compiler warning 2001-10-26 23:04:17 +00:00
Andreas Gustafsson 4785e8e98a clarify log message reporting number of CPUs [RT #1948] 2001-10-26 22:54:22 +00:00
Brian Wellington 5fc04b8135 add an assertion check (which will never be triggered) 2001-10-26 21:08:03 +00:00
Andreas Gustafsson c8ab83c08e 1075. [bug] Out-of-range network prefix lengths were not
reported. [RT #1954]
2001-10-26 19:35:03 +00:00
Mark Andrews 469a5f80ae Add reference to http://www.isc.org/ml-archives/ 2001-10-26 05:14:49 +00:00
Danny Mayer 7e7bede4bd Fix indentation 2001-10-26 02:29:43 +00:00
Danny Mayer 339335189b Added support for max open files for Win32 2001-10-26 01:25:29 +00:00
Andreas Gustafsson 4e57d3ff7d 1074. [bug] Running out of memory in dump_rdataset() could
cause an assertion failure. [RT #1946]
2001-10-25 23:18:05 +00:00
Brian Wellington 06289aeea8 comment fix 2001-10-25 21:39:48 +00:00
Andreas Gustafsson 66bea4d912 if() condition in check_expire_entry did not have
the effect I think was intended due to operator precedence: || binds tighter than ?:.
Rewrote it without :?.
2001-10-25 17:47:16 +00:00
Brian Wellington 6a4c22bc4d style 2001-10-25 17:07:21 +00:00
Mark Andrews 081cff0c33 1073. [bug] The adb cache should also be space driven,
max-adb-size.  [RT #1915, #1938]
2001-10-25 04:57:46 +00:00
Andreas Gustafsson 2562a84dc5 make error message issued when exceeding the recursive client
quota more meaningful to users
2001-10-25 01:50:15 +00:00
Mark Andrews ee3085e9e2 Add '-m usage'.
Add '-m' to usage messages.
2001-10-25 01:07:45 +00:00
Andreas Gustafsson d352f188cb 1072. [bug] The TCP client quota could be exceeded when
recursion occurred. [RT #1937]
2001-10-25 00:13:37 +00:00
Andreas Gustafsson 3d38596530 1071. [bug] Sockets listening for TCP DNS connections
specified an excessive listen backlog. [RT #1937]
2001-10-25 00:12:07 +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 75063dd6d2 note that the localhost and localnets ACLs do not currently support IPv6 2001-10-24 23:00:22 +00:00
Mark Andrews c6eac4f169 Replace draft-ietf-dnsext-dnssec-okbit-02.txt 2001-10-24 22:01:26 +00:00
Mark Andrews a7cb695600 1070. [bug] Copy DNSSEC OK (DO) to response as specified by
draft-ietf-dnsext-dnssec-okbit-03.txt.
2001-10-24 21:47:12 +00:00
Andreas Gustafsson 5b4f07a4f3 redid 1.204 using a subroutine to reduce code duplication and
to eliminate a rather confusing for loop
2001-10-24 18:55:04 +00:00
Mark Andrews b19619260f 1069. [func] Kill oldest recursive query when recursive query
quota is exhausted.
2001-10-24 03:10:18 +00:00
Andreas Gustafsson 897f762e3c Fixed a race condition in the new request retransmission code:
if a machine is slow or busy enough, the retransmission timer could theoretically fire
again before the first transmission has finished.  This could cause us to lose track
of whether a send is in progress or not, since that information is stored in a boolean
flag (DNS_REQUEST_F_SENDING), not a counter
2001-10-23 23:10:14 +00:00
Andreas Gustafsson 1a32d316dd add a version.h for liblwres, too 2001-10-23 18:45:53 +00:00
Andreas Gustafsson 7f800a6b10 edited 2001-10-23 18:44:09 +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 5d4bffa427 cancelled fetches wern't being detected. 2001-10-23 06:04:37 +00:00
Mark Andrews f0a464d58a memory leak on error. 2001-10-23 06:01:14 +00:00
Mark Andrews 3a0f5543c9 pullup:
some variables that should have been static weren't
2001-10-23 02:42:00 +00:00
Andreas Gustafsson 1ae369c9d2 some variables that should have been static weren't 2001-10-23 01:49:35 +00:00
Mark Andrews 8153dde6c8 pullup:
eliminated race condition in water() [RT #1932]
2001-10-23 01:31:08 +00:00
Mark Andrews 3476dfe9d7 mutex leak 2001-10-23 01:21:44 +00:00
Andreas Gustafsson ce3c351d81 eliminated race condition in water() [RT #1932] 2001-10-23 00:56:33 +00:00
Andreas Gustafsson fa52840ac8 pullup: silence compiler warning 2001-10-22 23:52:19 +00:00
Brian Wellington e7468041e7 silence compiler warning 2001-10-22 23:50:31 +00:00
Brian Wellington b9043a19e2 missing ISC_TF 2001-10-22 23:49:13 +00:00
Andreas Gustafsson ae0cb2960d edited 2001-10-22 23:48:38 +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 b13fa0acde edited 2001-10-22 23:03:43 +00:00
Andreas Gustafsson 2a590fe988 created 2001-10-22 23:00:21 +00:00
Andreas Gustafsson fd837244be regenerated; among other things, this removes #undef NET_IF6_H and adds
#undef HAVE_NET_IF6_H
2001-10-22 22:53:52 +00:00
Andreas Gustafsson 5dcfb7ce2e added definitions that had incorrectly been added directly to config.h.in 2001-10-22 22:52:16 +00:00
Andreas Gustafsson 9bbc786bf0 regenerated 2001-10-22 22:35:58 +00:00
Andreas Gustafsson c4157085cd Removed AC_DEFINE(HAVE_RRSETINFO) correctly 2001-10-22 22:34:56 +00:00
Andreas Gustafsson d904d3c59a Removed AC_DEFINE(HAVE_RRSETINFO) since it HAVE_RRSETINFO was neither used nor
present in config.h.in
2001-10-22 22:33:25 +00:00
Andreas Gustafsson 40a31ba506 strerror.c did not compile if HAVE_STRERROR was not defined 2001-10-22 22:17:30 +00:00
Andreas Gustafsson 8bdf7f2972 stdtime.@O@ was listed twice in OBJS 2001-10-22 21:37:28 +00:00
Andreas Gustafsson 1500a4fe5d 1068. [bug] errno could be overwritten by catgets(). [RT #1921]
(fixed as a side effect of change 1066.)
2001-10-22 21:16:01 +00:00
Andreas Gustafsson a9bc22bf37 if() statement needs braces after isc__strerror() call added 2001-10-22 20:57:41 +00:00
Andreas Gustafsson 3931325c6d spacing 2001-10-22 18:18:34 +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 d1029cbcf0 reference RT #1919 2001-10-22 17:40:41 +00:00
Andreas Gustafsson f04c15adc7 rephrased 1064. 2001-10-22 17:38:52 +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
Andreas Gustafsson 53c07ca216 rephrased 1063. 2001-10-22 16:58:46 +00:00
Mark Andrews 1255d388f0 1067. [func] Allow quotas to be soft, isc_quota_soft(). 2001-10-22 07:09:25 +00:00
Mark Andrews c615c2ddce 1066. [bug] Provide a thread safe wrapper for strerror().
[RT #1689]
2001-10-22 04:34:04 +00:00
Mark Andrews 8a02be5fc2 regen 2001-10-22 04:02:12 +00:00
Mark Andrews 31d3464c0c 1065. [func] Runtime support to select new / old style interface
scanning using ioctls.
2001-10-22 04:01:32 +00:00
Mark Andrews 2f6d1483f6 1064. [bug] Do not shutdown active interfaces if we are unable
to scan the list of interfaces.  [RT #1921]
2001-10-22 03:31:24 +00:00
Mark Andrews ea7b38cd1e 1063. [bug] libbind: irix "make install" was failing. 2001-10-22 00:40:47 +00:00
Mark Andrews 31e12a627d add 2001-10-22 00:32:56 +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
Andreas Gustafsson 32d248107a 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 21:00:12 +00:00
Andreas Gustafsson 3b19037ccd removed unnecessary includes 2001-10-19 19:05:42 +00:00
Andreas Gustafsson 97bb372529 regenerated 2001-10-19 18:08:58 +00:00
Andreas Gustafsson e94a3385d6 added missing dependency 2001-10-19 18:08:51 +00:00
Andreas Gustafsson b8685833f1 expand the qstringornone type in the grammar summary 2001-10-19 18:08:27 +00:00
Andreas Gustafsson 0e27dac042 spacing 2001-10-19 01:29:41 +00:00
Andreas Gustafsson 059a29a179 when using the system malloc, isc__mempool_get(), isc__mempool_put(),
and isc_mempool_destroy() failed to update memory statistics. [RT #1915]
2001-10-19 01:29:09 +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
Andreas Gustafsson eb7f938194 style 2001-10-19 00:38:18 +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
Andreas Gustafsson dfafc36515 style 2001-10-19 00:17:17 +00:00
Brian Wellington 05a1fd6093 more minor cleanup 2001-10-18 22:36:52 +00:00
Andreas Gustafsson 4574714ad4 1058. [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]
(fixed by cache.c 1.40)
2001-10-18 21:24:16 +00:00
Mark Andrews 8d8c145175 improve description
1060.   [func]          Move refresh, stub and notify UDP retry processing
                        into dns_request.
2001-10-18 06:21:25 +00:00
Mark Andrews 07eaf0b8d0 1060. [func] Move UDP retry processing into dns_request. 2001-10-18 06:12:04 +00:00
Mark Andrews cf70df7d0e 1059. [func] dns_request now support will now retry UDP queries,
dns_request_createvia2() and dns_request_createraw2().
2001-10-18 06:09:39 +00:00
Mark Andrews 9234d92d4e 1058. [func] Limited lifetime ticker timers are now available,
isc_timertype_limited.
2001-10-18 06:06:13 +00:00
Andreas Gustafsson 86a292d459 added more logging to help track down RT #1912 if not fixed by previous commit 2001-10-18 01:48:35 +00:00
Andreas Gustafsson 937ccb270e The call to incremental_cleaning_action() added to cleaning_timer_action()
in revision 1.40 is clearly incorrect.  If the cleaner is already in the busy state, a call to
incremental_cleaning_action() has already been scheduled as an event, and there is no
need to do an extra call.  Furthermore, the call passed the timer event as an argument
to incremental_cleaning_action(), which would ultimately cause it to be passed
to end_cleanin() and assigned to cleaner->resched_event rather than freed.
This commit may or may not fix RT #1912.
2001-10-18 01:40:56 +00:00
Mark Andrews 7d5b9de6c7 Allow a third file to be specified containing changes that are known not
to apply to the release being checked so that they are not reported as
not having been pulled up.
2001-10-18 00:44:32 +00:00
Brian Wellington f6132a5038 minor code restructure 2001-10-18 00:40:50 +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 5a23b8523d spelling 2001-10-17 19:34:07 +00:00
Andreas Gustafsson 0cf9ce19cc 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-17 18:57:01 +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 42f61e5c46 1056., not 16. 2001-10-17 18:25:18 +00:00
Mark Andrews 2ba574f329 1056. [bug] Rndc could catch an assertion failure on SIGINT due
to an uninitialized variable. [RT #1908]
2001-10-17 03:59:44 +00:00
Andreas Gustafsson dcfc52bbba Added a version.h file for each library; made version
variables const
2001-10-16 23:21:07 +00:00
Andreas Gustafsson 4c706de3c7 regenerated 2001-10-16 22:28:31 +00:00
Andreas Gustafsson 3c3fe07225 1055. [func] Version and hostname queries can now be disabled
using "version none;" and "hostname none;",
                        respectively.
(for consistency with "pid-file none" and each other)
2001-10-16 22:18:59 +00:00
Andreas Gustafsson 248732d66f The option for disabling the PID file is now pid-file none, not pid-file "none" 2001-10-16 21:58:05 +00:00
Andreas Gustafsson 31f15d225d edited 2001-10-16 21:56:31 +00:00
Andreas Gustafsson 8d2b885018 The option for disabling the PID file is now pid-file none, not pid-file "none" 2001-10-16 20:04:41 +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
Andreas Gustafsson 64ea5fd972 consistently refer to Windows NT / 2000 systems as Win32 2001-10-16 18:53:51 +00:00
Mark Andrews 35ef866dcc Q: I can query the nameserver from the nameserver but not from other
machines.  Why?
2001-10-16 13:46:41 +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
Mark Andrews 05a4a299b5 1054. [bug] winnt: cfg_categories and cfg_modules need to be
visible outside of the libisccfg DLL.
2001-10-16 05:52:20 +00:00
Mark Andrews c8b58baa78 Change #1042 was incomplete. cfg_categories and cfg_modules need to be
visible outside of the DLL.
2001-10-16 05:28:14 +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 d510e8695e regenerated 2001-10-15 21:58:27 +00:00
Andreas Gustafsson c33679b400 edited 2001-10-15 21:56:04 +00:00
Andreas Gustafsson 3ad07fa335 1053. [bug] Dig did not increase its timeout when receiving
AXFRs unless the +time option was used. [RT #1904]
2001-10-15 20:40:36 +00:00
Andreas Gustafsson 6812f56fa2 pullup:
mention [filename] in the help.
2001-10-15 20:25:57 +00:00
Brian Wellington 0ebade1fcd mention [filename] in the help. 2001-10-15 20:23:47 +00:00
Andreas Gustafsson f3c187e0c7 pullup: check-zone -> named-checkzone (from Jinmei) 2001-10-15 18:21:25 +00:00
Andreas Gustafsson 559eecb115 check-zone -> named-checkzone (from Jinmei) 2001-10-15 18:20:22 +00:00
Andreas Gustafsson fe6a60a7c3 consistent spacing 2001-10-15 17:10:14 +00:00
Andreas Gustafsson 5419c0c2d0 consistent spacing 2001-10-15 17:09:11 +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 1094dec52a 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:47:55 +00:00
Bob Halley 392b3526d8 The server was segfaulting comparing NULL pidfile to "none". The correct
comparison is filename, not pidfile.
2001-10-13 20:13:53 +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 b38ab99bdc patch from Danny:
Fixed formattimestamp to use locale specific dates and times, the same way
as Unix format
2001-10-13 01:57:37 +00:00
Andreas Gustafsson 6e93e6ea45 if the sdb lookup function fails at the zone origin for reasons other
than nonexistence of the domain name, the failure should be propagated
to the caller
2001-10-13 01:37:58 +00:00
Andreas Gustafsson 01818a424a document return value of the sdb lookup function 2001-10-13 01:32:34 +00:00
Andreas Gustafsson 79432444e8 RFC1123 says ignore the RD bit in multicast requests, not
FORMERR multicast requests with RD set
2001-10-13 01:10:26 +00:00
Andreas Gustafsson 0bd2ea544e clarify 1035. 2001-10-13 00:45:47 +00:00
Andreas Gustafsson afe5729a33 in revision 1.182, presumably a & was intended where a |= was written 2001-10-13 00:44:24 +00:00
Andreas Gustafsson 2975d0f819 Clarified 1036, eliminting a typo in the process 2001-10-13 00:40:26 +00:00
Andreas Gustafsson a7e1dcd84a elaborated on 1037. 2001-10-13 00:23:56 +00:00
Andreas Gustafsson fc9acafe15 spacing 2001-10-12 23:54:03 +00:00
Andreas Gustafsson e31320a1d0 updated for 9.2.0rc7 2001-10-12 23:34:24 +00:00
Andreas Gustafsson fa2fb620c7 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-12 23:05:58 +00:00
Andreas Gustafsson 62a3dbe63e 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-12 22:00:31 +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 3c17010ba5 rephrased 1033. 2001-10-12 19:12:52 +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
Andreas Gustafsson cf638fc378 spacing 2001-10-12 17:49:00 +00:00
Andreas Gustafsson 9df7cf8ea3 rephrased 1039. 2001-10-12 17:46:46 +00:00
Mark Andrews 9bdb01e6c3 1049. [func] pid-file "none"; will disable writing a pid file.
[RT #1848]
2001-10-12 05:40:41 +00:00
Mark Andrews ff52c72095 restore comment 2001-10-12 04:01:40 +00:00
Mark Andrews 417872b98a re-do #1047
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 03:58:04 +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 e69b9ffb0f 1048. [bug] Servers built with -DISC_MEM_USE_INTERNAL_MALLOC=1
didn't work.
2001-10-12 00:35:11 +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 d25365515e consistently begin error messages with a lower case letter 2001-10-11 22:53:46 +00:00
Andreas Gustafsson a77ad145d0 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-11 22:45:20 +00:00
Brian Wellington ce1d4c7aeb Print an error when creating a zone key with an algorithm that is not
allowed for a zone key.
2001-10-11 22:19:15 +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 8ba4e82f53 rephrased 1046. 2001-10-11 17:44:51 +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
Andreas Gustafsson 3c9b2e6250 a error -> an error 2001-10-11 17:11:23 +00:00
Mark Andrews 8b57e8fcf6 regen 2001-10-11 13:36:43 +00:00
Mark Andrews 61d5bfc06b 1046. [bug] Adjust --with-openssl help message. [RT #1880] 2001-10-11 10:07:15 +00:00
Mark Andrews ada9b8ab20 1045. [bug] It was possible to skip saving glue for a nameserver
for a stub zone.
2001-10-11 06:12:42 +00:00
Mark Andrews e17f6f7ab6 spelling 2001-10-11 04:59:07 +00:00
Mark Andrews 3a92768cad 1044. [buf] Specifying allow-transfer, notify-source or
notify-source-v6 in a stub zone was not treated as
                        a error.
2001-10-11 04:52:21 +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
Andreas Gustafsson bb60abb445 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 01:55:03 +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 024face21c 1042. [bug] The "config" logging category did not work properly.
[RT #1873]
2001-10-11 01:16:18 +00:00
Andreas Gustafsson 78d811f8fb spacing 2001-10-11 01:07:50 +00:00
Andreas Gustafsson 1beaa9e457 1041. [bug] Dig/host/nslookup could catch an assertion failure
on SIGINT due to an uninitialized variable. [RT #1867]
2001-10-11 00:38:56 +00:00
Andreas Gustafsson f953788d75 1040. [bug] Multiple listen-on-v6 options with different ports
were not accepted. [RT #1875]
2001-10-11 00:02:34 +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 e3af4e83dd Q: Why don't my zones reload when I do an "rndc reload" or SIGHUP? 2001-10-10 23:25:40 +00:00
Andreas Gustafsson 247b6de61b Some comments referred to DNS_R_NOTVERIFIEDYET as
DNS_R_SIGNOTVERIFIEDYET
2001-10-10 21:39:16 +00:00
Mark Andrews 13f2c161db 1039. [bug] We cached an incorrect negative response if there were
CNAMES in the answer section.  [RT#1862]
2001-10-10 04:11:32 +00:00
Andreas Gustafsson 55ab8cebff qualify 1038. 2001-10-09 23:08:30 +00:00
Andreas Gustafsson 4fa5d53e75 qualify 1038. 2001-10-09 23:08:11 +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 fbdde79262 1038. [bug] TKEY queries with an owner name other than the root
could cause an assertion failure. [RT #1866, #1869]
2001-10-09 23:04:01 +00:00
Andreas Gustafsson 1c31f17f89 added regression test for RT #1866, #1869 2001-10-09 22:58:24 +00:00
Andreas Gustafsson 06365907a0 don't assume perl is in the path 2001-10-09 22:31:39 +00:00
Andreas Gustafsson 094d1d9a27 the tkey test would randomly fail due to key IDs with a leading
zero being interpreted as octal numbers
2001-10-09 22:24:24 +00:00
Brian Wellington 173a45b43c fix assertion in tkey code [RT #1866] 2001-10-09 17:26:33 +00:00
Mark Andrews 3fc4c1434d 1037. [bug] We failed to reject some self inconsistant answers.
[RT #1862]
2001-10-09 08:03:32 +00:00
Mark Andrews 0aba41458d 1036. [func] Temporally drop requests received via multicast. 2001-10-09 04:29:19 +00:00
Mark Andrews 5f7516bee5 1035. [bug] Respond to multicast queries from a unicast address,
RFC 1123. [RT #137]
2001-10-09 02:39:03 +00:00
Mark Andrews 2e24e82fc3 1034. [bug] Multicast queries must not have RD set, RFC 1123.
FORMERR those that do.  [RT #137]
2001-10-09 02:30:20 +00:00
Mark Andrews d5169236b7 1033. [bug] Don't imply that we support a opcode that we don't
when we don't have a matching view or cannot
                        determine the class.
2001-10-09 02:05:55 +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 6c6ceac1bc reverted incorrect commit 2001-10-08 18:58:11 +00:00
Andreas Gustafsson c7302ffd98 pullup:
1031.   [bug]           libbind.a: isc__gettimeofday() infinite recursion.
                        [RT #1858]
2001-10-08 18:10:57 +00:00
Mark Andrews df7596a03e 1032. [func] hostname.bind/txt/chaos now returns the name of
the machine hosting the nameserver.  This is useful
                        in diagnosing problems with anycast servers.
2001-10-08 07:46:11 +00:00
Danny Mayer f3fcde886c Fixed formattimestamp to use locale specific dates and times, the same way as Unix format 2001-10-08 01:20:08 +00:00
Mark Andrews f08782f092 1031. [bug] libbind.a: isc__gettimeofday() infinite recursion.
[RT #1858]
2001-10-08 00:33:45 +00:00
Danny Mayer 4186249fea Eliminate unnecessary macro and increase buffer length MAX_NAME_LENGTH 2001-10-06 01:10:06 +00:00
Andreas Gustafsson 1d19dc5411 added --- 9.2.0rc6 released --- marker 2001-10-05 23:04:04 +00:00
Danny Mayer 5ea492b94d Restore Andrea's changes along with the updates 2001-10-05 22:25:54 +00:00
Bob Halley 8db00cd940 add 2001-10-05 20:57:24 +00:00
Andreas Gustafsson fdef562ba7 Upgraded to newest config.guess and config.sub from
ftp://ftp.gnu.org/pub/gnu/config/, with no local modifications.  The "Mac OS" pattern
appears to be unnecessary based on the latest discussion on RT #1355.
2001-10-05 18:25:27 +00:00
Andreas Gustafsson 4cef36044c style 2001-10-05 17:08:09 +00:00
Danny Mayer 49d23a92a9 Check for malloc out-of-memory conditions, changed return codes to provide more meaningful error codes. Minor cleanup 2001-10-05 05:51:50 +00:00
Danny Mayer 290e1b94e4 Code cleanup. Checks now for out-of-memory errors on mallocs, and privides additional error information on failure. Fixed missing Done message in GUI 2001-10-05 05:45:52 +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 94ce9c52fb Improve error messages printed by dnssec tools when compiled
without crypto support (patch from Olafur)
2001-10-04 23:48:16 +00:00
Andreas Gustafsson ed2cefaf0e 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-04 23:29:41 +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 edf97be2b5 rephrased 1028. to describe the bug from the perspective of
the user rather than the code
2001-10-04 21:55:09 +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 b923e27853 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:19:50 +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
Brian Wellington 61e30d3194 the wrong result code was checked [RT #1847] 2001-10-04 18:22:57 +00:00
Bob Halley 678be98a63 ok, the prototypes really *do* agree totally now! 2001-10-04 07:02:28 +00:00
Bob Halley f216f79834 make prototype of get_reverse() match the code 2001-10-04 06:56:37 +00:00
Bob Halley 1e219db778 Undo version 1.8, which hardwired *all* systems to be OpenUNIX. 2001-10-04 06:37:04 +00:00
Danny Mayer 840c7a02b3 Change RESOLVCONF to be RESOLV.CONF so that Win32 correctly finds the location [RT #1833] 2001-10-04 03:24:40 +00:00
Danny Mayer cddaf5def3 Change macro RESOLVCONF to RESOLV_CONF. This allows Win32 to pick up the real location of resolv.conf through ntpaths.c. Otherwise location defaults to Unix location [RT #1833] 2001-10-04 03:20:23 +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 9e46f410e7 1027. [bug] RRs having the reserved type 0 should be rejected.
[RT #1471]
2001-10-03 22:47:16 +00:00
Andreas Gustafsson c6e0cb8fa6 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:34:54 +00:00
Andreas Gustafsson 769ef0b7bd 1026. [placeholder] 2001-10-03 22:33:01 +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 3dff229f5d clarified 1022. 2001-10-03 22:25:08 +00:00
Andreas Gustafsson 3d34454472 clarified 1024. 2001-10-03 20:20:41 +00:00
Andreas Gustafsson de32eba8a8 unverified report of success on OpenBSD 2.9 2001-10-03 17:27:01 +00:00
Andreas Gustafsson dd95699054 unverified report of success on OpenBSD 2.9 2001-10-03 17:26:45 +00:00
Mark Andrews b09f4e054c 1025. [bug] Don't use multicast addresses to resolve iterative
queries.  [RT #101]
2001-10-03 07:43:03 +00:00
Mark Andrews 2ee55879d1 Add rt #1831 2001-10-03 05:09:52 +00:00
Mark Andrews 66065f71b3 regen 2001-10-03 05:08:54 +00:00
Mark Andrews 40dd9cb8cc 1024. [port] HP and Sun decided to use the same macros and
structures for different things.
2001-10-03 05:08:32 +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 6bebabb376 Also disallow creation of TYPE0 records from wire data 2001-10-03 00:51:38 +00:00
Andreas Gustafsson de5247ae16 Disallow creation of TYPE0 records from master files, since the server reserves type 0 for
internal purposes related to negative caching
2001-10-02 23:33:04 +00:00
Andreas Gustafsson b1dfd324cf removed completed items 2001-10-02 22:55:22 +00:00
Andreas Gustafsson ff9cad0802 removed trailing space from usage message 2001-10-02 22:54:26 +00:00
Andreas Gustafsson 6a252184e2 80 columns 2001-10-02 22:53:35 +00:00
Andreas Gustafsson 5ab25a0ab8 listing the zone-statistics option as a view option without listing
any other options of a similar nature is inconsistent and confusing
2001-10-02 20:43:33 +00:00
Andreas Gustafsson dece3a1f7c regenerated 2001-10-02 17:24:10 +00:00
Andreas Gustafsson 9c9cf3a8d0 the config.guess token for BSDI 4.x is "i386-pc-bsdi4.x",
not "i386-pc-bsdi4x"
2001-10-02 17:23:52 +00:00
Andreas Gustafsson 08bed4d70a Reverted accidental bulk commit with log message of "%" 2001-10-02 17:20:46 +00:00
Mark Andrews c54091c8ed IPv6 addresses containing mapped IPv4 addresses generate the same hash
value as the equivalent IPv4 address.  This is now true regardless of
the value of address_only.  Document.
2001-10-02 06:06:15 +00:00
Andreas Gustafsson e1fdebdcc8 % 2001-10-02 01:09:08 +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 8682b8f7f7 added BSD/OS 4.2 to list of unverified reports of success (from Jim) 2001-10-01 23:21:06 +00:00
Andreas Gustafsson 064fadaa40 pullup:
added bind9->win2k zone transfer failure FAQ
2001-10-01 22:00:50 +00:00
Andreas Gustafsson a255936e1e give example of domain name with special characters
that win2k doesn't like
2001-10-01 21:58:03 +00:00
Andreas Gustafsson 1b8eaf4143 style 2001-10-01 20:58:51 +00:00
Andreas Gustafsson 24dd4582a2 install check.h in include/bind9, not include/isccfg 2001-10-01 20:53:48 +00:00
Andreas Gustafsson d9edf3ad42 Removed the sanitation stuff, thereby speeding up building
of release kits several times
2001-10-01 20:41:28 +00:00
Andreas Gustafsson 9066d09c3e 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-10-01 18:54:05 +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 792de65053 clarified 1021. 2001-10-01 01:40:17 +00:00
Mark Andrews 96ea98af24 1023. [func] Accept hints without TTLs. 2001-09-30 04:31:28 +00:00
Mark Andrews 54c4aa0f62 1022. [bug] Allow hints to be completely empty. [RT #1802] 2001-09-30 03:02:47 +00:00
Danny Mayer 1df69830bd 1021. [bug] Win32 Timestmp was one month later than it should have been due to SYSTEMTIME starting with January=1. 2001-09-30 02:49:18 +00:00
Danny Mayer 37f08fab28 Timestamp was one month later than it should have been. SYSTEMTIME starts with January=1 2001-09-30 02:41:11 +00:00
Bob Halley 3e1f3de348 check.h has moved to libbind9 2001-09-29 20:00:39 +00:00
Bob Halley 6d7c0fd73b add 2001-09-29 19:59:29 +00:00
Bob Halley 27ef660057 cfg.h and log.h are not in libbind9 2001-09-29 19:59:11 +00:00
Bob Halley e83e8e7734 libtool is generated 2001-09-29 19:58:52 +00:00
Andreas Gustafsson febc2e8db5 added --- 9.2.0rc5 released --- marker 2001-09-29 18:26:41 +00:00
Andreas Gustafsson 93b9133cfa The -t option of wire_test now causes it to use, not just ignore,
the length field of a TCP message, and to process multiple
TCP messages if present.
2001-09-29 18:23:56 +00:00
Andreas Gustafsson 90787e192c and and 2001-09-29 17:43:42 +00:00
Andreas Gustafsson 3e93426766 and and 2001-09-29 17:43:16 +00:00
Andreas Gustafsson 0f66180e24 clean up test.cc, not test.c 2001-09-29 17:38:47 +00:00
Andreas Gustafsson 4f3d12c632 clarified 1002. 2001-09-29 17:36:23 +00:00
Andreas Gustafsson ea34bcc637 clarified 1002. 2001-09-29 17:36:05 +00:00
Andreas Gustafsson 09e103cd36 added bind9->win2k zone transfer failure FAQ 2001-09-29 01:52:20 +00:00
Andreas Gustafsson 4748473739 the word "argument" was misspelled in several places 2001-09-29 00:15:05 +00:00
Andreas Gustafsson a5aca6df16 the word "argument" was misspelled in several places 2001-09-29 00:14:40 +00:00
Andreas Gustafsson 84b0ad0959 style 2001-09-29 00:01:44 +00:00
Andreas Gustafsson 513dd4a616 style 2001-09-28 23:34:55 +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
Andreas Gustafsson e5100b1367 report duplicate zones with file name and line number even if
they are not caught by the configuration checking code, which is
the case if they are spelled differently [RT #1806]
2001-09-28 18:19:34 +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 846474d5a6 1020. [bug] IXFR log messages did not distinguish between
true IXFRs, AXFR-style IXFRs, and and mere
                        version polls. [RT #1811]
2001-09-28 00:45:34 +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 edaf5b86ce 1019. [bug] The value of the lame-ttl option was limited to 18000
seconds, not 1800 seconds as documented. [RT #1803]
2001-09-27 22:46:35 +00:00
Andreas Gustafsson 7655e78c36 1019. [bug] The value of the lame-ttl option was limited to 18000
seconds, not 1800 seconds as documented. [RT #1803]
2001-09-27 22:37:24 +00:00
Andreas Gustafsson 6859033d42 1018. [bug] The default log channel was not always initialized
correctly. [RT #1813]
2001-09-27 20:54:27 +00:00
Brian Wellington f558da602e 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 17:53:39 +00:00
Brian Wellington ff7b9eede9 dns_tsigkey_createfromkey wasn't checking that the key algorithm matched the
key name.
2001-09-27 17:49:11 +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
Andreas Gustafsson 82c168127c When retrying with AXFR after a failed IXFR, don't do a SOA query
over TCP before the AXFR request.  Doing so has not been
necessary since zone maintenance using UDP SOA queries was
implemented in zone.c a long time ago.
2001-09-27 01:01:46 +00:00
Mark Andrews 3f4c95eb98 SunOS 5.6 portability 2001-09-27 00:44:26 +00:00
Andreas Gustafsson 29c9e88c6c clarified the connection between DNSSEC, crypto support,
and OpenSSL [RT #1805]
2001-09-26 23:54:46 +00:00
Andreas Gustafsson dfcd28cce9 remove files HTML.index HTML.manifest created as a side effect of
generating the HTML docs
2001-09-26 23:50:05 +00:00
Andreas Gustafsson 8bd6c39d5e clean more files 2001-09-26 23:33:19 +00:00
Andreas Gustafsson 99f08fc172 ignore more files 2001-09-26 23:29:12 +00:00
Andreas Gustafsson a6def371e4 regenerated 2001-09-26 23:19:02 +00:00
Andreas Gustafsson 089ad40b1f removed unnecessary explicit root hints from sample configurations 2001-09-26 23:18:16 +00:00
Andreas Gustafsson 83515c3462 ifconfig.sh can now be invoked either from bin/tests/system or from the top level directory [RT #1758] 2001-09-26 23:16:26 +00:00
Andreas Gustafsson f642eb7b9f look for socklen_t in <sys/types.h>, too 2001-09-26 22:37:31 +00:00
Andreas Gustafsson 1123872a47 SunOS 5.6 portability 2001-09-26 22:35:06 +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
Danny Mayer 7e22eec300 Added support for installer to change the account being used rather than uninstalling and reinstalling 2001-09-26 02:22:27 +00:00
Andreas Gustafsson a4701d3b7e consistently begin error messages with a lower case letter 2001-09-26 00:38:39 +00:00
Andreas Gustafsson 0d1a72385e "Windows" was misspelled. 2001-09-26 00:25:03 +00:00
Andreas Gustafsson ff4322d44f 1016. [bug] Slave zones with no backup file were re-transferred
on every server reload.
2001-09-25 23:01:15 +00:00
Brian Wellington f2d88ed98c clarify help text 2001-09-25 22:47:02 +00:00
Brian Wellington c9b3f64262 fix comment 2001-09-25 22:45:02 +00:00
Brian Wellington cf38d58b79 update the opt-in draft 2001-09-25 21:29:47 +00:00
Danny Mayer 5044d03efa Removed generation of Browse file for Win32 release versions 2001-09-25 01:58:48 +00:00
Danny Mayer ecd67d8109 Updated to add new files into the make 2001-09-25 01:56:43 +00:00
Danny Mayer 53b7400731 Updated Installer to require named run in a specified account with the minimum privileges necessary to run. The account will also be used laterfor file system security and protections. 2001-09-25 01:48:49 +00:00
Danny Mayer 1ebeb6bbf3 Code to get account privilege information, create accounts with minimum privilege required, and validate account exists and has minimum required privilege 2001-09-25 01:46:22 +00:00
Danny Mayer 7e351cd18f Added named service location in Registry 2001-09-25 01:41:43 +00:00
Danny Mayer ecde762a60 Code to fetch list of NT Groups for a given account. This is used for retrieving privilege information and rights for an account as well as for NTFS File system and other object security 2001-09-25 01:37:02 +00:00
Andreas Gustafsson 8d146b6e11 1015. [bug] Log channels that had a "versions" option but no
"size" option failed to create numbered log
                        files. [RT #1783]
2001-09-25 00:55:22 +00:00
Andreas Gustafsson f8d86ef2f6 if network interfaces are not not configured,
urge the user to configure them [RT #1757]
2001-09-22 01:10:41 +00:00
Andreas Gustafsson 589a8a85b3 clarified messages 2001-09-22 01:10:03 +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 18914183d9 regenerated 2001-09-21 19:22:59 +00:00
Andreas Gustafsson ce55c7fc7d clarified documentation on statistics counters 2001-09-21 19:22:49 +00:00
Andreas Gustafsson 808b909f27 1014. [bug] Some queries would cause statistics counters to
increment more than once or not at all. [RT #1321]
2001-09-21 19:08:06 +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
Andreas Gustafsson a3ec9e6c3b update rndc notes 2001-09-21 17:39:24 +00:00
Andreas Gustafsson bd08442637 oved the nsupdate notes under the heading Server Administration Tools 2001-09-21 17:36:35 +00:00
Andreas Gustafsson 47871e33fb consistent section spacing 2001-09-21 17:34:37 +00:00
Andreas Gustafsson 9b4df1505e clarified nsupdate notes 2001-09-21 17:33:48 +00:00
Andreas Gustafsson 126095a3e6 added ./bin/tests/system/dnssec/ns3/keyless.example.db.in 2001-09-21 17:27:15 +00:00
Mark Andrews 8296690f17 DNS_EVENT_QUERYABORTED is no longer gemerated. 2001-09-21 14:00:06 +00:00
Mark Andrews 595a14576e 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 13:31:55 +00:00
Mark Andrews fe57fad800 make "lwresd -p port" work again. 2001-09-21 12:34:19 +00:00
Mark Andrews 9cdfffc7ce pullup:
controls->shuttingdown should not be set on server reload.
2001-09-21 03:31:17 +00:00
Brian Wellington 9cc98b104e controls->shuttingdown should not be set on server reload. 2001-09-21 03:04:14 +00:00
Mark Andrews b73cc0ff07 Nsupdate differences. 2001-09-21 01:15:16 +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
Brian Wellington 39504d4517 remove dead code, consolidate dupliacted code. 2001-09-21 00:17:01 +00:00
Brian Wellington 8f674b13e8 dns_time*_fromtext should take "const char *"s, not "char *"s. 2001-09-21 00:11:30 +00:00
Brian Wellington 87647e12e9 more minor cleanups 2001-09-21 00:02:20 +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 d9e690eb71 1012. [bug] The -p option to named did not behave as documented. 2001-09-20 21:51:22 +00:00
Brian Wellington 3bf31a5161 misc cleanup 2001-09-20 21:51:05 +00:00
Andreas Gustafsson 1299e93989 1011. [cleanup] Removed isc_dir_current(). 2001-09-20 21:21:53 +00:00
Andreas Gustafsson f1491358ff removed numerous ununsed extern variable declarations 2001-09-20 19:26:57 +00:00
Andreas Gustafsson bf097e2a31 the +rec option was no longer recognized after +retry
was added, due to a misplaced break statement
2001-09-20 19:11:59 +00:00
Brian Wellington b32e75f3e1 deuglify #1010 [RT #1766] 2001-09-20 19:04:59 +00:00
Andreas Gustafsson 640923da58 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 18:37:00 +00:00
Andreas Gustafsson 2e189b0677 if a server does not die when sent a SIGTERM, kill it using
SIGABRT, not SIGKILL, so that we get a core file to analyze.  Also make
sure we return with a nonzero exit status in this case.
2001-09-20 18:33:51 +00:00
Andreas Gustafsson 53fea9cd68 regenerated 2001-09-20 18:30:54 +00:00
Andreas Gustafsson 3fafd7c0c4 removed much code duplication in the OpenUnix 8 support 2001-09-20 18:30:43 +00:00
Andreas Gustafsson 858cbfa961 indent libtool --enable options 2001-09-20 18:20:12 +00:00
Andreas Gustafsson 4b611cca1d regenerated 2001-09-20 17:25:49 +00:00
Brian Wellington 897adbe920 dig +retry, not +retries is the option from BIND 8. Conveniently,
+retries works also.
2001-09-20 17:15:03 +00:00
Andreas Gustafsson d6baaf3649 added INSISTs to help diagnose RT #1775 2001-09-20 16:48:20 +00:00
Mark Andrews c10a62a070 regen 2001-09-20 15:18:02 +00:00
Mark Andrews c2bc56dc65 Move configuration checking to libbind9. 2001-09-20 15:17:07 +00:00
Mark Andrews ae5df22719 iadd missing const 2001-09-20 06:50:34 +00:00
Mark Andrews ad8e6236a4 add missing const to declaration. 2001-09-20 06:50:08 +00:00
Mark Andrews e19a1c3cd9 regen 2001-09-20 02:34:00 +00:00
Mark Andrews aa30ee42c4 1009. [port] OpenUNIX 8 support. [RT #1728] 2001-09-20 02:32:44 +00:00
Mark Andrews 0bd1b2fbfe 1008. [port] libtool.m4, ltmain.sh from libtool-1.4.2 2001-09-20 02:30:14 +00:00
Mark Andrews 822cd79080 1007. [port] config.guess, config.sub from autoconf-2.52 2001-09-20 02:04:12 +00:00
Andreas Gustafsson 2f734e0a7e sizeof style 2001-09-19 23:08:24 +00:00
Andreas Gustafsson 66ed65d1b7 regenerated 2001-09-19 22:18:24 +00:00
Andreas Gustafsson 33a1b09738 regenerated 2001-09-19 22:17:51 +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
Andreas Gustafsson 0bb3203216 document the global provide-ixfr and request-ixfr options [RT #1772] 2001-09-19 22:15:54 +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
Andreas Gustafsson 01446841be 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:25:46 +00:00
Brian Wellington b4c38fdd69 cleanups and rewrites 2001-09-19 21:24:34 +00:00
Andreas Gustafsson e4b5f088ca Added RT #1763 regression test 2001-09-19 21:19:52 +00:00
Brian Wellington 97f4d2e8f4 typo 2001-09-19 21:00:35 +00:00
Andreas Gustafsson 1301637cc5 check that negative validation fails with a misconfigured trusted key 2001-09-19 20:47:02 +00:00
Brian Wellington 19d684e84f fix potential memory leak 2001-09-19 19:22:28 +00:00
Brian Wellington f8dd2aeebd rewrite large chunks of code. 2001-09-19 19:14:35 +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
Brian Wellington 2dee13b8b8 rsasha1 stuff 2001-09-19 00:15:05 +00:00
Brian Wellington 21825a8d00 Sync up the dnssec key algorithms listed in include/dns/keyvalues.h and
rdata.c.
2001-09-19 00:14:48 +00:00
Brian Wellington b7b9b499f4 remove unused code 2001-09-19 00:03:37 +00:00
Andreas Gustafsson 28cf7340b9 1005. [bug] Don't copy nonzero RCODEs from request to response.
[RT #1765]
2001-09-19 00:02:26 +00:00
Andreas Gustafsson 1de63e34f1 1004. [port] Deal with recvfrom() returning EHOSTDOWN. [RT #1770] 2001-09-18 22:54:02 +00:00
Brian Wellington 56ae0ccb87 minor cleanup 2001-09-18 21:43:19 +00:00
Brian Wellington d11cc41b2b fixed weird code. 2001-09-18 21:21:18 +00:00
Andreas Gustafsson 9b009c9f5a reverted previous change since it doesn't compile after make clean 2001-09-18 18:43:16 +00:00
Brian Wellington feb1f6a4ac 1003. [func] Add the +retry option to dig. 2001-09-18 18:25:14 +00:00
Brian Wellington bbece796a9 The default number of UDP queries should be 3, not 2. 2001-09-18 18:16:08 +00:00
Mark Andrews 2bb3d8bdfe Make casting easier in symbolic debuggers by using different names
for the 64 bit version.
2001-09-18 14:30:10 +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 6e1b2ebcd6 "an alias", not "a alias" 2001-09-17 22:57:02 +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 06f12c290c in 1001., what the client closes is a socket, not
a connection (since it is using the connectionless UDP protocol)
2001-09-17 22:25:02 +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 e1e635578d use ifconfig.sh up, not ifconfig.sh start, to be
consistent with the ifconfig.sh usage message [RT #1758]
2001-09-17 21:42:47 +00:00
Andreas Gustafsson 66870de523 support 'make check' as an alias for 'make test' 2001-09-17 20:47:51 +00:00
Andreas Gustafsson b40cb80704 pulled up Brian's latest FAQ fixes 2001-09-17 20:41:34 +00:00
Brian Wellington 0b3abc3faf Some answers were not prefixed with "A: ". 2001-09-17 20:34:57 +00:00
Andreas Gustafsson 62f58f434c note that ifconfig.sh must be run as root 2001-09-17 20:34:28 +00:00
Brian Wellington f6cbc666f5 Multithreaded core dumps work on Linux kernels >= 2.4.7 2001-09-17 20:34:09 +00:00
Andreas Gustafsson f4f9761c84 note that ifconfig.sh must be run as root 2001-09-17 20:33:54 +00:00
Andreas Gustafsson 67298a4b2f "data" is plural 2001-09-17 20:24:13 +00:00
Brian Wellington 81b172466c *** empty log message *** 2001-09-17 17:47:20 +00:00
Brian Wellington 206bced36f order the parameters to dnssec-keygen consistently. 2001-09-17 17:42:04 +00:00
Mark Andrews 36a91ab163 Don't send notifies to mapped addresses. 2001-09-17 14:04:32 +00:00
Mark Andrews 8138bb315d The hash of IPv6 isc_sockaddr_t containing mapped IPv4 addresses should be
the same as the hash of the corresponding IPv4 isc_sockaddr_t.
2001-09-17 06:58:18 +00:00
Mark Andrews 9054558fbd remove redundant check 2001-09-17 02:59:01 +00:00
Mark Andrews f0261e88a8 check view/zone classes. 2001-09-17 02:48:58 +00:00
Mark Andrews 7931a483d7 convert 1000 to a bug 2001-09-17 00:40:08 +00:00
Mark Andrews d1a6976967 1002. [bug] Log unknown class including file and line. [RT #1759] 2001-09-17 00:33:52 +00:00
Mark Andrews fc14ca7a8f improved error reporting 2001-09-17 00:23:10 +00:00
Danny Mayer 5e4c83cfec Fix for WSACONNRESET error in win32 socket code in doio_recv not being handled. [RT #1745] 2001-09-16 06:27:04 +00:00
Danny Mayer 8423b244ec 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-16 06:19:22 +00:00
Mark Andrews e6f17474cb 1000. [func] Accept "HESIOD" as a alias for class "HS". 2001-09-16 05:27:04 +00:00
Mark Andrews 5fe21da364 999. [func] "rndc retransfer zone [class [view]]" added.
[RT #1752]
2001-09-15 14:23:29 +00:00
Mark Andrews 5fe1a246cf replace common code in dns_journal_commit by calling index_to_disk().
remove redundant call to index_to_disk() from dns_journal_compact().
2001-09-15 07:16:39 +00:00
Mark Andrews 43efd9fa56 998. [func] named-checkzone now has arguements to specify the
chroot directory (-t) and working directory (-w).
                        [RT #1755]
2001-09-15 02:05:35 +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
Brian Wellington 4fb42a8382 unused #defines 2001-09-15 00:27:26 +00:00
Andreas Gustafsson 5c831a1a1b reference RFC3110 2001-09-15 00:21:17 +00:00
Brian Wellington 36e37042c6 997. [func] Add support for RSA-SHA1 keys. 2001-09-15 00:01:58 +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 967ecc6264 it's contrib/linux/coredump-patch, not bind9/linux/coredump-patch 2001-09-14 21:23:22 +00:00
Andreas Gustafsson 4a20a92f4f replaced 994. with alternative fix:
994.   [func]          Treat non-authoritative responses to queries for type
                        NS as referrals even if the NS records are in the
                        answer section, because BIND 8 servers incorrectly
                        send them that way.  This is necessary for DNSSEC
                        validation of the NS records of a secure zone to
                        succeed when the parent is a BIND 8 server. [RT #1706]
2001-09-14 21:04:35 +00:00
Andreas Gustafsson 34aa790937 reverted 994. 2001-09-14 20:53:33 +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 9e3c3e4139 don't leave r1.htm droppings 2001-09-14 20:23:53 +00:00
Andreas Gustafsson 1b1f63339c regenerated 2001-09-14 20:21:52 +00:00
Andreas Gustafsson d4678a75ed 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:20:54 +00:00
Mark Andrews 98e231525f 996. [func] Issue warning if the configuration filename contains
the chroot path.
2001-09-14 12:34:03 +00:00
Mark Andrews da5795a32a 995. [bug] dig, host, nslookup: using a raw IPv6 address as a
target address should be fatal on a IPv4 only system.
2001-09-14 06:31:40 +00:00
Mark Andrews d4196128b3 995. [bug] dig, host, nslookup: using a raw IPv6 address as a
target address should be fatal on a IPv4 only system.
2001-09-14 05:13:19 +00:00
Brian Wellington e49238474c 'dig +short' should explicitly enable printing the answer section.
Otherwise, 'dig +noall +short' prints nothing.
2001-09-14 04:54:56 +00:00
Mark Andrews 56d69016f4 994. [bug] If the unsecure proof fails for unsigned NS records
attempt a secure proof using the NS records found as
                        glue to find the NS records from the zone's servers
                        along with associated glue rather than from parent
                        servers.  [RT #1706]
2001-09-13 07:23:39 +00:00
Mark Andrews 48cddfee7c remove broken (unreachable) undocumented ./.digrc support. 2001-09-13 03:02:59 +00:00
Andreas Gustafsson 41a0c85888 regenerated 2001-09-13 01:50:31 +00:00
Andreas Gustafsson 4c30c4d572 typo 2001-09-13 01:49:56 +00:00
Mark Andrews e60b3717f0 993. [func] dig: -v now reports the version. 2001-09-13 01:42:21 +00:00
Mark Andrews 0262406cea 992. [doc] dig: ~/.digrc is now documented. 2001-09-13 01:37:10 +00:00
Andreas Gustafsson 72baa6528d 80 columns 2001-09-12 21:48:41 +00:00
Andreas Gustafsson 3d8ab44d14 from the user's perspective, it's level debug 1,
not DEBUG(1)
2001-09-12 21:32:15 +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
Brian Wellington ee3555e8c0 A message could be leaked when a segment of an incoming zone transfer
failed to verify.
2001-09-12 20:39:36 +00:00
Andreas Gustafsson db3822841c failures in dns_db_diff() could cause the server to leak
memory
2001-09-12 18:45:02 +00:00
Andreas Gustafsson 115019ee2c replay the journal on the initial load only,
as it is not needed on subsequent loads and will fail
if the zone is a newly edited zone with ixfr-on-differences
enabled
2001-09-12 18:44:54 +00:00
Mark Andrews da4535c4b4 991. [func] Lower UDP refresh timeout messages to DEBUG(1). 2001-09-12 03:46:32 +00:00
Andreas Gustafsson 7bfb0145d6 indentation 2001-09-12 00:22:53 +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 db235e6588 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:25 +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 3426f7118c call 989. a bug after all since it will be pulled up 2001-09-11 23:32:21 +00:00
Brian Wellington 6eeefeb3eb fix a memory leak on a tsig error condition. 2001-09-11 22:34:21 +00:00
Andreas Gustafsson 36c1674e0a I'd call 989. a [func] 2001-09-11 19:59:31 +00:00
Andreas Gustafsson 588372b853 note that the configuration generated by rndc-confgen -a works on the local
host only (as suggested by Tale)
2001-09-11 19:18:12 +00:00
Mark Andrews 9de04a5713 LOGIT -> LOGITFILE 2001-09-11 05:09:41 +00:00
Mark Andrews 1592bf7349 989. [bug] Report filename if $INCLUDE fails for file related
errors.  [RT #1736]
2001-09-11 04:56:06 +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 64a5004a66 988. [bug] 'additional-from-auth no;' did not work reliably
in the case of queries answered from the cache.
                        [RT #1436]
2001-09-11 01:22:34 +00:00
Andreas Gustafsson 1e9efeeb22 986. [bug] 'additional-from-auth no;' did not work reliably
in the case of queries answered from the cache.
                        [RT #1436]
2001-09-11 01:21:39 +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
Mark Andrews b1ae7a591a 987. [bug] "dig -help" didn't show "+[no]stats".
986.   [bug]           "dig +noall" failed to clear stats and command
                        printing.
2001-09-11 00:58:15 +00:00
Mark Andrews f3352b9bec compare: a REQUIRE() was comparing a variable against itself not agaist the
other arguement as it should have been.
2001-09-10 23:47:26 +00:00
Andreas Gustafsson cab0ee644d 985. [func] Consider network interfaces to be up iff they have
a nonzero IP address rather than based on the
                        IFF_UP flag. [RT #1160]
2001-09-10 23:03:09 +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 7780a3e5a4 984. [bug] Multithreading should be enabled by default on
Solaris 2.7 and newer, but it wasn't.
2001-09-10 19:44:36 +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
Mark Andrews 699a26726c Print the update message sent when debugging. 2001-09-10 12:30:46 +00:00
Mark Andrews 4c692849bc regen 2001-09-09 23:34:51 +00:00
Mark Andrews 7f9bc71eca It's *solaris2.x* not *solaris-2.x*. 2001-09-09 23:33:38 +00:00
Andreas Gustafsson 7fca810d87 regenerated 2001-09-08 00:46:08 +00:00
Andreas Gustafsson 470208d879 cut-and-paste-o; reformatting 2001-09-08 00:45:49 +00:00
Andreas Gustafsson 2341995e2d It is no longer the case that IXFR is only supported for dynamic zones 2001-09-08 00:42:46 +00:00
Andreas Gustafsson 6dbc6fae49 983. [func] The server now supports generating IXFR difference
sequences for non-dynamic zones by comparing zone
                        versions, when enabled using the new config
                        option "ixfr-from-differences". [RT #1727]
2001-09-08 00:39:19 +00:00
Andreas Gustafsson 99f467f016 test the ixfr-from-differences option 2001-09-08 00:24:33 +00:00
Andreas Gustafsson 8cccaeaee1 New named.conf option "ixfr-from-differences" [RT #1727] 2001-09-08 00:21:49 +00:00
Andreas Gustafsson 8c4b35bbd5 edited 2001-09-08 00:18:33 +00:00
Andreas Gustafsson 260696e5e3 cleaned up xfer system test in preparation for adding
ixfr-from-differences tests
2001-09-07 23:29:52 +00:00
Andreas Gustafsson f3bbe7772f added script for generating zone data, for use in system
tests so that they don't all need to have their own (duplicated)
zone data
2001-09-07 23:29:03 +00:00
Andreas Gustafsson 0363b921c9 pullup:
install rndc-confgen.8
2001-09-07 16:46:11 +00:00
Mark Andrews a91e1db13e install rndc-confgen.8 2001-09-07 05:55:24 +00:00
Andreas Gustafsson 4b8b883127 Dollar sign in $TTL needs to be escaped; 80 columns 2001-09-07 00:57:25 +00:00
Mark Andrews e0806ab5ed Correct comment saying that 'max_size' is ignored. 2001-09-07 00:51:51 +00:00
Andreas Gustafsson d794aac9ca bin/tests/system/stress/ns1/root.db is no longer in CVS 2001-09-07 00:50:05 +00:00
Andreas Gustafsson 7aac53eb69 Actually, this file should not be in CVS at all since it's machine
generated by setup.sh.
2001-09-07 00:49:03 +00:00
Mark Andrews fe6b7ccc8d ns_os_*memstats() -> ns_main_setmemstats() 2001-09-07 00:37:02 +00:00
Andreas Gustafsson f56cdc894f reverted unintentional commit 2001-09-07 00:35:40 +00:00
Andreas Gustafsson 11a4398874 New server command line option -m taking symbolic memory debuggin
flags, as in 'named -m record,trace' (as suggested by Brian).  Also moved
the creation of the global mctx to after parsing the command line so that
the flags are defined when the mctx is created
2001-09-07 00:17:25 +00:00
Andreas Gustafsson b39ad8a69b when assigning to isc_mem_debugging, use symbolic names for
the flags, not magic integer constants
2001-09-06 23:14:42 +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 50a8312c9f #define ISC_MEM_TRACKLINES 1 2001-09-06 23:03:17 +00:00
Andreas Gustafsson f8dbd659d0 When ISC_MEM_TRACKLINES=1, don't calle {add,delete}_trace_entry()
for every alloc/free if neither ISC_MEM_DEBUGTRACE nor
ISC_MEM_DEBUGRECORD is turned on.  This removes my
last objection to setting ISC_MEM_TRACKLINES=1 by default.
2001-09-06 23:03:01 +00:00
Andreas Gustafsson 6d858e75d4 more documentation; indentation 2001-09-06 22:13:47 +00:00
Andreas Gustafsson fe5146716e host-statistics is not implemented,
maintain-ixfr-base is obsolete [RT #1717]
2001-09-06 21:52:46 +00:00
Andreas Gustafsson 18159f6f60 document what ISC_MEM_DEBUG does; clarify descriptions of other
memory debugging options
2001-09-06 18:23:35 +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
Danny Mayer 201c75e55a Added macro to suppress warning dependencies message 2001-09-06 04:37:02 +00:00
Danny Mayer d472e353c8 Added Warning Note regarding resolv.conf file 2001-09-06 04:36:21 +00:00
Mark Andrews a24d253a3f 982. [func] If "memstatistics-file" is set in options the memory
statistics will be written to it.
2001-09-06 02:13:55 +00:00
Andreas Gustafsson eb70ba210b spacing 2001-09-06 01:06:24 +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
Brian Wellington 3f543c371f 981. [func] The dnssec tools can now take multiple '-r randomfile'
arguments.
2001-09-05 23:15:42 +00:00
Andreas Gustafsson 847169dab2 980. [bug] Incoming zone transfers restarting after an error
could trigger an assertion failure. [RT #1692]
2001-09-05 23:02:28 +00:00
Brian Wellington ed29aefe31 [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-05 22:32:09 +00:00
Brian Wellington 68b62e1c45 #include <string.h> 2001-09-05 21:09:31 +00:00
Brian Wellington aba9f3dd7e remove an invalid close paren 2001-09-05 21:05:36 +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 26f327f1f5 const correctness 2001-09-05 17:22:55 +00:00
Andreas Gustafsson ff6e834f7d check return value of strftime() 2001-09-05 17:05:47 +00:00
Andreas Gustafsson fdd3a3e7fa pullup:
needs #include <isc/print.h>
2001-09-05 17:04:43 +00:00
Andreas Gustafsson 33f87146a8 needs #include <isc/print.h> 2001-09-05 17:03:42 +00:00
Andreas Gustafsson e282509475 80 columns 2001-09-05 16:55:05 +00:00
Mark Andrews e6e233e73f remove extranous debugging 2001-09-05 15:01:52 +00:00
Mark Andrews ec495a6ade Call dns_master_dumpinc() for "regular" dumps. 2001-09-05 14:13:29 +00:00
Mark Andrews ed03e26c44 Add dns_dumpctx_db() and dns_dumpctx_version(). 2001-09-05 10:28:55 +00:00
Mark Andrews 7f006841fc Assertion failure when ISC_MEM_DEBUGRECORD set. 2001-09-05 06:26:07 +00:00
Mark Andrews 1d32e01f17 testing wrong variable 2001-09-05 06:04:58 +00:00
Danny Mayer e78a28ffb5 isc_time_formattimestamp() created static const for bad time string 2001-09-05 04:18:15 +00:00
Danny Mayer fdacf913e1 isc_file_getmodtime() does not need write access to file 2001-09-05 04:17:13 +00:00
Andreas Gustafsson 539cad8f49 capitalize 2001-09-05 01:00:51 +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 181232550d typo 2001-09-05 00:55:47 +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 f1eda76d36 include <named/types.h>, not <named/interfacemgr.h> 2001-09-04 19:29:24 +00:00
Andreas Gustafsson 76d9120dd6 80 columns 2001-09-04 19:20:54 +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
Mark Andrews c6b5faa001 remove extraneous UNUSED(). 2001-09-04 14:27:42 +00:00
Mark Andrews 9aba20edee 979. [func] Incremental master file dumping. dns_master_dumpinc(),
dns_master_dumptostreaminc(), dns_dumpctx_attach(),
                        dns_dumpctx_detach() and dns_dumpctx_cancel().
2001-09-04 14:18:31 +00:00
Mark Andrews e8d86192fc 978. [bug] dns_db_attachversion() had an invalid REQUIRE()
condition.
2001-09-04 12:17:13 +00:00
Danny Mayer aa7638fce5 Fix some signed/unsigned mismatches when comparing offsets 2001-09-04 04:14:31 +00:00
Danny Mayer 6f2e507e7e Added support for isc__strerror, moving the message code handling from errno2result.c to strerror.c. updated routines to use it and updated makes to include additional files 2001-09-04 03:22:23 +00:00
Danny Mayer 7c7b389ae0 Added isc_file_truncate routine 2001-09-04 03:10:33 +00:00
Danny Mayer dcc35bf6a4 Previous update was missing the release version of telling how to build the resource file [RT #1668] 2001-09-04 03:05:55 +00:00
Mark Andrews 606e919ae3 opps missed this change 2001-09-04 01:12:04 +00:00
Mark Andrews 34b1adb9b3 wording 2001-09-04 00:57:09 +00:00
Mark Andrews bae5d9fcb4 977. [bug] Improve "not at top of zone" error message. 2001-09-04 00:35:19 +00:00
Mark Andrews 92551304a9 976. [func] named-checkconf will now test load master zone
files (-z).  [RT #1468]
2001-09-04 00:32:32 +00:00
Mark Andrews a8842a35df move zone loading code into check-tool. 2001-09-03 08:21:46 +00:00
Mark Andrews a9c2c07c96 zone_settimer() nolonger needs to calculate the interval between two times.
[RT #1691]
2001-09-03 01:21:19 +00:00
Andreas Gustafsson 5af0708e7f typo 2001-09-02 03:05:32 +00:00
Danny Mayer 102e532c65 updated to properly support shutdowns. See RT #1672 as it relates to NT 2001-09-01 05:27:46 +00:00
Danny Mayer a22a4084dd Update to change path to resolv.conf and define RESOLV_CONF 2001-09-01 05:22:04 +00:00
Danny Mayer ad82fd0a25 named/interfacemgr.h was not being included 2001-09-01 05:17:28 +00:00
Danny Mayer 530ee49d07 Changed RESOLV_CONF to be conditionally defined allowing win32 to override this definition 2001-09-01 05:09:33 +00:00
Andreas Gustafsson 98a5dc52bf 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-01 01:56:55 +00:00
Andreas Gustafsson 687b7ef998 handle max-journal-size more like other options 2001-09-01 01:43:24 +00:00
Andreas Gustafsson 847ed3fccf new configuration data type cfg_type_sizenodefault,
which can be a size or the string 'unlimited' but not the string
'default'.  This is used for max-cache-size and max-journal-size,
and obsoletes the special check for 'default' in check.c.
2001-09-01 01:41:40 +00:00
Andreas Gustafsson 0c5233171f allow setting a default max-journal-size in the options or view 2001-09-01 01:24:29 +00:00
Andreas Gustafsson cb8fd52bbe call the new option for setting the maximum journal
size 'max-journal-size', not 'journal-size', in the tradition of the
historical option 'max-ixfr-log-size'
2001-09-01 01:13:41 +00:00
Andreas Gustafsson c5b14e2676 edited 2001-09-01 00:58:24 +00:00
Andreas Gustafsson 2f2b076705 regenerated 2001-09-01 00:58:17 +00:00
Andreas Gustafsson 355cc22e32 The epoch is once again zero in Win32;
removed win32 implementations of isc_time_set(), isc_time_seconds() and
isc_time_secondsastimet() as they are no longer needed
2001-09-01 00:55:27 +00:00
Andreas Gustafsson 43f117d5f0 typo in comment 2001-09-01 00:46:04 +00:00
Andreas Gustafsson b3034d815c isc_time_formattimestamp() declaration should go before ISC_LANG_ENDDECLS, not after 2001-09-01 00:18:43 +00:00
Andreas Gustafsson bdec94477c isc_file_getmodtime() should call GetFileTime(), not file_stats(),
so that the time returned is a native win32 FILETIME
2001-09-01 00:05:38 +00:00
Andreas Gustafsson 528baec07b removed C++ comments; comment and indentation style 2001-08-31 23:57:05 +00:00
Andreas Gustafsson ff8cd3afa7 implemented isc_time_formattimestamp() for Win32.
I have no way of testing this.
2001-08-31 22:31:18 +00:00
Andreas Gustafsson 6184f9fc1e REQUIRE(len > 0) 2001-08-31 21:58:49 +00:00
Andreas Gustafsson c8563aaf86 added isc_time_formattimestamp() (Unix only so far);
call it from log.c [RT #1687]
2001-08-31 21:51:27 +00:00
Andreas Gustafsson 0674850fcb in dns_zone_notifyreceive(), the variable 'now' was
set but never used
2001-08-31 19:27:22 +00:00
Andreas Gustafsson 130904d648 in zone_settimer(), it seems cleaner to check whether
the variable 'next' is set to the epoch (which is used as a sentinel value
meaning 'not set') before comparing it to another time value rather than
after, since the other comparison is meaningless when 'next' is the epoch
2001-08-31 19:25:51 +00:00
Andreas Gustafsson 9113f8b75c pullup: string formats 2001-08-31 18:01:22 +00:00
Mark Andrews 4b87939256 strerror() -> isc__strerror() [RT #1689] 2001-08-31 05:57:58 +00:00
Mark Andrews 6db92bd107 string formats 2001-08-31 04:47:59 +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
Mark Andrews cfa3ab7f89 Timers now use isc_time_t rather than isc_stdtime_t.
zone->expiretime now has a consistant epoch [RT #1686]
2001-08-31 02:01:56 +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 7edac4480f added colon to log message 2001-08-31 00:35:18 +00:00
Mark Andrews 452b30ddb3 973. [bug] Failed to log the question name when logging:
"bad zone transfer request: non-authoritative zone
                        (NOTAUTH)".
2001-08-30 23:51:45 +00:00
Andreas Gustafsson 39125379e5 made mkstemp() static 2001-08-30 21:16:41 +00:00
Andreas Gustafsson faa96aba6d removed empty line 2001-08-30 20:55:37 +00:00
Andreas Gustafsson c2df80e759 lower case 2001-08-30 20:40:27 +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
Andreas Gustafsson 9ec3c7b42d mem.c did not compile when ISC_MEM_TRACKLINES was not defined 2001-08-30 20:23:44 +00:00
Mark Andrews 6668eca26b 972. [bug] The file modification time code in zone.c was using the
wrong epoch.  [RT #1667]
2001-08-30 06:48:43 +00:00
Mark Andrews 06a960c681 971. [func] 'try-edns' can be use to disable edns on all queries. 2001-08-30 05:52:18 +00:00
Mark Andrews 1eaad22e11 970. [func] 'journal-size' can now be used to set a target
size for a journal.
2001-08-30 05:46:17 +00:00
Mark Andrews 90989375ca Improve time taken to free memory when ISC_MEM_DEBUGRECORD is set. 2001-08-30 05:40:04 +00:00
Mark Andrews bd3091eb7d compact journals on succesful dumps to the zone file. 2001-08-30 05:24:44 +00:00
Mark Andrews cc0a5f7142 journal-size can now be set from named.conf 2001-08-30 05:23:00 +00:00
Mark Andrews fa59c08f71 abort transfer if SOA response is not authoritative. 2001-08-30 05:12:39 +00:00
Mark Andrews 2c64908ae0 DNS_R_NOTAUTHORITATIVE 2001-08-30 05:10:55 +00:00
Mark Andrews 53e3724e23 dns_journal_compact() 2001-08-30 05:04:18 +00:00
Mark Andrews 0914e94965 bump to 9.3 2001-08-30 05:02:20 +00:00
Mark Andrews 59251c9e9c isc_file_truncate() 2001-08-30 04:55:36 +00:00
Mark Andrews 91579a2424 add isc_strerror to build 2001-08-30 04:49:36 +00:00
Mark Andrews 2c839b25ad regen 2001-08-30 04:36:08 +00:00
cvs2git 02da396800 This commit was manufactured by cvs2git to create branch 'v9_2'. 2001-08-30 04:33:21 +00:00
Mark Andrews c654449ccf isc__strerror 2001-08-30 04:33:20 +00:00
Danny Mayer b602bf9e8b RT #1667. File modification dates were wrong due to the isc_time_set routine not adding back the epoch to give the absolute Windows time and isc_file_settime not correctly making the right calls to modify the file date 2001-08-30 04:31:31 +00:00
Danny Mayer e2a35f7524 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 04:28:24 +00:00
Danny Mayer 91be5c8cce Remove shutdown privilege-enabling code. Installer should not be shutting down the system. 2001-08-30 04:23:43 +00:00
Andreas Gustafsson 8068ceb2a9 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]
2001-08-29 23:52:28 +00:00
Andreas Gustafsson 9cb39bbe40 fix locking hierarchy violation [RT #1672] 2001-08-29 21:15:56 +00:00
Andreas Gustafsson 2c2b29b6ff cut-and-paste-o 2001-08-29 18:57:58 +00:00
Andreas Gustafsson cad3210bb9 969. [func] dig now supports the undocumented dig 8 feature
of allowing arbitrary labels, not just dotted
                        decimal quads, with the -x option.  This can be
                        used to conveniently look up RFC2317 names as in
                        "dig -x 10.0.0.0-127". [RT #827, #1576, #1598]
2001-08-29 18:57:28 +00:00
Andreas Gustafsson f462b9aed2 Revert change 966. Brian says user-level programs should not include
any headers under asm.
2001-08-29 18:03:36 +00:00
Andreas Gustafsson 5f5b407b19 regenerated 2001-08-29 17:20:00 +00:00
Mark Andrews 7231717254 Ensure that the files contents have been synced to disk prior to renaming. 2001-08-29 05:52:49 +00:00
Danny Mayer afeded2289 RT #1671 and #1668 2001-08-29 05:21:25 +00:00
Danny Mayer 06b47b13db Bug #1671 isc_time_now was erroneously calling strtime() 2001-08-29 05:13:42 +00:00
Danny Mayer 9559bf89b1 Bug #1668 resource file was missing in link 2001-08-29 05:08:58 +00:00
Mark Andrews b885fd1d53 966. [port] #include <asm/unistd.h> is required on some Linux
ports.  [RT #1670]
2001-08-29 04:21:51 +00:00
Mark Andrews 688023c91e Add missing semicolons. 2001-08-29 04:15:03 +00:00
Mark Andrews 71bfe170e1 Explain the interaction of -u and -t. 2001-08-29 03:27:57 +00:00
Andreas Gustafsson a0766ff416 cut-and-paste-o 2001-08-28 18:00:37 +00:00
Andreas Gustafsson d41977127f don't suggest generating the command channel secret usign dnssec-keygen or
mmencode now that we have rndc-confgen
2001-08-28 17:37:24 +00:00
Andreas Gustafsson 259b1b8c03 added rndc-confgen man page 2001-08-28 17:29:35 +00:00
Mark Andrews 28fc90e6c8 #857 was incomplete, ISC_MAGIC was not being used everwhere it should have been.
'magic' was not being declared consistantly.
some #include <isc/magic.h> were missing from other include files.
NS_SERVER_VALID was not using ISC_MAGIC_VALID.
2001-08-28 03:58:29 +00:00
Andreas Gustafsson 31f4d4ac63 removed -P (pseudorandom) option 2001-08-27 23:55:16 +00:00
Andreas Gustafsson aec9f4d072 consistent spacing 2001-08-27 23:13:48 +00:00
Andreas Gustafsson 9c067741f1 don't #define DNS_STATS_NCOUNTERS in two different places [RT #1666] 2001-08-27 21:47:00 +00:00
Andreas Gustafsson 187bf10eb5 eliminated arbitrary limit on formatted rdata size in 'host' [RT #1557] 2001-08-27 21:31:29 +00:00
Andreas Gustafsson fba21fcab9 regenerated 2001-08-27 18:53:29 +00:00
Andreas Gustafsson b495fd2992 each AC_MSG_CHECKING should be balanced with an
AC_MSG_RESULT
2001-08-27 18:52:59 +00:00
Andreas Gustafsson aa9a67adeb clarified 964.-965. 2001-08-27 18:01:38 +00:00
Andreas Gustafsson c7eb99970e consistently use single quotes around varying text
in log messages
2001-08-27 17:21:56 +00:00
Andreas Gustafsson 135c1c53b8 don't INSIST() that calling dns_db_find() on the root hints
only binds the rdataset when returning ISC_R_SUCCESS, because that's not the case -
for example, if the root hints are '. 300 IN CNAME .', DNS_R_CNAME is returned and
the rdataset is bound
2001-08-27 17:20:10 +00:00
Mark Andrews 89555ff443 965. [bug] Using non root hints caused a rbtdb node reference
leak.    [RT #1581, RT #1618]
2001-08-27 06:10:17 +00:00
Mark Andrews 440906ce59 INSIST that the rdataset is unassociated. 2001-08-27 03:58:44 +00:00
Mark Andrews 73ac1894ea 964. [func] Warn if non root hints data is found in hints file. 2001-08-27 03:36:00 +00:00
Andreas Gustafsson 718b57f849 the REQUIRE((((fctx->queries).head == 0) ? isc_boolean_true : isc_boolean_false))
assertion failure was reported in RT #673, #872, #1048 and fixed in 9.1.1rc6
2001-08-24 23:15:41 +00:00
Andreas Gustafsson bc3143cc86 regenerated 2001-08-24 22:45:09 +00:00
Andreas Gustafsson 919caa020b include <stdio.h> before calling printf in test program 2001-08-24 22:44:57 +00:00
Andreas Gustafsson ea72586fc5 elaborated on 959. 2001-08-24 18:58:11 +00:00
Mark Andrews 49fa7b3b6e regen 2001-08-23 06:36:03 +00:00
Mark Andrews bd1db480f3 Report found openssl version on failure. 2001-08-23 06:33:10 +00:00
Mark Andrews d20b7d6bea silence compiler warnings 2001-08-23 04:39:31 +00:00
Brian Wellington 7d1501a44f ignore Makefile 2001-08-21 23:03:59 +00:00
Mark Andrews eaf7c63f0d Provide a list of assertion failures and the relevent patch(es) that fixed
them.  RT is too difficult to search.
2001-08-21 07:52:47 +00:00
Mark Andrews 330b421487 963. [bug] bad ISC_LANG_ENDDECLS. [RT #1645] 2001-08-20 23:56:25 +00:00
Mark Andrews 9b30c8e8f0 regen 2001-08-20 07:47:05 +00:00
Mark Andrews e22dca2a9a 962. [bug] libbind: bad "#undef", don't attempt to install
non-existant nlist.h.  [RT #1640]
2001-08-20 07:44:53 +00:00
Mark Andrews d7728fcf85 add nlist.h 2001-08-20 07:29:47 +00:00
Mark Andrews 2c0b26955e 961. [bug] Tried to use a IPV6 feature when ISC_PLATFORM_HAVEIPV6
was not defined.  [RT #1482]
2001-08-16 07:27:48 +00:00
Mark Andrews a32e981584 regen 2001-08-16 06:40:46 +00:00
Mark Andrews 2449f41e75 960. [port] liblwres failed to build on systems with support for
getrrsetbyname() in the OS.  [RT #1592]
2001-08-16 06:39:33 +00:00
Mark Andrews 874d2a5138 regen 2001-08-16 06:21:16 +00:00
Mark Andrews 6f7660093e 959. [port] freebsd: ncpus via sysctlbyname(). [RT #1584] 2001-08-16 06:19:58 +00:00
Mark Andrews 63742a7fbf regen 2001-08-15 06:04:47 +00:00
Mark Andrews 8f3dd8f8e7 ssize_t is a signed value 2001-08-15 06:03:39 +00:00
Mark Andrews 180936722e regen 2001-08-15 05:53:04 +00:00
Mark Andrews 1fdbadc594 958. [port] ssize_t is not available on all platforms. [RT #1607] 2001-08-15 05:49:45 +00:00
Mark Andrews c132e9113c regen 2001-08-14 02:21:12 +00:00
Mark Andrews a1898260ad 957. [bug] sys/select.h inclusion was broken on older platforms.
[RT #1607]
2001-08-14 02:19:30 +00:00
Danny Mayer bcd097060d Updated as release version and added rndc.key info 2001-08-12 04:53:38 +00:00
Mark Andrews 8ff4edd14e silence format warning: remove unused arg. 2001-08-12 00:12:14 +00:00
Andreas Gustafsson 40aa8b407a success reported on AIX 5L 2001-08-10 16:18:50 +00:00
Danny Mayer 305b0eda33 Bug #1603: changes to key file name variable for win32 2001-08-10 03:15:51 +00:00
Danny Mayer 7bda91f314 updated to add path for include files 2001-08-09 23:45:12 +00:00
Danny Mayer b9eaebe882 ns_g_autorndckeyfile had been renamed to ns_g_keyfile 2001-08-09 23:44:13 +00:00
Andreas Gustafsson f504adce37 duplicated CVS ID line 2001-08-09 17:21:06 +00:00
Mark Andrews a28db387fc full copyrights 2001-08-09 06:15:34 +00:00
Mark Andrews 2861ab6188 regen 2001-08-09 06:09:30 +00:00
Mark Andrews 0122a1f716 update 2001-08-09 06:08:09 +00:00
Mark Andrews 8e6813696a support running configure in a directory other than the source directory 2001-08-09 05:59:58 +00:00
Danny Mayer 51ac5c28de Changed win32 code to remove references to named.key 2001-08-09 02:55:41 +00:00
Andreas Gustafsson 58c48b3b48 running check-instincludes requires a CVS tree; require absolute path for kit file 2001-08-09 02:36:01 +00:00
Andreas Gustafsson 155552f1be removed expired drafts 2001-08-09 00:45:02 +00:00
Andreas Gustafsson d16b4e8ba8 added --- 9.2.0rc1 released --- marker 2001-08-09 00:37:28 +00:00
Andreas Gustafsson 976e43c3ef removed CVS ID line inadvertantly added by update_copyrights 2001-08-09 00:35:11 +00:00
Andreas Gustafsson b4636f4587 update_copyrights 2001-08-09 00:33:47 +00:00
Andreas Gustafsson e076d0c88b merge_copyrights 2001-08-09 00:30:39 +00:00
Andreas Gustafsson 33682c92e9 regenerated docs 2001-08-09 00:19:44 +00:00
Andreas Gustafsson f4909f01a7 the test outcome should not depend on the dig version printed 2001-08-09 00:10:56 +00:00
Andreas Gustafsson f30cab801a spacing 2001-08-08 23:27:03 +00:00
Andreas Gustafsson b1600c0b02 spacing; no newline at end of file 2001-08-08 23:26:58 +00:00
Andreas Gustafsson c0b6c1a5ab clarifications 2001-08-08 23:23:57 +00:00
Andreas Gustafsson c961e08413 spacing 2001-08-08 23:13:16 +00:00
Andreas Gustafsson a158d032df added Slackware 8.0 2001-08-08 23:00:31 +00:00
Andreas Gustafsson 76c8294c81 format string bugs and improved format string checking [RT #1578] 2001-08-08 22:54:55 +00:00
Andreas Gustafsson b21320abb5 brace style 2001-08-08 20:52:34 +00:00
Andreas Gustafsson 5439bb1725 removed unused variable ns_g_autorndckeyfile 2001-08-08 20:37:31 +00:00
Andreas Gustafsson 569caae79d don't remove ns_g_autorndckeyfile - it no longer exists 2001-08-08 20:36:13 +00:00
Andreas Gustafsson 1c9afb96b5 updated for 9.2.0rc1 2001-08-08 19:47:38 +00:00
Andreas Gustafsson 73a9f8ec94 need <isc/print.h> for snprintf on OSF/1 4 2001-08-08 19:42:53 +00:00
Andreas Gustafsson eae21e533a declaring progname as a char pointer in util.c
and a char array in rndc-confgen.c doesn't work
2001-08-08 05:13:47 +00:00
Mark Andrews de9833be77 955. [bug] When using views, the zone's class was not being
inherited from the view's class.  [RT #1583]
2001-08-07 01:58:59 +00:00
Andreas Gustafsson 6a05eadab2 expanded treatment of rndc.key;
mentioned rndc-confgen (briefly) [RT #1520]
2001-08-06 11:50:13 +00:00
Andreas Gustafsson 0a77211c80 Wrapped long lines in an error message, and fixed two bugs:
1) rndc would crash if rndc.conf could not be read
2) rndc running in named.key mode required a working
DNS to resolve the default server name "localhost",
causing a chicken-and-egg problem when using rndc
to fix a broken DNS.  Fixed by changing the default
to 127.0.0.1.  This will probably offend some IPv6
people.
2001-08-06 11:40:46 +00:00
Andreas Gustafsson b199e25ab7 spacing 2001-08-06 11:28:21 +00:00
Mark Andrews 4e400cb7a2 954. [bug] dig, host, nslookup: AXFR / IXFR are inherently
non-recursive, do not set RD.  [RT #1575]
2001-08-06 05:50:20 +00:00
Danny Mayer e5656b4aeb Added support for win32 2001-08-06 05:35:16 +00:00
Danny Mayer 66352c0a05 Added support for key for win32 2001-08-06 05:34:26 +00:00
Danny Mayer 3571e1bda4 Added Copyright Statement 2001-08-06 05:33:17 +00:00
Mark Andrews ec5a06ccf7 953. [func] named.key from change #843 has been replaced by
/etc/rndc.key.  Both named and rndc will look for
                        this file and associated key if they are not already
                        configured via a different method (rndc.conf/controls).
                        /etc/rndc.key can be created using "rndc-confgen -a".
2001-08-06 04:47:47 +00:00
Mark Andrews ac3c4e9981 named.key -> rndc.key 2001-08-06 04:42:24 +00:00
Mark Andrews a769eca4e3 cleanup
document "rndc -k"
2001-08-06 04:25:08 +00:00
Mark Andrews 907ec2c618 952. [bug] The server required manual intervention to serve the
affected zones if it died between creating a journal
                        and committing the first change to it.
2001-08-06 02:10:59 +00:00
Mark Andrews 8173a963d2 #if (result) should have been #if (result == ISC_R_SUCCESS) otherwise we
would fail to replace the keys if they changed.
Add the IPv4 any control before the IPv6 any control.
2001-08-06 01:03:53 +00:00
Paul Vixie 276a77c22a update readme and copyright to mention nominum 2001-08-04 21:03:31 +00:00
Mark Andrews d8ec3078d4 relax safe_create(). 2001-08-04 08:15:02 +00:00
Mark Andrews ee8a5c01e2 only call get_key_info() in update_listener() if control != NULL. 2001-08-04 07:49:38 +00:00
Mark Andrews 9bac746a3c keyless inet controls triggered assertion. [RT#1566] 2001-08-04 07:38:06 +00:00
Andreas Gustafsson 4c69379d79 don't print empty lines until we can figure out
how to print them only when actually using keyboard
entropy.  The existing code was clearly wrong, as it used
an enumerated value as a boolean
2001-08-03 23:44:49 +00:00
Andreas Gustafsson 66ff5b7d78 cut-and-paste-o 2001-08-03 23:19:01 +00:00
Andreas Gustafsson b769845105 improved comments 2001-08-03 23:06:46 +00:00
Andreas Gustafsson 7dacac1909 added .cvsignore file 2001-08-03 22:35:06 +00:00
Andreas Gustafsson 0094faa6e0 Reduced code duplication. Code duplication is evil. 2001-08-03 22:33:02 +00:00
Andreas Gustafsson 644772cf06 eliminated needless use of string literal concatenation 2001-08-03 22:12:42 +00:00
Andreas Gustafsson dfe3edd7cd use ${srcdir}/include, not ./include, in the include path so
that builds into a separate object directory work; eliminiated the RNDCINCLUDES
and CONFINCLUDES macros since they are not really necessary;
eliminated -DRNDC_SYSCONFDIR option passed to compiler when compiling
rndc-confgen.c since it is not actually used
2001-08-03 22:03:10 +00:00
Andreas Gustafsson 89209405b7 spacing 2001-08-03 21:44:45 +00:00
Andreas Gustafsson b4b47bf187 simplified by using dns_acl_any() 2001-08-03 20:05:42 +00:00
Brian Wellington f5862b6f22 fix warning 2001-08-03 18:39:50 +00:00
Andreas Gustafsson 1bcdcce64b simplified by using dns_acl_any() 2001-08-03 18:28:48 +00:00
Brian Wellington 3dfc806ddf fix key algorithm checks 2001-08-03 18:12:08 +00:00
Andreas Gustafsson f8c304e5a5 removed comment stating that 'For this reason,
the automagic key is not regenerated on each reload', which is no longer
applicable since automagic keys are no longer regenerated
by the server at all
2001-08-03 18:03:02 +00:00
Brian Wellington 337a8fe16a Add Danny's name to the authors.bind list 2001-08-03 17:58:18 +00:00
Andreas Gustafsson 7dac8d231c the server would catch an assertion failure if the key statement in rndc.key
was missing the algorithm or secret clause
2001-08-03 17:24:11 +00:00
Mark Andrews f4effb700a regen 2001-08-03 06:49:32 +00:00
Mark Andrews 326bcfa0e2 rndc.key support 2001-08-03 05:56:22 +00:00
Andreas Gustafsson faf2b80fe3 note successful build on Windows NT/W2K 2001-08-03 03:07:30 +00:00
Andreas Gustafsson 5c213fcd1d mark rrset-order as unimplemented [RT #1561] 2001-08-02 23:36:23 +00:00
Danny Mayer a59a1d313a Updated .mak files to remove dependancies 2001-08-02 07:05:43 +00:00
Danny Mayer 288d7b9c55 Fixed documentation 2001-08-02 07:03:59 +00:00
Danny Mayer 0d1316c563 Modify to add HTML files to the kit and reoranize code 2001-08-02 07:03:23 +00:00
Danny Mayer c87248869d Fixed erroneous application dependencies 2001-08-02 07:02:19 +00:00
Andreas Gustafsson 2627aca3bb oops, one too may CFLAGS snuck in 2001-08-01 22:16:06 +00:00
Andreas Gustafsson 0a53284205 951. [bug] CFLAGS was not passed to the linker when
linking some of the test programs under
                        bin/tests. [RT #1555].
2001-08-01 22:06:29 +00:00
Andreas Gustafsson 9d1b0204c6 edited 2001-08-01 21:52:57 +00:00
Andreas Gustafsson 58b137edfd looked for kit in wrong directory 2001-08-01 21:52:41 +00:00
Andreas Gustafsson e0315f2160 added 'masterfile' system test to make sure
rt #1558 does not happen again
2001-08-01 19:01:02 +00:00
Andreas Gustafsson 23a020bc13 950. [bug] Explicit TTLs did not properly override
due to a bug in change 834. [RT #1558]
2001-08-01 17:58:45 +00:00
Brian Wellington 44c141f947 949. [bug] host was unable to print records larger than 512
bytes. [RT #1557]
(the limit is now 32K)
2001-08-01 16:18:56 +00:00
Andreas Gustafsson a6a23642ea regenerated 2001-07-31 20:08:04 +00:00
Andreas Gustafsson ab54086529 print detailed description of grammar of socket addresses instead
of obscure names like 'v6addrportwild'; misc cleanup
2001-07-31 20:07:48 +00:00
Andreas Gustafsson b76883e1cc issue a more descriptive error message when multiple conflicting
forwarding policies are configured
2001-07-31 19:22:51 +00:00
Mark Andrews 43e2ec89d8 redundate #include 2001-07-31 03:45:04 +00:00
Andreas Gustafsson 7250c1a261 The Windows NT port deserves a CHANGES entry 2001-07-31 02:36:46 +00:00
Andreas Gustafsson 4d77dbcfa0 typo 2001-07-31 02:35:12 +00:00
Andreas Gustafsson 9f5a862a90 lwres.h should be installed, and net.h should not 2001-07-31 01:32:45 +00:00
Danny Mayer 42300f375f Fixed list of files 2001-07-31 00:20:31 +00:00
Andreas Gustafsson e1a153c3f0 --- 9.2.0b2 released --- 2001-07-31 00:06:21 +00:00
Andreas Gustafsson ab3eaa20e9 typo 2001-07-31 00:04:31 +00:00
Andreas Gustafsson 4e6b8a18ff update_copyrights 2001-07-31 00:03:21 +00:00
Andreas Gustafsson 91216cff91 merge_copyrights 2001-07-30 23:45:52 +00:00
Andreas Gustafsson 4e71e9b6c8 recognize BAT (MSDOS batch file) comments, but ignore them for now 2001-07-30 23:45:03 +00:00
Andreas Gustafsson 50851586b6 updated drafts 2001-07-30 23:30:09 +00:00
Andreas Gustafsson 9261ca5fc8 tabified 2001-07-30 23:20:39 +00:00
Andreas Gustafsson ff5760e233 random reformatting 2001-07-30 22:55:27 +00:00
Andreas Gustafsson cca68b1ff6 add pointer to win32-build.txt 2001-07-30 18:22:16 +00:00
Andreas Gustafsson 5f25ebaaa0 updated for 9.2.0b2 2001-07-30 17:37:39 +00:00
Mark Andrews c38b92000c 947. [bug] dns_rdata_soa_t had a badly name element "mname" which
was really the RNAME field from RFC1035.  To avoid
                        confusion and silent errors that would occur it ther
                        "origin" and "mname" elements were given their correct
                        names "mname" and "rname" respectively, the "mname"
                        element is renamed to "contact".
2001-07-30 01:09:14 +00:00
Brian Wellington ecc38edf79 make +trace and +nssearch work together 2001-07-29 23:23:42 +00:00
Danny Mayer 9729bb1e46 win32 Build Instructions 2001-07-28 05:32:49 +00:00
Danny Mayer 3a6dab5906 Removing Obsoleted file 2001-07-28 04:30:21 +00:00
Danny Mayer b59115de5f Updated config information 2001-07-28 02:50:39 +00:00
Danny Mayer 238e6556ea Restore dnssec-signzone to list of binaries to install 2001-07-28 02:45:07 +00:00
Danny Mayer 7c09f7ba44 Updated win32 Installation Notes 2001-07-28 02:33:25 +00:00
Danny Mayer adee3a73e6 Modifications to support batch build environment and additional documentation 2001-07-28 02:32:47 +00:00
Danny Mayer 00086b09fe Build script to build all binaries 2001-07-28 02:31:51 +00:00
Brian Wellington 3d388146c6 if both +trace and +nssearch are specified, ignore the second one. 2001-07-28 01:41:28 +00:00
Brian Wellington a0d965e7b1 comments 2001-07-28 01:01:02 +00:00
Brian Wellington 3806886c28 oops, dig +nssearch and host -C work again. 2001-07-28 00:55:15 +00:00
Brian Wellington d0de20156a Make +trace work. More cleanup. 2001-07-28 00:11:15 +00:00
Brian Wellington 57bccaacd0 cleanup 2001-07-27 22:07:10 +00:00
Andreas Gustafsson 321fd0ceb4 in named-checkconf, pass in the complete path of named.conf
as NAMED_CONFFILE instead of constructing it by compile-time concatenation of NS_SYSCONFDIR
and /named.conf, to facilitate win32 support
2001-07-27 17:45:29 +00:00
Brian Wellington 1d78c8d7cd unused variables 2001-07-27 17:39:10 +00:00
Andreas Gustafsson 8cf1357c5a incorrect indentatinon; other style issues 2001-07-27 17:25:41 +00:00
Andreas Gustafsson a492e2366b style 2001-07-27 17:25:23 +00:00
Brian Wellington 637b4b4392 simplify header printing code. 2001-07-27 06:45:20 +00:00
Brian Wellington 0e0e575ec1 unused variables and stuff 2001-07-27 06:11:10 +00:00
Brian Wellington f3f143f249 simplify TSIG key loading 2001-07-27 05:52:45 +00:00
Brian Wellington 46e349e515 more minor cleanup 2001-07-27 05:41:46 +00:00
Brian Wellington f9521c63ea minor cleanup 2001-07-27 05:26:38 +00:00
Danny Mayer 924b2e8230 Fix line length issues to perl scripts 2001-07-27 05:20:29 +00:00
Danny Mayer 0ce385e126 Added named-check* apps to build script 2001-07-27 05:19:38 +00:00
Danny Mayer 0794ffffee Added paths info 2001-07-27 05:17:39 +00:00
Danny Mayer 075a7534a8 Added path information - retry 2001-07-27 05:16:55 +00:00
Danny Mayer 61e561c2ca Added path information 2001-07-27 05:15:27 +00:00
Danny Mayer 1f43af072f Added named-check* apps to install list 2001-07-27 05:06:34 +00:00
Danny Mayer ed1f8b162a added named.key file path to global variable 2001-07-27 05:02:11 +00:00
Danny Mayer 66a38d1693 Changed log to logc to allow VC++ to compile it on win32 2001-07-27 04:59:01 +00:00
Danny Mayer a246e32f29 win32 build files for named-check* 2001-07-27 04:57:24 +00:00
Brian Wellington 6bc58751c6 query -> request 2001-07-26 22:46:44 +00:00
Andreas Gustafsson e1ad5fdd33 regenerated 2001-07-26 22:20:47 +00:00
Andreas Gustafsson 6087f3bfc8 missing paragraph end tag; use &mdash; 2001-07-26 22:19:57 +00:00
Brian Wellington a781910430 #define PATH_MAX if it's not already defined (such as on HURD) [RT #1543] 2001-07-26 22:09:25 +00:00
Andreas Gustafsson 90e289c59f A6 has an RFC now 2001-07-26 21:34:02 +00:00
Andreas Gustafsson 113b83a9e2 always build cfg_test, since it is now needed when
regenerating the documentation
2001-07-26 21:33:28 +00:00
Andreas Gustafsson db8c4a3519 regenerated 2001-07-26 21:32:21 +00:00
Andreas Gustafsson 22f0b13f28 946. [cleanup] doc/misc/options is now machine-generated from the
configuration parser syntax tables, and therefore
                        more likely to be correct.
2001-07-26 21:31:12 +00:00
Andreas Gustafsson 657a6a6f3c some unimplemented options were not marked as such in the grammar summary output 2001-07-26 21:27:51 +00:00
Andreas Gustafsson 455ab32690 don't distclean files that don't exist any more 2001-07-26 21:15:48 +00:00
Brian Wellington 26a5f97dd8 Don't refer to keys as "TSIG keys", since they might be used for rndc only,
and this could be confusing.
2001-07-26 20:54:35 +00:00
Brian Wellington ee3ab6063d 945. [func] Add the new view-specific options
"match-destinations" and "match-recursive-only".
2001-07-26 20:42:46 +00:00
Andreas Gustafsson e5b18854e3 define RNDC_AUTOCONFFILE on win32 so that the code again
compiles on win32 and behaves like it did before.
2001-07-26 20:40:01 +00:00
Andreas Gustafsson 929b55a64d consistency 2001-07-26 20:37:26 +00:00
Andreas Gustafsson 38f0e0520c tabified 2001-07-26 20:31:48 +00:00
Andreas Gustafsson 05de675386 removed nonportable declaration of h_errno as h_errno is not
actually used in this file
2001-07-26 20:26:09 +00:00
Andreas Gustafsson 1ecd9d30a0 pass in the full name of the automatic configuration file from
the Makefile as RNDC_AUTOCONFFILE, so that it too can be overridden on Win32
if necessary
2001-07-26 20:14:46 +00:00
Andreas Gustafsson 5da31b1ebe define RNDC_CONFFILE 2001-07-26 20:08:03 +00:00
Andreas Gustafsson dcfaeabc63 renamed RNDC_SYSCONFPATH to RNDC_CONFFILE; there's
nothing specifically SYS about it
2001-07-26 20:06:22 +00:00
Danny Mayer 922a15c7c0 Changes to support win32 2001-07-26 03:15:16 +00:00
Andreas Gustafsson 64dab5aca2 edited 2001-07-24 21:25:55 +00:00
Andreas Gustafsson 7b1ad32ff2 renamed the file 'cvs' to cvs-usage' to avoid conflicting
with the directory 'CVS' on case-insensitive operating systems
2001-07-24 21:25:44 +00:00
Brian Wellington d81622b537 944. [func] Check for expired signatures on load. 2001-07-24 18:49:06 +00:00
Danny Mayer b61c97cebd Changed initialize to include void. This keeps the VC++ compiler from complaining about the isc_once_do code arguments 2001-07-24 05:23:38 +00:00
Andreas Gustafsson accf0d5f29 updated usage message 2001-07-23 18:57:53 +00:00
Andreas Gustafsson 831bbce008 commented trust levels 2001-07-23 17:55:37 +00:00
Andreas Gustafsson 6fa7a247a1 don't use C++ comment syntax 2001-07-23 17:37:48 +00:00
Andreas Gustafsson 4eb5d27bae issue a more specific error message when there is a problem with the
root hints file (such as it not existing)
2001-07-23 17:31:33 +00:00
Andreas Gustafsson 2fa436a15c 80 columns 2001-07-23 16:58:18 +00:00
Andreas Gustafsson b0232b4bbe sloppy formatting 2001-07-23 16:32:40 +00:00
Mark Andrews 90228beed3 regen 2001-07-23 07:03:10 +00:00
Mark Andrews af898946e4 osf 4.0 support 2001-07-23 07:02:48 +00:00
Mark Andrews 3ef9b0c10f regen 2001-07-23 05:22:22 +00:00
Mark Andrews a1a421899e BSDI 4.2 support [RT #1529] 2001-07-23 05:21:56 +00:00
Danny Mayer dfca19a1aa Added LIBISCCFG_EXTERNAL_DATA macros to 3 declarations 2001-07-23 05:00:44 +00:00
Danny Mayer 1bf250400e Make file for bindevt 2001-07-23 03:04:32 +00:00
Danny Mayer 2b9debd520 syslog for win32 2001-07-23 03:03:22 +00:00
Danny Mayer 10266aa76f Conditionalize declaration of LIBLWRES_EXTERNAL_DATA 2001-07-23 03:01:56 +00:00
Danny Mayer 80b67b3a4f Modified to initialize conf path at run time and avoid redeclaring h_errno 2001-07-23 02:58:22 +00:00
Danny Mayer 18829cc203 win32 setup Batch file 2001-07-23 02:54:01 +00:00
Brian Wellington a5b9c2b208 943. [bug] The server could crash when receiving a command
via rndc if the configuration file listed only
			nonexistent keys in the controls statement.  [RT #1530]
2001-07-23 01:01:31 +00:00
Mark Andrews 06596f0ec7 wrog prototype for getnetbyaddr_r under glibc 2001-07-23 00:48:51 +00:00
Andreas Gustafsson 33654a83db const correctness [RT #1011] 2001-07-23 00:23:30 +00:00
Mark Andrews 75b3a86c57 regen 2001-07-23 00:05:04 +00:00
Mark Andrews ab35bf14bd osf getnetent_r changes 2001-07-23 00:04:28 +00:00
Brian Wellington 70d1a774f4 regen 2001-07-22 21:25:46 +00:00
Brian Wellington f1ef2614aa enable the varargs hack on BSDI 4.2 2001-07-22 21:25:32 +00:00
Brian Wellington a81f09d395 oops, host does look at the 'bytes' field. Pass sevent->n, which should be
correct.
2001-07-22 18:09:46 +00:00
Brian Wellington cfbf09786e The received() function doesn't look at the 'bytes' parameter when doing
an zone transfer, so just pass 0.  [RT #1524]
2001-07-22 18:06:40 +00:00
Danny Mayer 72dc0b0824 Added make file 2001-07-22 06:30:18 +00:00
Danny Mayer 1186577d90 Updated scripts and added make file 2001-07-22 06:28:49 +00:00
Danny Mayer e056d87076 Updated scripts 2001-07-22 06:26:47 +00:00
Danny Mayer 138fc7eeba Created makefile 2001-07-22 06:25:34 +00:00
Danny Mayer 22a0a2c432 Fixed variable declarations 2001-07-22 06:22:28 +00:00
Danny Mayer 71542eaf04 Added make file and updated scripts 2001-07-22 06:21:05 +00:00
Danny Mayer 0b98125d1e Added Scripts 2001-07-22 06:16:13 +00:00
Danny Mayer 396ed5ef23 Added new binaries to list 2001-07-22 06:13:57 +00:00
Danny Mayer 1c810e5739 Added Make file 2001-07-22 06:13:20 +00:00
Danny Mayer 45847c3039 Bug fix to support win32 2001-07-22 06:11:44 +00:00
Danny Mayer 63169f237f Make file 2001-07-22 06:10:54 +00:00
Danny Mayer a9c57ae221 Bug fixes to support win32 2001-07-22 06:09:42 +00:00
Danny Mayer 70f500794d Script updates and additions 2001-07-22 06:08:39 +00:00
Danny Mayer 78346b6670 Added make file 2001-07-22 06:04:35 +00:00
Danny Mayer 7d4e4d4984 Minor bug fixes to support win32 2001-07-22 06:03:06 +00:00
Danny Mayer 1fac3f0e70 Build Script modifications 2001-07-22 06:01:52 +00:00
Danny Mayer caae0e0b44 Standards Cleanup and changes to rndc.conf instructions 2001-07-22 05:55:40 +00:00
Danny Mayer 6ceca14e5e Additional Macros 2001-07-22 05:54:22 +00:00
Andreas Gustafsson 3a7d69494d spacing 2001-07-20 17:30:19 +00:00
Andreas Gustafsson f92422fcc5 coding style 2001-07-20 16:55:58 +00:00
Mark Andrews 4bec81d388 regen 2001-07-20 11:06:19 +00:00
Mark Andrews 2da0b7dfbd 942. [port] libbind: GETNETBYADDR_ADDR_T was not correctly
defined on some platforms.
2001-07-20 11:06:05 +00:00
Danny Mayer d3243476c2 Initial win32 release 2001-07-20 05:56:22 +00:00
Danny Mayer aeb08e7086 Initial win32 release 2001-07-20 05:10:29 +00:00
Andreas Gustafsson 21e0def4b2 added FAQ entry about root server A records not being returned
as additional data
2001-07-19 22:11:10 +00:00
Andreas Gustafsson 3cb3f6867c Portions Copyright (C) 2001 Internet Software Consortium. 2001-07-19 17:38:51 +00:00
Andreas Gustafsson 7faa8f35e5 coding style 2001-07-19 17:13:54 +00:00
Andreas Gustafsson 001d1ceec6 coding style 2001-07-19 16:59:32 +00:00
Brian Wellington 1cb6e8cbe4 941. [bug] The configuration checker crashed if a slave
zone didn't contain a masters statement. [RT #1514]
2001-07-19 16:29:14 +00:00
Danny Mayer 4645932212 Added support for win32 2001-07-19 06:35:09 +00:00
Danny Mayer 7a665402a5 Added support for win32. 2001-07-19 06:26:12 +00:00
Danny Mayer 9dec38d1ee Added support for win32 2001-07-19 06:22:52 +00:00
Danny Mayer 3316814025 Added support for win32 2001-07-19 06:11:31 +00:00
Mark Andrews 2033e30585 940. [bug] Double zone locking failure on error path. [RT #1510] 2001-07-19 05:08:03 +00:00
Mark Andrews 3489d64bde "or equals" rather than "not equals" 2001-07-19 04:57:46 +00:00
Danny Mayer 7181165333 Add support for win32 2001-07-19 02:50:12 +00:00
Andreas Gustafsson 68a8db1efb ISC-style copyright 2001-07-18 23:33:04 +00:00
Andreas Gustafsson 9ae5c33fe4 added rule for generating RTF; added missing dependencies on .dsl files 2001-07-18 22:02:54 +00:00
Brian Wellington 3dba71207f The greeting and stats were printed in some cases when +short was used. 2001-07-18 21:03:54 +00:00
Andreas Gustafsson 7ecaf69507 need <lwres/platform.h> 2001-07-18 20:14:52 +00:00
Andreas Gustafsson 9bf5a10fbd coding style 2001-07-18 18:42:48 +00:00
Andreas Gustafsson 9fe9eb9ee5 coding style; removed unused static function 2001-07-18 18:42:13 +00:00
Andreas Gustafsson 3abbed44db coding style 2001-07-18 18:29:59 +00:00
Mark Andrews aac5a28f1f LIBISCCFG_EXTERNAL_DATA should be in lwres/platform.h 2001-07-18 08:15:23 +00:00
Mark Andrews e50706867a regen 2001-07-18 08:12:58 +00:00
Mark Andrews 073719ac71 LWRES_PLATFORM_USEDECLSPEC 2001-07-18 07:30:27 +00:00
Mark Andrews 964a14ad23 regen 2001-07-18 05:50:18 +00:00
Mark Andrews f24920422d we don't need to know about rlim_t 2001-07-18 05:49:13 +00:00
Mark Andrews 9c1a4265ad regen 2001-07-18 05:42:07 +00:00
Mark Andrews 51bb20b0d7 report the results of "checking for socket length type..." 2001-07-18 05:40:52 +00:00
Mark Andrews 29493eee3d paths.h 2001-07-18 05:13:27 +00:00
Danny Mayer 01c7700793 Install Support for BIND 9 on win32 2001-07-18 05:04:46 +00:00
Danny Mayer 8423783bd0 Initial win32 support 2001-07-18 03:43:18 +00:00
Danny Mayer 5236050c0f Add support for win32 2001-07-18 02:37:15 +00:00
Andreas Gustafsson d2a7d7e26c all failures opening /dev/random were reported as
'I/O error'.  This was highly confusing.
2001-07-18 01:31:13 +00:00
Andreas Gustafsson 6ef891fbe9 disable threads on *-hp-hpux10* 2001-07-17 23:45:19 +00:00
Brian Wellington 8b8812c41d regen 2001-07-17 22:29:27 +00:00
Brian Wellington 5aaf43590f lib/bind doesn't actually use linux/capability.h or sys/prctl.h 2001-07-17 22:29:16 +00:00
Brian Wellington e980502db4 939. [port] Add the --disable-linux-caps option to configure for
systems that manage capabilities outside of named.
			[RT #1503]
2001-07-17 22:26:43 +00:00
Andreas Gustafsson 6443201354 added --- 9.2.0b1 released --- tag 2001-07-17 22:09:47 +00:00
Andreas Gustafsson 07dcadc6e2 update_copyrights 2001-07-17 20:29:36 +00:00
Andreas Gustafsson f9d068745d adjusted copyright years of new files derived from old ones 2001-07-17 20:29:04 +00:00
Andreas Gustafsson e78c072771 removed removed files 2001-07-17 20:10:49 +00:00
Andreas Gustafsson e4757e3daf merge_copyrights 2001-07-17 20:04:57 +00:00
Andreas Gustafsson b6a370c37f regenerated man pages 2001-07-17 19:48:57 +00:00
Andreas Gustafsson 1dfa282056 update for 9.2.0b1 2001-07-17 19:21:43 +00:00
Andreas Gustafsson 4954945531 coding style 2001-07-17 19:17:02 +00:00
Mark Andrews 15903c9f3a memory allocation failure would cause INSIST(ctx->stats[i].gets == 0) failure.
use consistant arguement name for MEMRECORD
2001-07-17 10:02:46 +00:00
Mark Andrews ecd1addb86 938. [placeholder] 2001-07-17 07:34:21 +00:00
Danny Mayer fd0ec4bfad Initial win32 Release 2001-07-17 06:13:59 +00:00
Danny Mayer c84e68d720 Initial win32 Release 2001-07-17 06:10:24 +00:00
Mark Andrews 0176adc7c5 937. [bug] A race when shutting down a zone could trigger a
INSIST() failure. [RT #1034]
2001-07-17 02:49:44 +00:00
Andreas Gustafsson 6529f9ffb6 use isc_file_ischdiridempotent() 2001-07-16 18:33:30 +00:00
Andreas Gustafsson ba35e9924e added isc_file_ischdiridempotent() 2001-07-16 18:33:02 +00:00
Andreas Gustafsson cda18e7813 don't throw an assertion failure when cfg_check_namedconf() returns
failure
2001-07-16 17:53:22 +00:00
Andreas Gustafsson ea20115e34 clarified 936. 2001-07-16 17:41:05 +00:00
Andreas Gustafsson 7dd2d8b1ff use isc_file_absolutepath() 2001-07-16 17:32:49 +00:00
Andreas Gustafsson a548a3c20c added unix implementation of isc_file_absolutepath() 2001-07-16 17:26:44 +00:00
Andreas Gustafsson dee69dd3aa renamed isc_file_getabsolutepath() to isc_file_absolutepath()
to be more consistent with established naming conventions
2001-07-16 17:22:17 +00:00
Andreas Gustafsson 5827c8e0a6 80 columns 2001-07-16 17:15:08 +00:00
Andreas Gustafsson 83018d6cf9 removed spurious empty line inserted in previous commit 2001-07-16 17:14:38 +00:00
Mark Andrews ac1f768061 regen 2001-07-16 14:43:49 +00:00
Mark Andrews 47dfc702de glibc getserv*_r() 2001-07-16 14:43:40 +00:00
Brian Wellington cabaeca9ae missing assertion checks 2001-07-16 09:48:05 +00:00
Mark Andrews e88c4a4917 regen 2001-07-16 08:38:06 +00:00
Mark Andrews 101e6adfe0 glibc getproto*_r() 2001-07-16 08:37:45 +00:00
Mark Andrews fd61f111a8 regen 2001-07-16 08:05:43 +00:00
Mark Andrews 16b5ecc6f3 glibc getnet*_r() 2001-07-16 08:05:20 +00:00
Danny Mayer 1336066b63 Added support for Win32 2001-07-16 05:48:16 +00:00
Mark Andrews acee1ae35c glibc prototypes 2001-07-16 05:23:28 +00:00
Mark Andrews 7c7c717788 HOST_R_SETANSWER 2001-07-16 05:17:13 +00:00
Mark Andrews 8c8d889d10 glibc prototypes for gethost*_r(). 2001-07-16 05:16:33 +00:00
Danny Mayer f621719829 Added support for Win32 2001-07-16 05:10:30 +00:00
Mark Andrews 5deaff6621 regen 2001-07-16 05:02:58 +00:00
Mark Andrews 3024819c2e int -> size_t 2001-07-16 05:01:27 +00:00
Mark Andrews 692d2a9c7e regen 2001-07-16 04:55:31 +00:00
Mark Andrews 4ccd54f3af in 2001-07-16 04:54:23 +00:00
Mark Andrews 42f476472a regen 2001-07-16 04:24:38 +00:00
Mark Andrews 6cf48dea49 glibc's gethost*_r() is different to anyone elses. 2001-07-16 04:23:00 +00:00
Andreas Gustafsson 9115330256 coding style 2001-07-16 04:09:45 +00:00
Danny Mayer 3bd4083e48 Updates to support win32 2001-07-16 03:52:14 +00:00
Mark Andrews f73c8fffee pullup from BIND 8:
1242.   [bug]           inet_pton() failed to reject octal input.
2001-07-16 03:31:45 +00:00
Mark Andrews bddfe77128 936. [func] Warn when non dotted decimal quad's are used.
[RT #1084]

 935.   [bug]           inet_pton failed to reject leading zeros.
2001-07-16 03:06:53 +00:00
Mark Andrews bd12be6e88 spelling 2001-07-15 23:29:48 +00:00
Andreas Gustafsson aa0dc8d920 934. [port] Deal with systems where accept() spuriously returns
ECONNRESET.
2001-07-15 22:50:24 +00:00
Mark Andrews 9ec26a1862 regen 2001-07-15 22:23:13 +00:00
Mark Andrews 159b83ff18 unixware [RT #1496] 2001-07-15 22:20:43 +00:00
Mark Andrews 5c2551db52 regen 2001-07-14 23:16:50 +00:00
Mark Andrews 47d48791fc 933. [bug] configure failed doing libbind on platforms not
supported by BIND 8.  [RT #1496]
2001-07-14 23:14:09 +00:00
Brian Wellington 72568ce039 lower the priority of debug messages printed at shutdown 2001-07-14 20:17:48 +00:00
Brian Wellington b9be76ed89 lwres.h wasn't installed [RT #1494] 2001-07-14 18:41:33 +00:00
Brian Wellington f46b1b2329 regen 2001-07-14 18:30:02 +00:00
Brian Wellington fb173de212 fix the xml 2001-07-14 18:29:10 +00:00
Brian Wellington 18a71db562 document 'send' and 'show' 2001-07-14 18:26:38 +00:00
Andreas Gustafsson aff4e48c82 edited 2001-07-14 01:55:39 +00:00
Andreas Gustafsson be745062fd regenerated 2001-07-14 01:55:21 +00:00
Andreas Gustafsson 86a733bc74 use ISC_PLATFORM_RLIMITTYPE unconditionally, eliminating
the need for the HAVE_RLIM_T macro
2001-07-14 01:55:08 +00:00
Andreas Gustafsson e576c7352e regenerated 2001-07-14 01:45:11 +00:00
Andreas Gustafsson caa736a754 provide more defaults for cross compiling;
don't run checks to determine the type of rlim_cur if we already know that
rlim_t is defined
2001-07-14 01:44:44 +00:00
Brian Wellington 3a76f8d5e8 regen 2001-07-14 00:59:26 +00:00
Brian Wellington a0ad323da3 look for openssl in /usr/local/ssl 2001-07-14 00:59:11 +00:00
555 changed files with 32185 additions and 11407 deletions
+475 -7
View File
@@ -1,3 +1,471 @@
--- 9.2.0-P2 released ---
2203. [security] Query id generation was cryptographically weak.
[RT # 16915]
--- 9.2.0-P1 released ---
1243. [bug] It was possible to trigger a REQUIRE() in
dns_message_findtype(). [RT #2659]
--- 9.2.0 released ---
1134. [bug] Multithreaded servers could deadlock in ferror()
when reloading zone files. [RT #1951, #1998]
1133. [bug] IN6_IS_ADDR_LOOPBACK was not portably defined on
platforms without IN6_IS_ADDR_LOOPBACK. [RT #2106]
--- 9.2.0rc10 released ---
1131. [bug] The match-destinations view option did not work with
IPv6 destinations. [RT #2073, #2074]
1130. [bug] Log messages reporting an out-of-range serial number
did not include the out-of-range number but the
following token. [RT #2076]
1129. [bug] Multithreaded servers could crash under heavy
resolution load due to a race condition. [RT #2018]
1126. [bug] The server could access a freed event if shut
down while a client start event was pending
delivery. [RT #2061]
1121. [bug] The server could attempt to access a NULL zone
table if shut down while resolving.
[RT #1587, #2054]
1120. [bug] Errors in options were not fatal. [RT #2002]
1118. [bug] On multithreaded servers, a race condition
could cause an assertion failure in resolver.c
during resolver shutdown. [RT #2029]
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]
1116. [bug] Setting transfers in a server clause, transfers-in,
or transfers-per-ns to a value greater than
2147483647 disabled transfers. [RT #2002]
1114. [port] Ignore more accept() errors. [RT #2021]
1113. [bug] The allow-update-forwarding option was ignored
when specified in a view. [RT #2014]
1111. [bug] Multithreaded servers could deadlock processing
recursive queries due to a locking hieararchy
violation in adb.c. [RT #2017]
--- 9.2.0rc9 released ---
1107. [bug] nsupdate could catch an assertion failure if an
invalid domain name was given as the argument to
the "zone" command.
1106. [bug] After seeing an out of range TTL, nsupdate would
treat all TTLs as out of range. [RT #2001]
1104. [bug] Invalid arguments to the transfer-format option
could cause an assertion failure. [RT #1995]
1103. [port] OpenUNIX 8 support (ifconfig.sh). [RT #1970]
1102. [doc] Note that query logging is enabled by directing the
queries category to a channel.
1101. [bug] Array bounds read error in lwres_gai_strerror.
1100. [bug] libbind: DNSSEC key ids were computed incorrectly.
1099. [cleanup] libbind: defining REPORT_ERRORS in lib/bind/dst caused
compile time errors.
1098. [bug] libbind: HMAC-MD5 key files are now mode 0600.
1093. [doc] libbind: miscellaneous nroff fixes.
1092. [bug] libbind: get*by*() failed to check if res_init() had
been called.
1091. [bug] libbind: misplaced va_end().
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 weren't suppressing duplicate
addresses.
1088. [port] libbind: MPE/iX C.70 (incomplete)
1087. [bug] libbind: struct __res_state too large on 64 bit arch.
1086. [port] libbind: sunos: old sprintf.
1085. [port] libbind: solaris: sys_nerr and sys_errlist do not
exist when compiling in 64 bit mode.
1084. [cleanup] libbind: gai_strerror() rewritten.
1083. [bug] The default control channel listened on the
wildcard adress, not the loopback as documented.
[RT #1975]
1082. [bug] The -g option to named incorrectly caused logging
to be sent to syslog in addition to stderr.
[RT #1974]
1078. [bug] We failed to correct bad tv_usec values in one case.
[RT #1966]
1076. [bug] A badly defined global key could trigger an assertion
on load/reload if views were used. [RT #1947]
1075. [bug] Out-of-range network prefix lengths were not
reported. [RT #1954]
1074. [bug] Running out of memory in dump_rdataset() could
cause an assertion failure. [RT #1946]
--- 9.2.0rc8 released ---
1068. [bug] errno could be overwritten by catgets(). [RT #1921]
1066. [bug] Provide a thread safe wrapper for strerror().
[RT #1689]
1064. [bug] Do not shut down active network interfaces if we
are unable to scan the interface list. [RT #1921]
1063. [bug] libbind: "make install" was failing on IRIX.
1062. [bug] If the control channel listener socket was shut
down before server exit, the listener object could
be freed twice. [RT #1916]
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]
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.
1056. [bug] Rndc could catch an assertion failure on SIGINT due
to an uninitialized variable. [RT #1908]
--- 9.2.0rc7 released ---
1054. [bug] On Win32, cfg_categories and cfg_modules need to be
exported from the libisccfg DLL.
1053. [bug] Dig did not increase its timeout when receiving
AXFRs unless the +time option was used. [RT #1904]
1052. [bug] Journals were not being created in binary mode
resulting in "journal format not recognized" error
under Win32. [RT #1889]
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]
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]
1048. [bug] Servers built with -DISC_MEM_USE_INTERNAL_MALLOC=1
didn't work.
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]
1046. [bug] The help message for the --with-openssl configure
option was inaccurate. [RT #1880]
1045. [bug] It was possible to skip saving glue for a nameserver
for a stub zone.
1044. [bug] Specifying allow-transfer, notify-source, or
notify-source-v6 in a stub zone was not treated
as an error.
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]
1042. [bug] The "config" logging category did not work properly.
[RT #1873]
1041. [bug] Dig/host/nslookup could catch an assertion failure
on SIGINT due to an uninitialized variable. [RT #1867]
1040. [bug] Multiple listen-on-v6 options with different ports
were not accepted. [RT #1875]
1039. [bug] Negative responses with CNAMEs in the answer section
were cached incorrectly. [RT #1862]
1038. [bug] In servers configured with a tkey-domain option,
TKEY queries with an owner name other than the root
could cause an assertion failure. [RT #1866, #1869]
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.
--- 9.2.0rc6 released ---
1031. [bug] libbind.a: isc__gettimeofday() infinite recursion.
[RT #1858]
1030. [bug] On systems with no resolv.conf file, nsupdate
exited with an error rather than defaulting
to using the loopback address. [RT #1836]
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]
1028. [bug] On Win32, dig/host/nslookup looked for resolv.conf
in the wrong directory. [RT #1833]
1027. [bug] RRs having the reserved type 0 should be rejected.
[RT #1471]
1026. [port] Recognize OpenUNIX 8 in config.guess. [RT #1830]
1022. [bug] Don't report empty root hints as "extra data".
[RT #1802]
--- 9.2.0rc5 released ---
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.
1020. [bug] IXFR log messages did not distinguish between
true IXFRs, AXFR-style IXFRs, and mere version
polls. [RT #1811]
1019. [bug] The value of the lame-ttl option was limited to 18000
seconds, not 1800 seconds as documented. [RT #1803]
1018. [bug] The default log channel was not always initialized
correctly. [RT #1813]
1017. [bug] When specifying TSIG keys to dig and nsupdate using
the -k option, they must be HMAC-MD5 keys. [RT #1810]
1016. [bug] Slave zones with no backup file were re-transferred
on every server reload.
1015. [bug] Log channels that had a "versions" option but no
"size" option failed to create numbered log
files. [RT #1783]
--- 9.2.0rc4 released ---
1013. [bug] It was possible to cancel a query twice when marking
a server as bogus or by having a blackhole acl.
[RT #1776]
1010. [bug] The server could attempt to execute a command channel
command after initiating server shutdown, causing
an assertion failure. [RT #1766]
1006. [bug] If a KEY RR was found missing during DNSSEC validation,
an assertion failure could subsequently be triggered
in the resolver. [RT #1763]
1005. [bug] Don't copy nonzero RCODEs from request to response.
[RT #1765]
1004. [port] Deal with recvfrom() returning EHOSTDOWN. [RT #1770]
1002. [bug] When reporting an unknown class name in named.conf,
including the file name and line number. [RT #1759]
1001. [bug] win32 socket code doio_recv was not catching a
WSACONNRESET error when a client was timing out
the request and closing its socket. [RT #1745]
1000. [bug] BIND 8 compatibility: accept "HESIOD" as an alias
for class "HS". [RT #1759]
--- 9.2.0rc3 released ---
990. [bug] The rndc-confgen man page was not installed.
989. [bug] Report filename if $INCLUDE fails for file related
errors. [RT #1736]
987. [bug] "dig -help" didn't show "+[no]stats".
986. [bug] "dig +noall" failed to clear stats and command
printing.
984. [bug] Multithreading should be enabled by default on
Solaris 2.7 and newer, but it wasn't.
--- 9.2.0rc2 released ---
980. [bug] Incoming zone transfers restarting after an error
could trigger an assertion failure. [RT #1692]
978. [bug] dns_db_attachversion() had an invalid REQUIRE()
condition.
977. [bug] Improve "not at top of zone" error message.
975. [bug] "max-cache-size default;" as a view option
caused an assertion failure.
974. [bug] "max-cache-size unlimited;" as a global option
was not accepted.
973. [bug] Failed to log the question name when logging:
"bad zone transfer request: non-authoritative zone
(NOTAUTH)".
972. [bug] The file modification time code in zone.c was using the
wrong epoch. [RT #1667]
968. [bug] On win32, the isc_time_now() function was unnecessarily
calling strtime(). [RT #1671]
967. [bug] On win32, the link for bindevt was not including the
required resource file to enable the event viewer
to interpret the error messages in the event log,
[RT #1668]
966. [placeholder]
965. [bug] Including data other than root server NS and A
records in the root hint file could cause a rbtdb
node reference leak. [RT #1581, #1618]
964. [func] Warn if data other than root server NS and A records
are found in the root hint file. [RT #1581, #1618]
963. [bug] Bad ISC_LANG_ENDDECLS. [RT #1645]
962. [bug] libbind: bad "#undef", don't attempt to install
non-existant nlist.h. [RT #1640]
961. [bug] Tried to use a IPV6 feature when ISC_PLATFORM_HAVEIPV6
was not defined. [RT #1482]
960. [port] liblwres failed to build on systems with support for
getrrsetbyname() in the OS. [RT #1592]
959. [port] On FreeBSD, determine the number of CPUs by calling
sysctlbyname(). [RT #1584]
958. [port] ssize_t is not available on all platforms. [RT #1607]
957. [bug] sys/select.h inclusion was broken on older platforms.
[RT #1607]
956. [bug] ns_g_autorndcfile changed to ns_g_keyfile
in named/win32/os.c due to code changes in
change #953. win32 .make file for rndc-confgen
updated to add include path for os.h header.
--- 9.2.0rc1 released ---
955. [bug] When using views, the zone's class was not being
inherited from the view's class. [RT #1583]
954. [bug] When requesting AXFRs or IXFRs using dig, host, or
nslookup, the RD bit should not be set as zone
transfers are inherently nonrecursive. [RT #1575]
953. [func] The /var/run/named.key file from change #843
has been replaced by /etc/rndc.key. Both
named and rndc will look for this file and use
it to configure a default control channel key
if not already configured using a different
method (rndc.conf / controls). Unlike
named.key, rndc.key is not created automatically;
it must be created by manually running
"rndc-confgen -a".
952. [bug] The server required manual intervention to serve the
affected zones if it died between creating a journal
and committing the first change to it.
951. [bug] CFLAGS was not passed to the linker when
linking some of the test programs under
bin/tests. [RT #1555].
950. [bug] Explicit TTLs did not properly override $TTL
due to a bug in change 834. [RT #1558]
949. [bug] host was unable to print records larger than 512
bytes. [RT #1557]
--- 9.2.0b2 released ---
948. [port] Integrated support for building on Windows NT /
Windows 2000.
947. [bug] dns_rdata_soa_t had a badly named element "mname" which
was really the RNAME field from RFC1035. To avoid
confusion and silent errors that would occur it the
"origin" and "mname" elements were given their correct
names "mname" and "rname" respectively, the "mname"
element is renamed to "contact".
946. [cleanup] doc/misc/options is now machine-generated from the
configuration parser syntax tables, and therefore
more likely to be correct.
945. [func] Add the new view-specific options
"match-destinations" and "match-recursive-only".
944. [func] Check for expired signatures on load.
943. [bug] The server could crash when receiving a command
via rndc if the configuration file listed only
nonexistent keys in the controls statement. [RT #1530]
942. [port] libbind: GETNETBYADDR_ADDR_T was not correctly
defined on some platforms.
941. [bug] The configuration checker crashed if a slave
zone didn't contain a masters statement. [RT #1514]
940. [bug] Double zone locking failure on error path. [RT #1510]
--- 9.2.0b1 released ---
939. [port] Add the --disable-linux-caps option to configure for
systems that manage capabilities outside of named.
[RT #1503]
938. [placeholder]
937. [bug] A race when shutting down a zone could trigger a
INSIST() failure. [RT #1034]
936. [func] Warn about IPv4 addresses that are not complete
dotted quads. [RT #1084]
935. [bug] inet_pton failed to reject leading zeros.
934. [port] Deal with systems where accept() spuriously returns
ECONNRESET.
933. [bug] configure failed doing libbind on platforms not
supported by BIND 8. [RT #1496]
--- 9.2.0a3 released ---
@@ -159,7 +627,7 @@
TSIG key. [RT #1392]
887. [port] Detect broken compilers that can't call static
functions from inline functions. [RT #1212]
functions from inline functions. [RT #1212]
866. [func] Close debug only file channels when debug is set to
zero. [RT #1246]
@@ -203,13 +671,13 @@
856. [func] Allow partial rdatasets to be returned in answer and
authority sections to help non-TCP capable clients
recover from truncation. [RT #1301]
recover from truncation. [RT #1301]
855. [bug] Stop spurious "using RFC 1035 TTL semantics" warnings.
854. [bug] The config parser didn't properly handle config
options that were specified in units of time other
than seconds. [RT #1372]
than seconds. [RT #1372]
853. [bug] configure_view_acl() failed to detach existing acls.
[RT #1374]
@@ -1253,7 +1721,7 @@
reload. [RT #410]
528. [func] The ISC_LIST_XXXX macros now perform sanity checks
on their arguements. ISC_LIST_XXXXUNSAFE can be use
on their arguments. ISC_LIST_XXXXUNSAFE can be use
to skip the checks however use with caution.
527. [func] New function dns_rdata_clone().
@@ -2264,7 +2732,7 @@
242. [cleanup] fixed incorrect warning about auth-nxdomain usage.
241. [cleanup] nscount and soacount have been removed from the
dns_master_*() arguement lists.
dns_master_*() argument lists.
240. [func] databases now come in three flavours: zone, cache
and stub.
@@ -2480,10 +2948,10 @@
188. [func] Log a warning message when an incoming zone transfer
contains out-of-zone data.
187. [func] isc_ratelimter_enqueue() has an additional arguement
187. [func] isc_ratelimter_enqueue() has an additional argument
'task'.
186. [func] dns_request_getresponse() has an additional arguement
186. [func] dns_request_getresponse() has an additional argument
'preserve_order'.
185. [bug] Fixed up handling of ISC_MEMCLUSTER_LEGACY. Several
+15
View File
@@ -12,3 +12,18 @@ 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.
Portions Copyright (C) 1996-2001 Nominum, 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 NOMINUM DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
View File
+109 -7
View File
@@ -65,12 +65,13 @@ A: This is often caused by TXT records with missing close quotes. Check that
all TXT records containing quoted strings have both open and close quotes.
Q: How do I produce a usable core file from a multithreaded named
on Linux?
Q: How do I produce a usable core file from a multithreaded named on Linux?
A: Apply the kernel patch found in bind9/linux/coredump-patch and rebuild
the kernel. This patch causes multithreaded programs to dump the correct
thread.
A: If the Linux kernel is 2.4.7 or newer, multithreaded core dumps
are usable (that is, the correct thread is dumped). Otherwise, if using
a 2.2 kernel, apply the kernel patch found in contrib/linux/coredump-patch
and rebuild the kernel. This patch will cause multithreaded programs to dump
the correct thread.
Q: How do I restrict people from looking up the server version?
@@ -144,7 +145,7 @@ Q: I keep getting log messages like the following. Why?
Jun 21 12:00:00.000 client 10.0.0.1#1234: update denied
Someone is trying to update your DNS data using the RFC2136 Dynamic
A: Someone is trying to update your DNS data using the RFC2136 Dynamic
Update protocol. Windows 2000 machines have a habit of sending dynamic
update requests to DNS servers without being specifically configured to
do so. If the update requests are coming from a Windows 2000 machine,
@@ -156,10 +157,111 @@ Q: I see a log message like the following. Why?
couldn't open pid file '/var/run/named.pid': Permission denied
You are most likely running named as a non-root user, and that user
A: You are most likely running named as a non-root user, and that user
does not have permission to write in /var/run. The common ways of
fixing this are to create a /var/run/named directory owned by the named
user and set pid-file to "/var/run/named/named.pid", or set
pid-file to "named.pid", which will put the file in the directory
specified by the directory option (which, in this case, must be writable
by the named user).
Q: When I do a "dig . ns", many of the A records for the root
servers are missing. Why?
A: This is normal and harmless. It is a somewhat confusing side effect
of the way BIND 9 does RFC2181 trust ranking and of the efforts BIND 9
makes to avoid promoting glue into answers.
When BIND 9 first starts up and primes its cache, it receives the root
server addresses as additional data in an authoritative response from
a root server, and these records are eligible for inclusion as
additional data in responses. Subsequently it receives a subset of
the root server addresses as additional data in a non-authoritative
(referral) response from a root server. This causes the addresses to
now be considered non-authoritative (glue) data, which is not eligible
for inclusion in responses.
The server does have a complete set of root server addresses cached
at all times, it just may not include all of them as additional data,
depending on whether they were last received as answers or as glue.
You can always look up the addresses with explicit queries like
"dig a.root-servers.net A".
Q: Zone transfers from my BIND 9 master to my Windows 2000 slave
fail. Why?
A: This may be caused by a bug in the Windows 2000 DNS server where
DNS messages larger than 16K are not handled properly. This can be
worked around by setting the option "transfer-format one-answer;".
Also check whether your zone contains domain names with embedded
spaces or other special characters, like "John\032Doe\213s\032Computer",
since such names have been known to cause Windows 2000 slaves to
incorrectly reject the zone.
Q: Why don't my zones reload when I do an "rndc reload" or SIGHUP?
A: A zone can be updated either by editing zone files and reloading
the server or by dynamic update, but not both. If you have enabled
dynamic update for a zone using the "allow-update" option, you are not
supposed to edit the zone file by hand, and the server will not
attempt to reload it.
Q: I can query the nameserver from the nameserver but not from other
machines. Why?
A: This is usually the result of the firewall configuration stopping
the queries and / or the replies.
Q: How can I make a server a slave for both an internal and
an external view at the same time? When I tried, both views
on the slave were transfered from the same view on the master.
A: You will need to give the master and slave multiple IP addresses and
use those to make sure you reach the correct view on the other machine.
e.g.
Master: 10.0.1.1 (internal), 10.0.1.2 (external, IP alias)
internal:
match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
notify-source 10.0.1.1;
transfer-source 10.0.1.1;
query-source 10.0.1.1;
external:
match-clients { any; };
recursion no; // don't offer recursion to the world
notify-source 10.0.1.2;
transfer-source 10.0.1.2;
query-source 10.0.1.2;
Slave: 10.0.1.3 (internal), 10.0.1.4 (external, IP alias)
internal:
match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
notify-source 10.0.1.3;
transfer-source 10.0.1.3;
query-source 10.0.1.3;
external:
match-clients { any; };
recursion no; // don't offer recursion to the world
notify-source 10.0.1.4;
transfer-source 10.0.1.4;
query-source 10.0.1.4;
You put the external address on the alias so that all the other
dns clients on these boxes see the internal view by default.
Q: When I try to use rndc, I get the error message "network
unreachable" or "connection refused", even though I know named is
running.
A: You probably have "default-server localhost" in /etc/rndc.conf,
your /etc/hosts or DNS maps "localhost" to both the IPv4 loopback
address 127.0.0.1 and the IPv6 loopback address ::1, and you do not
have IPv6 fully operational. Change the "default-server localhost" to
"default-server 127.0.0.1" to make sure rdnc does not try to contact
the name server using IPv6.
+23 -9
View File
@@ -1,4 +1,3 @@
BIND 9
BIND version 9 is a major rewrite of nearly all aspects of the
@@ -42,13 +41,13 @@ BIND 9
U.S. Defense Information Systems Agency
USENIX Association
Stichting NLnet - NLnet Foundation
Nominum, Inc.
BIND 9.2.0
BIND 9.2.0a3
BIND 9.2.0a3 is an alpha release of BIND 9.2.0.
It includes a number of new features over 9.1, including:
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
"max-cache-size" option.
@@ -85,6 +84,10 @@ BIND 9.2.0a3
This does not apply to the use of TSIG, which does not
require OpenSSL.
- The source distribution now builds on Windows NT/2000.
See win32utils/readme1.txt and win32utils/win32-build.txt
for details.
This distribution also includes a new lightweight stub
resolver library and associated resolver daemon that fully
support forward and reverse lookups of both IPv4 and IPv6
@@ -131,6 +134,7 @@ BIND 9.2.0a3
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
Building
BIND 9 currently requires a UNIX system with an ANSI C compiler,
@@ -142,21 +146,28 @@ Building
COMPAQ Tru64 UNIX 4.0D
COMPAQ Tru64 UNIX 5 (with IPv6 EAK)
FreeBSD 3.4-STABLE, 3.5, 4.0, 4.1
HP-UX 11
HP-UX 11.x, x < 11
IRIX64 6.5
NetBSD 1.5
Red Hat Linux 6.0, 6.1, 6.2, 7.0
Solaris 2.6, 7, 8
Windows NT/W2K
HP-UX 11.11 is not yet supported due to its incompatible
SIOCGLIFCONF ioctl.
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
AIX 5L
SuSE Linux 7.0
Slackware Linux 7.x
Slackware Linux 7.x, 8.0
Red Hat Linux 7.1
OpenBSD 2.6, 2.8, -current
OpenBSD 2.6, 2.8, 2.9
UnixWare 7.1.1
HP-UX 10.20
BSD/OS 4.2
OpenUNIX 8
To build, just
@@ -188,7 +199,8 @@ Building
To build shared libraries, specify "--with-libtool" on the
configure command line.
To build with DNSSEC support, you must have OpenSSL 0.9.5a
For the server to support DNSSEC, you need to build it
with crypto support. You must have OpenSSL 0.9.5a
or newer installed and specify "--with-openssl" on the
configure command line. If OpenSSL is installed under
a nonstandard prefix, you can tell configure where to
@@ -237,6 +249,7 @@ Building
on your system, and some require Perl; see bin/tests/system/README
for details.
Documentation
The BIND 9 Administrator Reference Manual is included with the
@@ -254,6 +267,7 @@ Documentation
Bug Reports and Mailing Lists
Bugs reports should be sent to
bind9-bugs@isc.org
+10 -4
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: acconfig.h,v 1.34 2001/07/04 00:34:40 bwelling Exp $ */
/* $Id: acconfig.h,v 1.35.2.1 2001/10/22 23:28:07 gson Exp $ */
/***
*** This file is not to be included by any public header files, because
@@ -23,6 +23,9 @@
***/
@TOP@
/* 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 */
#undef _SOCKADDR_LEN
@@ -44,6 +47,9 @@
/* define if sysconf() is available */
#undef HAVE_SYSCONF
/* define if sysctlbyname() is available */
#undef HAVE_SYSCTLBYNAME
/* define if catgets() is available */
#undef HAVE_CATGETS
@@ -84,9 +90,6 @@
/* define if getc_unlocked() is available */
#undef HAVE_GETCUNLOCKED
/* define if rlim_t is defined via sys/types.h or sys/resource.h */
#undef HAVE_RLIM_T
/* Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
#undef SHUTUP_SPUTAUX
#ifdef SHUTUP_SPUTAUX
@@ -123,3 +126,6 @@ int sigwait(const unsigned int *set, int *sig);
/* define if pthread_attr_getstacksize() is available */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/* define if you have strerror in the C library. */
#undef HAVE_STRERROR
+2 -2
View File
@@ -13,7 +13,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.14 2001/06/29 01:04:53 gson Exp $
# $Id: Makefile.in,v 1.15 2001/07/27 17:45:27 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -25,7 +25,7 @@ top_srcdir = @top_srcdir@
CINCLUDES = ${DNS_INCLUDES} ${ISCCFG_INCLUDES} ${ISC_INCLUDES}
CDEFINES = -DNS_SYSCONFDIR=\"${sysconfdir}\"
CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_OPENSSL_LIBS@ @DNS_GSSAPI_LIBS@
+12 -9
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkconf.c,v 1.9 2001/06/29 01:04:55 gson Exp $ */
/* $Id: named-checkconf.c,v 1.12 2001/07/27 17:45:26 gson Exp $ */
#include <config.h>
@@ -36,7 +36,7 @@
#include "check-tool.h"
isc_log_t *log = NULL;
isc_log_t *logc = NULL;
static void
usage(void) {
@@ -60,7 +60,7 @@ directory_callback(const char *clausename, cfg_obj_t *obj, void *arg) {
directory = cfg_obj_asstring(obj);
result = isc_dir_chdir(directory);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(obj, log, ISC_LOG_ERROR,
cfg_obj_log(obj, logc, ISC_LOG_ERROR,
"change directory to '%s' failed: %s",
directory, isc_result_totext(result));
return (result);
@@ -77,6 +77,7 @@ main(int argc, char **argv) {
const char *conffile = NULL;
isc_mem_t *mctx = NULL;
isc_result_t result;
int exit_status = 0;
while ((c = isc_commandline_parse(argc, argv, "t:v")) != EOF) {
switch (c) {
@@ -107,13 +108,13 @@ main(int argc, char **argv) {
if (argv[isc_commandline_index] != NULL)
conffile = argv[isc_commandline_index];
if (conffile == NULL || conffile[0] == '\0')
conffile = NS_SYSCONFDIR "/named.conf";
conffile = NAMED_CONFFILE;
RUNTIME_CHECK(isc_mem_create(0, 0, &mctx) == ISC_R_SUCCESS);
RUNTIME_CHECK(setup_logging(mctx, &log) == ISC_R_SUCCESS);
RUNTIME_CHECK(setup_logging(mctx, &logc) == ISC_R_SUCCESS);
RUNTIME_CHECK(cfg_parser_create(mctx, log, &parser) == ISC_R_SUCCESS);
RUNTIME_CHECK(cfg_parser_create(mctx, logc, &parser) == ISC_R_SUCCESS);
cfg_parser_setcallback(parser, directory_callback, NULL);
@@ -121,15 +122,17 @@ main(int argc, char **argv) {
ISC_R_SUCCESS)
exit(1);
RUNTIME_CHECK(cfg_check_namedconf(config, log, mctx) == ISC_R_SUCCESS);
result = cfg_check_namedconf(config, logc, mctx);
if (result != ISC_R_SUCCESS)
exit_status = 1;
cfg_obj_destroy(parser, &config);
cfg_parser_destroy(&parser);
isc_log_destroy(&log);
isc_log_destroy(&logc);
isc_mem_destroy(&mctx);
return (0);
return (exit_status);
}
+111
View File
@@ -0,0 +1,111 @@
# Microsoft Developer Studio Project File - Name="namedcheckconf" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=namedcheckconf - 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 "namedcheckconf.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 "namedcheckconf.mak" CFG="namedcheckconf - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "namedcheckconf - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "namedcheckconf - 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)" == "namedcheckconf - 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 /MT /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
# 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 ws2_32.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"
# 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 /MTd /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"
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 ws2_32.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
# Begin Target
# Name "namedcheckconf - Win32 Release"
# Name "namedcheckconf - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\check-tool.c"
# End Source File
# Begin Source File
SOURCE="..\named-checkconf.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE="..\check-tool.h"
# End Source File
# 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
+29
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: "namedcheckconf"=".\namedcheckconf.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+216
View File
@@ -0,0 +1,216 @@
# Microsoft Developer Studio Generated NMAKE File, Based on namedcheckconf.dsp
!IF "$(CFG)" == ""
CFG=namedcheckconf - Win32 Debug
!MESSAGE No configuration specified. Defaulting to namedcheckconf - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "namedcheckconf - Win32 Release" && "$(CFG)" != "namedcheckconf - 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 "namedcheckconf.mak" CFG="namedcheckconf - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "namedcheckconf - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "namedcheckconf - 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)" == "namedcheckconf - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
ALL : "..\..\..\Build\Release\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 "$(OUTDIR)\namedcheckconf.bsc"
-@erase "..\..\..\Build\Release\named-checkconf.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__STDC__" /FR"$(INTDIR)\\" /Fp"$(INTDIR)\namedcheckconf.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /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)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("namedcheckconf.dep")
!INCLUDE "namedcheckconf.dep"
!ELSE
!MESSAGE Warning: cannot find "namedcheckconf.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "namedcheckconf - Win32 Release" || "$(CFG)" == "namedcheckconf - Win32 Debug"
SOURCE="..\check-tool.c"
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
SOURCE="..\named-checkconf.c"
"$(INTDIR)\named-checkconf.obj" "$(INTDIR)\named-checkconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
+111
View File
@@ -0,0 +1,111 @@
# Microsoft Developer Studio Project File - Name="namedcheckzone" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=namedcheckzone - 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 "namedcheckzone.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 "namedcheckzone.mak" CFG="namedcheckzone - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "namedcheckzone - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "namedcheckzone - 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)" == "namedcheckzone - 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 /MT /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
# 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 ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named-checkzone.exe"
!ELSEIF "$(CFG)" == "namedcheckzone - Win32 Debug"
# 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 /MTd /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"
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 ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/named-checkzone.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "namedcheckzone - Win32 Release"
# Name "namedcheckzone - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\check-tool.c"
# End Source File
# Begin Source File
SOURCE="..\named-checkzone.c"
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE="..\check-tool.h"
# End Source File
# 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
+29
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: "namedcheckzone"=".\namedcheckzone.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+216
View File
@@ -0,0 +1,216 @@
# Microsoft Developer Studio Generated NMAKE File, Based on namedcheckzone.dsp
!IF "$(CFG)" == ""
CFG=namedcheckzone - Win32 Debug
!MESSAGE No configuration specified. Defaulting to namedcheckzone - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "namedcheckzone - Win32 Release" && "$(CFG)" != "namedcheckzone - 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 "namedcheckzone.mak" CFG="namedcheckzone - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "namedcheckzone - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "namedcheckzone - 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)" == "namedcheckzone - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
# Begin Custom Macros
OutDir=.\Release
# End Custom Macros
ALL : "..\..\..\Build\Release\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 "$(OUTDIR)\namedcheckzone.bsc"
-@erase "..\..\..\Build\Release\named-checkzone.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /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) @<<
$(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/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"
"..\..\..\Build\Release\named-checkzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /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) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("namedcheckzone.dep")
!INCLUDE "namedcheckzone.dep"
!ELSE
!MESSAGE Warning: cannot find "namedcheckzone.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "namedcheckzone - Win32 Release" || "$(CFG)" == "namedcheckzone - Win32 Debug"
SOURCE="..\check-tool.c"
"$(INTDIR)\check-tool.obj" "$(INTDIR)\check-tool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
SOURCE="..\named-checkzone.c"
"$(INTDIR)\named-checkzone.obj" "$(INTDIR)\named-checkzone.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
+5 -3
View File
@@ -59,8 +59,9 @@ A typical invocation of \fBdig\fR looks like:
where:
.TP
\fBserver\fR
is the name or IP address of the name server to query. An IPv4
address can be provided in dotted-decimal notation. When the supplied
is the name or IP address of the name server to query. This can be an IPv4
address in dotted-decimal notation or an IPv6
address in colon-delimited notation. When the supplied
\fIserver\fR argument is a hostname,
\fBdig\fR resolves that name before querying that name
server. If no \fIserver\fR argument is provided,
@@ -317,7 +318,8 @@ should be applied to that query.
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 can be
supplied on the command line. Any global query options (except
the \fB+[no]cmd\fR option) can be
overridden by a query-specific set of query options. For example:
.sp
.nf
+43 -86
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.c,v 1.149 2001/07/01 23:47:49 bwelling Exp $ */
/* $Id: dig.c,v 1.157.2.3 2001/11/15 01:24:10 marka Exp $ */
#include <config.h>
#include <stdlib.h>
@@ -60,8 +60,6 @@ extern in_port_t port;
extern unsigned int timeout;
extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern char *rootspace[BUFSIZE];
extern isc_buffer_t rootbuf;
extern int sendcount;
extern int ndots;
extern int tries;
@@ -79,19 +77,16 @@ extern isc_boolean_t free_now;
dig_lookup_t *default_lookup = NULL;
extern isc_boolean_t debugging, memdebugging;
char *batchname = NULL;
FILE *batchfp = NULL;
char *argv0;
static char *batchname = NULL;
static FILE *batchfp = NULL;
static char *argv0;
char domainopt[DNS_NAME_MAXTEXT];
static char domainopt[DNS_NAME_MAXTEXT];
isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
static isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
nibble = ISC_FALSE, plusquest = ISC_FALSE, pluscomm = ISC_FALSE,
multiline = ISC_FALSE;
isc_uint16_t bufsize = 0;
isc_boolean_t forcecomment = ISC_FALSE;
static const char *opcodetext[] = {
"QUERY",
"IQUERY",
@@ -189,6 +184,7 @@ help(void) {
" +[no]answer (Control display of answer)\n"
" +[no]authority (Control display of authority)\n"
" +[no]additional (Control display of additional)\n"
" +[no]stats (Control display of statistics)\n"
" +[no]short (Disable everything except short\n"
" form of answer)\n"
" +[no]all (Set or clear all display flags)\n"
@@ -219,7 +215,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
result = isc_time_now(&now);
check_result(result, "isc_time_now");
if (query->lookup->stats) {
if (query->lookup->stats && !short_form) {
diff = isc_time_microdiff(&now, &query->time_sent);
printf(";; Query time: %ld msec\n", (long int)diff/1000);
printf(";; SERVER: %s(%s)\n", fromtext, query->servname);
@@ -255,8 +251,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
* XXX print_trying
*/
void
trying(int frmsize, char *frm, dig_lookup_t *lookup) {
UNUSED(frmsize);
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(frm);
UNUSED(lookup);
}
@@ -351,7 +346,6 @@ short_answer(dns_message_t *msg, dns_messagetextflag_t flags,
*/
isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
isc_boolean_t did_flag = ISC_FALSE;
isc_result_t result;
dns_messagetextflag_t flags;
isc_buffer_t *buf = NULL;
@@ -364,7 +358,8 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
style = &dns_master_style_debug;
if (query->lookup->cmdline[0] != 0) {
fputs(query->lookup->cmdline, stdout);
if (!short_form)
fputs(query->lookup->cmdline, stdout);
query->lookup->cmdline[0]=0;
}
debug("printmessage(%s %s %s)", headers ? "headers" : "noheaders",
@@ -397,34 +392,21 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
"id: %u\n",
opcodetext[msg->opcode], rcodetext[msg->rcode],
msg->id);
printf(";; flags: ");
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
printf("qr");
did_flag = ISC_TRUE;
}
if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0) {
printf("%saa", did_flag ? " " : "");
did_flag = ISC_TRUE; }
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
printf("%stc", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
printf("%srd", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0) {
printf("%sra", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0) {
printf("%sad", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
printf("%scd", did_flag ? " " : "");
did_flag = ISC_TRUE;
}
printf(";; flags:");
if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0)
printf(" qr");
if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0)
printf(" aa");
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0)
printf(" tc");
if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0)
printf(" rd");
if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0)
printf(" ra");
if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0)
printf(" ad");
if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0)
printf(" cd");
printf("; QUERY: %u, ANSWER: %u, "
"AUTHORITY: %u, ADDITIONAL: %u\n",
@@ -606,7 +588,7 @@ reorder_args(int argc, char *argv[]) {
}
static isc_uint32_t
parse_int(char *arg, const char *desc, isc_uint32_t max) {
parse_uint(char *arg, const char *desc, isc_uint32_t max) {
char *endp;
isc_uint32_t tmp;
@@ -670,6 +652,8 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->section_answer = state;
lookup->section_additional = state;
lookup->comments = state;
lookup->stats = state;
printcmd = state;
break;
case 'n': /* answer */
lookup->section_answer = state;
@@ -691,10 +675,8 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto need_value;
if (!state)
goto invalid_option;
lookup->udpsize = (isc_uint16_t) parse_int(value, "buffer size",
COMMSIZE);
if (lookup->udpsize <= 0)
lookup->udpsize = 0;
lookup->udpsize = (isc_uint16_t) parse_uint(value,
"buffer size", COMMSIZE);
if (lookup->udpsize > COMMSIZE)
lookup->udpsize = COMMSIZE;
break;
@@ -762,9 +744,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto need_value;
if (!state)
goto invalid_option;
ndots = parse_int(value, "ndots", MAXNDOTS);
if (ndots < 0)
ndots = 0;
ndots = parse_uint(value, "ndots", MAXNDOTS);
break;
case 's': /* nssearch */
lookup->ns_search_only = state;
@@ -777,7 +757,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
lookup->section_additional = ISC_FALSE;
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
lookup->rdtype = dns_rdatatype_soa;
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
short_form = ISC_TRUE;
}
@@ -813,6 +793,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
if (state) {
printcmd = ISC_FALSE;
lookup->section_additional = ISC_FALSE;
lookup->section_answer = ISC_TRUE;
lookup->section_authority = ISC_FALSE;
lookup->section_question = ISC_FALSE;
lookup->comments = ISC_FALSE;
@@ -837,8 +818,8 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto need_value;
if (!state)
goto invalid_option;
timeout = parse_int(value, "timeout", MAXTIMEOUT);
if (timeout <= 0)
timeout = parse_uint(value, "timeout", MAXTIMEOUT);
if (timeout == 0)
timeout = 1;
break;
case 'r':
@@ -861,9 +842,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto need_value;
if (!state)
goto invalid_option;
lookup->retries = parse_int(value, "retries",
lookup->retries = parse_uint(value, "retries",
MAXTRIES);
if (lookup->retries <= 0)
if (lookup->retries == 0)
lookup->retries = 1;
break;
default:
@@ -875,32 +856,9 @@ plus_option(char *option, isc_boolean_t is_batchfile,
}
break;
case 'v':
#ifdef DNS_OPT_NEWCODES_LIVE
switch (cmd[1]) {
default:
case 'c': /* vc, and default */
#endif /* DNS_OPT_NEWCODES_LIVE */
if (!is_batchfile)
lookup->tcp_mode = state;
break;
#ifdef DNS_OPT_NEWCODES_LIVE
case 'i': /* view */
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
strncpy(lookup->viewname, value, MXNAME);
break;
}
if (!is_batchfile)
lookup->tcp_mode = state;
break;
case 'z': /* zone */
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
strncpy(lookup->zonename, value, MXNAME);
break;
#endif /* DNS_OPT_NEWCODES_LIVE */
default:
invalid_option:
need_value:
@@ -990,7 +948,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
keyfile[sizeof(keyfile)-1]=0;
return (value_from_next);
case 'p':
port = (in_port_t) parse_int(value, "port number", MAXPORT);
port = (in_port_t) parse_uint(value, "port number", MAXPORT);
return (value_from_next);
case 't':
*open_type_class = ISC_FALSE;
@@ -1017,7 +975,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
(*lookup)->rdtype = dns_rdatatype_ixfr;
(*lookup)->rdtypeset = ISC_TRUE;
(*lookup)->ixfr_serial =
parse_int(&value[5], "serial number",
parse_uint(&value[5], "serial number",
MAXSERIAL);
(*lookup)->section_question = plusquest;
(*lookup)->comments = pluscomm;
@@ -1244,7 +1202,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
lookup->rdtype = dns_rdatatype_ixfr;
lookup->rdtypeset = ISC_TRUE;
lookup->ixfr_serial =
parse_int(&rv[0][5],
parse_uint(&rv[0][5],
"serial number",
MAXSERIAL);
lookup->section_question = plusquest;
@@ -1443,4 +1401,3 @@ main(int argc, char **argv) {
isc_app_finish();
return (exitcode);
}
+3 -2
View File
@@ -16,7 +16,7 @@
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.docbook,v 1.4 2001/07/12 16:29:11 bwelling Exp $ -->
<!-- $Id: dig.docbook,v 1.4.2.1 2001/11/08 00:15:23 gson Exp $ -->
<refentry>
@@ -480,7 +480,8 @@ should be applied to that query.
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 can be
supplied on the command line. Any global query options (except
the <option>+[no]cmd</option> option) can be
overridden by a query-specific set of query options. For example:
<programlisting>
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
+11 -6
View File
@@ -216,8 +216,9 @@ CLASS="CONSTANT"
></DT
><DD
><P
>is the name or IP address of the name server to query. An IPv4
address can be provided in dotted-decimal notation. When the supplied
>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
<TT
CLASS="PARAMETER"
><I
@@ -996,7 +997,11 @@ should be applied to that query.</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 can be
supplied on the command line. Any global query options (except
the <TT
CLASS="OPTION"
>+[no]cmd</TT
> option) can be
overridden by a query-specific set of query options. For example:
<PRE
CLASS="PROGRAMLISTING"
@@ -1045,7 +1050,7 @@ CLASS="LITERAL"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN337"
NAME="AEN338"
></A
><H2
>FILES</H2
@@ -1058,7 +1063,7 @@ CLASS="FILENAME"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN341"
NAME="AEN342"
></A
><H2
>SEE ALSO</H2
@@ -1092,7 +1097,7 @@ CLASS="CITETITLE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN354"
NAME="AEN355"
></A
><H2
>BUGS </H2
+403 -665
View File
File diff suppressed because it is too large Load Diff
+30 -48
View File
@@ -15,14 +15,12 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: host.c,v 1.66 2001/03/14 18:08:17 bwelling Exp $ */
/* $Id: host.c,v 1.76 2001/08/27 21:31:29 gson Exp $ */
#include <config.h>
#include <stdlib.h>
#include <limits.h>
extern int h_errno;
#include <isc/app.h>
#include <isc/commandline.h>
#include <isc/netaddr.h>
@@ -54,7 +52,7 @@ extern int tries;
extern char *progname;
extern isc_task_t *global_task;
isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static isc_boolean_t short_form = ISC_TRUE, listed_server = ISC_FALSE;
static const char *opcodetext[] = {
"QUERY",
@@ -240,50 +238,53 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
isc_sockaddr_format(from, fromtext, sizeof(fromtext));
result = isc_time_now(&now);
check_result(result, "isc_time_now");
diff = isc_time_microdiff(&now, &query->time_sent);
diff = (int) isc_time_microdiff(&now, &query->time_sent);
printf("Received %u bytes from %s in %d ms\n",
bytes, fromtext, diff/1000);
}
}
void
trying(int frmsize, char *frm, dig_lookup_t *lookup) {
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(lookup);
if (!short_form)
printf("Trying \"%.*s\"\n", frmsize, frm);
printf("Trying \"%s\"\n", frm);
}
static void
say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,
dig_query_t *query)
{
isc_buffer_t *b = NULL, *b2 = NULL;
isc_region_t r, r2;
isc_buffer_t *b = NULL;
char namestr[DNS_NAME_FORMATSIZE];
isc_region_t r;
isc_result_t result;
unsigned int bufsize = BUFSIZ;
result = isc_buffer_allocate(mctx, &b, BUFSIZE);
dns_name_format(name, namestr, sizeof(namestr));
retry:
result = isc_buffer_allocate(mctx, &b, bufsize);
check_result(result, "isc_buffer_allocate");
result = isc_buffer_allocate(mctx, &b2, BUFSIZE);
check_result(result, "isc_buffer_allocate");
result = dns_name_totext(name, ISC_FALSE, b);
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
result = dns_rdata_totext(rdata, NULL, b2);
result = dns_rdata_totext(rdata, NULL, b);
if (result == ISC_R_NOSPACE) {
isc_buffer_free(&b);
bufsize *= 2;
goto retry;
}
check_result(result, "dns_rdata_totext");
isc_buffer_usedregion(b2, &r2);
isc_buffer_usedregion(b, &r);
if (query->lookup->identify_previous_line) {
printf("Nameserver %s:\n\t",
query->servname);
}
printf("%.*s %s %.*s", (int)r.length, (char *)r.base,
msg, (int)r2.length, (char *)r2.base);
printf("%s %s %.*s", namestr,
msg, (int)r.length, (char *)r.base);
if (query->lookup->identify) {
printf(" on server %s", query->servname);
}
printf("\n");
isc_buffer_free(&b);
isc_buffer_free(&b2);
}
@@ -417,44 +418,25 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
dns_rdataset_t *opt, *tsig = NULL;
dns_name_t *tsigname;
isc_result_t result = ISC_R_SUCCESS;
isc_buffer_t *b = NULL;
isc_region_t r;
UNUSED(headers);
/*
* Special case. If we're doing an ns_search_only query, but we're
* still following pointers, haven't gotten to the real NS records
* yet, don't print anything.
*/
if (query->lookup->ns_search_only && !query->lookup->ns_search_only_leafnode)
return (ISC_R_SUCCESS);
if (listed_server) {
char sockstr[ISC_SOCKADDR_FORMATSIZE];
printf("Using domain server:\n");
printf("Name: %s\n", query->servname);
result = isc_buffer_allocate(mctx, &b, MXNAME);
check_result(result, "isc_buffer_allocate");
result = isc_sockaddr_totext(&query->sockaddr, b);
check_result(result, "isc_sockaddr_totext");
printf("Address: %.*s\n",
(int)isc_buffer_usedlength(b),
(char*)isc_buffer_base(b));
isc_buffer_free(&b);
isc_sockaddr_format(&query->sockaddr, sockstr,
sizeof(sockstr));
printf("Address: %s\n", sockstr);
printf("Aliases: \n\n");
}
if (msg->rcode != 0) {
result = isc_buffer_allocate(mctx, &b, MXNAME);
check_result(result, "isc_buffer_allocate");
result = dns_name_totext(query->lookup->name, ISC_FALSE,
b);
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
printf("Host %.*s not found: %d(%s)\n",
(int)r.length, (char *)r.base,
char namestr[DNS_NAME_FORMATSIZE];
dns_name_format(query->lookup->name, namestr, sizeof(namestr));
printf("Host %s not found: %d(%s)\n", namestr,
msg->rcode, rcodetext[msg->rcode]);
isc_buffer_free(&b);
return (ISC_R_SUCCESS);
}
if (!short_form) {
@@ -641,7 +623,7 @@ parse_args(isc_boolean_t is_batchfile, int argc, char **argv) {
break;
case 'C':
debug("showing all SOAs");
lookup->rdtype = dns_rdatatype_soa;
lookup->rdtype = dns_rdatatype_ns;
lookup->rdtypeset = ISC_TRUE;
lookup->rdclass = dns_rdataclass_in;
lookup->rdclassset = ISC_TRUE;
+15 -14
View File
@@ -15,16 +15,19 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.h,v 1.67 2001/02/17 01:05:30 gson Exp $ */
/* $Id: dig.h,v 1.71.2.3 2001/11/15 01:24:13 marka Exp $ */
#ifndef DIG_H
#define DIG_H
#include <dns/rdatalist.h>
#include <dst/dst.h>
#include <isc/boolean.h>
#include <isc/buffer.h>
#include <isc/bufferlist.h>
#include <isc/formatcheck.h>
#include <isc/lang.h>
#include <isc/list.h>
#include <isc/mem.h>
@@ -37,7 +40,9 @@
#define MXRD 32
#define BUFSIZE 512
#define COMMSIZE 0xffff
#define RESOLVCONF "/etc/resolv.conf"
#ifndef RESOLV_CONF
#define RESOLV_CONF "/etc/resolv.conf"
#endif
#define OUTPUTBUF 32767
#define MAXRRLIMIT 0xffffffff
#define MAXTIMEOUT 0xffff
@@ -82,8 +87,7 @@ struct dig_lookup {
pending, /* Pending a successful answer */
waiting_connect,
doing_xfr,
ns_search_only,
ns_search_only_leafnode,
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 */
@@ -92,8 +96,8 @@ struct dig_lookup {
aaonly,
adflag,
cdflag,
trace,
trace_root,
trace, /* dig +trace */
trace_root, /* initial query for either +trace or +nssearch */
tcp_mode,
nibble,
comments,
@@ -109,6 +113,7 @@ struct dig_lookup {
char textname[MXNAME]; /* Name we're going to be looking up */
char cmdline[MXNAME];
dns_rdatatype_t rdtype;
dns_rdatatype_t qrdtype;
dns_rdataclass_t rdclass;
isc_boolean_t rdtypeset;
isc_boolean_t rdclassset;
@@ -135,10 +140,6 @@ struct dig_lookup {
isc_uint32_t ixfr_serial;
isc_buffer_t rdatabuf;
char rdatastore[MXNAME];
#ifdef DNS_OPT_NEWCODES_LIVE
char zonename[MXNAME];
char viewname[MXNAME];
#endif /* DNS_OPT_NEWCODES_LIVE */
dst_context_t *tsigctx;
isc_buffer_t *querysig;
isc_uint32_t msgcounter;
@@ -188,13 +189,13 @@ void
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
isc_result_t
get_reverse(char reverse[MXNAME], char *value, isc_boolean_t nibble);
get_reverse(char *reverse, char *value, isc_boolean_t nibble);
void
fatal(const char *format, ...);
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
debug(const char *format, ...);
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
check_result(isc_result_t result, const char *msg);
@@ -264,7 +265,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query);
*/
void
trying(int frmsize, char *frm, dig_lookup_t *lookup);
trying(char *frm, dig_lookup_t *lookup);
void
dighost_shutdown(void);
+21 -37
View File
@@ -15,14 +15,12 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nslookup.c,v 1.82 2001/03/16 22:13:41 bwelling Exp $ */
/* $Id: nslookup.c,v 1.90 2001/07/30 01:09:14 marka Exp $ */
#include <config.h>
#include <stdlib.h>
extern int h_errno;
#include <isc/app.h>
#include <isc/buffer.h>
#include <isc/commandline.h>
@@ -49,14 +47,11 @@ extern ISC_LIST(dig_lookup_t) lookup_list;
extern ISC_LIST(dig_server_t) server_list;
extern ISC_LIST(dig_searchlist_t) search_list;
extern isc_boolean_t have_ipv6,
usesearch, trace, qr, debugging;
extern isc_boolean_t have_ipv6, usesearch, qr, debugging;
extern in_port_t port;
extern unsigned int timeout;
extern isc_mem_t *mctx;
extern dns_messageid_t id;
extern char *rootspace[BUFSIZE];
extern isc_buffer_t rootbuf;
extern int sendcount;
extern int ndots;
extern int tries;
@@ -66,24 +61,19 @@ extern isc_taskmgr_t *taskmgr;
extern isc_task_t *global_task;
extern char *progname;
isc_boolean_t short_form = ISC_TRUE, printcmd = ISC_TRUE,
filter = ISC_FALSE, showallsoa = ISC_FALSE,
tcpmode = ISC_FALSE, deprecation_msg = ISC_TRUE;
isc_uint16_t bufsize = 0;
isc_boolean_t identify = ISC_FALSE,
trace = ISC_FALSE, ns_search_only = ISC_FALSE,
forcecomment = ISC_FALSE, stats = ISC_TRUE,
static isc_boolean_t short_form = ISC_TRUE,
tcpmode = ISC_FALSE, deprecation_msg = ISC_TRUE,
identify = ISC_FALSE, stats = ISC_TRUE,
comments = ISC_TRUE, section_question = ISC_TRUE,
section_answer = ISC_TRUE, section_authority = ISC_TRUE,
section_additional = ISC_TRUE, recurse = ISC_TRUE,
aaonly = ISC_FALSE;
isc_boolean_t busy = ISC_FALSE, in_use = ISC_FALSE;
char defclass[MXRD] = "IN";
char deftype[MXRD] = "A";
isc_event_t *global_event = NULL;
static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
static isc_event_t *global_event = NULL;
char domainopt[DNS_NAME_MAXTEXT];
static char domainopt[DNS_NAME_MAXTEXT];
static const char *rcodetext[] = {
"NOERROR",
@@ -180,7 +170,7 @@ printsoa(dns_rdata_t *rdata) {
dns_name_format(&soa.origin, namebuf, sizeof(namebuf));
printf("\torigin = %s\n", namebuf);
dns_name_format(&soa.mname, namebuf, sizeof(namebuf));
dns_name_format(&soa.contact, namebuf, sizeof(namebuf));
printf("\tmail addr = %s\n", namebuf);
printf("\tserial = %u\n", soa.serial);
printf("\trefresh = %u\n", soa.refresh);
@@ -391,8 +381,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query)
}
void
trying(int frmsize, char *frm, dig_lookup_t *lookup) {
UNUSED(frmsize);
trying(char *frm, dig_lookup_t *lookup) {
UNUSED(frm);
UNUSED(lookup);
@@ -454,22 +443,17 @@ static void
show_settings(isc_boolean_t full, isc_boolean_t serv_only) {
dig_server_t *srv;
isc_sockaddr_t sockaddr;
isc_buffer_t *b = NULL;
isc_result_t result;
dig_searchlist_t *listent;
srv = ISC_LIST_HEAD(server_list);
while (srv != NULL) {
result = isc_buffer_allocate(mctx, &b, MXNAME);
check_result(result, "isc_buffer_allocate");
char sockstr[ISC_SOCKADDR_FORMATSIZE];
get_address(srv->servername, port, &sockaddr);
result = isc_sockaddr_totext(&sockaddr, b);
check_result(result, "isc_sockaddr_totext");
printf("Default server: %s\nAddress: %.*s\n",
srv->servername, (int)isc_buffer_usedlength(b),
(char*)isc_buffer_base(b));
isc_buffer_free(&b);
isc_sockaddr_format(&sockaddr, sockstr, sizeof(sockstr));
printf("Default server: %s\nAddress: %s\n",
srv->servername, sockstr);
if (!full)
return;
srv = ISC_LIST_NEXT(srv, link);
@@ -651,14 +635,14 @@ addlookup(char *opt) {
}
lookup->rdclass = rdclass;
lookup->rdclassset = ISC_TRUE;
lookup->trace = ISC_TF(trace || ns_search_only);
lookup->trace_root = trace;
lookup->ns_search_only = ns_search_only;
lookup->trace = ISC_FALSE;
lookup->trace_root = lookup->trace;
lookup->ns_search_only = ISC_FALSE;
lookup->identify = identify;
lookup->recurse = recurse;
lookup->aaonly = aaonly;
lookup->retries = tries;
lookup->udpsize = bufsize;
lookup->udpsize = 0;
lookup->comments = comments;
lookup->tcp_mode = tcpmode;
lookup->stats = stats;
+107
View File
@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="dig" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=dig - 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 "dig.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 "dig.mak" CFG="dig - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dig - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "dig - 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)" == "dig - 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 /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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
# 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 ws2_32.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"
# 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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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"
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 ws2_32.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
# Begin Target
# Name "dig - Win32 Release"
# Name "dig - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dig.c
# End Source File
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# 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
+29
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: "dig"=".\dig.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# Microsoft Developer Studio Generated NMAKE File, Based on dig.dsp
!IF "$(CFG)" == ""
CFG=dig - Win32 Debug
!MESSAGE No configuration specified. Defaulting to dig - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "dig - Win32 Release" && "$(CFG)" != "dig - 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 "dig.mak" CFG="dig - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "dig - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "dig - 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)" == "dig - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\dig.exe"
CLEAN :
-@erase "$(INTDIR)\dig.obj"
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dig.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\dig.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("dig.dep")
!INCLUDE "dig.dep"
!ELSE
!MESSAGE Warning: cannot find "dig.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "dig - Win32 Release" || "$(CFG)" == "dig - Win32 Debug"
SOURCE=..\dig.c
!IF "$(CFG)" == "dig - Win32 Release"
"$(INTDIR)\dig.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"$(INTDIR)\dig.obj" "$(INTDIR)\dig.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dighost.c
!IF "$(CFG)" == "dig - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "dig - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+107
View File
@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="host" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=host - 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 "host.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 "host.mak" CFG="host - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "host - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "host - 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)" == "host - 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 /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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
# 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 ws2_32.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"
# 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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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"
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 ws2_32.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
# Begin Target
# Name "host - Win32 Release"
# Name "host - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\dighost.c
# End Source File
# Begin Source File
SOURCE=..\host.c
# End Source File
# End Group
# 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
+29
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: "host"=".\host.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# Microsoft Developer Studio Generated NMAKE File, Based on host.dsp
!IF "$(CFG)" == ""
CFG=host - Win32 Debug
!MESSAGE No configuration specified. Defaulting to host - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "host - Win32 Release" && "$(CFG)" != "host - 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 "host.mak" CFG="host - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "host - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "host - 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)" == "host - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\host.exe"
CLEAN :
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\host.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\host.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\host.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("host.dep")
!INCLUDE "host.dep"
!ELSE
!MESSAGE Warning: cannot find "host.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "host - Win32 Release" || "$(CFG)" == "host - Win32 Debug"
SOURCE=..\dighost.c
!IF "$(CFG)" == "host - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\host.c
!IF "$(CFG)" == "host - Win32 Release"
"$(INTDIR)\host.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "host - Win32 Debug"
"$(INTDIR)\host.obj" "$(INTDIR)\host.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+107
View File
@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="nslookup" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=nslookup - 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 "nslookup.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 "nslookup.mak" CFG="nslookup - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nslookup - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nslookup - 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)" == "nslookup - 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 /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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
# 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 ws2_32.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"
# 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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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"
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 ws2_32.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
# Begin Target
# Name "nslookup - Win32 Release"
# Name "nslookup - Win32 Debug"
# Begin Group "Source Files"
# 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
# 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
+29
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: "nslookup"=".\nslookup.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# Microsoft Developer Studio Generated NMAKE File, Based on nslookup.dsp
!IF "$(CFG)" == ""
CFG=nslookup - Win32 Debug
!MESSAGE No configuration specified. Defaulting to nslookup - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "nslookup - Win32 Release" && "$(CFG)" != "nslookup - 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 "nslookup.mak" CFG="nslookup - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nslookup - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nslookup - 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)" == "nslookup - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\nslookup.exe"
CLEAN :
-@erase "$(INTDIR)\dighost.obj"
-@erase "$(INTDIR)\nslookup.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\nslookup.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nslookup.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
RSC=rc.exe
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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../include" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("nslookup.dep")
!INCLUDE "nslookup.dep"
!ELSE
!MESSAGE Warning: cannot find "nslookup.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "nslookup - Win32 Release" || "$(CFG)" == "nslookup - Win32 Debug"
SOURCE=..\dighost.c
!IF "$(CFG)" == "nslookup - Win32 Release"
"$(INTDIR)\dighost.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"$(INTDIR)\dighost.obj" "$(INTDIR)\dighost.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\nslookup.c
!IF "$(CFG)" == "nslookup - Win32 Release"
"$(INTDIR)\nslookup.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "nslookup - Win32 Debug"
"$(INTDIR)\nslookup.obj" "$(INTDIR)\nslookup.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+2 -3
View File
@@ -17,7 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-keygen.c,v 1.48 2001/07/10 18:53:09 bwelling Exp $ */
/* $Id: dnssec-keygen.c,v 1.48.2.1 2001/10/05 00:21:44 bwelling Exp $ */
#include <config.h>
@@ -40,7 +40,6 @@
#include <dns/secalg.h>
#include <dst/dst.h>
#include <dst/result.h>
#include "dnssectool.h"
@@ -342,7 +341,7 @@ main(int argc, char **argv) {
dns_name_format(name, namestr, sizeof namestr);
alg_format(alg, algstr, sizeof algstr);
fatal("failed to generate key %s/%s: %s\n",
namestr, algstr, dst_result_totext(ret));
namestr, algstr, isc_result_totext(ret));
exit(-1);
}
+1 -1
View File
@@ -80,7 +80,7 @@ The default is 3600 seconds.
Sets the debugging level.
.TP
\fBkey\fR
Lists the keys included in the keyset file. These keys
The list of keys to be included in the keyset file. These keys
are expressed in the form \fIKnnnn.+aaa+iiiii\fR
as generated by \fBdnssec-keygen\fR.
.SH "EXAMPLE"
+5 -3
View File
@@ -17,7 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-makekeyset.c,v 1.52 2001/05/10 06:04:56 bwelling Exp $ */
/* $Id: dnssec-makekeyset.c,v 1.52.2.1 2001/10/05 00:21:45 bwelling Exp $ */
#include <config.h>
@@ -214,7 +214,8 @@ main(int argc, char *argv[]) {
eflags |= ISC_ENTROPY_GOODONLY;
result = dst_lib_init(mctx, ectx, eflags);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst");
fatal("could not initialize dst: %s",
isc_result_totext(result));
isc_stdtime_get(&now);
@@ -252,7 +253,8 @@ main(int argc, char *argv[]) {
result = dst_key_fromnamedfile(argv[i], DST_TYPE_PUBLIC,
mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("error loading key from %s", argv[i]);
fatal("error loading key from %s: %s", argv[i],
isc_result_totext(result));
if (rdatalist.rdclass == 0)
rdatalist.rdclass = dst_key_class(key);
+2 -2
View File
@@ -16,7 +16,7 @@
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-makekeyset.docbook,v 1.2 2001/04/10 21:50:30 bwelling Exp $ -->
<!-- $Id: dnssec-makekeyset.docbook,v 1.2.2.1 2001/09/14 20:29:32 gson Exp $ -->
<refentry>
<refentryinfo>
@@ -166,7 +166,7 @@
<term>key</term>
<listitem>
<para>
Lists the keys included in the keyset file. These keys
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>
+1 -1
View File
@@ -281,7 +281,7 @@ CLASS="REPLACEABLE"
>key</DT
><DD
><P
> Lists the keys included in the keyset file. These keys
> The list of keys to be included in the keyset file. These keys
are expressed in the form <TT
CLASS="FILENAME"
>Knnnn.+aaa+iiiii</TT
+3 -2
View File
@@ -17,7 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-signkey.c,v 1.50 2001/05/10 06:04:57 bwelling Exp $ */
/* $Id: dnssec-signkey.c,v 1.50.2.1 2001/10/05 00:21:46 bwelling Exp $ */
#include <config.h>
@@ -247,7 +247,8 @@ main(int argc, char *argv[]) {
eflags |= ISC_ENTROPY_GOODONLY;
result = dst_lib_init(mctx, ectx, eflags);
if (result != ISC_R_SUCCESS)
fatal("could not initialize dst");
fatal("could not initialize dst: %s",
isc_result_totext(result));
isc_stdtime_get(&now);
+7 -4
View File
@@ -17,7 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-signzone.c,v 1.138 2001/05/10 06:04:58 bwelling Exp $ */
/* $Id: dnssec-signzone.c,v 1.139.2.1 2001/10/05 00:21:48 bwelling Exp $ */
#include <config.h>
@@ -100,7 +100,7 @@ static isc_entropy_t *ectx = NULL;
static dns_ttl_t zonettl;
static FILE *fp;
static char *tempfile = NULL;
static const dns_master_style_t *masterstyle = &dns_master_style_explicitttl;
static const dns_master_style_t *masterstyle;
static unsigned int nsigned = 0, nretained = 0, ndropped = 0;
static unsigned int nverified = 0, nverifyfailed = 0;
static const char *directory;
@@ -491,7 +491,8 @@ hasnullkey(dns_rdataset_t *rdataset) {
result = dns_dnssec_keyfromrdata(dns_rootname,
&rdata, mctx, &key);
if (result != ISC_R_SUCCESS)
fatal("could not convert KEY into internal format");
fatal("could not convert KEY into internal format: %s",
isc_result_totext(result));
if (dst_key_isnullkey(key))
found = ISC_TRUE;
dst_key_free(&key);
@@ -1513,6 +1514,7 @@ main(int argc, char *argv[]) {
dns_rdataclass_t rdclass;
isc_textregion_t r;
isc_task_t **tasks = NULL;
masterstyle = &dns_master_style_explicitttl;
check_result(isc_app_start(), "isc_app_start");
@@ -1683,7 +1685,8 @@ main(int argc, char *argv[]) {
DST_TYPE_PRIVATE,
mctx, &newkey);
if (result != ISC_R_SUCCESS)
fatal("cannot load key %s", argv[i]);
fatal("cannot load key %s: %s", argv[i],
isc_result_totext(result));
key = ISC_LIST_HEAD(keylist);
while (key != NULL) {
+16 -7
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.c,v 1.30 2001/06/22 17:05:54 tale Exp $ */
/* $Id: dnssectool.c,v 1.31.2.1 2001/09/06 00:14:15 gson Exp $ */
#include <config.h>
@@ -23,7 +23,6 @@
#include <isc/buffer.h>
#include <isc/entropy.h>
#include <isc/keyboard.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
@@ -126,7 +125,7 @@ key_format(const dst_key_t *key, char *cp, unsigned int size) {
char algstr[DNS_NAME_FORMATSIZE];
dns_name_format(dst_key_name(key), namestr, sizeof namestr);
alg_format(dst_key_alg(key), algstr, sizeof algstr);
alg_format((dns_secalg_t) dst_key_alg(key), algstr, sizeof algstr);
snprintf(cp, size, "%s/%s/%d", namestr, algstr, dst_key_id(key));
}
@@ -202,13 +201,23 @@ cleanup_logging(isc_log_t **logp) {
void
setup_entropy(isc_mem_t *mctx, const char *randomfile, isc_entropy_t **ectx) {
isc_result_t result;
int usekeyboard = ISC_ENTROPY_KEYBOARDMAYBE;
result = isc_entropy_create(mctx, ectx);
if (result != ISC_R_SUCCESS)
fatal("could not create entropy object");
REQUIRE(ectx != NULL);
if (*ectx == NULL) {
result = isc_entropy_create(mctx, ectx);
if (result != ISC_R_SUCCESS)
fatal("could not create entropy object");
}
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
usekeyboard = ISC_ENTROPY_KEYBOARDYES;
randomfile = NULL;
}
result = isc_entropy_usebestsource(*ectx, &source, randomfile,
ISC_ENTROPY_KEYBOARDMAYBE);
usekeyboard);
if (result != ISC_R_SUCCESS)
fatal("could not initialize entropy source: %s",
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssectool.h,v 1.14 2001/03/31 02:12:26 bwelling Exp $ */
/* $Id: dnssectool.h,v 1.15 2001/08/08 22:54:16 gson Exp $ */
#ifndef DNSSECTOOL_H
#define DNSSECTOOL_H 1
@@ -37,7 +37,7 @@ void
check_result(isc_result_t result, const char *message);
void
vbprintf(int level, const char *fmt, ...);
vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
void
type_format(const dns_rdatatype_t type, char *cp, unsigned int size);
+107
View File
@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="keygen" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=keygen - 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 "keygen.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 "keygen.mak" CFG="keygen - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "keygen - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "keygen - 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)" == "keygen - 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 /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-keygen.exe"
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
# 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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keygen.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "keygen - Win32 Release"
# Name "keygen - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\dnssec-keygen.c"
# End Source File
# Begin Source File
SOURCE=..\dnssectool.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
+29
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: "keygen"=".\keygen.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# Microsoft Developer Studio Generated NMAKE File, Based on keygen.dsp
!IF "$(CFG)" == ""
CFG=keygen - Win32 Debug
!MESSAGE No configuration specified. Defaulting to keygen - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "keygen - Win32 Release" && "$(CFG)" != "keygen - 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 "keygen.mak" CFG="keygen - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "keygen - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "keygen - 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)" == "keygen - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\dnssec-keygen.exe"
CLEAN :
-@erase "$(INTDIR)\dnssec-keygen.obj"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-keygen.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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) @<<
$(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)\keygen.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-keygen.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-keygen.exe"
LINK32_OBJS= \
"$(INTDIR)\dnssec-keygen.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Release\dnssec-keygen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\dnssec-keygen.exe" "$(OUTDIR)\keygen.bsc"
CLEAN :
-@erase "$(INTDIR)\dnssec-keygen.obj"
-@erase "$(INTDIR)\dnssec-keygen.sbr"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\dnssectool.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dnssec-keygen.pdb"
-@erase "$(OUTDIR)\keygen.bsc"
-@erase "..\..\..\Build\Debug\dnssec-keygen.exe"
-@erase "..\..\..\Build\Debug\dnssec-keygen.ilk"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)\keygen.bsc"
BSC32_SBRS= \
"$(INTDIR)\dnssec-keygen.sbr" \
"$(INTDIR)\dnssectool.sbr"
"$(OUTDIR)\keygen.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-keygen.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-keygen.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dnssec-keygen.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Debug\dnssec-keygen.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("keygen.dep")
!INCLUDE "keygen.dep"
!ELSE
!MESSAGE Warning: cannot find "keygen.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "keygen - Win32 Release" || "$(CFG)" == "keygen - Win32 Debug"
SOURCE="..\dnssec-keygen.c"
!IF "$(CFG)" == "keygen - Win32 Release"
"$(INTDIR)\dnssec-keygen.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
"$(INTDIR)\dnssec-keygen.obj" "$(INTDIR)\dnssec-keygen.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dnssectool.c
!IF "$(CFG)" == "keygen - Win32 Release"
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "keygen - Win32 Debug"
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+107
View File
@@ -0,0 +1,107 @@
# 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 /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../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
# Begin Source File
SOURCE=..\dnssectool.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
+29
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>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# 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"
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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!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
+103
View File
@@ -0,0 +1,103 @@
# Microsoft Developer Studio Project File - Name="nsupdate" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=nsupdate - 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 "nsupdate.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 "nsupdate.mak" CFG="nsupdate - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nsupdate - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nsupdate - 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)" == "nsupdate - 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 /MT /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" /I "../../../lib/dns/sec/dst/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
# 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 ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/lwres/win32/Release/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nsupdate.exe"
!ELSEIF "$(CFG)" == "nsupdate - 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 /MTd /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" /I "../../../lib/dns/sec/dst/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"
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 ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/lwres/win32/Debug/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nsupdate.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "nsupdate - Win32 Release"
# Name "nsupdate - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\nsupdate.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
+29
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: "nsupdate"=".\nsupdate.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+107
View File
@@ -0,0 +1,107 @@
# 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 /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../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
# Begin Source File
SOURCE=..\dnssectool.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
+29
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: "signkey"=".\signkey.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# 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"
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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!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"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)
<<
!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
+107
View File
@@ -0,0 +1,107 @@
# Microsoft Developer Studio Project File - Name="signzone" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=signzone - 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 "signzone.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 "signzone.mak" CFG="signzone - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "signzone - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "signzone - 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)" == "signzone - 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 /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/dnssec-signzone.exe"
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
# 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 /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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 ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signzone.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "signzone - Win32 Release"
# Name "signzone - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE="..\dnssec-signzone.c"
# End Source File
# Begin Source File
SOURCE=..\dnssectool.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
+29
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: "signzone"=".\signzone.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+227
View File
@@ -0,0 +1,227 @@
# Microsoft Developer Studio Generated NMAKE File, Based on signzone.dsp
!IF "$(CFG)" == ""
CFG=signzone - Win32 Debug
!MESSAGE No configuration specified. Defaulting to signzone - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "signzone - Win32 Release" && "$(CFG)" != "signzone - 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 "signzone.mak" CFG="signzone - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "signzone - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "signzone - 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)" == "signzone - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\dnssec-signzone.exe"
CLEAN :
-@erase "$(INTDIR)\dnssec-signzone.obj"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\dnssec-signzone.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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) @<<
$(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)\signzone.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-signzone.pdb" /machine:I386 /out:"../../../Build/Release/dnssec-signzone.exe"
LINK32_OBJS= \
"$(INTDIR)\dnssec-signzone.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Release\dnssec-signzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\dnssec-signzone.exe" "$(OUTDIR)\signzone.bsc"
CLEAN :
-@erase "$(INTDIR)\dnssec-signzone.obj"
-@erase "$(INTDIR)\dnssec-signzone.sbr"
-@erase "$(INTDIR)\dnssectool.obj"
-@erase "$(INTDIR)\dnssectool.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\dnssec-signzone.pdb"
-@erase "$(OUTDIR)\signzone.bsc"
-@erase "..\..\..\Build\Debug\dnssec-signzone.exe"
-@erase "..\..\..\Build\Debug\dnssec-signzone.ilk"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/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)\signzone.bsc"
BSC32_SBRS= \
"$(INTDIR)\dnssec-signzone.sbr" \
"$(INTDIR)\dnssectool.sbr"
"$(OUTDIR)\signzone.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-signzone.pdb" /debug /machine:I386 /out:"../../../Build/Debug/dnssec-signzone.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\dnssec-signzone.obj" \
"$(INTDIR)\dnssectool.obj"
"..\..\..\Build\Debug\dnssec-signzone.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("signzone.dep")
!INCLUDE "signzone.dep"
!ELSE
!MESSAGE Warning: cannot find "signzone.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "signzone - Win32 Release" || "$(CFG)" == "signzone - Win32 Debug"
SOURCE="..\dnssec-signzone.c"
!IF "$(CFG)" == "signzone - Win32 Release"
"$(INTDIR)\dnssec-signzone.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
"$(INTDIR)\dnssec-signzone.obj" "$(INTDIR)\dnssec-signzone.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\dnssectool.c
!IF "$(CFG)" == "signzone - Win32 Release"
"$(INTDIR)\dnssectool.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "signzone - Win32 Debug"
"$(INTDIR)\dnssectool.obj" "$(INTDIR)\dnssectool.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+185 -305
View File
@@ -15,10 +15,11 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.c,v 1.174 2001/06/28 02:39:46 marka Exp $ */
/* $Id: client.c,v 1.176.2.8.2.1 2007/08/12 23:33:23 marka Exp $ */
#include <config.h>
#include <isc/formatcheck.h>
#include <isc/mutex.h>
#include <isc/once.h>
#include <isc/print.h>
@@ -32,9 +33,6 @@
#include <dns/dispatch.h>
#include <dns/events.h>
#include <dns/message.h>
#ifdef DNS_OPT_NEWCODES
#include <dns/opt.h>
#endif /* DNS_OPT_NEWCODES */
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
@@ -175,113 +173,6 @@ static void client_start(isc_task_t *task, isc_event_t *event);
static void client_request(isc_task_t *task, isc_event_t *event);
static void ns_client_dumpmessage(ns_client_t *client, const char *reason);
/*
* Enter the inactive state.
*
* Requires:
* No requests are outstanding.
*/
static void
client_deactivate(ns_client_t *client) {
REQUIRE(NS_CLIENT_VALID(client));
if (client->interface)
ns_interface_detach(&client->interface);
INSIST(client->naccepts == 0);
INSIST(client->recursionquota == NULL);
if (client->tcplistener != NULL)
isc_socket_detach(&client->tcplistener);
if (client->udpsocket != NULL)
isc_socket_detach(&client->udpsocket);
if (client->dispatch != NULL)
dns_dispatch_detach(&client->dispatch);
client->attributes = 0;
client->mortal = ISC_FALSE;
LOCK(&client->manager->lock);
ISC_LIST_UNLINK(client->manager->active, client, link);
ISC_LIST_APPEND(client->manager->inactive, client, link);
client->list = &client->manager->inactive;
UNLOCK(&client->manager->lock);
}
/*
* Clean up a client object and free its memory.
* Requires:
* The client is in the inactive state.
*/
static void
client_free(ns_client_t *client) {
isc_boolean_t need_clientmgr_destroy = ISC_FALSE;
ns_clientmgr_t *manager = NULL;
REQUIRE(NS_CLIENT_VALID(client));
/*
* When "shuttingdown" is true, either the task has received
* its shutdown event or no shutdown event has ever been
* set up. Thus, we have no outstanding shutdown
* event at this point.
*/
REQUIRE(client->state == NS_CLIENTSTATE_INACTIVE);
INSIST(client->recursionquota == NULL);
ns_query_free(client);
isc_mem_put(client->mctx, client->recvbuf, RECV_BUFFER_SIZE);
isc_event_free((isc_event_t **)&client->sendevent);
isc_event_free((isc_event_t **)&client->recvevent);
isc_timer_detach(&client->timer);
if (client->tcpbuf != NULL)
isc_mem_put(client->mctx, client->tcpbuf, TCP_BUFFER_SIZE);
if (client->opt != NULL) {
INSIST(dns_rdataset_isassociated(client->opt));
dns_rdataset_disassociate(client->opt);
dns_message_puttemprdataset(client->message, &client->opt);
}
#ifdef DNS_OPT_NEWCODES
if (client->opt_zone != NULL) {
isc_mem_put(client->mctx, client->opt_zone,
sizeof(*client->opt_zone));
client->opt_zone = NULL;
}
if (client->opt_view != NULL)
isc_buffer_free(&client->opt_view);
#endif /* DNS_OPT_NEWCODES */
dns_message_destroy(&client->message);
if (client->manager != NULL) {
manager = client->manager;
LOCK(&manager->lock);
ISC_LIST_UNLINK(*client->list, client, link);
client->list = NULL;
if (manager->exiting &&
ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive))
need_clientmgr_destroy = ISC_TRUE;
UNLOCK(&manager->lock);
}
/*
* Detaching the task must be done after unlinking from
* the manager's lists because the manager accesses
* client->task.
*/
if (client->task != NULL)
isc_task_detach(&client->task);
CTRACE("free");
client->magic = 0;
isc_mem_put(client->mctx, client, sizeof *client);
if (need_clientmgr_destroy)
clientmgr_destroy(manager);
}
void
ns_client_settimeout(ns_client_t *client, unsigned int seconds) {
isc_result_t result;
@@ -308,6 +199,9 @@ ns_client_settimeout(ns_client_t *client, unsigned int seconds) {
*/
static isc_boolean_t
exit_check(ns_client_t *client) {
ns_clientmgr_t *locked_manager = NULL;
ns_clientmgr_t *destroy_manager = NULL;
REQUIRE(NS_CLIENT_VALID(client));
if (client->state <= client->newstate)
@@ -447,12 +341,47 @@ exit_check(ns_client_t *client) {
}
/* Recv cancel is complete. */
client_deactivate(client);
if (client->nctls > 0) {
/* Still waiting for control event to be delivered */
return (ISC_TRUE);
}
/* Deactivate the client. */
if (client->interface)
ns_interface_detach(&client->interface);
INSIST(client->naccepts == 0);
INSIST(client->recursionquota == NULL);
if (client->tcplistener != NULL)
isc_socket_detach(&client->tcplistener);
if (client->udpsocket != NULL)
isc_socket_detach(&client->udpsocket);
if (client->dispatch != NULL)
dns_dispatch_detach(&client->dispatch);
client->attributes = 0;
client->mortal = ISC_FALSE;
LOCK(&client->manager->lock);
/*
* Put the client on the inactive list. If we are aiming for
* the "freed" state, it will be removed from the inactive
* list shortly, and we need to keep the manager locked until
* that has been done, lest the manager decide to reactivate
* the dying client inbetween.
*/
locked_manager = client->manager;
ISC_LIST_UNLINK(*client->list, client, link);
ISC_LIST_APPEND(client->manager->inactive, client, link);
client->list = &client->manager->inactive;
client->state = NS_CLIENTSTATE_INACTIVE;
INSIST(client->recursionquota == NULL);
if (client->state == client->newstate) {
client->newstate = NS_CLIENTSTATE_MAX;
return (ISC_TRUE); /* We're done. */
goto unlock;
}
}
@@ -460,11 +389,71 @@ exit_check(ns_client_t *client) {
INSIST(client->newstate == NS_CLIENTSTATE_FREED);
/*
* We are trying to free the client.
*
* When "shuttingdown" is true, either the task has received
* its shutdown event or no shutdown event has ever been
* set up. Thus, we have no outstanding shutdown
* event at this point.
*/
client_free(client);
return (ISC_TRUE);
REQUIRE(client->state == NS_CLIENTSTATE_INACTIVE);
INSIST(client->recursionquota == NULL);
ns_query_free(client);
isc_mem_put(client->mctx, client->recvbuf, RECV_BUFFER_SIZE);
isc_event_free((isc_event_t **)&client->sendevent);
isc_event_free((isc_event_t **)&client->recvevent);
isc_timer_detach(&client->timer);
if (client->tcpbuf != NULL)
isc_mem_put(client->mctx, client->tcpbuf, TCP_BUFFER_SIZE);
if (client->opt != NULL) {
INSIST(dns_rdataset_isassociated(client->opt));
dns_rdataset_disassociate(client->opt);
dns_message_puttemprdataset(client->message, &client->opt);
}
dns_message_destroy(&client->message);
if (client->manager != NULL) {
ns_clientmgr_t *manager = client->manager;
if (locked_manager == NULL) {
LOCK(&manager->lock);
locked_manager = manager;
}
ISC_LIST_UNLINK(*client->list, client, link);
client->list = NULL;
if (manager->exiting &&
ISC_LIST_EMPTY(manager->active) &&
ISC_LIST_EMPTY(manager->inactive))
destroy_manager = manager;
}
/*
* Detaching the task must be done after unlinking from
* the manager's lists because the manager accesses
* client->task.
*/
if (client->task != NULL)
isc_task_detach(&client->task);
CTRACE("free");
client->magic = 0;
isc_mem_put(client->mctx, client, sizeof(*client));
goto unlock;
}
unlock:
if (locked_manager != NULL) {
UNLOCK(&locked_manager->lock);
locked_manager = NULL;
}
/*
* Only now is it safe to destroy the client manager (if needed),
* because we have accessed its lock for the last time.
*/
if (destroy_manager != NULL)
clientmgr_destroy(destroy_manager);
return (ISC_TRUE);
}
@@ -480,6 +469,12 @@ client_start(isc_task_t *task, isc_event_t *event) {
UNUSED(task);
INSIST(client->nctls == 1);
client->nctls--;
if (exit_check(client))
return;
if (TCP_CLIENT(client)) {
client_accept(client);
} else {
@@ -985,75 +980,6 @@ ns_client_error(ns_client_t *client, isc_result_t result) {
ns_client_send(client);
}
#ifdef DNS_OPT_NEWCODES
static isc_result_t
client_addoptattrs(ns_client_t *client, dns_rdata_t *rdata) {
isc_result_t result;
isc_buffer_t *zonebuf = NULL, *buf = NULL;
dns_optlist_t attrlist;
dns_optattr_t attrs[CLIENT_NUMATTRS];
dns_compress_t cctx;
int i, sizeneeded = 0;
result = dns_compress_init(&cctx, 0, client->mctx);
if (result != ISC_R_SUCCESS)
goto fail1;
dns_compress_setmethods(&cctx, DNS_COMPRESS_NONE);
attrlist.size=2;
attrlist.used=0;
attrlist.attrs=attrs;
for (i=0; i<CLIENT_NUMATTRS; i++) {
attrs[i].code = 0;
attrs[i].value.base = NULL;
attrs[i].value.length = 0;
}
if (client->opt_zone != NULL) {
result = isc_buffer_allocate(client->mctx, &zonebuf,
DNS_NAME_MAXWIRE);
if (result != ISC_R_SUCCESS)
goto fail2;
result = dns_name_towire(dns_fixedname_name(client->opt_zone),
&cctx, zonebuf);
if (result != ISC_R_SUCCESS)
goto fail2;
attrs[attrlist.used].code = DNS_OPTCODE_ZONE;
attrs[attrlist.used].value.base = isc_buffer_base(zonebuf);
attrs[attrlist.used].value.length =
isc_buffer_usedlength(zonebuf);
attrlist.used++;
sizeneeded += 4 + isc_buffer_usedlength(zonebuf);
}
if (client->opt_view != NULL) {
attrs[attrlist.used].code = DNS_OPTCODE_VIEW;
attrs[attrlist.used].value.base =
isc_buffer_base(client->opt_view);
attrs[attrlist.used].value.length =
isc_buffer_usedlength(client->opt_view);
attrlist.used++;
sizeneeded += 4 + isc_buffer_usedlength(client->opt_view);
}
if (sizeneeded == 0) {
result = ISC_R_SUCCESS;
goto fail2;
}
result = isc_buffer_allocate(client->mctx, &buf, sizeneeded+1);
if (result != ISC_R_SUCCESS)
goto fail2;
result = dns_opt_add(rdata, &attrlist, buf);
if (result != ISC_R_SUCCESS)
goto fail2;
dns_message_takebuffer(client->message, &buf);
fail2:
dns_compress_invalidate(&cctx);
fail1:
if (buf != NULL)
isc_buffer_free(&buf);
if (zonebuf != NULL)
isc_buffer_free(&zonebuf);
return (result);
}
#endif /* DNS_OPT_NEWCODES */
static inline isc_result_t
client_addopt(ns_client_t *client) {
dns_rdataset_t *rdataset;
@@ -1099,13 +1025,6 @@ client_addopt(ns_client_t *client) {
rdata->type = rdatalist->type;
rdata->flags = 0;
#ifdef DNS_OPT_NEWCODES
/*
* Set the attributes
*/
client_addoptattrs(client, rdata);
#endif /* DNS_OPT_NEWCODES */
ISC_LIST_INIT(rdatalist->rdata);
ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
dns_rdatalist_tordataset(rdatalist, rdataset);
@@ -1115,80 +1034,19 @@ client_addopt(ns_client_t *client) {
return (ISC_R_SUCCESS);
}
#ifdef DNS_OPT_NEWCODES
static void
client_getoptattrs(ns_client_t *client, dns_rdataset_t *opt) {
dns_optlist_t optlist;
dns_optattr_t optattr;
isc_result_t result, iresult;
isc_buffer_t zonebuf;
dns_decompress_t dctx;
static inline isc_boolean_t
allowed(isc_netaddr_t *addr, dns_acl_t *acl) {
int match;
isc_result_t result;
/* If an old set of opts are still around, free them. */
if (client->opt_zone != NULL) {
isc_mem_put(client->mctx, client->opt_zone,
sizeof(*client->opt_zone));
client->opt_zone = NULL;
}
if (client->opt_view != NULL)
isc_buffer_free(&client->opt_view);
/*
* If there are any options, extract them here
*/
optlist.size = 1;
optlist.used = 0;
optlist.next = 0;
optlist.attrs = &optattr;
do {
result = dns_opt_decodeall(&optlist, opt);
if (result == ISC_R_SUCCESS ||
result == DNS_R_MOREDATA) {
switch (optattr.code) {
case DNS_OPTCODE_ZONE:
dns_decompress_init(&dctx, 0,
DNS_DECOMPRESS_NONE);
client->opt_zone = isc_mem_get(
client->mctx,
sizeof(*client->opt_zone));
if (client->opt_zone == NULL)
goto zonefail1;
dns_fixedname_init(client->opt_zone);
isc_buffer_init(&zonebuf,
optattr.value.base,
optattr.value.length);
isc_buffer_add(&zonebuf,optattr.value.length);
isc_buffer_setactive(&zonebuf,
optattr.value.length);
iresult = dns_name_fromwire(
dns_fixedname_name(
client->opt_zone),
&zonebuf,
&dctx, ISC_FALSE,
NULL);
if (iresult != ISC_R_SUCCESS) {
dns_fixedname_invalidate(
client->opt_zone);
zonefail1:
dns_decompress_invalidate(&dctx);
}
break;
case DNS_OPTCODE_VIEW:
iresult = isc_buffer_allocate(client->mctx,
&client->opt_view,
optattr.value.length);
if (iresult != ISC_R_SUCCESS)
break;
isc_buffer_putmem(client->opt_view,
optattr.value.base,
optattr.value.length);
break;
}
}
} while (result == DNS_R_MOREDATA);
if (acl == NULL)
return (ISC_TRUE);
result = dns_acl_match(addr, NULL, acl, &ns_g_server->aclenv,
&match, NULL);
if (result == ISC_R_SUCCESS && match > 0)
return (ISC_TRUE);
return (ISC_FALSE);
}
#endif /* DNS_OPT_NEWCODES */
/*
* Handle an incoming request event from the socket (UDP case)
@@ -1206,9 +1064,11 @@ client_request(isc_task_t *task, isc_event_t *event) {
dns_rdataset_t *opt;
isc_boolean_t ra; /* Recursion available. */
isc_netaddr_t netaddr;
isc_netaddr_t destaddr;
int match;
dns_messageid_t id;
unsigned int flags;
isc_boolean_t notimp;
REQUIRE(event != NULL);
client = event->ev_arg;
@@ -1343,6 +1203,14 @@ client_request(isc_task_t *task, isc_event_t *event) {
}
}
/*
* Hash the incoming request here as it is after
* dns_dispatch_importrecv().
*/
dns_dispatch_hash(&client->now, sizeof(client->now));
dns_dispatch_hash(isc_buffer_base(buffer),
isc_buffer_usedlength(buffer));
/*
* It's a request. Parse it.
*/
@@ -1356,6 +1224,20 @@ client_request(isc_task_t *task, isc_event_t *event) {
goto cleanup;
}
switch (client->message->opcode) {
case dns_opcode_query:
case dns_opcode_update:
case dns_opcode_notify:
notimp = ISC_FALSE;
break;
case dns_opcode_iquery:
default:
notimp = ISC_TRUE;
break;
}
client->message->rcode = dns_rcode_noerror;
/*
* Deal with EDNS.
*/
@@ -1375,28 +1257,10 @@ client_request(isc_task_t *task, isc_event_t *event) {
if (client->udpsize < 512)
client->udpsize = 512;
#ifdef DNS_OPT_NEWCODES
/*
* Get the flags out of the OPT record.
*/
client->extflags = DNS_OPT_FLAGS(opt);
/*
* Set up the rest of the opt stuff
*/
client_getoptattrs(client, opt);
/*
* If we're using a fixed zone option (opt_zone), set it to
* allow glue here.
*/
if (client->opt_zone != NULL)
client->query.dboptions |= DNS_DBFIND_GLUEOK;
#else /* DNS_OPT_NEWCODES */
/*
* Get the flags out of the OPT record.
*/
client->extflags = (isc_uint16_t)(opt->ttl & 0xFFFF);
#endif /* DNS_OPT_NEWCODES */
/*
* Create an OPT for our reply.
@@ -1425,10 +1289,24 @@ client_request(isc_task_t *task, isc_event_t *event) {
"message class could not be determined");
ns_client_dumpmessage(client,
"message class could not be determined");
ns_client_error(client, DNS_R_FORMERR);
ns_client_error(client, notimp ? DNS_R_NOTIMP : DNS_R_FORMERR);
goto cleanup;
}
/*
* Determine the destination address. For IPv6, we get this from the
* pktinfo structure (if supported). For IPv4, we have to make do with
* the address of the interface where the request was received.
*/
if (client->interface->addr.type.sa.sa_family == AF_INET6) {
if ((client->attributes & NS_CLIENTATTR_PKTINFO) != 0)
isc_netaddr_fromin6(&destaddr, &client->pktinfo.ipi6_addr);
else
isc_netaddr_any6(&destaddr);
} else {
isc_netaddr_fromsockaddr(&destaddr, &client->interface->addr);
}
/*
* Find a view that matches the client's source address.
*/
@@ -1438,11 +1316,10 @@ client_request(isc_task_t *task, isc_event_t *event) {
if (client->message->rdclass == view->rdclass ||
client->message->rdclass == dns_rdataclass_any)
{
if (view->matchclients == NULL ||
(dns_acl_match(&netaddr, NULL, view->matchclients,
&ns_g_server->aclenv,
&match, NULL) == ISC_R_SUCCESS &&
match > 0))
if (allowed(&netaddr, view->matchclients) &&
allowed(&destaddr, view->matchdestinations) &&
!((flags & DNS_MESSAGEFLAG_RD) == 0 &&
view->matchrecursiveonly))
{
dns_view_attach(view, &client->view);
break;
@@ -1471,7 +1348,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1),
"no matching view in class '%s'", classname);
ns_client_dumpmessage(client, "no matching view in class");
ns_client_error(client, DNS_R_REFUSED);
ns_client_error(client, notimp ? DNS_R_NOTIMP : DNS_R_REFUSED);
goto cleanup;
}
@@ -1502,22 +1379,17 @@ client_request(isc_task_t *task, isc_event_t *event) {
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
"request is signed by a nonauthoritative key");
/*
* Accept update messages signed by unknown keys so that
* update forwarding works transparently through slaves
* that don't have all the same keys as the master.
*/
if (!(client->message->tsigstatus == dns_tsigerror_badkey &&
client->message->opcode == dns_opcode_update)) {
ns_client_error(client, sigresult);
goto cleanup;
}
} else {
/* There is a signature, but it is bad. */
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_ERROR,
"request has invalid signature: %s",
isc_result_totext(result));
/*
* Accept update messages signed by unknown keys so that
* update forwarding works transparently through slaves
* that don't have all the same keys as the master.
*/
if (!(client->message->tsigstatus == dns_tsigerror_badkey &&
client->message->opcode == dns_opcode_update)) {
ns_client_error(client, sigresult);
@@ -1628,9 +1500,6 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
if (result != ISC_R_SUCCESS)
goto cleanup_client;
isc_task_setname(client->task, "client", client);
result = isc_task_onshutdown(client->task, client_shutdown, client);
if (result != ISC_R_SUCCESS)
goto cleanup_task;
client->timer = NULL;
result = isc_timer_create(manager->timermgr, isc_timertype_inactive,
@@ -1683,6 +1552,7 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
client->nreads = 0;
client->nsends = 0;
client->nrecvs = 0;
client->nctls = 0;
client->references = 0;
client->attributes = 0;
client->view = NULL;
@@ -1695,10 +1565,6 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
client->opt = NULL;
client->udpsize = 512;
client->extflags = 0;
#ifdef DNS_OPT_NEWCODES
client->opt_zone = NULL;
client->opt_view = NULL;
#endif /* DNS_OPT_NEWCODES */
client->next = NULL;
client->shutdown = NULL;
client->shutdown_arg = NULL;
@@ -1730,12 +1596,19 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
if (result != ISC_R_SUCCESS)
goto cleanup_recvevent;
result = isc_task_onshutdown(client->task, client_shutdown, client);
if (result != ISC_R_SUCCESS)
goto cleanup_query;
CTRACE("create");
*clientp = client;
return (ISC_R_SUCCESS);
cleanup_query:
ns_query_free(client);
cleanup_recvevent:
isc_event_free((isc_event_t **)&client->recvevent);
@@ -2150,6 +2023,8 @@ ns_clientmgr_createclients(ns_clientmgr_t *manager, unsigned int n,
ISC_LIST_APPEND(manager->active, client, link);
client->list = &manager->active;
INSIST(client->nctls == 0);
client->nctls++;
ev = &client->ctlevent;
isc_task_send(client->task, &ev);
}
@@ -2231,6 +2106,11 @@ ns_client_name(ns_client_t *client, char *peerbuf, size_t len) {
snprintf(peerbuf, len, "@%p", client);
}
static void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap)
ISC_FORMAT_PRINTF(5, 0);
static void
ns_client_logv(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level, const char *fmt, va_list ap)
+25 -4
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.9 2001/06/04 21:51:23 bwelling Exp $ */
/* $Id: config.c,v 1.11.2.1 2001/09/21 20:30:32 gson Exp $ */
#include <config.h>
@@ -35,6 +35,7 @@
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdataclass.h>
#include <dns/tsig.h>
#include <dns/zone.h>
#include <named/config.h>
@@ -176,18 +177,24 @@ ns_config_listcount(cfg_obj_t *list) {
}
isc_result_t
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t *classp) {
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp) {
char *str;
isc_textregion_t r;
isc_result_t result;
if (!cfg_obj_isstring(classobj)) {
*classp = dns_rdataclass_in;
*classp = defclass;
return (ISC_R_SUCCESS);
}
str = cfg_obj_asstring(classobj);
r.base = str;
r.length = strlen(str);
return (dns_rdataclass_fromtext(classp, &r));
result = dns_rdataclass_fromtext(classp, &r);
if (result != ISC_R_SUCCESS)
cfg_obj_log(classobj, ns_g_lctx, ISC_LOG_ERROR,
"unknown class '%s'", str);
return (result);
}
dns_zonetype_t
@@ -435,3 +442,17 @@ ns_config_getport(cfg_obj_t *config, in_port_t *portp) {
*portp = (in_port_t)cfg_obj_asuint32(portobj);
return (ISC_R_SUCCESS);
}
isc_result_t
ns_config_getkeyalgorithm(const char *str, dns_name_t **name)
{
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);
}
return (ISC_R_NOTFOUND);
}
+231 -341
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.16 2001/07/05 18:39:14 bwelling Exp $ */
/* $Id: controlconf.c,v 1.28.2.6 2001/10/31 23:00:44 marka Exp $ */
#include <config.h>
@@ -25,6 +25,7 @@
#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>
@@ -36,6 +37,7 @@
#include <isc/util.h>
#include <isccfg/cfg.h>
#include <isccfg/check.h>
#include <isccc/alist.h>
#include <isccc/cc.h>
@@ -50,6 +52,7 @@
#include <dst/dst.h>
#include <named/config.h>
#include <named/control.h>
#include <named/log.h>
#include <named/server.h>
@@ -100,20 +103,10 @@ struct controllistener {
ISC_LINK(controllistener_t) link;
};
static struct {
char name[64];
char secret[192];
cfg_parser_t *parser;
cfg_obj_t *config;
isc_sockaddr_t address; /* Last channel that needed automagic. */
} automagic_key;
#define NS_AUTOKEY_BITS 128
#define NS_AUTOKEY_NAME "control_autokey"
struct ns_controls {
ns_server_t *server;
controllistenerlist_t listeners;
isc_boolean_t shuttingdown;
};
static void control_newconn(isc_task_t *task, isc_event_t *event);
@@ -186,11 +179,14 @@ maybe_free_connection(controlconnection_t *conn) {
static void
shutdown_listener(controllistener_t *listener) {
isc_boolean_t destroy = ISC_TRUE;
controlconnection_t *conn;
controlconnection_t *next;
if (!listener->exiting) {
char socktext[ISC_SOCKADDR_FORMATSIZE];
ISC_LIST_UNLINK(listener->controls->listeners, listener, link);
isc_sockaddr_format(&listener->address, socktext,
sizeof(socktext));
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
@@ -199,23 +195,19 @@ shutdown_listener(controllistener_t *listener) {
listener->exiting = ISC_TRUE;
}
if (!ISC_LIST_EMPTY(listener->connections)) {
controlconnection_t *conn;
for (conn = ISC_LIST_HEAD(listener->connections);
conn != NULL;
conn = ISC_LIST_NEXT(conn, link))
maybe_free_connection(conn);
destroy = ISC_FALSE;
for (conn = ISC_LIST_HEAD(listener->connections);
conn != NULL;
conn = next)
{
next = ISC_LIST_NEXT(conn, link);
maybe_free_connection(conn);
}
if (listener->sock != NULL) {
if (listener->listening)
isc_socket_cancel(listener->sock, listener->task,
ISC_SOCKCANCEL_ACCEPT);
destroy = ISC_FALSE;
}
if (destroy)
free_listener(listener);
maybe_free_listener(listener);
}
static isc_boolean_t
@@ -342,6 +334,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
listener = conn->listener;
secret.rstart = NULL;
/* Is the server shutting down? */
if (listener->controls->shuttingdown)
goto cleanup;
if (conn->ccmsg.result != ISC_R_SUCCESS) {
if (conn->ccmsg.result != ISC_R_CANCELED &&
conn->ccmsg.result != ISC_R_EOF)
@@ -350,7 +346,6 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
}
request = NULL;
INSIST(!ISC_LIST_EMPTY(listener->keys));
for (key = ISC_LIST_HEAD(listener->keys);
key != NULL;
@@ -525,10 +520,10 @@ control_newconn(isc_task_t *task, isc_event_t *event) {
UNUSED(task);
listener->listening = ISC_FALSE;
if (nevent->result != ISC_R_SUCCESS) {
if (nevent->result == ISC_R_CANCELED) {
isc_socket_detach(&listener->sock);
listener->listening = ISC_FALSE;
shutdown_listener(listener);
goto cleanup;
}
@@ -564,8 +559,8 @@ control_newconn(isc_task_t *task, isc_event_t *event) {
isc_event_free(&event);
}
void
ns_controls_shutdown(ns_controls_t *controls) {
static void
controls_shutdown(ns_controls_t *controls) {
controllistener_t *listener;
controllistener_t *next;
@@ -578,11 +573,16 @@ ns_controls_shutdown(ns_controls_t *controls) {
* call their callbacks.
*/
next = ISC_LIST_NEXT(listener, link);
ISC_LIST_UNLINK(controls->listeners, listener, link);
shutdown_listener(listener);
}
}
void
ns_controls_shutdown(ns_controls_t *controls) {
controls_shutdown(controls);
controls->shuttingdown = ISC_TRUE;
}
static isc_result_t
cfgkeylist_find(cfg_obj_t *keylist, const char *keyname, cfg_obj_t **objp) {
cfg_listelt_t *element;
@@ -648,7 +648,7 @@ controlkeylist_fromcfg(cfg_obj_t *keylist, isc_mem_t *mctx,
static void
register_keys(cfg_obj_t *control, cfg_obj_t *keylist,
controlkeylist_t *keyids, isc_mem_t *mctx, char *socktext)
controlkeylist_t *keyids, isc_mem_t *mctx, const char *socktext)
{
controlkey_t *keyid, *next;
cfg_obj_t *keydef;
@@ -683,7 +683,9 @@ register_keys(cfg_obj_t *control, cfg_obj_t *keylist,
algstr = cfg_obj_asstring(algobj);
secretstr = cfg_obj_asstring(secretobj);
if (strcasecmp(algstr, "hmac-md5") != 0) {
if (ns_config_getkeyalgorithm(algstr, NULL) !=
ISC_R_SUCCESS)
{
cfg_obj_log(control, ns_g_lctx,
ISC_LOG_WARNING,
"unsupported algorithm '%s' in "
@@ -726,288 +728,129 @@ register_keys(cfg_obj_t *control, cfg_obj_t *keylist,
}
}
#define CHECK(x) \
do { \
result = (x); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
static isc_result_t
make_automagic_key(isc_mem_t *mctx) {
unsigned char key_rawsecret[32];
unsigned char key_txtsecret[32];
isc_buffer_t key_rawbuffer;
isc_buffer_t key_txtbuffer;
isc_region_t key_rawregion;
isc_uint32_t key_id;
get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
isc_result_t result;
dst_key_t *key = NULL;
cfg_parser_t *pctx = NULL;
cfg_obj_t *config = NULL;
cfg_obj_t *key = NULL;
cfg_obj_t *algobj = NULL;
cfg_obj_t *secretobj = NULL;
char *algstr = NULL;
char *secretstr = NULL;
controlkey_t *keyid = NULL;
char secret[1024];
isc_buffer_t b;
/*
* First generate a secret. The fourth parameter non-zero means
* that pseudorandom data is ok; good entropy is not required.
*/
result = dst_key_generate(dns_rootname, DST_ALG_HMACMD5,
NS_AUTOKEY_BITS, 1, 0, DNS_KEYPROTO_ANY,
dns_rdataclass_in, mctx, &key);
CHECK(cfg_parser_create(mctx, ns_g_lctx, &pctx));
CHECK(cfg_parse_file(pctx, ns_g_keyfile, &cfg_type_rndckey, &config));
CHECK(cfg_map_get(config, "key", &key));
if (result == ISC_R_SUCCESS) {
isc_buffer_init(&key_rawbuffer, &key_rawsecret,
sizeof(key_rawsecret));
result = dst_key_tobuffer(key, &key_rawbuffer);
keyid = isc_mem_get(mctx, sizeof(*keyid));
if (keyid == NULL)
CHECK(ISC_R_NOMEMORY);
keyid->keyname = isc_mem_strdup(mctx,
cfg_obj_asstring(cfg_map_getname(key)));
keyid->secret.base = NULL;
keyid->secret.length = 0;
ISC_LINK_INIT(keyid, link);
if (keyid->keyname == NULL)
CHECK(ISC_R_NOMEMORY);
CHECK(cfg_check_key(key, ns_g_lctx));
(void)cfg_map_get(key, "algorithm", &algobj);
(void)cfg_map_get(key, "secret", &secretobj);
INSIST(algobj != NULL && secretobj != NULL);
algstr = cfg_obj_asstring(algobj);
secretstr = cfg_obj_asstring(secretobj);
if (ns_config_getkeyalgorithm(algstr, NULL) != ISC_R_SUCCESS) {
cfg_obj_log(key, ns_g_lctx,
ISC_LOG_WARNING,
"unsupported algorithm '%s' in "
"key '%s' for use with command "
"channel",
algstr, keyid->keyname);
goto cleanup;
}
if (result == ISC_R_SUCCESS) {
isc_buffer_init(&key_txtbuffer, &key_txtsecret,
sizeof(key_txtsecret));
isc_buffer_usedregion(&key_rawbuffer, &key_rawregion);
result = isc_base64_totext(&key_rawregion, -1, "",
&key_txtbuffer);
isc_buffer_init(&b, secret, sizeof(secret));
result = isc_base64_decodestring(secretstr, &b);
if (result != ISC_R_SUCCESS) {
cfg_obj_log(key, ns_g_lctx, ISC_LOG_WARNING,
"secret for key '%s' on command channel: %s",
keyid->keyname, isc_result_totext(result));
CHECK(result);
}
if (result == ISC_R_SUCCESS) {
unsigned int len = isc_buffer_usedlength(&key_txtbuffer);
INSIST(len < sizeof(automagic_key.secret));
memcpy(automagic_key.secret, isc_buffer_base(&key_txtbuffer),
len);
automagic_key.secret[len] = '\0';
/*
* Make a random name for the key and generate the config
* file statement for it.
*/
isc_random_get(&key_id);
len = snprintf(automagic_key.name, sizeof(automagic_key.name),
NS_AUTOKEY_NAME ".%u", key_id);
INSIST(len < sizeof(automagic_key.name));
keyid->secret.length = isc_buffer_usedlength(&b);
keyid->secret.base = isc_mem_get(mctx,
keyid->secret.length);
if (keyid->secret.base == NULL) {
cfg_obj_log(key, ns_g_lctx, ISC_LOG_WARNING,
"couldn't register key '%s': "
"out of memory", keyid->keyname);
CHECK(ISC_R_NOMEMORY);
}
memcpy(keyid->secret.base, isc_buffer_base(&b),
keyid->secret.length);
ISC_LIST_APPEND(*keyids, keyid, link);
keyid = NULL;
result = ISC_R_SUCCESS;
if (key != NULL)
dst_key_free(&key);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
"could not generate control channel key: %s",
isc_result_totext(result));
cleanup:
if (keyid != NULL)
free_controlkey(keyid, mctx);
if (config != NULL)
cfg_obj_destroy(pctx, &config);
if (pctx != NULL)
cfg_parser_destroy(&pctx);
return (result);
}
static void
format_automagic_keycfg(isc_buffer_t *conf) {
unsigned int len;
len = snprintf(isc_buffer_base(conf), isc_buffer_length(conf),
"key \"%s\" {\n"
"\talgorithm hmac-md5;\n"
"\tsecret \"%s\";\n"
"};\n",
automagic_key.name, automagic_key.secret);
INSIST(len < isc_buffer_length(conf));
isc_buffer_add(conf, len);
}
static isc_result_t
parse_automagic_key(isc_mem_t *mctx) {
unsigned int len;
char cfg_data[512];
isc_buffer_t cfg_buffer;
isc_result_t result = ISC_R_SUCCESS;
cfg_obj_t *cfg = NULL;
cfg_parser_t *parser = NULL;
if (automagic_key.name[0] == '\0')
result = make_automagic_key(mctx);
if (result == ISC_R_SUCCESS) {
/*
* Fake up a configuration with a dummy inet control
* to grab the keylist tuple.
*/
isc_buffer_init(&cfg_buffer, cfg_data, sizeof(cfg_data));
format_automagic_keycfg(&cfg_buffer);
len = snprintf(isc_buffer_used(&cfg_buffer),
isc_buffer_availablelength(&cfg_buffer),
"controls { inet 127.0.0.1 allow { localhost; }"
" keys { %s; }; };",
automagic_key.name);
INSIST(len < isc_buffer_availablelength(&cfg_buffer));
isc_buffer_add(&cfg_buffer, len);
result = cfg_parser_create(mctx, ns_g_lctx, &parser);
}
if (result == ISC_R_SUCCESS)
result = cfg_parse_buffer(parser, &cfg_buffer,
&cfg_type_namedconf, &cfg);
if (result == ISC_R_SUCCESS) {
automagic_key.parser = parser;
automagic_key.config = cfg;
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
"could not parse autogenerated "
"control channel key: %s",
isc_result_totext(result));
if (parser != NULL)
cfg_parser_destroy(&parser);
}
return (result);
}
static void
finalize_automagic_key(void) {
unsigned int fsaccess;
int i;
FILE *fp;
isc_result_t result;
(void)isc_file_remove(ns_g_autorndckeyfile);
if (automagic_key.parser != NULL) {
/*
* An automagic key was parsed, so some channel needed it.
* Try to write the rndc.conf file.
*/
char cfg_data[512];
char nettext[ISC_NETADDR_FORMATSIZE];
isc_buffer_t cfg_buffer;
isc_netaddr_t netaddr;
result = isc_stdio_open(ns_g_autorndckeyfile, "w", &fp);
if (result == ISC_R_SUCCESS) {
fsaccess = 0;
isc_fsaccess_add(ISC_FSACCESS_OWNER, ISC_FSACCESS_READ,
&fsaccess);
result = isc_fsaccess_set(ns_g_autorndckeyfile,
fsaccess);
if (result != ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL,
ISC_LOG_WARNING,
"could not set owner-only "
"access on %s: %s: "
"server control key might be "
"exposed to local users",
ns_g_autorndckeyfile,
isc_result_totext(result));
}
isc_buffer_init(&cfg_buffer, cfg_data,
sizeof(cfg_data));
format_automagic_keycfg(&cfg_buffer);
isc_netaddr_fromsockaddr(&netaddr,
&automagic_key.address);
isc_netaddr_format(&netaddr, nettext, sizeof(nettext));
i = fputs(isc_buffer_base(&cfg_buffer), fp);
if (i != EOF)
i = fprintf(fp, "options {\n"
"\tdefault-server %s;\n"
"\tdefault-port %hu;\n"
"\tdefault-key \"%s\";\n"
"};\n",
nettext,
isc_sockaddr_getport(
&automagic_key.address),
automagic_key.name);
if (i == EOF)
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL,
ISC_LOG_WARNING,
"could not write %s",
ns_g_autorndckeyfile);
result = isc_stdio_close(fp);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL,
ISC_LOG_WARNING,
"error closing %s: %s",
ns_g_autorndckeyfile,
isc_result_totext(result));
}
cfg_obj_destroy(automagic_key.parser, &automagic_key.config);
cfg_parser_destroy(&automagic_key.parser);
}
}
/*
* Ensures that both '*global_keylistp' and '*control_keylistp' are
* valid or both are NULL.
*/
static void
get_key_info(isc_mem_t *mctx, cfg_obj_t *config, cfg_obj_t *control,
cfg_obj_t **global_keylistp, cfg_obj_t **control_keylistp,
isc_boolean_t *explicit_key)
get_key_info(cfg_obj_t *config, cfg_obj_t *control,
cfg_obj_t **global_keylistp, cfg_obj_t **control_keylistp)
{
isc_result_t result;
cfg_obj_t *control_keylist = NULL;
cfg_obj_t *global_keylist = NULL;
isc_result_t result = ISC_R_SUCCESS;
REQUIRE(global_keylistp != NULL && *global_keylistp == NULL);
REQUIRE(control_keylistp != NULL && *control_keylistp == NULL);
control_keylist = cfg_tuple_get(control, "keys");
if (cfg_obj_isvoid(control_keylist) ||
cfg_list_first(control_keylist) == NULL) {
cfg_obj_t *controls = NULL;
cfg_obj_t *inet = NULL;
if (automagic_key.parser == NULL)
result = parse_automagic_key(mctx);
if (!cfg_obj_isvoid(control_keylist) &&
cfg_list_first(control_keylist) != NULL) {
result = cfg_map_get(config, "key", &global_keylist);
if (result == ISC_R_SUCCESS) {
config = automagic_key.config;
/*
* All of these should succeed.
*/
(void)cfg_map_get(config, "key", &global_keylist);
INSIST(global_keylist != NULL);
(void)cfg_map_get(config, "controls", &controls);
INSIST(controls != NULL);
(void)cfg_map_get(cfg_listelt_value
(cfg_list_first(controls)),
"inet", &inet);
INSIST(inet != NULL);
control_keylist =
cfg_tuple_get(cfg_listelt_value
(cfg_list_first(inet)), "keys");
INSIST(control_keylist != NULL);
*global_keylistp = global_keylist;
*control_keylistp = control_keylist;
}
*explicit_key = ISC_FALSE;
} else {
result = cfg_map_get(config, "key", &global_keylist);
*explicit_key = config != automagic_key.config
? ISC_TRUE : ISC_FALSE;
}
if (result == ISC_R_SUCCESS) {
*global_keylistp = global_keylist;
*control_keylistp = control_keylist;
} else
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"no key statements for use by control channel");
}
static void
update_listener(ns_controls_t *cp,
controllistener_t **listenerp, cfg_obj_t *control,
cfg_obj_t *config, isc_sockaddr_t *addr,
ns_aclconfctx_t *aclconfctx, char *socktext)
ns_aclconfctx_t *aclconfctx, const char *socktext)
{
controllistener_t *listener;
cfg_obj_t *allow;
@@ -1015,7 +858,6 @@ update_listener(ns_controls_t *cp,
cfg_obj_t *control_keylist = NULL;
dns_acl_t *new_acl = NULL;
controlkeylist_t keys;
isc_boolean_t explicit_key;
isc_result_t result = ISC_R_SUCCESS;
for (listener = ISC_LIST_HEAD(cp->listeners);
@@ -1047,11 +889,11 @@ update_listener(ns_controls_t *cp,
* XXXDCL There is one other hazard that has not been dealt with,
* the problem that if a key change is being caused by a control
* channel reload, then the response will be with the new key
* and not able to be decrypted by the client. For this reason,
* the automagic key is not regenerated on each reload.
* and not able to be decrypted by the client.
*/
get_key_info(listener->mctx, config, control,
&global_keylist, &control_keylist, &explicit_key);
if (control != NULL)
get_key_info(config, control, &global_keylist,
&control_keylist);
if (control_keylist != NULL) {
INSIST(global_keylist != NULL);
@@ -1059,18 +901,18 @@ update_listener(ns_controls_t *cp,
ISC_LIST_INIT(keys);
result = controlkeylist_fromcfg(control_keylist,
listener->mctx, &keys);
if (result == ISC_R_SUCCESS) {
free_controlkeylist(&listener->keys, listener->mctx);
listener->keys = keys;
register_keys(control, global_keylist, &listener->keys,
listener->mctx, socktext);
}
} else {
free_controlkeylist(&listener->keys, listener->mctx);
result = get_rndckey(listener->mctx, &listener->keys);
}
if (result == ISC_R_SUCCESS) {
free_controlkeylist(&listener->keys, listener->mctx);
listener->keys = keys;
register_keys(control, global_keylist, &listener->keys,
listener->mctx, socktext);
if (! explicit_key)
automagic_key.address = listener->address;
} else if (global_keylist != NULL)
if (result != ISC_R_SUCCESS && global_keylist != NULL)
/*
* This message might be a little misleading since the
* "new keys" might in fact be identical to the old ones,
@@ -1086,9 +928,14 @@ update_listener(ns_controls_t *cp,
/*
* Now, keep the old access list unless a new one can be made.
*/
allow = cfg_tuple_get(control, "allow");
result = ns_acl_fromconfig(allow, config, aclconfctx,
listener->mctx, &new_acl);
if (control != NULL) {
allow = cfg_tuple_get(control, "allow");
result = ns_acl_fromconfig(allow, config, aclconfctx,
listener->mctx, &new_acl);
} else {
result = dns_acl_any(listener->mctx, &new_acl);
}
if (result == ISC_R_SUCCESS) {
dns_acl_detach(&listener->acl);
dns_acl_attach(new_acl, &listener->acl);
@@ -1106,7 +953,7 @@ update_listener(ns_controls_t *cp,
static void
add_listener(ns_controls_t *cp, controllistener_t **listenerp,
cfg_obj_t *control, cfg_obj_t *config, isc_sockaddr_t *addr,
ns_aclconfctx_t *aclconfctx, char *socktext)
ns_aclconfctx_t *aclconfctx, const char *socktext)
{
isc_mem_t *mctx = cp->server->mctx;
controllistener_t *listener;
@@ -1114,7 +961,6 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
cfg_obj_t *global_keylist = NULL;
cfg_obj_t *control_keylist = NULL;
dns_acl_t *new_acl = NULL;
isc_boolean_t explicit_key;
isc_result_t result = ISC_R_SUCCESS;
listener = isc_mem_get(mctx, sizeof(*listener));
@@ -1137,30 +983,35 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
/*
* Make the acl.
*/
allow = cfg_tuple_get(control, "allow");
result = ns_acl_fromconfig(allow, config, aclconfctx, mctx,
&new_acl);
if (control != NULL) {
allow = cfg_tuple_get(control, "allow");
result = ns_acl_fromconfig(allow, config, aclconfctx,
mctx, &new_acl);
} else {
result = dns_acl_any(mctx, &new_acl);
}
}
if (result == ISC_R_SUCCESS) {
dns_acl_attach(new_acl, &listener->acl);
dns_acl_detach(&new_acl);
get_key_info(listener->mctx, config, control,
&global_keylist, &control_keylist, &explicit_key);
if (config != NULL)
get_key_info(config, control, &global_keylist,
&control_keylist);
if (control_keylist != NULL)
if (control_keylist != NULL) {
result = controlkeylist_fromcfg(control_keylist,
listener->mctx,
&listener->keys);
if (result == ISC_R_SUCCESS) {
register_keys(control, global_keylist, &listener->keys,
listener->mctx, socktext);
if (! explicit_key)
automagic_key.address = listener->address;
if (result == ISC_R_SUCCESS)
register_keys(control, global_keylist,
&listener->keys,
listener->mctx, socktext);
} else
result = get_rndckey(mctx, &listener->keys);
if (result != ISC_R_SUCCESS && control != NULL)
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't install keys for "
"command channel %s: %s",
@@ -1202,9 +1053,15 @@ add_listener(ns_controls_t *cp, controllistener_t **listenerp,
free_listener(listener);
}
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't add command channel %s: %s",
socktext, isc_result_totext(result));
if (control != NULL)
cfg_obj_log(control, ns_g_lctx, ISC_LOG_WARNING,
"couldn't add command channel %s: %s",
socktext, isc_result_totext(result));
else
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_NOTICE,
"couldn't add command channel %s: %s",
socktext, isc_result_totext(result));
*listenerp = NULL;
}
@@ -1305,34 +1162,66 @@ ns_controls_configure(ns_controls_t *cp, cfg_obj_t *config,
listener, link);
}
}
finalize_automagic_key();
/*
* ns_control_shutdown() will stop whatever is on the global
* listeners list, which currently only has whatever sockaddrs
* were in the previous configuration (if any) that do not
* remain in the current configuration.
*/
ns_controls_shutdown(cp);
/*
* Put all of the valid listeners on the listeners list.
* Anything already on listeners in the process of shutting
* down will be taken care of by listen_done().
*/
ISC_LIST_APPENDLIST(cp->listeners, new_listeners, link);
} else {
isc_result_t result;
int i;
result = parse_automagic_key(cp->server->mctx);
for (i = 0; i < 2; i++) {
isc_sockaddr_t addr;
if (result == ISC_R_SUCCESS)
ns_controls_configure(cp, automagic_key.config,
aclconfctx);
if (i == 0) {
struct in_addr localhost;
if (isc_net_probeipv4() != ISC_R_SUCCESS)
continue;
localhost.s_addr = htonl(INADDR_LOOPBACK);
isc_sockaddr_fromin(&addr, &localhost, 0);
} else {
if (isc_net_probeipv6() != ISC_R_SUCCESS)
continue;
isc_sockaddr_fromin6(&addr,
&in6addr_loopback, 0);
}
isc_sockaddr_setport(&addr, NS_CONTROL_PORT);
isc_sockaddr_format(&addr, socktext, sizeof(socktext));
update_listener(cp, &listener, NULL, NULL,
&addr, NULL, socktext);
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, NULL, NULL,
&addr, NULL, socktext);
if (listener != NULL)
ISC_LIST_APPEND(new_listeners,
listener, link);
}
}
/*
* ns_control_shutdown() will stop whatever is on the global
* listeners list, which currently only has whatever sockaddrs
* were in the previous configuration (if any) that do not
* remain in the current configuration.
*/
controls_shutdown(cp);
/*
* Put all of the valid listeners on the listeners list.
* Anything already on listeners in the process of shutting
* down will be taken care of by listen_done().
*/
ISC_LIST_APPENDLIST(cp->listeners, new_listeners, link);
return (ISC_R_SUCCESS);
}
@@ -1344,6 +1233,7 @@ ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp) {
return (ISC_R_NOMEMORY);
controls->server = server;
ISC_LIST_INIT(controls->listeners);
controls->shuttingdown = ISC_FALSE;
*ctrlsp = controls;
return (ISC_R_SUCCESS);
}
+5 -18
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.h,v 1.58 2001/06/15 23:28:29 gson Exp $ */
/* $Id: client.h,v 1.60.2.2 2001/11/15 02:51:46 marka Exp $ */
#ifndef NAMED_CLIENT_H
#define NAMED_CLIENT_H 1
@@ -64,6 +64,7 @@
***/
#include <isc/buffer.h>
#include <isc/magic.h>
#include <isc/stdtime.h>
#include <isc/quota.h>
@@ -71,9 +72,6 @@
#include <dns/types.h>
#include <dns/tcpmsg.h>
#include <dns/fixedname.h>
#ifdef DNS_OPT_NEWCODES
#include <dns/opt.h>
#endif /* DNS_OPT_NEWCODES */
#include <named/types.h>
#include <named/query.h>
@@ -93,6 +91,7 @@ struct ns_client {
int nreads;
int nsends;
int nrecvs;
int nctls;
int references;
unsigned int attributes;
isc_task_t * task;
@@ -113,10 +112,6 @@ struct ns_client {
dns_rdataset_t * opt;
isc_uint16_t udpsize;
isc_uint16_t extflags;
#ifdef DNS_OPT_NEWCODES
dns_fixedname_t * opt_zone;
isc_buffer_t * opt_view;
#endif /* DNS_OPT_NEWCODES */
void (*next)(ns_client_t *);
void (*shutdown)(void *arg, isc_result_t result);
void *shutdown_arg;
@@ -151,15 +146,7 @@ struct ns_client {
client_list_t *list;
};
#ifdef DNS_OPT_NEWCODES
/*
* Number of attr fields (opt_zone, opt_view) in above structure. Used in
* client_addoptattrs()
*/
#define CLIENT_NUMATTRS 2
#endif /* DNS_OPT_NEWCODES */
#define NS_CLIENT_MAGIC 0x4E534363U /* NSCc */
#define NS_CLIENT_MAGIC ISC_MAGIC('N','S','C','c')
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
#define NS_CLIENTATTR_TCP 0x01
@@ -314,7 +301,7 @@ ns_client_checkacl(ns_client_t *client,
void
ns_client_log(ns_client_t *client, isc_logcategory_t *category,
isc_logmodule_t *module, int level,
const char *fmt, ...);
const char *fmt, ...) ISC_FORMAT_PRINTF(5, 6);
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdataclass_t rdclass,
+6 -4
View File
@@ -15,9 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.h,v 1.1 2001/03/04 21:21:32 bwelling Exp $ */
/* $Id: config.h,v 1.1 2001/03/04 21:21:32 bwelling Exp $ */
/* $Id: config.h,v 1.4 2001/08/09 17:21:06 gson Exp $ */
#ifndef NAMED_CONFIG_H
#define NAMED_CONFIG_H 1
@@ -37,7 +35,8 @@ int
ns_config_listcount(cfg_obj_t *list);
isc_result_t
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t *classp);
ns_config_getclass(cfg_obj_t *classobj, dns_rdataclass_t defclass,
dns_rdataclass_t *classp);
dns_zonetype_t
ns_config_getzonetype(cfg_obj_t *zonetypeobj);
@@ -63,4 +62,7 @@ ns_config_putipandkeylist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
isc_result_t
ns_config_getport(cfg_obj_t *config, in_port_t *portp);
isc_result_t
ns_config_getkeyalgorithm(const char *str, dns_name_t **name);
#endif /* NAMED_CONFIG_H */
+3 -3
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: globals.h,v 1.57 2001/05/31 10:38:56 tale Exp $ */
/* $Id: globals.h,v 1.59 2001/08/08 20:37:31 gson Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
@@ -76,6 +76,8 @@ EXTERN cfg_obj_t * ns_g_config INIT(NULL);
EXTERN cfg_obj_t * ns_g_defaults INIT(NULL);
EXTERN const char * ns_g_conffile INIT(NS_SYSCONFDIR
"/named.conf");
EXTERN const char * ns_g_keyfile INIT(NS_SYSCONFDIR
"/rndc.key");
EXTERN const char * lwresd_g_conffile INIT(NS_SYSCONFDIR
"/lwresd.conf");
EXTERN const char * lwresd_g_resolvconffile INIT("/etc"
@@ -103,8 +105,6 @@ EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/named.pid");
EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
"/run/lwresd.pid");
EXTERN const char * ns_g_autorndckeyfile INIT(NS_LOCALSTATEDIR
"/run/named.key");
EXTERN const char * ns_g_username INIT(NULL);
#undef EXTERN
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.h,v 1.22 2001/01/09 21:40:14 bwelling Exp $ */
/* $Id: interfacemgr.h,v 1.23 2001/08/28 03:58:00 marka Exp $ */
#ifndef NAMED_INTERFACEMGR_H
#define NAMED_INTERFACEMGR_H 1
@@ -62,7 +62,7 @@
*** Types
***/
#define IFACE_MAGIC 0x493A2D29U /* I:-). */
#define IFACE_MAGIC ISC_MAGIC('I',':','-',')')
#define NS_INTERFACE_VALID(t) ISC_MAGIC_VALID(t, IFACE_MAGIC)
struct ns_interface {
+3 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwdclient.h,v 1.12 2001/01/22 22:29:04 gson Exp $ */
/* $Id: lwdclient.h,v 1.13 2001/08/08 22:54:24 gson Exp $ */
#ifndef NAMED_LWDCLIENT_H
#define NAMED_LWDCLIENT_H 1
@@ -224,6 +224,7 @@ void ns_lwdclient_processnoop(ns_lwdclient_t *, lwres_buffer_t *);
void ns_lwdclient_errorpktsend(ns_lwdclient_t *, isc_uint32_t);
void ns_lwdclient_log(int level, const char *format, ...);
void ns_lwdclient_log(int level, const char *format, ...)
ISC_FORMAT_PRINTF(2, 3);
#endif /* NAMED_LWDCLIENT_H */
+3 -3
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwresd.h,v 1.11 2001/03/04 21:21:34 bwelling Exp $ */
/* $Id: lwresd.h,v 1.12 2001/08/28 03:58:02 marka Exp $ */
#ifndef NAMED_LWRESD_H
#define NAMED_LWRESD_H 1
@@ -28,7 +28,7 @@
#include <dns/types.h>
struct ns_lwresd {
isc_uint32_t magic;
unsigned int magic;
isc_mutex_t lock;
dns_view_t *view;
@@ -40,7 +40,7 @@ struct ns_lwresd {
};
struct ns_lwreslistener {
isc_uint32_t magic;
unsigned int magic;
isc_mutex_t lock;
isc_mem_t *mctx;
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwsearch.h,v 1.3 2001/01/09 21:40:22 bwelling Exp $ */
/* $Id: lwsearch.h,v 1.4 2001/08/28 03:58:03 marka Exp $ */
#ifndef NAMED_LWSEARCH_H
#define NAMED_LWSEARCH_H 1
@@ -38,7 +38,7 @@
*/
struct ns_lwsearchlist {
isc_uint32_t magic;
unsigned int magic;
isc_mutex_t lock;
isc_mem_t *mctx;
+2 -2
View File
@@ -15,12 +15,12 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: main.h,v 1.7 2001/01/09 21:40:23 bwelling Exp $ */
/* $Id: main.h,v 1.8 2001/08/08 22:54:26 gson Exp $ */
#ifndef NAMED_MAIN_H
#define NAMED_MAIN_H 1
void
ns_main_earlyfatal(const char *format, ...);
ns_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
#endif /* NAMED_MAIN_H */
+7 -5
View File
@@ -15,19 +15,22 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.h,v 1.57 2001/05/31 01:21:09 bwelling Exp $ */
/* $Id: server.h,v 1.58.2.1 2001/09/04 19:38:46 gson Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
#include <isc/log.h>
#include <isc/sockaddr.h>
#include <isc/magic.h>
#include <isc/types.h>
#include <isc/quota.h>
#include <dns/types.h>
#include <dns/acl.h>
#include <named/types.h>
#define NS_EVENTCLASS ISC_EVENTCLASS(0x4E43)
#define NS_EVENT_RELOAD (NS_EVENTCLASS + 0)
#define NS_EVENT_CLIENTCONTROL (NS_EVENTCLASS + 1)
@@ -36,7 +39,7 @@
* Name server state. Better here than in lots of separate global variables.
*/
struct ns_server {
isc_uint32_t magic;
unsigned int magic;
isc_mem_t * mctx;
isc_task_t * task;
@@ -81,9 +84,8 @@ struct ns_server {
ns_controls_t * controls; /* Control channels */
};
#define NS_SERVER_MAGIC 0x53564552 /* SVER */
#define NS_SERVER_VALID(s) ((s) != NULL && \
(s)->magic == NS_SERVER_MAGIC)
#define NS_SERVER_MAGIC ISC_MAGIC('S','V','E','R')
#define NS_SERVER_VALID(s) ISC_MAGIC_VALID(s, NS_SERVER_MAGIC)
void
ns_server_create(isc_mem_t *mctx, ns_server_t **serverp);
+72 -60
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.c,v 1.59 2001/06/15 23:18:04 gson Exp $ */
/* $Id: interfacemgr.c,v 1.59.2.3 2001/10/22 17:42:05 gson Exp $ */
#include <config.h>
@@ -469,14 +469,14 @@ clearacl(isc_mem_t *mctx, dns_acl_t **aclp) {
return (ISC_R_SUCCESS);
}
static void
static isc_result_t
do_ipv4(ns_interfacemgr_t *mgr) {
isc_interfaceiter_t *iter = NULL;
isc_result_t result;
result = isc_interfaceiter_create(mgr->mctx, &iter);
if (result != ISC_R_SUCCESS)
return;
return (result);
result = clearacl(mgr->mctx, &mgr->aclenv.localhost);
if (result != ISC_R_SUCCESS)
@@ -505,23 +505,32 @@ do_ipv4(ns_interfacemgr_t *mgr) {
if ((interface.flags & INTERFACE_F_UP) == 0)
continue;
result = isc_netaddr_masktoprefixlen(&interface.netmask,
&prefixlen);
if (result != ISC_R_SUCCESS)
goto ignore_interface;
elt.type = dns_aclelementtype_ipprefix;
elt.negative = ISC_FALSE;
elt.u.ip_prefix.address = interface.address;
elt.u.ip_prefix.prefixlen = prefixlen;
/* XXX suppress duplicates */
result = dns_acl_appendelement(mgr->aclenv.localnets, &elt);
if (result != ISC_R_SUCCESS)
goto ignore_interface;
elt.u.ip_prefix.prefixlen = 32;
result = dns_acl_appendelement(mgr->aclenv.localhost, &elt);
if (result != ISC_R_SUCCESS)
goto ignore_interface;
result = isc_netaddr_masktoprefixlen(&interface.netmask,
&prefixlen);
if (result != ISC_R_SUCCESS) {
isc_log_write(IFMGR_COMMON_LOGARGS,
ISC_LOG_WARNING,
"omitting IPv4 interface %s from "
"localnets ACL: %s",
interface.name,
isc_result_totext(result));
} else {
elt.u.ip_prefix.prefixlen = prefixlen;
/* XXX suppress duplicates */
result = dns_acl_appendelement(mgr->aclenv.localnets,
&elt);
if (result != ISC_R_SUCCESS)
goto ignore_interface;
}
for (le = ISC_LIST_HEAD(mgr->listenon4->elts);
le != NULL;
le = ISC_LIST_NEXT(le, link))
@@ -590,18 +599,15 @@ do_ipv4(ns_interfacemgr_t *mgr) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"IPv4: interface iteration failed: %s",
isc_result_totext(result));
else
result = ISC_R_SUCCESS;
cleanup_iter:
isc_interfaceiter_destroy(&iter);
return (result);
}
static isc_boolean_t
listenon_is_ip6_none(ns_listenlist_t *p) {
ns_listenelt_t *elt;
if (ISC_LIST_EMPTY(p->elts))
return (ISC_TRUE); /* No listen-on-v6 statements */
elt = ISC_LIST_HEAD(p->elts);
if (ISC_LIST_NEXT(elt, link) != NULL)
return (ISC_FALSE); /* More than one listen-on-v6 stmt */
listenon_is_ip6_none(ns_listenelt_t *elt) {
if (elt->acl->length == 0)
return (ISC_TRUE); /* listen-on-v6 { } */
if (elt->acl->length > 1)
@@ -613,69 +619,73 @@ listenon_is_ip6_none(ns_listenlist_t *p) {
}
static isc_boolean_t
listenon_is_ip6_any(ns_listenlist_t *p, in_port_t *portp) {
ns_listenelt_t *elt;
if (ISC_LIST_EMPTY(p->elts))
return (ISC_FALSE); /* No listen-on-v6 statements */
elt = ISC_LIST_HEAD(p->elts);
if (ISC_LIST_NEXT(elt, link) != NULL)
return (ISC_FALSE); /* More than one listen-on-v6 stmt */
listenon_is_ip6_any(ns_listenelt_t *elt) {
if (elt->acl->length != 1)
return (ISC_FALSE);
if (elt->acl->elements[0].negative == ISC_FALSE &&
elt->acl->elements[0].type == dns_aclelementtype_any) {
*portp = elt->port;
elt->acl->elements[0].type == dns_aclelementtype_any)
return (ISC_TRUE); /* listen-on-v6 { any; } */
}
return (ISC_FALSE); /* All others */
}
static void
static isc_result_t
do_ipv6(ns_interfacemgr_t *mgr) {
isc_result_t result;
ns_interface_t *ifp;
isc_sockaddr_t listen_addr;
struct in6_addr in6a;
in_port_t port;
ns_listenelt_t *le;
if (listenon_is_ip6_none(mgr->listenon6))
return;
if (! listenon_is_ip6_any(mgr->listenon6, &port)) {
isc_log_write(IFMGR_COMMON_LOGARGS,
ISC_LOG_ERROR,
"bad IPv6 listen-on list: must be 'any' or 'none'");
return;
}
in6a = in6addr_any;
isc_sockaddr_fromin6(&listen_addr, &in6a, port);
ifp = find_matching_interface(mgr, &listen_addr);
if (ifp != NULL) {
ifp->generation = mgr->generation;
} else {
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_INFO,
"listening on IPv6 interfaces, port %u", port);
result = ns_interface_setup(mgr, &listen_addr, "<any>", &ifp);
if (result != ISC_R_SUCCESS) {
for (le = ISC_LIST_HEAD(mgr->listenon6->elts);
le != NULL;
le = ISC_LIST_NEXT(le, link))
{
if (listenon_is_ip6_none(le))
continue;
if (! listenon_is_ip6_any(le)) {
isc_log_write(IFMGR_COMMON_LOGARGS,
ISC_LOG_ERROR,
"listening on IPv6 interfaces failed");
/* Continue. */
"bad IPv6 listen-on list: "
"must be 'any' or 'none'");
return (ISC_R_FAILURE);
}
in6a = in6addr_any;
isc_sockaddr_fromin6(&listen_addr, &in6a, le->port);
ifp = find_matching_interface(mgr, &listen_addr);
if (ifp != NULL) {
ifp->generation = mgr->generation;
} else {
isc_log_write(IFMGR_COMMON_LOGARGS, ISC_LOG_INFO,
"listening on IPv6 interfaces, port %u",
le->port);
result = ns_interface_setup(mgr, &listen_addr,
"<any>", &ifp);
if (result != ISC_R_SUCCESS) {
isc_log_write(IFMGR_COMMON_LOGARGS,
ISC_LOG_ERROR,
"listening on IPv6 interfaces "
"failed");
/* Continue. */
}
}
}
return (ISC_R_SUCCESS);
}
void
ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose) {
isc_boolean_t purge = ISC_TRUE;
REQUIRE(NS_INTERFACEMGR_VALID(mgr));
mgr->generation++; /* Increment the generation count. */
if (isc_net_probeipv6() == ISC_R_SUCCESS)
do_ipv6(mgr);
if (isc_net_probeipv6() == ISC_R_SUCCESS) {
if (do_ipv6(mgr) != ISC_R_SUCCESS)
purge = ISC_FALSE;
}
#ifdef WANT_IPV6
else
isc_log_write(IFMGR_COMMON_LOGARGS,
@@ -683,9 +693,10 @@ ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose) {
"no IPv6 interfaces found");
#endif
if (isc_net_probeipv4() == ISC_R_SUCCESS)
do_ipv4(mgr);
else
if (isc_net_probeipv4() == ISC_R_SUCCESS) {
if (do_ipv4(mgr) != ISC_R_SUCCESS)
purge = ISC_FALSE;
} else
isc_log_write(IFMGR_COMMON_LOGARGS,
verbose ? ISC_LOG_INFO : ISC_LOG_DEBUG(1),
"no IPv4 interfaces found");
@@ -696,7 +707,8 @@ ns_interfacemgr_scan(ns_interfacemgr_t *mgr, isc_boolean_t verbose) {
* how we catch interfaces that go away or change their
* addresses.
*/
purge_old_interfaces(mgr);
if (purge)
purge_old_interfaces(mgr);
/*
* Warn if we are not listening on any interface, unless
+7 -5
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: log.c,v 1.33 2001/06/14 14:14:17 gson Exp $ */
/* $Id: log.c,v 1.33.2.1 2001/10/31 22:44:15 marka Exp $ */
#include <config.h>
@@ -168,10 +168,12 @@ isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg) {
isc_result_t result;
result = isc_log_usechannel(lcfg, "default_syslog",
ISC_LOGCATEGORY_DEFAULT, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup;
if (! ns_g_logstderr) {
result = isc_log_usechannel(lcfg, "default_syslog",
ISC_LOGCATEGORY_DEFAULT, NULL);
if (result != ISC_R_SUCCESS)
goto cleanup;
}
result = isc_log_usechannel(lcfg, "default_debug",
ISC_LOGCATEGORY_DEFAULT, NULL);
+6 -6
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: logconf.c,v 1.30 2001/05/28 05:16:57 marka Exp $ */
/* $Id: logconf.c,v 1.30.2.3 2001/10/11 02:03:20 marka Exp $ */
#include <config.h>
@@ -74,7 +74,7 @@ category_fromconf(cfg_obj_t *ccat, isc_logconfig_t *lctx) {
result = isc_log_usechannel(lctx, channelname, category,
module);
if (result != ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx, DNS_LOGCATEGORY_CONFIG,
isc_log_write(ns_g_lctx, CFG_LOGCATEGORY_CONFIG,
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
"logging channel '%s': %s", channelname,
isc_result_totext(result));
@@ -134,7 +134,7 @@ channel_fromconf(cfg_obj_t *channel, isc_logconfig_t *lctx) {
cfg_obj_t *sizeobj = cfg_tuple_get(fileobj, "size");
cfg_obj_t *versionsobj = cfg_tuple_get(fileobj, "versions");
isc_int32_t versions = ISC_LOG_ROLLNEVER;
isc_offset_t size = ISC_OFFSET_MAXIMUM;
isc_offset_t size = 0;
type = ISC_LOG_TOFILE;
@@ -221,7 +221,7 @@ channel_fromconf(cfg_obj_t *channel, isc_logconfig_t *lctx) {
*/
result = isc_stdio_open(dest.file.name, "a", &fp);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx, DNS_LOGCATEGORY_CONFIG,
isc_log_write(ns_g_lctx, CFG_LOGCATEGORY_CONFIG,
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
"logging channel '%s' file '%s': %s",
channelname, dest.file.name,
@@ -267,12 +267,12 @@ ns_log_configure(isc_logconfig_t *logconf, cfg_obj_t *logstmt) {
CHECK(category_fromconf(category, logconf));
if (!default_set) {
cfg_obj_t *catname = cfg_tuple_get(category, "name");
if (strcmp(cfg_obj_asstring(catname), "default"))
if (strcmp(cfg_obj_asstring(catname), "default") == 0)
default_set = ISC_TRUE;
}
if (!unmatched_set) {
cfg_obj_t *catname = cfg_tuple_get(category, "name");
if (strcmp(cfg_obj_asstring(catname), "unmatched"))
if (strcmp(cfg_obj_asstring(catname), "unmatched") == 0)
unmatched_set = ISC_TRUE;
}
}
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwdgnba.c,v 1.12 2001/01/22 22:29:01 gson Exp $ */
/* $Id: lwdgnba.c,v 1.13 2001/08/08 22:54:19 gson Exp $ */
#include <config.h>
@@ -98,7 +98,7 @@ byaddr_done(isc_task_t *task, isc_event_t *event) {
if (result != ISC_R_SUCCESS)
goto out;
ns_lwdclient_log(50, "found name '%.*s'",
client->recv_buffer.used - b.used,
(int)(client->recv_buffer.used - b.used),
(char *)(b.base) + b.used);
if (gnba->realname == NULL) {
gnba->realname = (char *)(b.base) + b.used;
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwresd.c,v 1.36 2001/04/02 22:52:07 bwelling Exp $ */
/* $Id: lwresd.c,v 1.37 2001/08/07 01:58:55 marka Exp $ */
/*
* Main program for the Lightweight Resolver Daemon.
@@ -323,7 +323,7 @@ ns_lwdmanager_create(isc_mem_t *mctx, cfg_obj_t *lwres,
if (viewobj != NULL) {
vname = cfg_obj_asstring(cfg_tuple_get(viewobj, "name"));
obj = cfg_tuple_get(viewobj, "class");
result = ns_config_getclass(obj, &vclass);
result = ns_config_getclass(obj, dns_rdataclass_in, &vclass);
if (result != ISC_R_SUCCESS)
goto fail;
} else {
+15 -16
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: main.c,v 1.116 2001/06/28 01:08:24 marka Exp $ */
/* $Id: main.c,v 1.119 2001/08/08 22:54:20 gson Exp $ */
#include <config.h>
@@ -124,6 +124,10 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type,
exit(1);
}
static void
library_fatal_error(const char *file, int line, const char *format,
va_list args) ISC_FORMAT_PRINTF(3, 0);
static void
library_fatal_error(const char *file, int line, const char *format,
va_list args)
@@ -160,6 +164,10 @@ library_fatal_error(const char *file, int line, const char *format,
exit(1);
}
static void
library_unexpected_error(const char *file, int line, const char *format,
va_list args) ISC_FORMAT_PRINTF(3, 0);
static void
library_unexpected_error(const char *file, int line, const char *format,
va_list args)
@@ -482,20 +490,13 @@ setup(void) {
* directory's name before possibly changing to another directory.
*/
if (! isc_file_isabsolute(ns_g_conffile)) {
result = isc_dir_current(absolute_conffile,
sizeof(absolute_conffile), ISC_TRUE);
result = isc_file_absolutepath(ns_g_conffile,
absolute_conffile,
sizeof(absolute_conffile));
if (result != ISC_R_SUCCESS)
ns_main_earlyfatal("getting current directory failed: "
"%s", isc_result_totext(result));
if (strlen(absolute_conffile) + strlen(ns_g_conffile) + 1 >
sizeof(absolute_conffile))
ns_main_earlyfatal("configuration filename too long: "
"%s%s", absolute_conffile,
ns_g_conffile);
strcat(absolute_conffile, ns_g_conffile);
ns_main_earlyfatal("could not construct absolute path of "
"configuration file: %s",
isc_result_totext(result));
ns_g_conffile = absolute_conffile;
}
@@ -523,8 +524,6 @@ cleanup(void) {
*/
/* xxdb_clear(); */
(void)isc_file_remove(ns_g_autorndckeyfile);
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "exiting");
ns_log_shutdown();
+12 -44
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: query.c,v 1.196 2001/06/15 23:28:27 gson Exp $ */
/* $Id: query.c,v 1.198.2.1 2001/11/15 01:24:17 marka Exp $ */
#include <config.h>
@@ -29,9 +29,6 @@
#include <dns/db.h>
#include <dns/events.h>
#include <dns/message.h>
#ifdef DNS_OPT_NEWCODES
#include <dns/opt.h>
#endif /* DNS_OPT_NEWCODES */
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
@@ -789,25 +786,6 @@ query_getdb(ns_client_t *client, dns_name_t *name, unsigned int options,
{
isc_result_t result;
#ifdef DNS_OPT_NEWCODES_LIVE
if (client->opt_zone != NULL) {
result = query_getzonedb(client, &(client->opt_zone->name),
options, zonep, dbp, versionp);
if (result == ISC_R_SUCCESS)
*is_zonep = ISC_TRUE;
else
result = DNS_R_REFUSED;
} else {
result = query_getzonedb(client, name, options, zonep, dbp,
versionp);
if (result == ISC_R_SUCCESS) {
*is_zonep = ISC_TRUE;
} else if (result == ISC_R_NOTFOUND) {
result = query_getcachedb(client, dbp, options);
*is_zonep = ISC_FALSE;
}
}
#else /* DNS_OPT_NEWCODES_LIVE */
result = query_getzonedb(client, name, options, zonep, dbp, versionp);
if (result == ISC_R_SUCCESS) {
*is_zonep = ISC_TRUE;
@@ -815,7 +793,6 @@ query_getdb(ns_client_t *client, dns_name_t *name, unsigned int options,
result = query_getcachedb(client, dbp, options);
*is_zonep = ISC_FALSE;
}
#endif /* DNS_OPT_NEWCODES_LIVE */
return (result);
}
@@ -2569,11 +2546,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
break;
case DNS_R_GLUE:
#ifdef DNS_OPT_NEWCODES_LIVE
if (client->opt_zone != NULL)
break;
/* Fallthrough if we don't have opt_zone */
#endif /* DNS_OPT_NEWCODES_LIVE */
case DNS_R_ZONECUT:
/*
* These cases are handled in the main line below.
@@ -2582,13 +2554,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
authoritative = ISC_FALSE;
break;
case ISC_R_NOTFOUND:
#ifdef DNS_OPT_NEWCODES_LIVE
/*
* If we've passed in opt_zone, don't try anything more.
*/
if (client->opt_zone != NULL)
break;
#endif /* DNS_OPT_NEWCODES_LIVE */
/*
* The cache doesn't even have the root NS. Get them from
* the hints DB.
@@ -2608,6 +2573,17 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
rdataset, sigrdataset);
}
if (result != ISC_R_SUCCESS) {
/*
* Nonsensical root hints may require cleanup.
*/
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
if (sigrdataset != NULL &&
dns_rdataset_isassociated(sigrdataset))
dns_rdataset_disassociate(sigrdataset);
if (node != NULL)
dns_db_detachnode(db, &node);
/*
* We don't have any root server hints, but
* we may have working forwarders, so try to
@@ -2641,14 +2617,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
/* FALLTHROUGH */
case DNS_R_DELEGATION:
#ifdef DNS_OPT_NEWCODES_LIVE
/*
* If we've passed in opt_zone, don't try anything more.
*/
if (client->opt_zone != NULL) {
break;
}
#endif /* DNS_OPT_NEWCODES_LIVE */
authoritative = ISC_FALSE;
if (is_zone) {
/*
+41 -12
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.333 2001/07/11 22:22:37 bwelling Exp $ */
/* $Id: server.c,v 1.339.2.1 2001/09/28 05:35:47 marka Exp $ */
#include <config.h>
@@ -192,7 +192,8 @@ configure_view_dnsseckey(cfg_obj_t *vconfig, cfg_obj_t *key,
viewclass = dns_rdataclass_in;
else {
cfg_obj_t *classobj = cfg_tuple_get(vconfig, "class");
CHECK(ns_config_getclass(classobj, &viewclass));
CHECK(ns_config_getclass(classobj, dns_rdataclass_in,
&viewclass));
}
keystruct.common.rdclass = viewclass;
keystruct.common.rdtype = dns_rdatatype_key;
@@ -648,8 +649,8 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
result = ns_config_get(maps, "lame-ttl", &obj);
INSIST(result == ISC_R_SUCCESS);
lame_ttl = cfg_obj_asuint32(obj);
if (lame_ttl > 18000)
lame_ttl = 18000;
if (lame_ttl > 1800)
lame_ttl = 1800;
dns_resolver_setlamettl(view->resolver, lame_ttl);
/*
@@ -728,10 +729,22 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
dns_aclenv_copy(&view->aclenv, &ns_g_server->aclenv);
/*
* Configure the "match-clients" ACL.
* Configure the "match-clients" and "match-destinations" ACL.
*/
CHECK(configure_view_acl(vconfig, config, "match-clients", actx,
ns_g_mctx, &view->matchclients));
CHECK(configure_view_acl(vconfig, config, "match-destinations", actx,
ns_g_mctx, &view->matchdestinations));
/*
* Configure the "match-recursive-only" option.
*/
obj = NULL;
(void) ns_config_get(maps, "match-recursive-only", &obj);
if (obj != NULL && cfg_obj_asboolean(obj))
view->matchrecursiveonly = ISC_TRUE;
else
view->matchrecursiveonly = ISC_FALSE;
/*
* Configure other configurable data.
@@ -973,6 +986,7 @@ create_authors_zone(cfg_obj_t *options, dns_zonemgr_t *zmgr, dns_view_t *view)
"\022Andreas Gustafsson",
"\012Bob Halley",
"\016David Lawrence",
"\013Danny Mayer",
"\013Damien Neil",
"\013Matt Nelson",
"\016Michael Sawyer",
@@ -1134,8 +1148,14 @@ configure_forward(cfg_obj_t *config, dns_view_t *view, dns_name_t *origin,
result = dns_fwdtable_add(view->fwdtable, origin, &addresses,
fwdpolicy);
if (result != ISC_R_SUCCESS)
if (result != ISC_R_SUCCESS) {
char namebuf[DNS_NAME_FORMATSIZE];
dns_name_format(origin, namebuf, sizeof(namebuf));
cfg_obj_log(forwarders, ns_g_lctx, ISC_LOG_WARNING,
"could not set up forwarding for domain '%s': %s",
namebuf, isc_result_totext(result));
goto cleanup;
}
result = ISC_R_SUCCESS;
@@ -1169,7 +1189,8 @@ create_view(cfg_obj_t *vconfig, dns_viewlist_t *viewlist, dns_view_t **viewp) {
viewname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name"));
classobj = cfg_tuple_get(vconfig, "class");
result = ns_config_getclass(classobj, &viewclass);
result = ns_config_getclass(classobj, dns_rdataclass_in,
&viewclass);
} else {
viewname = "_default";
viewclass = dns_rdataclass_in;
@@ -1230,7 +1251,8 @@ configure_zone(cfg_obj_t *config, cfg_obj_t *zconfig, cfg_obj_t *vconfig,
&buffer, dns_rootname, ISC_FALSE, NULL));
origin = dns_fixedname_name(&fixorigin);
CHECK(ns_config_getclass(cfg_tuple_get(zconfig, "class"), &zclass));
CHECK(ns_config_getclass(cfg_tuple_get(zconfig, "class"),
view->rdclass, &zclass));
if (zclass != view->rdclass) {
const char *vname = NULL;
if (vconfig != NULL)
@@ -1270,8 +1292,15 @@ configure_zone(cfg_obj_t *config, cfg_obj_t *zconfig, cfg_obj_t *vconfig,
goto cleanup;
}
if (dns_name_equal(origin, dns_rootname)) {
result = configure_hints(view,
cfg_obj_asstring(fileobj));
char *hintsfile = cfg_obj_asstring(fileobj);
result = configure_hints(view, hintsfile);
if (result != ISC_R_SUCCESS)
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER,
ISC_LOG_ERROR,
"could not configure root hints "
"from '%s': %s", hintsfile,
isc_result_totext(result));
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
@@ -1279,6 +1308,7 @@ configure_zone(cfg_obj_t *config, cfg_obj_t *zconfig, cfg_obj_t *vconfig,
zname);
result = ISC_R_SUCCESS;
}
/* Skip ordinary zone processing. */
goto cleanup;
}
@@ -1416,8 +1446,7 @@ directory_callback(const char *clausename, cfg_obj_t *obj, void *arg) {
*/
directory = cfg_obj_asstring(obj);
if (!isc_file_isabsolute(directory) &&
!isc_file_iscurrentdir(directory))
if (! isc_file_ischdiridempotent(directory))
cfg_obj_log(obj, ns_g_lctx, ISC_LOG_WARNING,
"option 'directory' contains relative path '%s'",
directory);
+4 -7
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: tsigconf.c,v 1.18 2001/06/10 02:37:08 bwelling Exp $ */
/* $Id: tsigconf.c,v 1.21 2001/08/03 18:39:50 bwelling Exp $ */
#include <config.h>
@@ -31,6 +31,7 @@
#include <named/log.h>
#include <named/config.h>
#include <named/tsigconf.h>
static isc_result_t
@@ -83,11 +84,7 @@ add_initial_keys(cfg_obj_t *list, dns_tsig_keyring_t *ring, isc_mem_t *mctx) {
* Create the algorithm.
*/
algstr = cfg_obj_asstring(algobj);
if (strcasecmp(algstr, "hmac-md5") == 0 ||
strcasecmp(algstr, "hmac-md5.sig-alg.reg.int") ||
strcasecmp(algstr, "hmac-md5.sig-alg.reg.int."))
alg = dns_tsig_hmacmd5_name;
else {
if (ns_config_getkeyalgorithm(algstr, &alg) != ISC_R_SUCCESS) {
cfg_obj_log(algobj, ns_g_lctx, ISC_LOG_ERROR,
"key '%s': the only supported algorithm "
"is hmac-md5", keyid);
@@ -122,7 +119,7 @@ add_initial_keys(cfg_obj_t *list, dns_tsig_keyring_t *ring, isc_mem_t *mctx) {
failure:
cfg_obj_log(key, ns_g_lctx, ISC_LOG_ERROR,
"configuring TSIG key '%s': %s", keyid,
"configuring key '%s': %s", keyid,
isc_result_totext(ret));
if (secret != NULL)
+57 -26
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.c,v 1.44 2001/05/25 07:42:15 marka Exp $ */
/* $Id: os.c,v 1.46.2.1 2001/10/22 23:28:12 gson Exp $ */
#include <config.h>
#include <stdarg.h>
@@ -36,6 +36,7 @@
#include <isc/file.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <named/main.h>
@@ -133,6 +134,7 @@ static void
linux_setcaps(unsigned int caps) {
struct __user_cap_header_struct caphead;
struct __user_cap_data_struct cap;
char strbuf[ISC_STRERRORSIZE];
if ((getuid() != 0 && !non_root_caps) || non_root)
return;
@@ -144,8 +146,10 @@ linux_setcaps(unsigned int caps) {
cap.effective = caps;
cap.permitted = caps;
cap.inheritable = caps;
if (syscall(SYS_capset, &caphead, &cap) < 0)
ns_main_earlyfatal("capset failed: %s", strerror(errno));
if (syscall(SYS_capset, &caphead, &cap) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("capset failed: %s", strbuf);
}
}
static void
@@ -233,15 +237,17 @@ linux_minprivs(void) {
#ifdef HAVE_SYS_PRCTL_H
static void
linux_keepcaps(void) {
char strbuf[ISC_STRERRORSIZE];
/*
* Ask the kernel to allow us to keep our capabilities after we
* setuid().
*/
if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0) {
if (errno != EINVAL)
ns_main_earlyfatal("prctl() failed: %s",
strerror(errno));
if (errno != EINVAL) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("prctl() failed: %s", strbuf);
}
} else {
non_root_caps = ISC_TRUE;
if (getuid() != 0)
@@ -280,10 +286,13 @@ void
ns_os_daemonize(void) {
pid_t pid;
int fd;
char strbuf[ISC_STRERRORSIZE];
pid = fork();
if (pid == -1)
ns_main_earlyfatal("fork(): %s", strerror(errno));
if (pid == -1) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("fork(): %s", strbuf);
}
if (pid != 0)
_exit(0);
@@ -295,8 +304,10 @@ ns_os_daemonize(void) {
mainpid = getpid();
#endif
if (setsid() == -1)
ns_main_earlyfatal("setsid(): %s", strerror(errno));
if (setsid() == -1) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("setsid(): %s", strbuf);
}
/*
* Try to set stdin, stdout, and stderr to /dev/null, but press
@@ -337,16 +348,22 @@ all_digits(const char *s) {
void
ns_os_chroot(const char *root) {
char strbuf[ISC_STRERRORSIZE];
if (root != NULL) {
if (chroot(root) < 0)
ns_main_earlyfatal("chroot(): %s", strerror(errno));
if (chdir("/") < 0)
ns_main_earlyfatal("chdir(/): %s", strerror(errno));
if (chroot(root) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("chroot(): %s", strbuf);
}
if (chdir("/") < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("chdir(/): %s", strbuf);
}
}
}
void
ns_os_inituserinfo(const char *username) {
char strbuf[ISC_STRERRORSIZE];
if (username == NULL)
return;
@@ -360,14 +377,17 @@ ns_os_inituserinfo(const char *username) {
ns_main_earlyfatal("user '%s' unknown", username);
if (getuid() == 0) {
if (initgroups(runas_pw->pw_name, runas_pw->pw_gid) < 0)
ns_main_earlyfatal("initgroups(): %s", strerror(errno));
if (initgroups(runas_pw->pw_name, runas_pw->pw_gid) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("initgroups(): %s", strbuf);
}
}
}
void
ns_os_changeuser(void) {
char strbuf[ISC_STRERRORSIZE];
if (runas_pw == NULL || done_setuid)
return;
@@ -382,11 +402,15 @@ ns_os_changeuser(void) {
"2.3.99-pre3 or 2.2.18 when using threads");
#endif
if (setgid(runas_pw->pw_gid) < 0)
ns_main_earlyfatal("setgid(): %s", strerror(errno));
if (setgid(runas_pw->pw_gid) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("setgid(): %s", strbuf);
}
if (setuid(runas_pw->pw_uid) < 0)
ns_main_earlyfatal("setuid(): %s", strerror(errno));
if (setuid(runas_pw->pw_uid) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("setuid(): %s", strbuf);
}
#if defined(HAVE_LINUX_CAPABILITY_H) && !defined(HAVE_LINUXTHREADS)
linux_minprivs();
@@ -447,6 +471,7 @@ ns_os_writepidfile(const char *filename) {
FILE *lockfile;
size_t len;
pid_t pid;
char strbuf[ISC_STRERRORSIZE];
/*
* The caller must ensure any required synchronization.
@@ -456,20 +481,26 @@ ns_os_writepidfile(const char *filename) {
len = strlen(filename);
pidfile = malloc(len + 1);
if (pidfile == NULL)
if (pidfile == NULL) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("couldn't malloc '%s': %s",
filename, strerror(errno));
filename, strbuf);
}
/* This is safe. */
strcpy(pidfile, filename);
fd = safe_open(filename, ISC_FALSE);
if (fd < 0)
if (fd < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("couldn't open pid file '%s': %s",
filename, strerror(errno));
filename, strbuf);
}
lockfile = fdopen(fd, "w");
if (lockfile == NULL)
if (lockfile == NULL) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("could not fdopen() pid file '%s': %s",
filename, strerror(errno));
filename, strbuf);
}
#ifdef HAVE_LINUXTHREADS
pid = mainpid;
#else
+34
View File
@@ -0,0 +1,34 @@
/*
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: ntservice.h,v 1.1 2001/07/18 03:43:18 mayer Exp $ */
#ifndef NTSERVICE_H
#define NTSERVICE_H
#include <winsvc.h>
#define BIND_DISPLAY_NAME "ISC BIND"
#define BIND_SERVICE_NAME "named"
void
ntservice_init();
void UpdateSCM(DWORD);
void ServiceControl(DWORD dwCtrlCode);
void
ntservice_shutdown();
#endif
+49
View File
@@ -0,0 +1,49 @@
/*
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.h,v 1.1 2001/07/18 03:43:18 mayer Exp $ */
#ifndef NS_OS_H
#define NS_OS_H 1
#include <isc/types.h>
void
ns_os_init(const char *progname);
void
ns_os_daemonize(void);
void
ns_os_chroot(const char *root);
void
ns_os_inituserinfo(const char *username);
void
ns_os_changeuser(void);
void
ns_os_minprivs(void);
void
ns_os_writepidfile(const char *filename);
void
ns_os_shutdown(void);
#endif /* NS_OS_H */
+323
View File
@@ -0,0 +1,323 @@
# Microsoft Developer Studio Project File - Name="named" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=named - 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 "named.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 "named.mak" CFG="named - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "named - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "named - 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)" == "named - 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 "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /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 kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/named.exe"
!ELSEIF "$(CFG)" == "named - 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 "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /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 kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib /nologo /subsystem:console /map /debug /machine:I386 /out:"../../../Build/Debug/named.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "named - Win32 Release"
# Name "named - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\aclconf.c
# End Source File
# Begin Source File
SOURCE=..\client.c
# End Source File
# Begin Source File
SOURCE=..\config.c
# End Source File
# Begin Source File
SOURCE=..\control.c
# End Source File
# Begin Source File
SOURCE=..\controlconf.c
# End Source File
# Begin Source File
SOURCE=..\interfacemgr.c
# End Source File
# Begin Source File
SOURCE=..\listenlist.c
# End Source File
# Begin Source File
SOURCE=..\log.c
# End Source File
# Begin Source File
SOURCE=..\logconf.c
# End Source File
# Begin Source File
SOURCE=..\lwaddr.c
# End Source File
# Begin Source File
SOURCE=..\lwdclient.c
# End Source File
# Begin Source File
SOURCE=..\lwderror.c
# End Source File
# Begin Source File
SOURCE=..\lwdgabn.c
# End Source File
# Begin Source File
SOURCE=..\lwdgnba.c
# End Source File
# Begin Source File
SOURCE=..\lwdgrbn.c
# End Source File
# Begin Source File
SOURCE=..\lwdnoop.c
# End Source File
# Begin Source File
SOURCE=..\lwresd.c
# End Source File
# Begin Source File
SOURCE=..\lwsearch.c
# End Source File
# Begin Source File
SOURCE=..\main.c
# End Source File
# Begin Source File
SOURCE=..\notify.c
# End Source File
# Begin Source File
SOURCE=.\ntservice.c
# End Source File
# Begin Source File
SOURCE=.\os.c
# End Source File
# Begin Source File
SOURCE=..\query.c
# End Source File
# Begin Source File
SOURCE=..\server.c
# End Source File
# Begin Source File
SOURCE=..\sortlist.c
# End Source File
# Begin Source File
SOURCE=..\tkeyconf.c
# End Source File
# Begin Source File
SOURCE=..\tsigconf.c
# End Source File
# Begin Source File
SOURCE=..\update.c
# End Source File
# Begin Source File
SOURCE=..\xfrout.c
# End Source File
# Begin Source File
SOURCE=..\zoneconf.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=..\include\named\aclconf.h
# End Source File
# Begin Source File
SOURCE=..\include\named\client.h
# End Source File
# Begin Source File
SOURCE=..\include\named\config.h
# End Source File
# Begin Source File
SOURCE=..\include\named\globals.h
# End Source File
# Begin Source File
SOURCE=..\include\named\interfacemgr.h
# End Source File
# Begin Source File
SOURCE=..\include\named\listenlist.h
# End Source File
# Begin Source File
SOURCE=..\include\named\log.h
# End Source File
# Begin Source File
SOURCE=..\include\named\logconf.h
# End Source File
# Begin Source File
SOURCE=..\include\named\lwaddr.h
# End Source File
# Begin Source File
SOURCE=..\include\named\lwdclient.h
# End Source File
# Begin Source File
SOURCE=..\include\named\lwresd.h
# End Source File
# Begin Source File
SOURCE=..\include\named\lwsearch.h
# End Source File
# Begin Source File
SOURCE=..\include\named\main.h
# End Source File
# Begin Source File
SOURCE=..\include\named\notify.h
# End Source File
# Begin Source File
SOURCE=.\include\named\ntservice.h
# End Source File
# Begin Source File
SOURCE=..\include\named\omapi.h
# End Source File
# Begin Source File
SOURCE=.\include\named\os.h
# End Source File
# Begin Source File
SOURCE=..\include\named\query.h
# End Source File
# Begin Source File
SOURCE=..\include\named\server.h
# End Source File
# Begin Source File
SOURCE=..\include\named\sortlist.h
# End Source File
# Begin Source File
SOURCE=..\include\named\tkeyconf.h
# End Source File
# Begin Source File
SOURCE=..\include\named\tsigconf.h
# End Source File
# Begin Source File
SOURCE=..\include\named\types.h
# End Source File
# Begin Source File
SOURCE=..\include\named\update.h
# End Source File
# Begin Source File
SOURCE=..\include\named\xfrout.h
# End Source File
# Begin Source File
SOURCE=..\include\named\zoneconf.h
# End Source File
# 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
+29
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: "named"=".\named.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+896
View File
@@ -0,0 +1,896 @@
# Microsoft Developer Studio Generated NMAKE File, Based on named.dsp
!IF "$(CFG)" == ""
CFG=named - Win32 Debug
!MESSAGE No configuration specified. Defaulting to named - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "named - Win32 Release" && "$(CFG)" != "named - 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 "named.mak" CFG="named - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "named - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "named - 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)" == "named - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\named.exe"
CLEAN :
-@erase "$(INTDIR)\aclconf.obj"
-@erase "$(INTDIR)\client.obj"
-@erase "$(INTDIR)\config.obj"
-@erase "$(INTDIR)\control.obj"
-@erase "$(INTDIR)\controlconf.obj"
-@erase "$(INTDIR)\interfacemgr.obj"
-@erase "$(INTDIR)\listenlist.obj"
-@erase "$(INTDIR)\log.obj"
-@erase "$(INTDIR)\logconf.obj"
-@erase "$(INTDIR)\lwaddr.obj"
-@erase "$(INTDIR)\lwdclient.obj"
-@erase "$(INTDIR)\lwderror.obj"
-@erase "$(INTDIR)\lwdgabn.obj"
-@erase "$(INTDIR)\lwdgnba.obj"
-@erase "$(INTDIR)\lwdgrbn.obj"
-@erase "$(INTDIR)\lwdnoop.obj"
-@erase "$(INTDIR)\lwresd.obj"
-@erase "$(INTDIR)\lwsearch.obj"
-@erase "$(INTDIR)\main.obj"
-@erase "$(INTDIR)\notify.obj"
-@erase "$(INTDIR)\ntservice.obj"
-@erase "$(INTDIR)\os.obj"
-@erase "$(INTDIR)\query.obj"
-@erase "$(INTDIR)\server.obj"
-@erase "$(INTDIR)\sortlist.obj"
-@erase "$(INTDIR)\tkeyconf.obj"
-@erase "$(INTDIR)\tsigconf.obj"
-@erase "$(INTDIR)\update.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\xfrout.obj"
-@erase "$(INTDIR)\zoneconf.obj"
-@erase "..\..\..\Build\Release\named.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "NDEBUG" /D "__STDC__" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\named.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)\named.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/isccc/win32/Release/libisccc.lib ../../../lib/lwres/win32/Release/liblwres.lib ../../../lib/isccfg/win32/Release/libisccfg.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\named.pdb" /machine:I386 /out:"../../../Build/Release/named.exe"
LINK32_OBJS= \
"$(INTDIR)\aclconf.obj" \
"$(INTDIR)\client.obj" \
"$(INTDIR)\config.obj" \
"$(INTDIR)\control.obj" \
"$(INTDIR)\controlconf.obj" \
"$(INTDIR)\interfacemgr.obj" \
"$(INTDIR)\listenlist.obj" \
"$(INTDIR)\log.obj" \
"$(INTDIR)\logconf.obj" \
"$(INTDIR)\lwaddr.obj" \
"$(INTDIR)\lwdclient.obj" \
"$(INTDIR)\lwderror.obj" \
"$(INTDIR)\lwdgabn.obj" \
"$(INTDIR)\lwdgnba.obj" \
"$(INTDIR)\lwdgrbn.obj" \
"$(INTDIR)\lwdnoop.obj" \
"$(INTDIR)\lwresd.obj" \
"$(INTDIR)\lwsearch.obj" \
"$(INTDIR)\main.obj" \
"$(INTDIR)\notify.obj" \
"$(INTDIR)\ntservice.obj" \
"$(INTDIR)\os.obj" \
"$(INTDIR)\query.obj" \
"$(INTDIR)\server.obj" \
"$(INTDIR)\sortlist.obj" \
"$(INTDIR)\tkeyconf.obj" \
"$(INTDIR)\tsigconf.obj" \
"$(INTDIR)\update.obj" \
"$(INTDIR)\xfrout.obj" \
"$(INTDIR)\zoneconf.obj"
"..\..\..\Build\Release\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "named - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\named.exe" "$(OUTDIR)\named.bsc"
CLEAN :
-@erase "$(INTDIR)\aclconf.obj"
-@erase "$(INTDIR)\aclconf.sbr"
-@erase "$(INTDIR)\client.obj"
-@erase "$(INTDIR)\client.sbr"
-@erase "$(INTDIR)\config.obj"
-@erase "$(INTDIR)\config.sbr"
-@erase "$(INTDIR)\control.obj"
-@erase "$(INTDIR)\control.sbr"
-@erase "$(INTDIR)\controlconf.obj"
-@erase "$(INTDIR)\controlconf.sbr"
-@erase "$(INTDIR)\interfacemgr.obj"
-@erase "$(INTDIR)\interfacemgr.sbr"
-@erase "$(INTDIR)\listenlist.obj"
-@erase "$(INTDIR)\listenlist.sbr"
-@erase "$(INTDIR)\log.obj"
-@erase "$(INTDIR)\log.sbr"
-@erase "$(INTDIR)\logconf.obj"
-@erase "$(INTDIR)\logconf.sbr"
-@erase "$(INTDIR)\lwaddr.obj"
-@erase "$(INTDIR)\lwaddr.sbr"
-@erase "$(INTDIR)\lwdclient.obj"
-@erase "$(INTDIR)\lwdclient.sbr"
-@erase "$(INTDIR)\lwderror.obj"
-@erase "$(INTDIR)\lwderror.sbr"
-@erase "$(INTDIR)\lwdgabn.obj"
-@erase "$(INTDIR)\lwdgabn.sbr"
-@erase "$(INTDIR)\lwdgnba.obj"
-@erase "$(INTDIR)\lwdgnba.sbr"
-@erase "$(INTDIR)\lwdgrbn.obj"
-@erase "$(INTDIR)\lwdgrbn.sbr"
-@erase "$(INTDIR)\lwdnoop.obj"
-@erase "$(INTDIR)\lwdnoop.sbr"
-@erase "$(INTDIR)\lwresd.obj"
-@erase "$(INTDIR)\lwresd.sbr"
-@erase "$(INTDIR)\lwsearch.obj"
-@erase "$(INTDIR)\lwsearch.sbr"
-@erase "$(INTDIR)\main.obj"
-@erase "$(INTDIR)\main.sbr"
-@erase "$(INTDIR)\notify.obj"
-@erase "$(INTDIR)\notify.sbr"
-@erase "$(INTDIR)\ntservice.obj"
-@erase "$(INTDIR)\ntservice.sbr"
-@erase "$(INTDIR)\os.obj"
-@erase "$(INTDIR)\os.sbr"
-@erase "$(INTDIR)\query.obj"
-@erase "$(INTDIR)\query.sbr"
-@erase "$(INTDIR)\server.obj"
-@erase "$(INTDIR)\server.sbr"
-@erase "$(INTDIR)\sortlist.obj"
-@erase "$(INTDIR)\sortlist.sbr"
-@erase "$(INTDIR)\tkeyconf.obj"
-@erase "$(INTDIR)\tkeyconf.sbr"
-@erase "$(INTDIR)\tsigconf.obj"
-@erase "$(INTDIR)\tsigconf.sbr"
-@erase "$(INTDIR)\update.obj"
-@erase "$(INTDIR)\update.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(INTDIR)\xfrout.obj"
-@erase "$(INTDIR)\xfrout.sbr"
-@erase "$(INTDIR)\zoneconf.obj"
-@erase "$(INTDIR)\zoneconf.sbr"
-@erase "$(OUTDIR)\named.bsc"
-@erase "$(OUTDIR)\named.map"
-@erase "$(OUTDIR)\named.pdb"
-@erase "..\..\..\Build\Debug\named.exe"
-@erase "..\..\..\Build\Debug\named.ilk"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../win32/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/win32/include" /I "../../../lib/dns/include" /I "../../../lib/dns/sec/dst/include" /I "../../../lib/isccc/include" /I "../../../lib/lwres/win32/include" /I "../../../lib/lwres/include" /I "../../../lib/isccfg/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "i386" /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)\named.bsc"
BSC32_SBRS= \
"$(INTDIR)\aclconf.sbr" \
"$(INTDIR)\client.sbr" \
"$(INTDIR)\config.sbr" \
"$(INTDIR)\control.sbr" \
"$(INTDIR)\controlconf.sbr" \
"$(INTDIR)\interfacemgr.sbr" \
"$(INTDIR)\listenlist.sbr" \
"$(INTDIR)\log.sbr" \
"$(INTDIR)\logconf.sbr" \
"$(INTDIR)\lwaddr.sbr" \
"$(INTDIR)\lwdclient.sbr" \
"$(INTDIR)\lwderror.sbr" \
"$(INTDIR)\lwdgabn.sbr" \
"$(INTDIR)\lwdgnba.sbr" \
"$(INTDIR)\lwdgrbn.sbr" \
"$(INTDIR)\lwdnoop.sbr" \
"$(INTDIR)\lwresd.sbr" \
"$(INTDIR)\lwsearch.sbr" \
"$(INTDIR)\main.sbr" \
"$(INTDIR)\notify.sbr" \
"$(INTDIR)\ntservice.sbr" \
"$(INTDIR)\os.sbr" \
"$(INTDIR)\query.sbr" \
"$(INTDIR)\server.sbr" \
"$(INTDIR)\sortlist.sbr" \
"$(INTDIR)\tkeyconf.sbr" \
"$(INTDIR)\tsigconf.sbr" \
"$(INTDIR)\update.sbr" \
"$(INTDIR)\xfrout.sbr" \
"$(INTDIR)\zoneconf.sbr"
"$(OUTDIR)\named.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=user32.lib advapi32.lib kernel32.lib ws2_32.lib ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/isccc/win32/Debug/libisccc.lib ../../../lib/lwres/win32/Debug/liblwres.lib ../../../lib/isccfg/win32/Debug/libisccfg.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\named.pdb" /map:"$(INTDIR)\named.map" /debug /machine:I386 /out:"../../../Build/Debug/named.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\aclconf.obj" \
"$(INTDIR)\client.obj" \
"$(INTDIR)\config.obj" \
"$(INTDIR)\control.obj" \
"$(INTDIR)\controlconf.obj" \
"$(INTDIR)\interfacemgr.obj" \
"$(INTDIR)\listenlist.obj" \
"$(INTDIR)\log.obj" \
"$(INTDIR)\logconf.obj" \
"$(INTDIR)\lwaddr.obj" \
"$(INTDIR)\lwdclient.obj" \
"$(INTDIR)\lwderror.obj" \
"$(INTDIR)\lwdgabn.obj" \
"$(INTDIR)\lwdgnba.obj" \
"$(INTDIR)\lwdgrbn.obj" \
"$(INTDIR)\lwdnoop.obj" \
"$(INTDIR)\lwresd.obj" \
"$(INTDIR)\lwsearch.obj" \
"$(INTDIR)\main.obj" \
"$(INTDIR)\notify.obj" \
"$(INTDIR)\ntservice.obj" \
"$(INTDIR)\os.obj" \
"$(INTDIR)\query.obj" \
"$(INTDIR)\server.obj" \
"$(INTDIR)\sortlist.obj" \
"$(INTDIR)\tkeyconf.obj" \
"$(INTDIR)\tsigconf.obj" \
"$(INTDIR)\update.obj" \
"$(INTDIR)\xfrout.obj" \
"$(INTDIR)\zoneconf.obj"
"..\..\..\Build\Debug\named.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("named.dep")
!INCLUDE "named.dep"
!ELSE
!MESSAGE Warning: cannot find "named.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "named - Win32 Release" || "$(CFG)" == "named - Win32 Debug"
SOURCE=..\aclconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\aclconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\aclconf.obj" "$(INTDIR)\aclconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\client.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\client.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\client.obj" "$(INTDIR)\client.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\config.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\config.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\config.obj" "$(INTDIR)\config.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\control.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\control.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\control.obj" "$(INTDIR)\control.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\controlconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\controlconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\controlconf.obj" "$(INTDIR)\controlconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\interfacemgr.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\interfacemgr.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\interfacemgr.obj" "$(INTDIR)\interfacemgr.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\listenlist.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\listenlist.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\listenlist.obj" "$(INTDIR)\listenlist.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\log.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\log.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\log.obj" "$(INTDIR)\log.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\logconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\logconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\logconf.obj" "$(INTDIR)\logconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwaddr.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwaddr.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwaddr.obj" "$(INTDIR)\lwaddr.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwdclient.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwdclient.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwdclient.obj" "$(INTDIR)\lwdclient.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwderror.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwderror.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwderror.obj" "$(INTDIR)\lwderror.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwdgabn.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwdgabn.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwdgabn.obj" "$(INTDIR)\lwdgabn.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwdgnba.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwdgnba.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwdgnba.obj" "$(INTDIR)\lwdgnba.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwdgrbn.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwdgrbn.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwdgrbn.obj" "$(INTDIR)\lwdgrbn.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwdnoop.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwdnoop.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwdnoop.obj" "$(INTDIR)\lwdnoop.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwresd.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwresd.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwresd.obj" "$(INTDIR)\lwresd.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\lwsearch.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\lwsearch.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\lwsearch.obj" "$(INTDIR)\lwsearch.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\main.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\main.obj" "$(INTDIR)\main.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\notify.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\notify.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\notify.obj" "$(INTDIR)\notify.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=.\ntservice.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\ntservice.obj" : $(SOURCE) "$(INTDIR)"
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\ntservice.obj" "$(INTDIR)\ntservice.sbr" : $(SOURCE) "$(INTDIR)"
!ENDIF
SOURCE=.\os.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\os.obj" : $(SOURCE) "$(INTDIR)"
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\os.obj" "$(INTDIR)\os.sbr" : $(SOURCE) "$(INTDIR)"
!ENDIF
SOURCE=..\query.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\query.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\query.obj" "$(INTDIR)\query.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\server.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\server.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\server.obj" "$(INTDIR)\server.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\sortlist.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\sortlist.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\sortlist.obj" "$(INTDIR)\sortlist.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\tkeyconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\tkeyconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\tkeyconf.obj" "$(INTDIR)\tkeyconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\tsigconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\tsigconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\tsigconf.obj" "$(INTDIR)\tsigconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\update.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\update.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\update.obj" "$(INTDIR)\update.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\xfrout.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\xfrout.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\xfrout.obj" "$(INTDIR)\xfrout.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
SOURCE=..\zoneconf.c
!IF "$(CFG)" == "named - Win32 Release"
"$(INTDIR)\zoneconf.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "named - Win32 Debug"
"$(INTDIR)\zoneconf.obj" "$(INTDIR)\zoneconf.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+232
View File
@@ -0,0 +1,232 @@
/*
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: ntservice.c,v 1.3.2.1 2001/09/04 19:40:20 gson Exp $ */
#include <config.h>
#include <stdio.h>
#include <isc/app.h>
#include <isc/log.h>
#include <named/globals.h>
#include <named/ntservice.h>
#include <named/main.h>
#include <named/server.h>
/* Handle to SCM for updating service status */
static SERVICE_STATUS_HANDLE hServiceStatus = 0;
static int foreground = FALSE;
static char ConsoleTitle[128];
/*
* Forward declarations
*/
void ServiceControl(DWORD dwCtrlCode);
void GetArgs(int *, char ***, char ***);
int main(int, char *[], char *[]); /* From ns_main.c */
/*
* Here we change the entry point for the executable to bindmain() from main()
* This allows us to invoke as a service or from the command line easily.
*/
#pragma comment(linker, "/entry:bindmain")
/*
* This is the entry point for the executable
* We can now call main() explicitly or via StartServiceCtrlDispatcher()
* as we need to.
*/
int bindmain()
{
int rc,
i = 1;
int argc;
char **envp, **argv;
/*
* We changed the entry point function, so we must initialize argv,
* etc. ourselves. Ick.
*/
GetArgs(&argc, &argv, &envp);
/* Command line users should put -f in the options */
while (argv[i]) {
if (!strcmp(argv[i], "-f") || !strcmp(argv[i], "-g")) {
foreground = TRUE;
break;
}
i++;
}
if (foreground) {
/* run in console window */
exit(main(argc, argv, envp));
} else {
/* Start up as service */
char *SERVICE_NAME = BIND_SERVICE_NAME;
SERVICE_TABLE_ENTRY dispatchTable[] = {
{ TEXT(SERVICE_NAME), (LPSERVICE_MAIN_FUNCTION)main },
{ NULL, NULL }
};
rc = StartServiceCtrlDispatcher(dispatchTable);
if (!rc) {
fprintf(stderr, "Use -f to run from the command line.\n");
exit(GetLastError());
}
}
exit(0);
}
/*
* Initialize the Service by registering it.
*/
void
ntservice_init() {
if (!foreground) {
/* Register handler with the SCM */
hServiceStatus = RegisterServiceCtrlHandler(BIND_SERVICE_NAME,
(LPHANDLER_FUNCTION)ServiceControl);
if (!hServiceStatus) {
ns_main_earlyfatal(
"could not register service control handler");
UpdateSCM(SERVICE_STOPPED);
exit(1);
}
UpdateSCM(SERVICE_RUNNING);
} else {
strcpy(ConsoleTitle, "BIND Version ");
strcat(ConsoleTitle, VERSION);
SetConsoleTitle(ConsoleTitle);
}
}
void
ntservice_shutdown() {
UpdateSCM(SERVICE_STOPPED);
}
/*
* ServiceControl(): Handles requests from the SCM and passes them on
* to named.
*/
void
ServiceControl(DWORD dwCtrlCode) {
/* Handle the requested control code */
switch(dwCtrlCode) {
case SERVICE_CONTROL_INTERROGATE:
UpdateSCM(0);
break;
case SERVICE_CONTROL_STOP:
ns_server_flushonshutdown(ns_g_server, ISC_TRUE);
isc_app_shutdown();
UpdateSCM(SERVICE_STOPPED);
break;
default:
break;
}
}
/*
* Tell the Service Control Manager the state of the service.
*/
void UpdateSCM(DWORD state) {
SERVICE_STATUS ss;
static DWORD dwState = SERVICE_STOPPED;
if (hServiceStatus) {
if (state)
dwState = state;
memset(&ss, 0, sizeof(SERVICE_STATUS));
ss.dwServiceType |= SERVICE_WIN32_OWN_PROCESS;
ss.dwCurrentState = dwState;
ss.dwControlsAccepted = SERVICE_ACCEPT_STOP |
SERVICE_ACCEPT_SHUTDOWN;
ss.dwCheckPoint = 0;
ss.dwServiceSpecificExitCode = 0;
ss.dwWin32ExitCode = NO_ERROR;
ss.dwWaitHint = dwState == SERVICE_STOP_PENDING ? 10000 : 1000;
if (!SetServiceStatus(hServiceStatus, &ss)) {
ss.dwCurrentState = SERVICE_STOPPED;
SetServiceStatus(hServiceStatus, &ss);
}
}
}
/*
* C-runtime stuff used to initialize the app and
* get argv, argc, envp.
*/
typedef struct
{
int newmode;
} _startupinfo;
_CRTIMP void __cdecl __set_app_type(int);
_CRTIMP void __cdecl __getmainargs(int *, char ***, char ***, int,
_startupinfo *);
void __cdecl _setargv(void);
#ifdef _M_IX86
/* Pentium FDIV adjustment */
extern int _adjust_fdiv;
extern int * _imp___adjust_fdiv;
/* Floating point precision */
extern void _setdefaultprecision();
#endif
extern int _newmode; /* malloc new() handler mode */
extern int _dowildcard; /* passed to __getmainargs() */
typedef void (__cdecl *_PVFV)(void);
extern void __cdecl _initterm(_PVFV *, _PVFV *);
extern _PVFV *__onexitbegin;
extern _PVFV *__onexitend;
extern _CRTIMP char **__initenv;
/*
* Do the work that mainCRTStartup() would normally do
*/
void GetArgs(int *argc, char ***argv, char ***envp)
{
_startupinfo startinfo;
/*
* Set the app type to Console (check CRT/SRC/INTERNAL.H:
* #define _CONSOLE_APP 1)
*/
__set_app_type(1);
/* Mark this module as an EXE file */
__onexitbegin = __onexitend = (_PVFV *)(-1);
startinfo.newmode = _newmode;
__getmainargs(argc, argv, envp, _dowildcard, &startinfo);
__initenv = *envp;
#ifdef _M_IX86
_adjust_fdiv = * _imp___adjust_fdiv;
_setdefaultprecision();
#endif
}
+206
View File
@@ -0,0 +1,206 @@
/*
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.c,v 1.5 2001/08/09 23:44:13 mayer Exp $ */
#include <config.h>
#include <stdarg.h>
#include <sys/stat.h>
#include <ctype.h>
#include <errno.h>
#include <io.h>
#include <process.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/ntpaths.h>
#include <named/main.h>
#include <named/os.h>
#include <named/globals.h>
#include <named/ntservice.h>
static char *pidfile = NULL;
static BOOL Initialized = FALSE;
void
ns_paths_init() {
if (!Initialized)
isc_ntpaths_init();
ns_g_conffile = isc_ntpaths_get(NAMED_CONF_PATH);
lwresd_g_conffile = isc_ntpaths_get(LWRES_CONF_PATH);
lwresd_g_resolvconffile = isc_ntpaths_get(RESOLV_CONF_PATH);
ns_g_conffile = isc_ntpaths_get(NAMED_CONF_PATH);
ns_g_defaultpidfile = isc_ntpaths_get(NAMED_PID_PATH);
lwresd_g_defaultpidfile = isc_ntpaths_get(LWRESD_PID_PATH);
ns_g_keyfile = isc_ntpaths_get(RNDC_KEY_PATH);
Initialized = TRUE;
}
static void
setup_syslog(const char *progname) {
int options;
options = LOG_PID;
#ifdef LOG_NDELAY
options |= LOG_NDELAY;
#endif
openlog(progname, options, LOG_DAEMON);
}
void
ns_os_init(const char *progname) {
ns_paths_init();
setup_syslog(progname);
ntservice_init();
}
void
ns_os_daemonize(void) {
int fd;
/*
* Try to set stdin, stdout, and stderr to /dev/null, but press
* on even if it fails.
*
* XXXMLG The close() calls here are unneeded on all but NetBSD, but
* are harmless to include everywhere. dup2() is supposed to close
* the FD if it is in use, but unproven-pthreads-0.16 is broken
* and will end up closing the wrong FD. This will be fixed eventually,
* and these calls will be removed.
*/
fd = open("NUL", O_RDWR, 0);
if (fd != -1) {
close(_fileno(stdin));
(void)_dup2(fd, _fileno(stdin));
close(_fileno(stdout));
(void)_dup2(fd, _fileno(stdout));
close(_fileno(stderr));
(void)_dup2(fd, _fileno(stderr));
if (fd != _fileno(stdin) &&
fd != _fileno(stdout) &&
fd != _fileno(stderr))
(void)close(fd);
}
}
void
ns_os_chroot(const char *root) {
}
void
ns_os_inituserinfo(const char *username) {
}
void
ns_os_changeuser(void) {
}
void
ns_os_minprivs(void) {
}
static int
safe_open(const char *filename, isc_boolean_t append) {
int fd;
struct stat sb;
if (stat(filename, &sb) == -1) {
if (errno != ENOENT)
return (-1);
} else if ((sb.st_mode & S_IFREG) == 0)
return (-1);
if (append)
fd = open(filename, O_WRONLY|O_CREAT|O_APPEND,
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
else {
(void)unlink(filename);
fd = open(filename, O_WRONLY|O_CREAT|O_EXCL,
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
}
return (fd);
}
static void
cleanup_pidfile(void) {
if (pidfile != NULL) {
(void)unlink(pidfile);
free(pidfile);
}
pidfile = NULL;
}
void
ns_os_writepidfile(const char *filename) {
int fd;
FILE *lockfile;
size_t len;
pid_t pid;
/*
* The caller must ensure any required synchronization.
*/
cleanup_pidfile();
len = strlen(filename);
pidfile = malloc(len + 1);
if (pidfile == NULL)
ns_main_earlyfatal("couldn't malloc '%s': %s",
filename, strerror(errno));
/* This is safe. */
strcpy(pidfile, filename);
fd = safe_open(filename, ISC_FALSE);
if (fd < 0)
ns_main_earlyfatal("couldn't open pid file '%s': %s",
filename, strerror(errno));
lockfile = fdopen(fd, "w");
if (lockfile == NULL)
ns_main_earlyfatal("could not fdopen() pid file '%s': %s",
filename, strerror(errno));
pid = getpid();
if (fprintf(lockfile, "%ld\n", (long)pid) < 0)
ns_main_earlyfatal("fprintf() to pid file '%s' failed",
filename);
if (fflush(lockfile) == EOF)
ns_main_earlyfatal("fflush() to pid file '%s' failed",
filename);
(void)fclose(lockfile);
}
void
ns_os_shutdown(void) {
closelog();
cleanup_pidfile();
ntservice_shutdown(); /* This MUST be the last thing done */
}
+35 -7
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: xfrout.c,v 1.100 2001/06/18 19:04:32 gson Exp $ */
/* $Id: xfrout.c,v 1.101.2.3 2001/10/30 01:28:29 marka Exp $ */
#include <config.h>
@@ -85,6 +85,20 @@
if (result != ISC_R_SUCCESS) goto failure; \
} while (0)
#define FAILQ(code, msg, question, rdclass) \
do { \
char _buf1[DNS_NAME_FORMATSIZE]; \
char _buf2[DNS_RDATACLASS_FORMATSIZE]; \
result = (code); \
dns_name_format(question, _buf1, sizeof(_buf1)); \
dns_rdataclass_format(rdclass, _buf2, sizeof(_buf2)); \
ns_client_log(client, DNS_LOGCATEGORY_XFER_OUT, \
NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO, \
"bad zone transfer request: '%s/%s': %s (%s)", \
_buf1, _buf2, msg, isc_result_totext(code)); \
if (result != ISC_R_SUCCESS) goto failure; \
} while (0)
#define CHECK(op) \
do { result = (op); \
if (result != ISC_R_SUCCESS) goto failure; \
@@ -875,6 +889,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
char *journalfile;
char msg[DNS_RDATACLASS_FORMATSIZE + DNS_NAME_FORMATSIZE
+ sizeof("zone transfer '/'")];
isc_boolean_t is_poll = ISC_FALSE;
switch (reqtype) {
case dns_rdatatype_axfr:
@@ -926,13 +941,15 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
result = dns_zt_find(client->view->zonetable, question_name, 0, NULL,
&zone);
if (result != ISC_R_SUCCESS)
FAILC(DNS_R_NOTAUTH, "non-authoritative zone");
FAILQ(DNS_R_NOTAUTH, "non-authoritative zone",
question_name, question_class);
switch(dns_zone_gettype(zone)) {
case dns_zone_master:
case dns_zone_slave:
break; /* Master and slave zones are OK for transfer. */
default:
FAILC(DNS_R_NOTAUTH, "non-authoritative zone");
FAILQ(DNS_R_NOTAUTH, "non-authoritative zone",
question_name, question_class);
}
CHECK(dns_zone_getdb(zone, &db));
dns_db_currentversion(db, &ver);
@@ -1058,6 +1075,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
(client->attributes & NS_CLIENTATTR_TCP) == 0)
{
CHECK(soa_rrstream_create(mctx, db, ver, &stream));
is_poll = ISC_TRUE;
goto have_stream;
}
journalfile = dns_zone_getjournal(zone);
@@ -1075,6 +1093,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
ISC_LOG_DEBUG(4),
"IXFR version not in journal, "
"falling back to AXFR");
mnemonic = "AXFR-style IXFR";
goto axfr_fallback;
}
CHECK(result);
@@ -1115,8 +1134,12 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
CHECK(xfr->stream->methods->first(xfr->stream));
xfrout_log1(client, question_name, question_class, ISC_LOG_INFO,
"%s started", mnemonic);
if (is_poll)
xfrout_log1(client, question_name, question_class,
ISC_LOG_DEBUG(1), "IXFR poll up to date");
else
xfrout_log1(client, question_name, question_class,
ISC_LOG_INFO, "%s started", mnemonic);
/*
* Hand the context over to sendstream(). Set xfr to NULL;
@@ -1619,6 +1642,12 @@ xfrout_client_shutdown(void *arg, isc_result_t result) {
* Log outgoing zone transfer messages in a format like
* <client>: transfer of <zone>: <message>
*/
static void
xfrout_logv(ns_client_t *client, dns_name_t *zonename,
dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap)
ISC_FORMAT_PRINTF(5, 0);
static void
xfrout_logv(ns_client_t *client, dns_name_t *zonename,
dns_rdataclass_t rdclass, int level, const char *fmt, va_list ap)
@@ -1640,8 +1669,7 @@ xfrout_logv(ns_client_t *client, dns_name_t *zonename,
*/
static void
xfrout_log1(ns_client_t *client, dns_name_t *zonename,
dns_rdataclass_t rdclass, int level, const char *fmt, ...)
{
dns_rdataclass_t rdclass, int level, const char *fmt, ...) {
va_list ap;
va_start(ap, fmt);
xfrout_logv(client, zonename, rdclass, level, fmt, ap);
+27 -17
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zoneconf.c,v 1.86 2001/06/04 21:51:26 bwelling Exp $ */
/* $Id: zoneconf.c,v 1.87.2.4 2001/11/13 01:15:33 gson Exp $ */
#include <config.h>
@@ -295,6 +295,7 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
isc_result_t result;
char *zname;
dns_rdataclass_t zclass;
dns_rdataclass_t vclass;
cfg_obj_t *maps[5];
cfg_obj_t *zoptions = NULL;
cfg_obj_t *options = NULL;
@@ -327,13 +328,21 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
}
maps[i++] = ns_g_defaults;
maps[i++] = NULL;
if (vconfig != NULL)
RETERR(ns_config_getclass(cfg_tuple_get(vconfig, "class"),
dns_rdataclass_in, &vclass));
else
vclass = dns_rdataclass_in;
/*
* Configure values common to all zone types.
*/
zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
RETERR(ns_config_getclass(cfg_tuple_get(zconfig, "class"), &zclass));
RETERR(ns_config_getclass(cfg_tuple_get(zconfig, "class"),
vclass, &zclass));
dns_zone_setclass(zone, zclass);
ztype = zonetype_fromconfig(zoptions);
@@ -473,7 +482,7 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
*/
if (ztype == dns_zone_master) {
dns_acl_t *updateacl;
RETERR(configure_zone_acl(zconfig, NULL, config,
RETERR(configure_zone_acl(zconfig, vconfig, config,
"allow-update", ac, zone,
dns_zone_setupdateacl,
dns_zone_clearupdateacl));
@@ -494,22 +503,12 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
dns_zone_setsigvalidityinterval(zone,
cfg_obj_asuint32(obj) * 86400);
} else if (ztype == dns_zone_slave) {
RETERR(configure_zone_acl(zconfig, NULL, config,
RETERR(configure_zone_acl(zconfig, vconfig, config,
"allow-update-forwarding", ac, zone,
dns_zone_setforwardacl,
dns_zone_clearforwardacl));
}
obj = NULL;
result = ns_config_get(maps, "transfer-source", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_zone_setxfrsource4(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = ns_config_get(maps, "transfer-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_zone_setxfrsource6(zone, cfg_obj_assockaddr(obj));
/*
* Configure slave functionality.
*/
@@ -562,6 +561,16 @@ ns_zone_configure(cfg_obj_t *config, cfg_obj_t *vconfig, cfg_obj_t *zconfig,
INSIST(result == ISC_R_SUCCESS);
dns_zone_setminretrytime(zone, cfg_obj_asuint32(obj));
obj = NULL;
result = ns_config_get(maps, "transfer-source", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_zone_setxfrsource4(zone, cfg_obj_assockaddr(obj));
obj = NULL;
result = ns_config_get(maps, "transfer-source-v6", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_zone_setxfrsource6(zone, cfg_obj_assockaddr(obj));
break;
default:
@@ -590,9 +599,10 @@ ns_zone_reusable(dns_zone_t *zone, cfg_obj_t *zconfig) {
else
cfilename = NULL;
zfilename = dns_zone_getfile(zone);
if (cfilename == NULL || zfilename == NULL ||
strcmp(cfilename, zfilename) != 0)
return (ISC_FALSE);
if (!((cfilename == NULL && zfilename == NULL) ||
(cfilename != NULL && zfilename != NULL &&
strcmp(cfilename, zfilename) == 0)))
return (ISC_FALSE);
return (ISC_TRUE);
}
+10 -2
View File
@@ -138,8 +138,9 @@ Every update request consists of zero or more prerequisites
and zero or more updates.
This allows a suitably authenticated update request to proceed if some
specified resource records are present or missing from the zone.
A blank input line causes the accumulated commands to be sent as one Dynamic
DNS update request to the name server.
A blank input line (or the \fBsend\fR command) causes the
accumulated commands to be sent as one Dynamic DNS update request to the
name server.
.PP
The command formats and their meaning are as follows:
.TP
@@ -255,6 +256,13 @@ Adds a new resource record with the specified
\fIclass\fR
and
\fIdata\fR.
.TP
\fBshow\fR
Displays the current message, containing all of the prerequisites and
updates specified since the last send.
.TP
\fBsend\fR
Sends the current message. This is equivalent to entering a blank line.
.PP
Lines beginning with a semicolon are comments, and are ignored.
.SH "EXAMPLES"
+112 -101
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nsupdate.c,v 1.99 2001/07/12 04:13:39 bwelling Exp $ */
/* $Id: nsupdate.c,v 1.103.2.6 2001/11/06 21:50:35 bwelling Exp $ */
#include <config.h>
@@ -75,8 +75,10 @@
#endif
#ifndef USE_GETADDRINFO
#ifndef ISC_PLATFORM_NONSTDHERRNO
extern int h_errno;
#endif
#endif
#define MAXCMD (4 * 1024)
#define INITDATA (32 * 1024)
@@ -91,7 +93,9 @@ extern int h_errno;
#define DNSDEFAULTPORT 53
#ifndef RESOLV_CONF
#define RESOLV_CONF "/etc/resolv.conf"
#endif
static isc_boolean_t debugging = ISC_FALSE, ddebugging = ISC_FALSE;
static isc_boolean_t memdebugging = ISC_FALSE;
@@ -128,7 +132,7 @@ static isc_boolean_t shuttingdown = ISC_FALSE;
static FILE *input;
static isc_boolean_t interactive = ISC_TRUE;
static isc_boolean_t seenerror = ISC_FALSE;
static const dns_master_style_t *style = &dns_master_style_debug;
static const dns_master_style_t *style;
static int requests = 0;
typedef struct nsu_requestinfo {
@@ -139,6 +143,14 @@ typedef struct nsu_requestinfo {
static void
sendrequest(isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr,
dns_message_t *msg, dns_request_t **request);
static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void
debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void
ddebug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
#define STATUS_MORE (isc_uint16_t)0
#define STATUS_SEND (isc_uint16_t)1
@@ -261,102 +273,88 @@ reset_system(void) {
}
static void
setup_key(void) {
setup_keystr(void) {
unsigned char *secret = NULL;
int secretlen;
isc_buffer_t secretbuf;
isc_result_t result;
isc_buffer_t keynamesrc;
char *secretstr;
char *s;
dns_fixedname_t fkeyname;
dns_name_t *keyname;
dns_fixedname_init(&fkeyname);
keyname = dns_fixedname_name(&fkeyname);
if (keystr != NULL) {
isc_buffer_t keynamesrc;
char *secretstr;
char *s;
debug("Creating key...");
debug("Creating key...");
s = strchr(keystr, ':');
if (s == NULL || s == keystr || *s == 0)
fatal("key option must specify keyname:secret");
secretstr = s + 1;
s = strchr(keystr, ':');
if (s == NULL || s == keystr || *s == 0)
fatal("key option must specify keyname:secret");
secretstr = s + 1;
isc_buffer_init(&keynamesrc, keystr, s - keystr);
isc_buffer_add(&keynamesrc, s - keystr);
isc_buffer_init(&keynamesrc, keystr, s - keystr);
isc_buffer_add(&keynamesrc, s - keystr);
debug("namefromtext");
result = dns_name_fromtext(keyname, &keynamesrc, dns_rootname,
ISC_FALSE, NULL);
check_result(result, "dns_name_fromtext");
debug("namefromtext");
result = dns_name_fromtext(keyname, &keynamesrc, dns_rootname,
ISC_FALSE, NULL);
check_result(result, "dns_name_fromtext");
secretlen = strlen(secretstr) * 3 / 4;
secret = isc_mem_allocate(mctx, secretlen);
if (secret == NULL)
fatal("out of memory");
secretlen = strlen(secretstr) * 3 / 4;
secret = isc_mem_allocate(mctx, secretlen);
if (secret == NULL)
fatal("out of memory");
isc_buffer_init(&secretbuf, secret, secretlen);
result = isc_base64_decodestring(secretstr, &secretbuf);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not create key from %s: %s\n",
keystr, isc_result_totext(result));
goto failure;
}
secretlen = isc_buffer_usedlength(&secretbuf);
debug("close");
} else {
dst_key_t *dstkey = NULL;
result = dst_key_fromnamedfile(keyfile, DST_TYPE_PRIVATE,
mctx, &dstkey);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not read key from %s: %s\n",
keyfile, isc_result_totext(result));
goto failure;
}
secretlen = (dst_key_size(dstkey) + 7) >> 3;
secret = isc_mem_allocate(mctx, secretlen);
if (secret == NULL)
fatal("out of memory");
isc_buffer_init(&secretbuf, secret, secretlen);
result = dst_key_tobuffer(dstkey, &secretbuf);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not read key from %s: %s\n",
keyfile, isc_result_totext(result));
goto failure;
}
result = dns_name_concatenate(dst_key_name(dstkey), NULL,
keyname, NULL);
check_result(result, "dns_name_concatenate");
dst_key_free(&dstkey);
isc_buffer_init(&secretbuf, secret, secretlen);
result = isc_base64_decodestring(secretstr, &secretbuf);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not create key from %s: %s\n",
keystr, isc_result_totext(result));
goto failure;
}
secretlen = isc_buffer_usedlength(&secretbuf);
debug("keycreate");
result = dns_tsigkey_create(keyname, dns_tsig_hmacmd5_name,
secret, secretlen, ISC_TRUE, NULL, 0, 0,
mctx, NULL, &key);
if (result != ISC_R_SUCCESS) {
char *str;
if (keystr != NULL)
str = keystr;
else
str = keyfile;
secret, secretlen, ISC_TRUE, NULL,
0, 0, mctx, NULL, &key);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "could not create key from %s: %s\n",
str, dns_result_totext(result));
}
isc_mem_free(mctx, secret);
return;
keystr, dns_result_totext(result));
failure:
if (secret != NULL)
isc_mem_free(mctx, secret);
}
static void
setup_keyfile(void) {
dst_key_t *dstkey = NULL;
isc_result_t result;
debug("Creating key...");
result = dst_key_fromnamedfile(keyfile, DST_TYPE_PRIVATE, mctx,
&dstkey);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not read key from %s: %s\n",
keyfile, isc_result_totext(result));
return;
}
result = dns_tsigkey_createfromkey(dst_key_name(dstkey),
dns_tsig_hmacmd5_name,
dstkey, ISC_FALSE, NULL,
0, 0, mctx, NULL, &key);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not create key from %s: %s\n",
keyfile, isc_result_totext(result));
dst_key_free(&dstkey);
return;
}
}
static void
doshutdown(void) {
isc_task_detach(&global_task);
@@ -368,7 +366,7 @@ doshutdown(void) {
isc_mem_put(mctx, localaddr, sizeof(isc_sockaddr_t));
if (key != NULL) {
debug("Freeing key");
ddebug("Freeing key");
dns_tsigkey_detach(&key);
}
@@ -376,13 +374,13 @@ doshutdown(void) {
dns_message_destroy(&updatemsg);
if (is_dst_up) {
debug("Destroy DST lib");
ddebug("Destroy DST lib");
dst_lib_destroy();
is_dst_up = ISC_FALSE;
}
if (entp != NULL) {
debug("Detach from entropy");
ddebug("Detach from entropy");
isc_entropy_detach(&entp);
}
@@ -459,29 +457,34 @@ setup_system(void) {
if (lwresult != LWRES_R_SUCCESS)
fatal("lwres_context_create failed");
lwresult = lwres_conf_parse(lwctx, RESOLV_CONF);
if (lwresult != LWRES_R_SUCCESS)
fprintf(stderr,
"an error was encountered in %s\n", RESOLV_CONF);
(void)lwres_conf_parse(lwctx, RESOLV_CONF);
lwconf = lwres_conf_get(lwctx);
ns_total = lwconf->nsnext;
if (ns_total <= 0)
fatal("no valid servers found");
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL)
fatal("out of memory");
for (i = 0; i < ns_total; i++) {
if (lwconf->nameservers[i].family == LWRES_ADDRTYPE_V4) {
struct in_addr in4;
memcpy(&in4, lwconf->nameservers[i].address, 4);
isc_sockaddr_fromin(&servers[i], &in4, DNSDEFAULTPORT);
} else {
struct in6_addr in6;
memcpy(&in6, lwconf->nameservers[i].address, 16);
isc_sockaddr_fromin6(&servers[i], &in6,
DNSDEFAULTPORT);
if (ns_total <= 0) {
/* No name servers in resolv.conf; default to loopback. */
struct in_addr localhost;
ns_total = 1;
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL)
fatal("out of memory");
localhost.s_addr = htonl(INADDR_LOOPBACK);
isc_sockaddr_fromin(&servers[0], &localhost, DNSDEFAULTPORT);
} else {
servers = isc_mem_get(mctx, ns_total * sizeof(isc_sockaddr_t));
if (servers == NULL)
fatal("out of memory");
for (i = 0; i < ns_total; i++) {
if (lwconf->nameservers[i].family == LWRES_ADDRTYPE_V4) {
struct in_addr in4;
memcpy(&in4, lwconf->nameservers[i].address, 4);
isc_sockaddr_fromin(&servers[i], &in4, DNSDEFAULTPORT);
} else {
struct in6_addr in6;
memcpy(&in6, lwconf->nameservers[i].address, 16);
isc_sockaddr_fromin6(&servers[i], &in6,
DNSDEFAULTPORT);
}
}
}
@@ -556,8 +559,10 @@ setup_system(void) {
else
origin = dns_rootname;
if (keystr != NULL || keyfile != NULL)
setup_key();
if (keystr != NULL)
setup_keystr();
else if (keyfile != NULL)
setup_keyfile();
}
static void
@@ -653,7 +658,8 @@ parse_args(int argc, char **argv) {
fprintf(stderr, "%s: invalid argument -%c\n",
argv[0], ch);
fprintf(stderr, "usage: nsupdate [-d] "
"[-y keyname:secret | -k keyfile] [-v]\n");
"[-y keyname:secret | -k keyfile] [-v] "
"[filename]\n");
exit(1);
}
}
@@ -1083,6 +1089,7 @@ evaluate_zone(char *cmdline) {
result = dns_name_fromtext(userzone, &b, dns_rootname, ISC_FALSE,
NULL);
if (result != ISC_R_SUCCESS) {
userzone = NULL; /* Lest it point to an invalid name */
fprintf(stderr, "could not parse zone name\n");
return (STATUS_SYNTAX);
}
@@ -1140,6 +1147,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
goto doneparsing;
}
}
errno = 0;
ttl = strtol(word, &endp, 0);
if (*endp != '\0') {
if (isdelete) {
@@ -1153,7 +1161,9 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
if (isdelete)
ttl = 0;
else if (ttl < 0 || ttl > TTL_MAX || errno == ERANGE) {
else if (ttl < 0 || ttl > TTL_MAX ||
(ttl == LONG_MAX && errno == ERANGE))
{
/*
* The errno test is needed to catch when strtol()
* overflows on a platform where sizeof(int) ==
@@ -1555,7 +1565,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
fatal("could not talk to specified name server");
else if (++ns_inuse >= lwconf->nsnext)
fatal("could not talk to any default name server");
ddebug("Destroying request [%lx]", request);
ddebug("Destroying request [%p]", request);
dns_request_destroy(&request);
dns_message_renderreset(soaquery);
sendrequest(localaddr, &servers[ns_inuse], soaquery, &request);
@@ -1845,6 +1855,7 @@ getinput(isc_task_t *task, isc_event_t *event) {
int
main(int argc, char **argv) {
isc_result_t result;
style = &dns_master_style_debug;
input = stdin;
+25 -3
View File
@@ -16,7 +16,7 @@
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nsupdate.docbook,v 1.6 2001/07/02 18:48:26 gson Exp $ -->
<!-- $Id: nsupdate.docbook,v 1.8 2001/07/14 18:30:01 bwelling Exp $ -->
<refentry>
<refentryinfo>
@@ -177,8 +177,9 @@ Every update request consists of zero or more prerequisites
and zero or more updates.
This allows a suitably authenticated update request to proceed if some
specified resource records are present or missing from the zone.
A blank input line causes the accumulated commands to be sent as one Dynamic
DNS update request to the name server.
A blank input line (or the <command>send</command> command) causes the
accumulated commands to be sent as one Dynamic DNS update request to the
name server.
</para>
<para>
The command formats and their meaning are as follows:
@@ -401,6 +402,27 @@ Adds a new resource record with the specified
and
<parameter>data</parameter>.
</para>
<varlistentry><term>
<cmdsynopsis>
<command>show</command>
</cmdsynopsis>
</term>
<listitem>
<para>
Displays the current message, containing all of the prerequisites and
updates specified since the last send.
</para>
<varlistentry><term>
<cmdsynopsis>
<command>send</command>
</cmdsynopsis>
</term>
<listitem>
<para>
Sends the current message. This is equivalent to entering a blank line.
</para>
</listitem>
</variablelist>
+33 -6
View File
@@ -311,8 +311,12 @@ Updates will be rejected if the tests for the prerequisite conditions fail.</P
and zero or more updates.
This allows a suitably authenticated update request to proceed if some
specified resource records are present or missing from the zone.
A blank input line causes the accumulated commands to be sent as one Dynamic
DNS update request to the name server.</P
A blank input line (or the <B
CLASS="COMMAND"
>send</B
> command) causes the
accumulated commands to be sent as one Dynamic DNS update request to the
name server.</P
><P
>The command formats and their meaning are as follows:
<P
@@ -716,6 +720,29 @@ CLASS="PARAMETER"
></TT
>.</P
></DD
><DT
><P
><B
CLASS="COMMAND"
>show</B
> </P
></DT
><DD
><P
>Displays the current message, containing all of the prerequisites and
updates specified since the last send.</P
></DD
><DT
><P
><B
CLASS="COMMAND"
>send</B
> </P
></DT
><DD
><P
>Sends the current message. This is equivalent to entering a blank line.</P
></DD
></DL
></DIV
>&#13;</P
@@ -725,7 +752,7 @@ CLASS="PARAMETER"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN210"
NAME="AEN223"
></A
><H2
>EXAMPLES</H2
@@ -796,7 +823,7 @@ SIG, KEY and NXT records.)</P
><DIV
CLASS="REFSECT1"
><A
NAME="AEN223"
NAME="AEN236"
></A
><H2
>FILES</H2
@@ -852,7 +879,7 @@ CLASS="REFENTRYTITLE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN247"
NAME="AEN260"
></A
><H2
>SEE ALSO</H2
@@ -917,7 +944,7 @@ CLASS="REFENTRYTITLE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN268"
NAME="AEN281"
></A
><H2
>BUGS</H2
+103
View File
@@ -0,0 +1,103 @@
# Microsoft Developer Studio Project File - Name="nsupdate" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=nsupdate - 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 "nsupdate.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 "nsupdate.mak" CFG="nsupdate - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nsupdate - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nsupdate - 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)" == "nsupdate - 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 /MT /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" /I "../../../lib/dns/sec/dst/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
# 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 ../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/lwres/win32/Release/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /machine:I386 /out:"../../../Build/Release/nsupdate.exe"
!ELSEIF "$(CFG)" == "nsupdate - 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 /MTd /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" /I "../../../lib/dns/sec/dst/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"
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 ../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/lwres/win32/Debug/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../../Build/Debug/nsupdate.exe" /pdbtype:sept
!ENDIF
# Begin Target
# Name "nsupdate - Win32 Release"
# Name "nsupdate - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=..\nsupdate.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
+29
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: "nsupdate"=".\nsupdate.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
+203
View File
@@ -0,0 +1,203 @@
# Microsoft Developer Studio Generated NMAKE File, Based on nsupdate.dsp
!IF "$(CFG)" == ""
CFG=nsupdate - Win32 Debug
!MESSAGE No configuration specified. Defaulting to nsupdate - Win32 Debug.
!ENDIF
!IF "$(CFG)" != "nsupdate - Win32 Release" && "$(CFG)" != "nsupdate - 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 "nsupdate.mak" CFG="nsupdate - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "nsupdate - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "nsupdate - 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)" == "nsupdate - Win32 Release"
OUTDIR=.\Release
INTDIR=.\Release
ALL : "..\..\..\Build\Release\nsupdate.exe"
CLEAN :
-@erase "$(INTDIR)\nsupdate.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "..\..\..\Build\Release\nsupdate.exe"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /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" /I "../../../lib/dns/sec/dst/include" /D "WIN32" /D "__STDC__" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"$(INTDIR)\nsupdate.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)\nsupdate.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=../../../lib/isc/win32/Release/libisc.lib ../../../lib/dns/win32/Release/libdns.lib ../../../lib/lwres/win32/Release/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\nsupdate.pdb" /machine:I386 /out:"../../../Build/Release/nsupdate.exe"
LINK32_OBJS= \
"$(INTDIR)\nsupdate.obj"
"..\..\..\Build\Release\nsupdate.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ELSEIF "$(CFG)" == "nsupdate - Win32 Debug"
OUTDIR=.\Debug
INTDIR=.\Debug
# Begin Custom Macros
OutDir=.\Debug
# End Custom Macros
ALL : "..\..\..\Build\Debug\nsupdate.exe" "$(OUTDIR)\nsupdate.bsc"
CLEAN :
-@erase "$(INTDIR)\nsupdate.obj"
-@erase "$(INTDIR)\nsupdate.sbr"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(OUTDIR)\nsupdate.bsc"
-@erase "$(OUTDIR)\nsupdate.pdb"
-@erase "..\..\..\Build\Debug\nsupdate.exe"
-@erase "..\..\..\Build\Debug\nsupdate.ilk"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MTd /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" /I "../../../lib/dns/sec/dst/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)\nsupdate.bsc"
BSC32_SBRS= \
"$(INTDIR)\nsupdate.sbr"
"$(OUTDIR)\nsupdate.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
$(BSC32) @<<
$(BSC32_FLAGS) $(BSC32_SBRS)
<<
LINK32=link.exe
LINK32_FLAGS=../../../lib/isc/win32/Debug/libisc.lib ../../../lib/dns/win32/Debug/libdns.lib ../../../lib/lwres/win32/Debug/liblwres.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"$(OUTDIR)\nsupdate.pdb" /debug /machine:I386 /out:"../../../Build/Debug/nsupdate.exe" /pdbtype:sept
LINK32_OBJS= \
"$(INTDIR)\nsupdate.obj"
"..\..\..\Build\Debug\nsupdate.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!ENDIF
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("nsupdate.dep")
!INCLUDE "nsupdate.dep"
!ELSE
!MESSAGE Warning: cannot find "nsupdate.dep"
!ENDIF
!ENDIF
!IF "$(CFG)" == "nsupdate - Win32 Release" || "$(CFG)" == "nsupdate - Win32 Debug"
SOURCE=..\nsupdate.c
!IF "$(CFG)" == "nsupdate - Win32 Release"
"$(INTDIR)\nsupdate.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ELSEIF "$(CFG)" == "nsupdate - Win32 Debug"
"$(INTDIR)\nsupdate.obj" "$(INTDIR)\nsupdate.sbr" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
!ENDIF
!ENDIF
+19 -15
View File
@@ -13,7 +13,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.27 2001/06/27 06:32:20 bwelling Exp $
# $Id: Makefile.in,v 1.32.2.1 2001/09/07 16:46:11 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -23,11 +23,8 @@ top_srcdir = @top_srcdir@
@BIND9_INCLUDES@
CINCLUDES = ${ISC_INCLUDES}
RNDCINCLUDES = ${CINCLUDES} ${ISCCC_INCLUDES} ${ISCCFG_INCLUDES}
CONFINCLUDES = ${CINCLUDES} ${DNS_INCLUDES}
CINCLUDES = -I${srcdir}/include ${ISC_INCLUDES} ${ISCCC_INCLUDES} \
${ISCCFG_INCLUDES} ${DNS_INCLUDES}
CDEFINES =
CWARNINGS =
@@ -48,33 +45,39 @@ RNDCDEPLIBS = ${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
CONFLIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@
CONFDEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS}
SUBDIRS = unix
TARGETS = rndc rndc-confgen
MANPAGES = rndc.8 rndc.conf.5
MANPAGES = rndc.8 rndc-confgen.8 rndc.conf.5
HTMLPAGES = rndc.html rndc.conf.html
HTMLPAGES = rndc.html rndc-confgen.html rndc.conf.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
UOBJS = unix/os.@O@
@BIND9_MAKE_RULES@
rndc.@O@: rndc.c
${LIBTOOL} ${CC} ${ALL_CFLAGS} ${RNDCINCLUDES} \
${LIBTOOL} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DRNDC_SYSCONFDIR=\"${sysconfdir}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" -c ${srcdir}/rndc.c
-DRNDC_CONFFILE=\"${sysconfdir}/rndc.conf\" \
-DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\" \
-c ${srcdir}/rndc.c
rndc-confgen.@O@: rndc-confgen.c
${LIBTOOL} ${CC} ${ALL_CFLAGS} ${CONFINCLUDES} \
-DRNDC_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/rndc-confgen.c
${LIBTOOL} ${CC} ${ALL_CFLAGS} \
-DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\" \
-c ${srcdir}/rndc-confgen.c
rndc: rndc.@O@ util.@O@ ${RNDCDEPLIBS}
${LIBTOOL} ${PURIFY} ${CC} ${CFLAGS} -o $@ rndc.@O@ util.@O@ \
${RNDCLIBS}
rndc-confgen: rndc-confgen.@O@ util.@O@ ${CONFDEPLIBS}
rndc-confgen: rndc-confgen.@O@ util.@O@ ${UOBJS} ${CONFDEPLIBS}
${LIBTOOL} ${PURIFY} ${CC} ${CFLAGS} -o $@ rndc-confgen.@O@ util.@O@ \
${CONFLIBS}
${UOBJS} ${CONFLIBS}
doc man:: ${MANOBJS}
@@ -90,6 +93,7 @@ install:: rndc installdirs
${LIBTOOL} ${INSTALL_PROGRAM} rndc ${DESTDIR}${sbindir}
${LIBTOOL} ${INSTALL_PROGRAM} rndc-confgen ${DESTDIR}${sbindir}
${INSTALL_DATA} ${srcdir}/rndc.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/rndc-confgen.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/rndc.conf.5 ${DESTDIR}${mandir}/man5
clean distclean maintainer-clean::
+44
View File
@@ -0,0 +1,44 @@
/*
* Copyright (C) 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.h,v 1.4 2001/08/06 05:33:17 mayer Exp $ */
#ifndef RNDC_OS_H
#define RNDC_OS_H 1
#include <isc/lang.h>
#include <stdio.h>
ISC_LANG_BEGINDECLS
FILE *safe_create(const char *filename);
/*
* Open 'filename' for writing, truncate if necessary. If the file was
* created ensure that only the owner can read/write it.
*/
int set_user(FILE *fd, const char *user);
/*
* Set the owner of the file refernced by 'fd' to 'user'.
* Returns:
* 0 success
* -1 insufficient permissions, or 'user' does not exist.
*/
ISC_LANG_ENDDECLS
#endif
+129
View File
@@ -0,0 +1,129 @@
.\"
.\" 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
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
.\" DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
.\" INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.TH "RNDC-CONFGEN" "8" "Aug 27, 2001" "BIND9" ""
.SH NAME
rndc-confgen \- rndc key generation tool
.SH SYNOPSIS
.sp
\fBrndc-confgen\fR [ \fB-a\fR ] [ \fB-b \fIkeysize\fB\fR ] [ \fB-c \fIkeyfile\fB\fR ] [ \fB-h\fR ] [ \fB-k \fIkeyname\fB\fR ] [ \fB-p \fIport\fB\fR ] [ \fB-r \fIrandomfile\fB\fR ] [ \fB-s \fIaddress\fB\fR ] [ \fB-t \fIchrootdir\fB\fR ] [ \fB-u \fIuser\fB\fR ]
.SH "DESCRIPTION"
.PP
\fBrndc-confgen\fR generates configuration files
for \fBrndc\fR. It can be used as a
convenient alternative to writing the
\fIrndc.conf\fR file
and the corresponding \fBcontrols\fR
and \fBkey\fR
statements in \fInamed.conf\fR by hand.
Alternatively, it can be run with the \fB-a\fR
option to set up a \fIrndc.key\fR file and
avoid the need for a \fIrndc.conf\fR file
and a \fBcontrols\fR statement altogether.
.SH "OPTIONS"
.TP
\fB-a\fR
Do automatic \fBrndc\fR configuration.
This creates a file \fIrndc.key\fR
in \fI/etc\fR (or whatever
sysconfdir
was specified as when BIND was built)
that is read by both \fBrndc\fR
and \fBnamed\fR on startup. The
\fIrndc.key\fR file defines a default
command channel and authentication key allowing
\fBrndc\fR to communicate with
\fBnamed\fR with no further configuration.
Running \fBrndc-confgen -a\fR allows
BIND 9 and \fBrndc\fR to be used as drop-in
replacements for BIND 8 and \fBndc\fR,
with no changes to the existing BIND 8
\fInamed.conf\fR file.
.TP
\fB-b \fIkeysize\fB\fR
Specifies the size of the authentication key in bits.
Must be between 1 and 512 bits; the default is 128.
.TP
\fB-c \fIkeyfile\fB\fR
Used with the \fB-a\fR option to specify
an alternate location for \fIrndc.key\fR.
.TP
\fB-h\fR
Prints a short summary of the options and arguments to
\fBrndc-confgen\fR.
.TP
\fB-k \fIkeyname\fB\fR
Specifies the key name of the rndc authentication key.
This must be a valid domain name.
The default is rndc-key.
.TP
\fB-p \fIport\fB\fR
Specifies the command channel port where \fBnamed\fR
listens for connections from \fBrndc\fR.
The default is 953.
.TP
\fB-r \fIrandomfile\fB\fR
Specifies a source of random data for generating the
authoriazation. If the operating
system does not provide a \fI/dev/random\fR
or equivalent device, the default source of randomness
is keyboard input. \fIrandomdev\fR specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
\fIkeyboard\fR indicates that keyboard
input should be used.
.TP
\fB-s \fIaddress\fB\fR
Specifies the IP address where \fBnamed\fR
listens for command channel connections from
\fBrndc\fR. The default is the loopback
address 127.0.0.1.
.TP
\fB-t \fIchrootdir\fB\fR
Used with the \fB-a\fR option to specify
a directory where \fBnamed\fR will run
chrooted. An additional copy of the \fIrndc.key\fR
will be written relative to this directory so that
it will be found by the chrooted \fBnamed\fR.
.TP
\fB-u \fIuser\fB\fR
Used with the \fB-a\fR option to set the owner
of the \fIrndc.key\fR file generated. If
\fB-t\fR is also specified only the file in
the chroot area has its owner changed.
.SH "EXAMPLES"
.PP
To allow \fBrndc\fR to be used with
no manual configuration, run
.PP
\fBrndc-confgen -a\fR
.PP
To print a sample \fIrndc.conf\fR file and
corresponding \fBcontrols\fR and \fBkey\fR
statements to be manually inserted into \fInamed.conf\fR,
run
.PP
\fBrndc-confgen\fR
.SH "SEE ALSO"
.PP
\fBrndc\fR(8),
\fBrndc.conf\fR(5),
\fBnamed\fR(8),
\fIBIND 9 Administrator Reference Manual\fR.
.SH "AUTHOR"
.PP
Internet Software Consortium
+112 -32
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc-confgen.c,v 1.2 2001/06/29 23:32:09 gson Exp $ */
/* $Id: rndc-confgen.c,v 1.9.2.1 2001/09/06 00:14:16 gson Exp $ */
#include <config.h>
@@ -31,6 +31,7 @@
#include <isc/keyboard.h>
#include <isc/mem.h>
#include <isc/net.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/string.h>
#include <isc/time.h>
@@ -40,6 +41,7 @@
#include <dns/name.h>
#include <dst/dst.h>
#include <rndc/os.h>
#include "util.h"
@@ -48,29 +50,76 @@
#define DEFAULT_SERVER "127.0.0.1"
#define DEFAULT_PORT 953
char progname[256];
static char program[256];
char *progname;
isc_boolean_t verbose = ISC_FALSE;
const char *keyfile, *keydef;
static void
usage(int status) {
fprintf(stderr, "\
Usage:\n\
%s [-b bits] [-k keyname] [-P] [-p port] [-r randomfile] [-s addr]\n\
%s [-a] [-b bits] [-c keyfile] [-k keyname] [-p port] [-r randomfile] \
[-s addr] [-t chrootdir] [-u user]\n\
-a: generate just the key clause and write it to keyfile (%s)\n\
-b bits: from 1 through 512, default %d; total length of the secret\n\
-c keyfile: specify a alterate keyfile (requires -a)\n\
-k keyname: the name as it will be used in named.conf and rndc.conf\n\
-P: using pseudorandom data for key generation is ok\n\
-p port: the port named will listen on and rndc will connect to\n\
-r randomfile: a file containing random data\n\
-s addr: the address to which rndc should connect\n",
progname, DEFAULT_KEYLENGTH);
-s addr: the address to which rndc should connect\n\
-t chrootdir: write a keyfile in chrootdir as well (requires -a)\n\
-u user: set the keyfile owner to \"user\" (requires -a)\n",
progname, keydef, DEFAULT_KEYLENGTH);
exit (status);
}
/*
* Write an rndc.key file to 'keyfile'. If 'user' is non-NULL,
* make that user the owner of the file. The key will have
* the name 'keyname' and the secret in the buffer 'secret'.
*/
static void
write_key_file(const char *keyfile, const char *user,
const char *keyname, isc_buffer_t *secret )
{
FILE *fd;
fd = safe_create(keyfile);
if (fd == NULL) {
fprintf(stderr, "unable to create \"%s\"\n", keyfile);
return;
}
if (user != NULL) {
if (set_user(fd, user) == -1) {
fprintf(stderr, "unable to set file owner\n");
fclose(fd);
return;
}
}
fprintf(fd, "key \"%s\" {\n\talgorithm hmac-md5;\n"
"\tsecret \"%.*s\";\n};\n", keyname,
(int)isc_buffer_usedlength(secret),
(char *)isc_buffer_base(secret));
fflush(fd);
if (ferror(fd)) {
fprintf(stderr, "write to %s failed\n", keyfile);
fclose(fd);
return;
}
if (fclose(fd)) {
fprintf(stderr, "fclose(%s) failed\n", keyfile);
return;
}
}
int
main(int argc, char **argv) {
isc_boolean_t show_final_mem = ISC_FALSE;
isc_boolean_t pseudorandom = ISC_FALSE;
isc_buffer_t key_rawbuffer;
isc_buffer_t key_txtbuffer;
isc_region_t key_rawregion;
@@ -91,19 +140,29 @@ main(int argc, char **argv) {
int entropy_flags = 0;
int open_keyboard = ISC_ENTROPY_KEYBOARDMAYBE;
struct in_addr addr;
char *chrootdir = NULL;
char *user = NULL;
isc_boolean_t keyonly = ISC_FALSE;
int len;
result = isc_file_progname(*argv, progname, sizeof(progname));
keydef = keyfile = RNDC_KEYFILE;
result = isc_file_progname(*argv, program, sizeof(program));
if (result != ISC_R_SUCCESS)
memcpy(progname, "rndc", 5);
memcpy(program, "rndc-confgen", 13);
progname = program;
keyname = DEFAULT_KEYNAME;
keysize = DEFAULT_KEYLENGTH;
serveraddr = DEFAULT_SERVER;
port = DEFAULT_PORT;
while ((ch = isc_commandline_parse(argc, argv, "b:hk:MmPp:r:s:Vy"))
!= -1) {
while ((ch = isc_commandline_parse(argc, argv,
"ab:c:hk:Mmp:r:s:t:u:Vy")) != -1) {
switch (ch) {
case 'a':
keyonly = ISC_TRUE;
break;
case 'b':
keysize = strtol(isc_commandline_argument, &p, 10);
if (*p != '\0' || keysize < 0)
@@ -111,6 +170,9 @@ main(int argc, char **argv) {
if (keysize < 1 || keysize > 512)
fatal("-b must be in the range 1 through 512");
break;
case 'c':
keyfile = isc_commandline_argument;
break;
case 'h':
usage(0);
case 'k':
@@ -124,10 +186,6 @@ main(int argc, char **argv) {
case 'm':
show_final_mem = ISC_TRUE;
break;
case 'P':
pseudorandom = ISC_TRUE;
open_keyboard = ISC_ENTROPY_KEYBOARDNO;
break;
case 'p':
port = strtol(isc_commandline_argument, &p, 10);
if (*p != '\0' || port < 0 || port > 65535)
@@ -142,6 +200,12 @@ main(int argc, char **argv) {
if (inet_aton(serveraddr, &addr) == 0)
fatal("-s should be an IPv4 or IPv6 address");
break;
case 't':
chrootdir = isc_commandline_argument;
break;
case 'u':
user = isc_commandline_argument;
break;
case 'V':
verbose = ISC_TRUE;
@@ -166,13 +230,16 @@ main(int argc, char **argv) {
DO("create entropy context", isc_entropy_create(mctx, &ectx));
if (randomfile != NULL && strcmp(randomfile, "keyboard") == 0) {
randomfile = NULL;
open_keyboard = ISC_ENTROPY_KEYBOARDYES;
}
DO("start entropy source", isc_entropy_usebestsource(ectx,
&entropy_source,
randomfile,
open_keyboard));
if (! pseudorandom)
entropy_flags = ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY;
entropy_flags = ISC_ENTROPY_BLOCKING | ISC_ENTROPY_GOODONLY;
DO("initialize dst library", dst_lib_init(mctx, ectx, entropy_flags));
@@ -204,14 +271,25 @@ main(int argc, char **argv) {
isc_entropy_detach(&ectx);
dst_lib_destroy();
if (open_keyboard)
/*
* Add a little vertical whitespace to separate it
* from the "stop typing" message".
*/
printf("\n\n");
if (keyonly) {
write_key_file(keyfile, chrootdir == NULL ? user : NULL,
keyname, &key_txtbuffer);
printf("\
if (chrootdir != NULL) {
char *buf;
len = strlen(chrootdir) + strlen(keyfile) + 2;
buf = isc_mem_get(mctx, len);
if (buf != NULL) {
fprintf(stderr, "isc_mem_get(%d) failed\n", len);
goto cleanup;
}
snprintf(buf, len, "%s/%s", chrootdir, keyfile);
write_key_file(buf, user, keyname, &key_txtbuffer);
isc_mem_put(mctx, buf, len);
}
} else {
printf("\
# Start of rndc.conf\n\
key \"%s\" {\n\
algorithm hmac-md5;\n\
@@ -236,15 +314,17 @@ options {\n\
# allow { %s; } keys { \"%s\"; };\n\
# };\n\
# End of named.conf\n",
keyname,
(int)isc_buffer_usedlength(&key_txtbuffer),
(char *)isc_buffer_base(&key_txtbuffer),
keyname, serveraddr, port,
keyname,
(int)isc_buffer_usedlength(&key_txtbuffer),
(char *)isc_buffer_base(&key_txtbuffer),
serveraddr, port, serveraddr, keyname);
keyname,
(int)isc_buffer_usedlength(&key_txtbuffer),
(char *)isc_buffer_base(&key_txtbuffer),
keyname, serveraddr, port,
keyname,
(int)isc_buffer_usedlength(&key_txtbuffer),
(char *)isc_buffer_base(&key_txtbuffer),
serveraddr, port, serveraddr, keyname);
}
cleanup:
if (show_final_mem)
isc_mem_stats(mctx, stderr);
+262
View File
@@ -0,0 +1,262 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<!--
- Copyright (C) 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: rndc-confgen.docbook,v 1.3 2001/08/29 03:27:57 marka Exp $ -->
<refentry>
<refentryinfo>
<date>Aug 27, 2001</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>rndc-confgen</application></refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>rndc-confgen</application></refname>
<refpurpose>rndc key generation tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>rndc-confgen</command>
<arg><option>-a</option></arg>
<arg><option>-b <replaceable class="parameter">keysize</replaceable></option></arg>
<arg><option>-c <replaceable class="parameter">keyfile</replaceable></option></arg>
<arg><option>-h</option></arg>
<arg><option>-k <replaceable class="parameter">keyname</replaceable></option></arg>
<arg><option>-p <replaceable class="parameter">port</replaceable></option></arg>
<arg><option>-r <replaceable class="parameter">randomfile</replaceable></option></arg>
<arg><option>-s <replaceable class="parameter">address</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">chrootdir</replaceable></option></arg>
<arg><option>-u <replaceable class="parameter">user</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
<command>rndc-confgen</command> generates configuration files
for <command>rndc</command>. It can be used as a
convenient alternative to writing the
<filename>rndc.conf</filename> file
and the corresponding <command>controls</command>
and <command>key</command>
statements in <filename>named.conf</filename> by hand.
Alternatively, it can be run with the <command>-a</command>
option to set up a <filename>rndc.key</filename> file and
avoid the need for a <filename>rndc.conf</filename> file
and a <command>controls</command> statement altogether.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-a</term>
<listitem>
<para>
Do automatic <command>rndc</command> configuration.
This creates a file <filename>rndc.key</filename>
in <filename>/etc</filename> (or whatever
<varname>sysconfdir</varname>
was specified as when <acronym>BIND</acronym> was built)
that is read by both <command>rndc</command>
and <command>named</command> on startup. The
<filename>rndc.key</filename> file defines a default
command channel and authentication key allowing
<command>rndc</command> to communicate with
<command>named</command> with no further configuration.
</para>
<para>
Running <command>rndc-confgen -a</command> allows
BIND 9 and <command>rndc</command> to be used as drop-in
replacements for BIND 8 and <command>ndc</command>,
with no changes to the existing BIND 8
<filename>named.conf</filename> file.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-b <replaceable class="parameter">keysize</replaceable></term>
<listitem>
<para>
Specifies the size of the authentication key in bits.
Must be between 1 and 512 bits; the default is 128.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">keyfile</replaceable></term>
<listitem>
<para>
Used with the <command>-a</command> option to specify
an alternate location for <filename>rndc.key</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints a short summary of the options and arguments to
<command>rndc-confgen</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable class="parameter">keyname</replaceable></term>
<listitem>
<para>
Specifies the key name of the rndc authentication key.
This must be a valid domain name.
The default is <constant>rndc-key</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-p <replaceable class="parameter">port</replaceable></term>
<listitem>
<para>
Specifies the command channel port where <command>named</command>
listens for connections from <command>rndc</command>.
The default is 953.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-r <replaceable class="parameter">randomfile</replaceable></term>
<listitem>
<para>
Specifies a source of random data for generating the
authoriazation. 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">address</replaceable></term>
<listitem>
<para>
Specifies the IP address where <command>named</command>
listens for command channel connections from
<command>rndc</command>. The default is the loopback
address 127.0.0.1.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">chrootdir</replaceable></term>
<listitem>
<para>
Used with the <command>-a</command> option to specify
a directory where <command>named</command> will run
chrooted. An additional copy of the <filename>rndc.key</filename>
will be written relative to this directory so that
it will be found by the chrooted <command>named</command>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-u <replaceable class="parameter">user</replaceable></term>
<listitem>
<para>
Used with the <command>-a</command> option to set the owner
of the <filename>rndc.key</filename> file generated. If
<command>-t</command> is also specified only the file in
the chroot area has its owner changed.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>EXAMPLES</title>
<para>
To allow <command>rndc</command> to be used with
no manual configuration, run
</para>
<para>
<userinput>rndc-confgen -a</userinput>
</para>
<para>
To print a sample <filename>rndc.conf</filename> file and
corresponding <command>controls</command> and <command>key</command>
statements to be manually inserted into <filename>named.conf</filename>,
run
</para>
<para>
<userinput>rndc-confgen</userinput>
</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>rndc</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>rndc.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
<corpauthor>Internet Software Consortium</corpauthor>
</para>
</refsect1>
</refentry>
<!--
- Local variables:
- mode: sgml
- End:
-->
+545
View File
@@ -0,0 +1,545 @@
<!--
- 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
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<HTML
><HEAD
><TITLE
>rndc-confgen</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.61
"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><H1
><A
NAME="AEN1"
><SPAN
CLASS="APPLICATION"
>rndc-confgen</SPAN
></A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN9"
></A
><H2
>Name</H2
><SPAN
CLASS="APPLICATION"
>rndc-confgen</SPAN
>&nbsp;--&nbsp;rndc key generation tool</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN13"
></A
><H2
>Synopsis</H2
><P
><B
CLASS="COMMAND"
>rndc-confgen</B
> [<TT
CLASS="OPTION"
>-a</TT
>] [<TT
CLASS="OPTION"
>-b <TT
CLASS="REPLACEABLE"
><I
>keysize</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-c <TT
CLASS="REPLACEABLE"
><I
>keyfile</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-h</TT
>] [<TT
CLASS="OPTION"
>-k <TT
CLASS="REPLACEABLE"
><I
>keyname</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-p <TT
CLASS="REPLACEABLE"
><I
>port</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-r <TT
CLASS="REPLACEABLE"
><I
>randomfile</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-s <TT
CLASS="REPLACEABLE"
><I
>address</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-t <TT
CLASS="REPLACEABLE"
><I
>chrootdir</I
></TT
></TT
>] [<TT
CLASS="OPTION"
>-u <TT
CLASS="REPLACEABLE"
><I
>user</I
></TT
></TT
>]</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN44"
></A
><H2
>DESCRIPTION</H2
><P
> <B
CLASS="COMMAND"
>rndc-confgen</B
> generates configuration files
for <B
CLASS="COMMAND"
>rndc</B
>. It can be used as a
convenient alternative to writing the
<TT
CLASS="FILENAME"
>rndc.conf</TT
> file
and the corresponding <B
CLASS="COMMAND"
>controls</B
>
and <B
CLASS="COMMAND"
>key</B
>
statements in <TT
CLASS="FILENAME"
>named.conf</TT
> by hand.
Alternatively, it can be run with the <B
CLASS="COMMAND"
>-a</B
>
option to set up a <TT
CLASS="FILENAME"
>rndc.key</TT
> file and
avoid the need for a <TT
CLASS="FILENAME"
>rndc.conf</TT
> file
and a <B
CLASS="COMMAND"
>controls</B
> statement altogether.
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN57"
></A
><H2
>OPTIONS</H2
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>-a</DT
><DD
><P
> Do automatic <B
CLASS="COMMAND"
>rndc</B
> configuration.
This creates a file <TT
CLASS="FILENAME"
>rndc.key</TT
>
in <TT
CLASS="FILENAME"
>/etc</TT
> (or whatever
<TT
CLASS="VARNAME"
>sysconfdir</TT
>
was specified as when <SPAN
CLASS="ACRONYM"
>BIND</SPAN
> was built)
that is read by both <B
CLASS="COMMAND"
>rndc</B
>
and <B
CLASS="COMMAND"
>named</B
> on startup. The
<TT
CLASS="FILENAME"
>rndc.key</TT
> file defines a default
command channel and authentication key allowing
<B
CLASS="COMMAND"
>rndc</B
> to communicate with
<B
CLASS="COMMAND"
>named</B
> with no further configuration.
</P
><P
> Running <B
CLASS="COMMAND"
>rndc-confgen -a</B
> allows
BIND 9 and <B
CLASS="COMMAND"
>rndc</B
> to be used as drop-in
replacements for BIND 8 and <B
CLASS="COMMAND"
>ndc</B
>,
with no changes to the existing BIND 8
<TT
CLASS="FILENAME"
>named.conf</TT
> file.
</P
></DD
><DT
>-b <TT
CLASS="REPLACEABLE"
><I
>keysize</I
></TT
></DT
><DD
><P
> Specifies the size of the authentication key in bits.
Must be between 1 and 512 bits; the default is 128.
</P
></DD
><DT
>-c <TT
CLASS="REPLACEABLE"
><I
>keyfile</I
></TT
></DT
><DD
><P
> Used with the <B
CLASS="COMMAND"
>-a</B
> option to specify
an alternate location for <TT
CLASS="FILENAME"
>rndc.key</TT
>.
</P
></DD
><DT
>-h</DT
><DD
><P
> Prints a short summary of the options and arguments to
<B
CLASS="COMMAND"
>rndc-confgen</B
>.
</P
></DD
><DT
>-k <TT
CLASS="REPLACEABLE"
><I
>keyname</I
></TT
></DT
><DD
><P
> Specifies the key name of the rndc authentication key.
This must be a valid domain name.
The default is <TT
CLASS="CONSTANT"
>rndc-key</TT
>.
</P
></DD
><DT
>-p <TT
CLASS="REPLACEABLE"
><I
>port</I
></TT
></DT
><DD
><P
> Specifies the command channel port where <B
CLASS="COMMAND"
>named</B
>
listens for connections from <B
CLASS="COMMAND"
>rndc</B
>.
The default is 953.
</P
></DD
><DT
>-r <TT
CLASS="REPLACEABLE"
><I
>randomfile</I
></TT
></DT
><DD
><P
> Specifies a source of random data for generating the
authoriazation. If the operating
system does not provide a <TT
CLASS="FILENAME"
>/dev/random</TT
>
or equivalent device, the default source of randomness
is keyboard input. <TT
CLASS="FILENAME"
>randomdev</TT
> specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<TT
CLASS="FILENAME"
>keyboard</TT
> indicates that keyboard
input should be used.
</P
></DD
><DT
>-s <TT
CLASS="REPLACEABLE"
><I
>address</I
></TT
></DT
><DD
><P
> Specifies the IP address where <B
CLASS="COMMAND"
>named</B
>
listens for command channel connections from
<B
CLASS="COMMAND"
>rndc</B
>. The default is the loopback
address 127.0.0.1.
</P
></DD
><DT
>-t <TT
CLASS="REPLACEABLE"
><I
>chrootdir</I
></TT
></DT
><DD
><P
> Used with the <B
CLASS="COMMAND"
>-a</B
> option to specify
a directory where <B
CLASS="COMMAND"
>named</B
> will run
chrooted. An additional copy of the <TT
CLASS="FILENAME"
>rndc.key</TT
>
will be written relative to this directory so that
it will be found by the chrooted <B
CLASS="COMMAND"
>named</B
>.
</P
></DD
><DT
>-u <TT
CLASS="REPLACEABLE"
><I
>user</I
></TT
></DT
><DD
><P
> Used with the <B
CLASS="COMMAND"
>-a</B
> option to set the owner
of the <TT
CLASS="FILENAME"
>rndc.key</TT
> file generated. If
<B
CLASS="COMMAND"
>-t</B
> is also specified only the file in
the chroot area has its owner changed.
</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN141"
></A
><H2
>EXAMPLES</H2
><P
> To allow <B
CLASS="COMMAND"
>rndc</B
> to be used with
no manual configuration, run
</P
><P
> <TT
CLASS="USERINPUT"
><B
>rndc-confgen -a</B
></TT
>
</P
><P
> To print a sample <TT
CLASS="FILENAME"
>rndc.conf</TT
> file and
corresponding <B
CLASS="COMMAND"
>controls</B
> and <B
CLASS="COMMAND"
>key</B
>
statements to be manually inserted into <TT
CLASS="FILENAME"
>named.conf</TT
>,
run
</P
><P
> <TT
CLASS="USERINPUT"
><B
>rndc-confgen</B
></TT
>
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN154"
></A
><H2
>SEE ALSO</H2
><P
> <SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>rndc</SPAN
>(8)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>rndc.conf</SPAN
>(5)</SPAN
>,
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>named</SPAN
>(8)</SPAN
>,
<I
CLASS="CITETITLE"
>BIND 9 Administrator Reference Manual</I
>.
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN167"
></A
><H2
>AUTHOR</H2
><P
> Internet Software Consortium
</P
></DIV
></BODY
></HTML
>
+9 -1
View File
@@ -19,7 +19,7 @@
rndc \- name server control utility
.SH SYNOPSIS
.sp
\fBrndc\fR [ \fB-c \fIconfig-file\fB\fR ] [ \fB-s \fIserver\fB\fR ] [ \fB-p \fIport\fB\fR ] [ \fB-V\fR ] [ \fB-y \fIkey_id\fB\fR ] \fBcommand\fR
\fBrndc\fR [ \fB-c \fIconfig-file\fB\fR ] [ \fB-k \fIkey-file\fB\fR ] [ \fB-s \fIserver\fB\fR ] [ \fB-p \fIport\fB\fR ] [ \fB-V\fR ] [ \fB-y \fIkey_id\fB\fR ] \fBcommand\fR
.SH "DESCRIPTION"
.PP
\fBrndc\fR controls the operation of a name
@@ -51,6 +51,14 @@ Use \fIconfig-file\fR
as the configuration file instead of the default,
\fI/etc/rndc.conf\fR.
.TP
\fB-k \fIkey-file\fB\fR
Use \fIkey-file\fR
as the key file instead of the default,
\fI/etc/rndc.key\fR. The key in
\fI/etc/rndc.key\fR will be used to authenticate
commands sent to the server if the \fIconfig-file\fR
does not exist.
.TP
\fB-s \fIserver\fB\fR
\fIserver\fR is
the name or address of the server which matches a
+154 -134
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc.c,v 1.68 2001/07/09 22:02:15 gson Exp $ */
/* $Id: rndc.c,v 1.77.2.1 2001/10/17 18:26:01 gson Exp $ */
/*
* Principal Author: DCL
@@ -61,17 +61,19 @@
#endif
#ifndef USE_GETADDRINFO
#ifndef ISC_PLATFORM_NONSTDHERRNO
extern int h_errno;
#endif
#endif
char *progname;
isc_boolean_t verbose;
static const char *admin_conffile = RNDC_SYSCONFDIR "/rndc.conf";
static const char *auto_conffile = NS_LOCALSTATEDIR "/run/named.key";
static const char *admin_conffile;
static const char *admin_keyfile;
static const char *version = VERSION;
static const char *servername = NULL;
static unsigned int remoteport = NS_CONTROL_PORT;
static unsigned int remoteport = 0;
static isc_socketmgr_t *socketmgr = NULL;
static unsigned char databuf[2048];
static isccc_ccmsg_t ccmsg;
@@ -82,6 +84,7 @@ static int sends, recvs, connects;
static char *command;
static char *args;
static char program[256];
static isc_socket_t *sock = NULL;
static void
usage(int status) {
@@ -147,6 +150,7 @@ get_address(const char *host, in_port_t port, isc_sockaddr_t *sockaddr) {
hints.ai_family = PF_INET6;
else
hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
isc_app_block();
result = getaddrinfo(host, NULL, &hints, &res);
isc_app_unblock();
@@ -186,7 +190,6 @@ rndc_senddone(isc_task_t *task, isc_event_t *event) {
static void
rndc_recvdone(isc_task_t *task, isc_event_t *event) {
isc_socket_t *sock = ccmsg.sock;
isccc_sexpr_t *response = NULL;
isccc_sexpr_t *data;
isccc_region_t source;
@@ -199,9 +202,9 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) {
if (ccmsg.result == ISC_R_EOF)
fatal("connection to remote host closed\n"
"This may indicate that the remote server is using "
"an older version of the\n"
"command protocol, this host is not authorized "
"to connect, or the key is invalid.");
"an older version of \n"
"the command protocol, this host is not authorized "
"to connect,\nor the key is invalid.");
if (ccmsg.result != ISC_R_SUCCESS)
fatal("recv failed: %s", isc_result_totext(ccmsg.result));
@@ -241,7 +244,6 @@ rndc_recvdone(isc_task_t *task, isc_event_t *event) {
static void
rndc_connected(isc_task_t *task, isc_event_t *event) {
isc_socketevent_t *sevent = (isc_socketevent_t *)event;
isc_socket_t *sock = event->ev_sender;
isccc_sexpr_t *request = NULL;
isccc_sexpr_t *data;
isccc_time_t now;
@@ -290,13 +292,12 @@ rndc_connected(isc_task_t *task, isc_event_t *event) {
static void
rndc_start(isc_task_t *task, isc_event_t *event) {
isc_sockaddr_t addr;
isc_socket_t *sock = NULL;
isc_result_t result;
char socktext[ISC_SOCKADDR_FORMATSIZE];
isc_event_free(&event);
get_address(servername, remoteport, &addr);
get_address(servername, (in_port_t) remoteport, &addr);
isc_sockaddr_format(&addr, socktext, sizeof(socktext));
@@ -311,18 +312,36 @@ rndc_start(isc_task_t *task, isc_event_t *event) {
}
static void
parse_config(isc_mem_t *mctx, isc_log_t *log, cfg_parser_t **pctxp,
cfg_obj_t **config)
parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname,
cfg_parser_t **pctxp, cfg_obj_t **configp)
{
isc_result_t result;
const char *conffile = admin_conffile;
cfg_obj_t *defkey = NULL;
cfg_obj_t *options = NULL;
cfg_obj_t *servers = NULL;
cfg_obj_t *server = NULL;
cfg_obj_t *keys = NULL;
cfg_obj_t *key = NULL;
cfg_obj_t *defport = NULL;
cfg_obj_t *secretobj = NULL;
cfg_obj_t *algorithmobj = NULL;
cfg_obj_t *config = NULL;
cfg_listelt_t *elt;
const char *secretstr;
const char *algorithm;
static char secretarray[1024];
const cfg_type_t *conftype = &cfg_type_rndcconf;
isc_boolean_t key_only = ISC_FALSE;
if (! isc_file_exists(conffile)) {
conffile = auto_conffile;
conffile = admin_keyfile;
conftype = &cfg_type_rndckey;
if (! isc_file_exists(conffile))
fatal("neither %s nor %s was found",
admin_conffile, auto_conffile);
admin_conffile, admin_keyfile);
key_only = ISC_TRUE;
}
DO("create parser", cfg_parser_create(mctx, log, pctxp));
@@ -330,10 +349,112 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, cfg_parser_t **pctxp,
/*
* The parser will output its own errors, so DO() is not used.
*/
result = cfg_parse_file(*pctxp, conffile, &cfg_type_rndcconf, config);
result = cfg_parse_file(*pctxp, conffile, conftype, &config);
if (result != ISC_R_SUCCESS)
exit(1);
fatal("could not load rndc configuration");
if (!key_only)
(void)cfg_map_get(config, "options", &options);
if (key_only && servername == NULL)
servername = "127.0.0.1";
else if (servername == NULL && options != NULL) {
cfg_obj_t *defserverobj = NULL;
(void)cfg_map_get(options, "default-server", &defserverobj);
if (defserverobj != NULL)
servername = cfg_obj_asstring(defserverobj);
}
if (servername == NULL)
fatal("no server specified and no default");
if (!key_only) {
cfg_map_get(config, "server", &servers);
if (servers != NULL) {
for (elt = cfg_list_first(servers);
elt != NULL;
elt = cfg_list_next(elt))
{
const char *name;
server = cfg_listelt_value(elt);
name = cfg_obj_asstring(cfg_map_getname(server));
if (strcasecmp(name, servername) == 0)
break;
server = NULL;
}
}
}
/*
* Look for the name of the key to use.
*/
if (keyname != NULL)
; /* Was set on command line, do nothing. */
else if (server != NULL) {
DO("get key for server", cfg_map_get(server, "key", &defkey));
keyname = cfg_obj_asstring(defkey);
} else if (options != NULL) {
DO("get default key", cfg_map_get(options, "default-key",
&defkey));
keyname = cfg_obj_asstring(defkey);
} else if (!key_only)
fatal("no key for server and no default");
/*
* Get the key's definition.
*/
if (key_only)
DO("get key", cfg_map_get(config, "key", &key));
else {
DO("get config key list", cfg_map_get(config, "key", &keys));
for (elt = cfg_list_first(keys);
elt != NULL;
elt = cfg_list_next(elt))
{
key = cfg_listelt_value(elt);
if (strcasecmp(cfg_obj_asstring(cfg_map_getname(key)),
keyname) == 0)
break;
}
if (elt == NULL)
fatal("no key definition for name %s", keyname);
}
(void)cfg_map_get(key, "secret", &secretobj);
(void)cfg_map_get(key, "algorithm", &algorithmobj);
if (secretobj == NULL || algorithmobj == NULL)
fatal("key must have algorithm and secret");
secretstr = cfg_obj_asstring(secretobj);
algorithm = cfg_obj_asstring(algorithmobj);
if (strcasecmp(algorithm, "hmac-md5") != 0)
fatal("unsupported algorithm: %s", algorithm);
secret.rstart = (unsigned char *)secretarray;
secret.rend = (unsigned char *)secretarray + sizeof(secretarray);
DO("decode base64 secret", isccc_base64_decode(secretstr, &secret));
secret.rend = secret.rstart;
secret.rstart = (unsigned char *)secretarray;
/*
* Find the port to connect to.
*/
if (remoteport != 0)
; /* Was set on command line, do nothing. */
else {
if (server != NULL)
(void)cfg_map_get(server, "port", &defport);
if (defport == NULL && options != NULL)
cfg_map_get(options, "default-port", &defport);
}
if (defport != NULL) {
remoteport = cfg_obj_asuint32(defport);
if (remoteport > 65535 || remoteport == 0)
fatal("port %d out of range", remoteport);
} else if (remoteport == 0)
remoteport = NS_CONTROL_PORT;
*configp = config;
}
int
@@ -347,40 +468,33 @@ main(int argc, char **argv) {
isc_logdestination_t logdest;
cfg_parser_t *pctx = NULL;
cfg_obj_t *config = NULL;
cfg_obj_t *options = NULL;
cfg_obj_t *servers = NULL;
cfg_obj_t *server = NULL;
cfg_obj_t *defkey = NULL;
cfg_obj_t *keys = NULL;
cfg_obj_t *key = NULL;
cfg_obj_t *defport = NULL;
cfg_obj_t *secretobj = NULL;
cfg_obj_t *algorithmobj = NULL;
cfg_listelt_t *elt;
const char *keyname = NULL;
const char *secretstr;
const char *algorithm;
isc_boolean_t portset = ISC_FALSE;
char secretarray[1024];
char *p;
size_t argslen;
int ch;
int i;
isc_app_start();
result = isc_file_progname(*argv, program, sizeof(program));
if (result != ISC_R_SUCCESS)
memcpy(progname, "rndc", 5);
memcpy(program, "rndc", 5);
progname = program;
while ((ch = isc_commandline_parse(argc, argv, "c:Mmp:s:Vy:"))
admin_conffile = RNDC_CONFFILE;
admin_keyfile = RNDC_KEYFILE;
isc_app_start();
while ((ch = isc_commandline_parse(argc, argv, "c:k:Mmp:s:Vy:"))
!= -1) {
switch (ch) {
case 'c':
admin_conffile = isc_commandline_argument;
break;
case 'k':
admin_keyfile = isc_commandline_argument;
break;
case 'M':
isc_mem_debugging = 1;
break;
@@ -391,10 +505,9 @@ main(int argc, char **argv) {
case 'p':
remoteport = atoi(isc_commandline_argument);
if (remoteport > 65535)
if (remoteport > 65535 || remoteport == 0)
fatal("port '%s' out of range",
isc_commandline_argument);
portset = ISC_TRUE;
break;
case 's':
@@ -441,100 +554,7 @@ main(int argc, char **argv) {
DO("enabling log channel", isc_log_usechannel(logconfig, "stderr",
NULL, NULL));
parse_config(mctx, log, &pctx, &config);
(void)cfg_map_get(config, "options", &options);
if (servername == NULL && options != NULL) {
cfg_obj_t *defserverobj = NULL;
(void)cfg_map_get(options, "default-server", &defserverobj);
if (defserverobj != NULL)
servername = cfg_obj_asstring(defserverobj);
}
if (servername == NULL)
fatal("no server specified and no default");
cfg_map_get(config, "server", &servers);
if (servers != NULL) {
for (elt = cfg_list_first(servers);
elt != NULL;
elt = cfg_list_next(elt))
{
const char *name;
server = cfg_listelt_value(elt);
name = cfg_obj_asstring(cfg_map_getname(server));
if (strcasecmp(name, servername) == 0)
break;
server = NULL;
}
}
/*
* Look for the name of the key to use.
*/
if (keyname != NULL)
; /* Was set on command line, do nothing. */
else if (server != NULL) {
DO("get key for server", cfg_map_get(server, "key", &defkey));
keyname = cfg_obj_asstring(defkey);
} else if (options != NULL) {
DO("get default key", cfg_map_get(options, "default-key",
&defkey));
keyname = cfg_obj_asstring(defkey);
} else
fatal("no key for server and no default");
/*
* Get the key's definition.
*/
DO("get config key list", cfg_map_get(config, "key", &keys));
for (elt = cfg_list_first(keys);
elt != NULL;
elt = cfg_list_next(elt))
{
key = cfg_listelt_value(elt);
if (strcasecmp(cfg_obj_asstring(cfg_map_getname(key)),
keyname) == 0)
break;
}
if (elt == NULL)
fatal("no key definition for name %s", keyname);
(void)cfg_map_get(key, "secret", &secretobj);
(void)cfg_map_get(key, "algorithm", &algorithmobj);
if (secretobj == NULL || algorithmobj == NULL)
fatal("key must have algorithm and secret");
secretstr = cfg_obj_asstring(secretobj);
algorithm = cfg_obj_asstring(algorithmobj);
if (strcasecmp(algorithm, "hmac-md5") != 0)
fatal("unsupported algorithm: %s", algorithm);
secret.rstart = (unsigned char *)secretarray;
secret.rend = (unsigned char *)secretarray + sizeof(secretarray);
DO("decode base64 secret", isccc_base64_decode(secretstr, &secret));
secret.rend = secret.rstart;
secret.rstart = (unsigned char *)secretarray;
/*
* Find the port to connect to.
*/
if (portset)
; /* Was set on command line, do nothing. */
else {
if (server != NULL)
(void)cfg_map_get(server, "port", &defport);
if (defport == NULL && options != NULL)
cfg_map_get(options, "default-port", &defport);
}
if (defport != NULL) {
remoteport = cfg_obj_asuint32(defport);
if (remoteport > 65535)
fatal("port %d out of range", remoteport);
} else if (!portset)
remoteport = NS_CONTROL_PORT;
parse_config(mctx, log, keyname, &pctx, &config);
isccc_result_register();
@@ -565,7 +585,7 @@ main(int argc, char **argv) {
*p++ = '\0';
INSIST(p == args + argslen);
notify(command);
notify("%s", command);
if (strcmp(command, "restart") == 0)
fatal("'%s' is not implemented", command);
@@ -575,7 +595,7 @@ main(int argc, char **argv) {
isc_app_run();
if (connects > 0 || sends > 0 || recvs > 0)
isc_socket_cancel(ccmsg.sock, task, ISC_SOCKCANCEL_ALL);
isc_socket_cancel(sock, task, ISC_SOCKCANCEL_ALL);
isc_task_detach(&task);
isc_taskmgr_destroy(&taskmgr);

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