Compare commits

...
1136 Commits
Author SHA1 Message Date
cvs2git 7150d5e275 This commit was manufactured by cvs2git to create tag 'v9_2_0rc8'. 2002-02-08 05:42:28 +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 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 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 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
Brian Wellington 0ebade1fcd mention [filename] in the help. 2001-10-15 20:23:47 +00:00
Andreas Gustafsson 559eecb115 check-zone -> named-checkzone (from Jinmei) 2001-10-15 18:20:22 +00:00
Andreas Gustafsson 5419c0c2d0 consistent spacing 2001-10-15 17:09:11 +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
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 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 3c17010ba5 rephrased 1033. 2001-10-12 19:12:52 +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
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 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 8ba4e82f53 rephrased 1046. 2001-10-11 17:44:51 +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
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
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 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 4fa5d53e75 qualify 1038. 2001-10-09 23:08:11 +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 6c6ceac1bc reverted incorrect commit 2001-10-08 18:58:11 +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
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
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 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 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
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 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 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 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
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 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 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 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 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 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 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 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
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
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 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 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
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
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 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 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
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
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
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 33a1b09738 regenerated 2001-09-19 22:17:51 +00:00
Andreas Gustafsson 0bb3203216 document the global provide-ixfr and request-ixfr options [RT #1772] 2001-09-19 22:15:54 +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
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 6e1b2ebcd6 "an alias", not "a alias" 2001-09-17 22:57:02 +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 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
Brian Wellington 0b3abc3faf Some answers were not prefixed with "A: ". 2001-09-17 20:34:57 +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
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 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 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
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 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 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 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
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 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
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
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
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
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
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 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 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 181232550d typo 2001-09-05 00:55:47 +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
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
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 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 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 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
48 changed files with 495 additions and 2655 deletions
+28
View File
@@ -1,4 +1,32 @@
--- 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
View File
+3 -3
View File
@@ -44,10 +44,10 @@ BIND 9
Nominum, Inc.
BIND 9.2.0rc7
BIND 9.2.0rc8
BIND 9.2.0rc7 is a release candidate for BIND 9.2.0.
It fixes a number of bugs in 9.2.0rc6.
BIND 9.2.0rc8 is a release candidate for BIND 9.2.0.
It fixes a number of bugs in 9.2.0rc7.
BIND 9.2.0 has a number of new features over 9.1,
including:
+10 -1
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: acconfig.h,v 1.35 2001/07/14 01:55:04 gson 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
@@ -120,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
+15 -17
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.28.2.4 2001/09/21 03:31:17 marka Exp $ */
/* $Id: controlconf.c,v 1.28.2.5 2001/10/19 22:29:08 bwelling Exp $ */
#include <config.h>
@@ -178,11 +178,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,
@@ -191,23 +194,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
@@ -520,10 +519,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;
}
@@ -573,7 +572,6 @@ 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);
}
}
+20 -11
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.c,v 1.59.2.2 2001/10/13 03:56:44 marka 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)
@@ -599,8 +599,11 @@ 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
@@ -625,7 +628,7 @@ listenon_is_ip6_any(ns_listenelt_t *elt) {
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;
@@ -644,7 +647,7 @@ do_ipv6(ns_interfacemgr_t *mgr) {
ISC_LOG_ERROR,
"bad IPv6 listen-on list: "
"must be 'any' or 'none'");
return;
return (ISC_R_FAILURE);
}
in6a = in6addr_any;
@@ -668,17 +671,21 @@ do_ipv6(ns_interfacemgr_t *mgr) {
}
}
}
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,
@@ -686,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");
@@ -699,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
+57 -26
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.c,v 1.46 2001/08/29 18:03:36 gson 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
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zoneconf.c,v 1.87.2.2 2001/10/11 03:31:03 marka Exp $ */
/* $Id: zoneconf.c,v 1.87.2.3 2001/10/18 00:35:20 marka Exp $ */
#include <config.h>
@@ -600,7 +600,7 @@ ns_zone_reusable(dns_zone_t *zone, cfg_obj_t *zconfig) {
cfilename = NULL;
zfilename = dns_zone_getfile(zone);
if (!((cfilename == NULL && zfilename == NULL) ||
(cfilename != NULL && cfilename != NULL &&
(cfilename != NULL && zfilename != NULL &&
strcmp(cfilename, zfilename) == 0)))
return (ISC_FALSE);
+3 -5
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc.c,v 1.77 2001/08/06 11:40:46 gson Exp $ */
/* $Id: rndc.c,v 1.77.2.1 2001/10/17 18:26:01 gson Exp $ */
/*
* Principal Author: DCL
@@ -84,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) {
@@ -189,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;
@@ -244,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;
@@ -293,7 +292,6 @@ 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];
@@ -597,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);
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: cfg_test.c,v 1.11 2001/07/23 18:57:53 gson Exp $ */
/* $Id: cfg_test.c,v 1.11.2.1 2001/10/22 23:52:19 gson Exp $ */
#include <config.h>
@@ -51,7 +51,7 @@ output(void *closure, const char *text, int textlen) {
}
static void
usage() {
usage(void) {
fprintf(stderr, "usage: cfg_test --rndc|--named "
"[--grammar] [--memstats] conffile\n");
exit(1);
+10 -7
View File
@@ -16,7 +16,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.h.in,v 1.47 2001/08/16 06:19:56 marka Exp $ */
/* $Id: config.h.in,v 1.47.2.1 2001/10/22 23:28:08 gson Exp $ */
/***
*** This file is not to be included by any public header files, because
@@ -32,9 +32,6 @@
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef ssize_t
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
@@ -45,6 +42,9 @@
byte first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* 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
@@ -138,6 +138,9 @@ 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
/* Define if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
@@ -153,12 +156,12 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H
/* Define if you have the <sys/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H
/* Define if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
Vendored
+123 -76
View File
@@ -30,7 +30,7 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# From configure.in Revision: 1.294.2.2
# From configure.in Revision: 1.294.2.3
# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
## Copyright 1996, 1997, 1998, 1999, 2000, 2001
@@ -8192,10 +8192,6 @@ if { (eval echo configure:8192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5;
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"
cat >> confdefs.h <<\EOF
#define HAVE_RRSETINFO 1
EOF
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
@@ -8207,9 +8203,9 @@ rm -f conftest*
echo $ac_n "checking for int sethostent""... $ac_c" 1>&6
echo "configure:8211: checking for int sethostent" >&5
echo "configure:8207: checking for int sethostent" >&5
cat > conftest.$ac_ext <<EOF
#line 8213 "configure"
#line 8209 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8217,7 +8213,7 @@ int main() {
int i = sethostent(0); return(0);
; return 0; }
EOF
if { (eval echo configure:8221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_SETHOSTENTINT="#define ISC_LWRES_SETHOSTENTINT 1"
@@ -8232,9 +8228,9 @@ rm -f conftest*
echo $ac_n "checking for int endhostent""... $ac_c" 1>&6
echo "configure:8236: checking for int endhostent" >&5
echo "configure:8232: checking for int endhostent" >&5
cat > conftest.$ac_ext <<EOF
#line 8238 "configure"
#line 8234 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8242,7 +8238,7 @@ int main() {
int i = endhostent(); return(0);
; return 0; }
EOF
if { (eval echo configure:8246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_ENDHOSTENTINT="#define ISC_LWRES_ENDHOSTENTINT 1"
@@ -8257,9 +8253,9 @@ rm -f conftest*
echo $ac_n "checking for getnetbyaddr(in_addr_t, ...)""... $ac_c" 1>&6
echo "configure:8261: checking for getnetbyaddr(in_addr_t, ...)" >&5
echo "configure:8257: checking for getnetbyaddr(in_addr_t, ...)" >&5
cat > conftest.$ac_ext <<EOF
#line 8263 "configure"
#line 8259 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8268,7 +8264,7 @@ int main() {
; return 0; }
EOF
if { (eval echo configure:8272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_GETNETBYADDRINADDR="#define ISC_LWRES_GETNETBYADDRINADDR 1"
@@ -8283,9 +8279,9 @@ rm -f conftest*
echo $ac_n "checking for int setnetent""... $ac_c" 1>&6
echo "configure:8287: checking for int setnetent" >&5
echo "configure:8283: checking for int setnetent" >&5
cat > conftest.$ac_ext <<EOF
#line 8289 "configure"
#line 8285 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8293,7 +8289,7 @@ int main() {
int i = setnetent(0); return(0);
; return 0; }
EOF
if { (eval echo configure:8297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_SETNETENTINT="#define ISC_LWRES_SETNETENTINT 1"
@@ -8308,9 +8304,9 @@ rm -f conftest*
echo $ac_n "checking for int endnetent""... $ac_c" 1>&6
echo "configure:8312: checking for int endnetent" >&5
echo "configure:8308: checking for int endnetent" >&5
cat > conftest.$ac_ext <<EOF
#line 8314 "configure"
#line 8310 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8318,7 +8314,7 @@ int main() {
int i = endnetent(); return(0);
; return 0; }
EOF
if { (eval echo configure:8322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_ENDNETENTINT="#define ISC_LWRES_ENDNETENTINT 1"
@@ -8333,9 +8329,9 @@ rm -f conftest*
echo $ac_n "checking for gethostbyaddr(const void *, size_t, ...)""... $ac_c" 1>&6
echo "configure:8337: checking for gethostbyaddr(const void *, size_t, ...)" >&5
echo "configure:8333: checking for gethostbyaddr(const void *, size_t, ...)" >&5
cat > conftest.$ac_ext <<EOF
#line 8339 "configure"
#line 8335 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8344,7 +8340,7 @@ int main() {
return(0);
; return 0; }
EOF
if { (eval echo configure:8348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_GETHOSTBYADDRVOID="#define ISC_LWRES_GETHOSTBYADDRVOID 1"
@@ -8359,9 +8355,9 @@ rm -f conftest*
echo $ac_n "checking for h_errno in netdb.h""... $ac_c" 1>&6
echo "configure:8363: checking for h_errno in netdb.h" >&5
echo "configure:8359: checking for h_errno in netdb.h" >&5
cat > conftest.$ac_ext <<EOF
#line 8365 "configure"
#line 8361 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8369,7 +8365,7 @@ int main() {
h_errno = 1; return(0);
; return 0; }
EOF
if { (eval echo configure:8373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8369: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_NEEDHERRNO="#undef ISC_LWRES_NEEDHERRNO"
@@ -8384,12 +8380,12 @@ rm -f conftest*
echo $ac_n "checking for getipnodebyname""... $ac_c" 1>&6
echo "configure:8388: checking for getipnodebyname" >&5
echo "configure:8384: checking for getipnodebyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_getipnodebyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8393 "configure"
#line 8389 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getipnodebyname(); below. */
@@ -8412,7 +8408,7 @@ getipnodebyname();
; return 0; }
EOF
if { (eval echo configure:8416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getipnodebyname=yes"
else
@@ -8433,12 +8429,12 @@ ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"
fi
echo $ac_n "checking for getnameinfo""... $ac_c" 1>&6
echo "configure:8437: checking for getnameinfo" >&5
echo "configure:8433: checking for getnameinfo" >&5
if eval "test \"`echo '$''{'ac_cv_func_getnameinfo'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8442 "configure"
#line 8438 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getnameinfo(); below. */
@@ -8461,7 +8457,7 @@ getnameinfo();
; return 0; }
EOF
if { (eval echo configure:8465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getnameinfo=yes"
else
@@ -8482,12 +8478,12 @@ ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"
fi
echo $ac_n "checking for getaddrinfo""... $ac_c" 1>&6
echo "configure:8486: checking for getaddrinfo" >&5
echo "configure:8482: checking for getaddrinfo" >&5
if eval "test \"`echo '$''{'ac_cv_func_getaddrinfo'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8491 "configure"
#line 8487 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getaddrinfo(); below. */
@@ -8510,7 +8506,7 @@ getaddrinfo();
; return 0; }
EOF
if { (eval echo configure:8514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getaddrinfo=yes"
else
@@ -8535,12 +8531,12 @@ ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"
fi
echo $ac_n "checking for gai_strerror""... $ac_c" 1>&6
echo "configure:8539: checking for gai_strerror" >&5
echo "configure:8535: checking for gai_strerror" >&5
if eval "test \"`echo '$''{'ac_cv_func_gai_strerror'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8544 "configure"
#line 8540 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gai_strerror(); below. */
@@ -8563,7 +8559,7 @@ gai_strerror();
; return 0; }
EOF
if { (eval echo configure:8567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gai_strerror=yes"
else
@@ -8593,9 +8589,9 @@ fi
# Look for a sysctl call to get the list of network interfaces.
#
echo $ac_n "checking for interface list sysctl""... $ac_c" 1>&6
echo "configure:8597: checking for interface list sysctl" >&5
echo "configure:8593: checking for interface list sysctl" >&5
cat > conftest.$ac_ext <<EOF
#line 8599 "configure"
#line 8595 "configure"
#include "confdefs.h"
#include <sys/param.h>
@@ -8625,12 +8621,12 @@ rm -f conftest*
# Check for some other useful functions that are not ever-present.
#
echo $ac_n "checking for strsep""... $ac_c" 1>&6
echo "configure:8629: checking for strsep" >&5
echo "configure:8625: checking for strsep" >&5
if eval "test \"`echo '$''{'ac_cv_func_strsep'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8634 "configure"
#line 8630 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strsep(); below. */
@@ -8653,7 +8649,7 @@ strsep();
; return 0; }
EOF
if { (eval echo configure:8657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strsep=yes"
else
@@ -8674,12 +8670,12 @@ ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"
fi
echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
echo "configure:8678: checking for vsnprintf" >&5
echo "configure:8674: checking for vsnprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8683 "configure"
#line 8679 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vsnprintf(); below. */
@@ -8702,7 +8698,7 @@ vsnprintf();
; return 0; }
EOF
if { (eval echo configure:8706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vsnprintf=yes"
else
@@ -8726,6 +8722,57 @@ fi
echo $ac_n "checking for strerror""... $ac_c" 1>&6
echo "configure:8727: checking for strerror" >&5
if eval "test \"`echo '$''{'ac_cv_func_strerror'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8732 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strerror(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char strerror();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_strerror) || defined (__stub___strerror)
choke me
#else
strerror();
#endif
; return 0; }
EOF
if { (eval echo configure:8755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strerror=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_func_strerror=no"
fi
rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_func_'strerror`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
#define HAVE_STRERROR 1
EOF
else
echo "$ac_t""no" 1>&6
fi
@@ -8738,17 +8785,17 @@ fi
# but that's defined elsewhere since we don't use configure on Win32.
#
echo $ac_n "checking printf format modifier for 64-bit integers""... $ac_c" 1>&6
echo "configure:8742: checking printf format modifier for 64-bit integers" >&5
echo "configure:8789: checking printf format modifier for 64-bit integers" >&5
if test "$cross_compiling" = yes; then
echo "$ac_t""assuming target platform uses ll" 1>&6
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
else
cat > conftest.$ac_ext <<EOF
#line 8748 "configure"
#line 8795 "configure"
#include "confdefs.h"
main() { exit(!(sizeof(long long int) == sizeof(long int))); }
EOF
if { (eval echo configure:8752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:8799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""l" 1>&6
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "l"'
@@ -8768,12 +8815,12 @@ fi
# Security Stuff
#
echo $ac_n "checking for chroot""... $ac_c" 1>&6
echo "configure:8772: checking for chroot" >&5
echo "configure:8819: checking for chroot" >&5
if eval "test \"`echo '$''{'ac_cv_func_chroot'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8777 "configure"
#line 8824 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char chroot(); below. */
@@ -8796,7 +8843,7 @@ chroot();
; return 0; }
EOF
if { (eval echo configure:8800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:8847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_chroot=yes"
else
@@ -8830,17 +8877,17 @@ case "$enable_linux_caps" in
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:8834: checking for $ac_hdr" >&5
echo "configure:8881: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8839 "configure"
#line 8886 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:8844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:8891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8874,17 +8921,17 @@ for ac_hdr in sys/prctl.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:8878: checking for $ac_hdr" >&5
echo "configure:8925: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 8883 "configure"
#line 8930 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:8888: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:8935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -8915,9 +8962,9 @@ done
# BSD/OS, and perhaps some others, don't define rlim_t.
#
echo $ac_n "checking for type rlim_t""... $ac_c" 1>&6
echo "configure:8919: checking for type rlim_t" >&5
echo "configure:8966: checking for type rlim_t" >&5
cat > conftest.$ac_ext <<EOF
#line 8921 "configure"
#line 8968 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8927,7 +8974,7 @@ int main() {
rlim_t rl = 19671212; return (0);
; return 0; }
EOF
if { (eval echo configure:8931: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if { (eval echo configure:8978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE rlim_t"
@@ -8938,12 +8985,12 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking type of rlim_cur""... $ac_c" 1>&6
echo "configure:8942: checking type of rlim_cur" >&5
echo "configure:8989: checking type of rlim_cur" >&5
if test "$cross_compiling" = yes; then
{ echo "configure: error: cannot determine type of rlim_cur when cross compiling - define rlim_t" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 8947 "configure"
#line 8994 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8951,7 +8998,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}
EOF
if { (eval echo configure:8955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:9002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""int" 1>&6
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE int"
@@ -8964,7 +9011,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: this cannot happen" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 8968 "configure"
#line 9015 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8972,7 +9019,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}
EOF
if { (eval echo configure:8976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:9023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""long int" 1>&6
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long int"
@@ -8985,7 +9032,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: this cannot happen" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 8989 "configure"
#line 9036 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8993,7 +9040,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit((!sizeof(r.rlim_cur) == sizeof(long long int)));}
EOF
if { (eval echo configure:8997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
if { (eval echo configure:9044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""long long int" 1>&6
ISC_PLATFORM_RLIMITTYPE="#define ISC_PLATFORM_RLIMITTYPE long long int"
@@ -9117,7 +9164,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:9121: checking for $ac_word" >&5
echo "configure:9168: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_OPENJADE'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9164,7 +9211,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:9168: checking for $ac_word" >&5
echo "configure:9215: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_JADETEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9207,7 +9254,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:9211: checking for $ac_word" >&5
echo "configure:9258: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PDFJADETEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9263,7 +9310,7 @@ test -n "$PDFJADETEX" || PDFJADETEX="pdfjadetex"
SGMLCATALOG=""
echo $ac_n "checking for catalog""... $ac_c" 1>&6
echo "configure:9267: checking for catalog" >&5
echo "configure:9314: checking for catalog" >&5
for d in $sgmltrees
do
f=$d/catalog
@@ -9305,7 +9352,7 @@ done
HTMLSTYLE=""
echo $ac_n "checking for html/docbook.dsl""... $ac_c" 1>&6
echo "configure:9309: checking for html/docbook.dsl" >&5
echo "configure:9356: checking for html/docbook.dsl" >&5
for d in $stylepath
do
f=$d/html/docbook.dsl
@@ -9326,7 +9373,7 @@ fi
PRINTSTYLE=""
echo $ac_n "checking for print/docbook.dsl""... $ac_c" 1>&6
echo "configure:9330: checking for print/docbook.dsl" >&5
echo "configure:9377: checking for print/docbook.dsl" >&5
for d in $stylepath
do
f=$d/print/docbook.dsl
@@ -9352,7 +9399,7 @@ fi
XMLDCL=""
echo $ac_n "checking for docbook/dsssl/modular/dtds/decls/xml.dcl""... $ac_c" 1>&6
echo "configure:9356: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5
echo "configure:9403: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5
for d in $sgmltrees
do
f=$d/docbook/dsssl/modular/dtds/decls/xml.dcl
@@ -9378,7 +9425,7 @@ fi
DOCBOOK2MANSPEC=""
echo $ac_n "checking for docbook2X/docbook2man-spec.pl""... $ac_c" 1>&6
echo "configure:9382: checking for docbook2X/docbook2man-spec.pl" >&5
echo "configure:9429: checking for docbook2X/docbook2man-spec.pl" >&5
for d in $sgmltrees
do
f=$d/docbook2X/docbook2man-spec.pl
+4 -4
View File
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
AC_DIVERT_POP()dnl
AC_REVISION($Revision: 1.294.2.2 $)
AC_REVISION($Revision: 1.294.2.3 $)
AC_INIT(lib/dns/name.c)
AC_PREREQ(2.13)
@@ -198,7 +198,7 @@ AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/sysct
AC_C_CONST
AC_C_INLINE
AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME),)
AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
#
# UnixWare 7.1.1 with the feature supplement to the UDK compiler
@@ -1223,8 +1223,7 @@ AC_TRY_COMPILE([
#include <netdb.h>],
[struct rrsetinfo r; return (0);],
[AC_MSG_RESULT(yes)
ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"
AC_DEFINE(HAVE_RRSETINFO)],
ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"],
[AC_MSG_RESULT(no)
ISC_LWRES_NEEDRRSETINFO="#define ISC_LWRES_NEEDRRSETINFO 1"])
AC_SUBST(ISC_LWRES_NEEDRRSETINFO)
@@ -1345,6 +1344,7 @@ AC_CHECK_FUNC(vsnprintf,
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"])
AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
AC_CHECK_FUNC(strerror, AC_DEFINE(HAVE_STRERROR))
AC_SUBST(ISC_EXTRA_OBJS)
AC_SUBST(ISC_EXTRA_SRCS)
-195
View File
@@ -1,195 +0,0 @@
/*
* 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.
*/
/* $Id: dirdb.c,v 1.9 2001/01/09 21:46:22 bwelling Exp $ */
/*
* A simple database driver that returns basic information about
* files and directories in the Unix file system as DNS data.
*/
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/sdb.h>
#include <named/globals.h>
#include "dirdb.h"
static dns_sdbimplementation_t *dirdb = NULL;
#define CHECK(op) \
do { result = (op); \
if (result != ISC_R_SUCCESS) return (result); \
} while (0)
#define CHECKN(op) \
do { n = (op); \
if (n < 0) return (ISC_R_FAILURE); \
} while (0)
/*
* This database operates on relative names.
*
* Any name will be interpreted as a pathname offset from the directory
* specified in the configuration file.
*/
static isc_result_t
dirdb_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
char filename[255];
char filename2[255];
char buf[1024];
struct stat statbuf;
isc_result_t result;
int n;
UNUSED(zone);
UNUSED(dbdata);
if (strcmp(name, "@") == 0)
snprintf(filename, sizeof(filename), "%s", (char *)dbdata);
else
snprintf(filename, sizeof(filename), "%s/%s",
(char *)dbdata, name);
CHECKN(lstat(filename, &statbuf));
if (S_ISDIR(statbuf.st_mode))
CHECK(dns_sdb_putrr(lookup, "txt", 3600, "dir"));
else if (S_ISCHR(statbuf.st_mode) || S_ISBLK(statbuf.st_mode)) {
CHECKN(snprintf(buf, sizeof(buf),
"\"%sdev\" \"major %d\" \"minor %d\"",
S_ISCHR(statbuf.st_mode) ? "chr" : "blk",
major(statbuf.st_rdev),
minor(statbuf.st_rdev)));
CHECK(dns_sdb_putrr(lookup, "txt", 3600, buf));
} else if (S_ISFIFO(statbuf.st_mode))
CHECK(dns_sdb_putrr(lookup, "txt", 3600, "pipe"));
else if (S_ISSOCK(statbuf.st_mode))
CHECK(dns_sdb_putrr(lookup, "txt", 3600, "socket"));
else if (S_ISLNK(statbuf.st_mode)) {
CHECKN(readlink(filename, filename2, sizeof(filename2) - 1));
buf[n] = 0;
CHECKN(snprintf(buf, sizeof(buf), "\"symlink\" \"%s\"",
filename2));
CHECK(dns_sdb_putrr(lookup, "txt", 3600, buf));
} else if (!S_ISREG(statbuf.st_mode))
CHECK(dns_sdb_putrr(lookup, "txt", 3600, "unknown"));
else {
CHECKN(snprintf(buf, sizeof(buf), "\"file\" \"size = %u\"",
(unsigned int)statbuf.st_size));
CHECK(dns_sdb_putrr(lookup, "txt", 3600, buf));
}
return (ISC_R_SUCCESS);
}
/*
* lookup () does not return SOA or NS records, so authority() must be defined.
*/
static isc_result_t
dirdb_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) {
isc_result_t result;
UNUSED(zone);
UNUSED(dbdata);
result = dns_sdb_putsoa(lookup, "ns", "hostmaster", 0);
INSIST(result == ISC_R_SUCCESS);
result = dns_sdb_putrr(lookup, "ns", 86400, "ns1");
INSIST(result == ISC_R_SUCCESS);
result = dns_sdb_putrr(lookup, "ns", 86400, "ns2");
INSIST(result == ISC_R_SUCCESS);
return (ISC_R_SUCCESS);
}
/*
* Each database stores the top-level directory as the dbdata opaque
* object. The create() function allocates it. argv[0] holds the top
* level directory.
*/
static isc_result_t
dirdb_create(const char *zone, int argc, char **argv,
void *driverdata, void **dbdata)
{
UNUSED(zone);
UNUSED(driverdata);
if (argc < 1)
return (ISC_R_FAILURE);
*dbdata = isc_mem_strdup((isc_mem_t *)driverdata, argv[0]);
if (*dbdata == NULL)
return (ISC_R_NOMEMORY);
return (ISC_R_SUCCESS);
}
/*
* The destroy() function frees the memory allocated by create().
*/
static void
dirdb_destroy(const char *zone, void *driverdata, void **dbdata) {
UNUSED(zone);
UNUSED(driverdata);
isc_mem_free((isc_mem_t *)driverdata, *dbdata);
}
/*
* This zone does not support zone transfer, so allnodes() is NULL.
*/
static dns_sdbmethods_t dirdb_methods = {
dirdb_lookup,
dirdb_authority,
NULL, /* allnodes */
dirdb_create,
dirdb_destroy
};
/*
* Wrapper around dns_sdb_register(). Note that the first ns_g_mctx is
* being passed as the "driverdata" parameter, so that will it will be
* passed to create() and destroy().
*/
isc_result_t
dirdb_init(void) {
unsigned int flags;
flags = DNS_SDBFLAG_RELATIVEOWNER | DNS_SDBFLAG_RELATIVERDATA |
DNS_SDBFLAG_THREADSAFE;
return (dns_sdb_register("dir", &dirdb_methods, ns_g_mctx, flags,
ns_g_mctx, &dirdb));
}
/*
* Wrapper around dns_sdb_unregister().
*/
void
dirdb_clear(void) {
if (dirdb != NULL)
dns_sdb_unregister(&dirdb);
}
-25
View File
@@ -1,25 +0,0 @@
/*
* 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.
*/
/* $Id: dirdb.h,v 1.2 2001/01/09 21:46:23 bwelling Exp $ */
#include <isc/types.h>
isc_result_t dirdb_init(void);
void dirdb_clear(void);
-55
View File
@@ -1,55 +0,0 @@
This is the INSTALL file for 0.4. See
http://www.venaas.no/ldap/bind-sdb/ for updates or other information.
BUILDING
You need the source for BIND 9.1.0 or newer (for zone transfers you
will need at least 9.1.1rc3 due to a bug). Basically you need to follow
the instructions in doc/misc/sdb, if my instructions doesn't make sense,
please have a look at that as well.
Copy ldapdb.c to bin/named and ldapdb.h to bin/named/include in the
source tree.
Next alter bin/named/Makefile.in. Add ldapdb.@O@ to DBDRIVER_OBJS and
ldapdb.c to DBDRIVER_SRCS. You also need to add something like
-I/usr/local/include to DBDRIVER_INCLUDES and
-L/usr/local/lib -lldap -llber -lresolv to DBDRIVER_LIBS
depending on what LDAP library you have and where you installed it.
Finally you need to edit bin/named/main.c. Below where it says
"#include "xxdb.h"", add the line "#include <ldapdb.h>". Below where
it says "xxdb_init();" add the line "ldapdb_init();", and finally
below where it says "xxdb_clear();", add "ldapdb_clear();".
Now you should hopefully be able to build it.
CONFIGURING
Before you do any configuring of LDAP stuff, please try to configure
and start bind as usual to see if things work.
To do anything useful, you need to store a zone in some LDAP server.
From this release on, you must use a schema called dNSZone. Note that
it relies on some attribute definitions in the Cosine schema, so that
must be included as well. The Cosine schema probably comes with your
LDAP server. You can find dNSZone and further details on how to store
the data in your LDAP server at
http://www.venaas.no/ldap/bind-sdb/
For an example, have a look at my venaas.com zone. Try a subtree search
for objectClass=* at
ldap ldap://129.241.20.67/dc=venaas,dc=com,o=DNS,dc=venaas,dc=no
To use it with BIND, I've added the following to named.conf:
zone "venaas.com" {
type master;
database "ldap ldap://129.241.20.67/dc=venaas,dc=com,o=DNS,dc=venaas,dc=no 172800";
};
When doing lookups BIND will do a sub-tree search below the base in the
URL. The number 172800 is the TTL which will be used for all entries that
haven't got the dNSTTL attribute.
Stig Venaas <venaas@uninett.no> 2001-04-12
-18
View File
@@ -1,18 +0,0 @@
This is an attempt at an LDAP back-end for BIND 9 using the new simplified
database interface "sdb". This is the fifth release (0.5) and is not ready
for production use yet. Note that this version (and 0.4) uses a new schema
and is not backwards compatible with versions before 0.4. The big changes in
0.5 are thread support and improved connection handling. Multiple threads
can now access the back-end simultaneously, and rather than having one
connection per zone, there is now one connection per thread per LDAP server.
This should help people with multiple CPUs and people with a huge number of
zones. One final change is support for literal IPv6 addresses in LDAP URLs.
At least OpenLDAP 2 has IPv6 support, so if you use OpenLDAP 2 libraries and
server, you got all you need.
If you have bug reports, fixes, comments, questions or whatever, please
contact me. See also http://www.venaas.no/ldap/bind-sdb/ for information.
See INSTALL for how to build, install and use.
Stig Venaas <venaas@uninett.no> 2001-05-06
-17
View File
@@ -1,17 +0,0 @@
INSTALLATION
To Compile zone2ldap from contrib/sdb directory:
gcc -g `../../isc-config.sh --cflags isc dns` -c zone2ldap.c
gcc -g -o zone2ldap zone2ldap.o `isc-config.sh --libs isc dns` -lldap -llber -lresolv
USAGE:
See zone2ldap.1
BUGS:
Jeff McNeil <jeff@snapcase.g-rock.net>
-466
View File
@@ -1,466 +0,0 @@
/*
* Copyright (C) 2001 Stig Venaas
*
* 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.
*/
#include <config.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <isc/thread.h>
#include <dns/sdb.h>
#include <named/globals.h>
#include <ldap.h>
#include "ldapdb.h"
/*
* A simple database driver for LDAP. Not production quality yet
*/
static dns_sdbimplementation_t *ldapdb = NULL;
struct ldapdb_data {
char *hostport;
char *hostname;
int portno;
char *base;
int defaultttl;
};
/* used by ldapdb_getconn */
struct ldapdb_entry {
void *index;
size_t size;
void *data;
struct ldapdb_entry *next;
};
static struct ldapdb_entry *ldapdb_find(struct ldapdb_entry *stack,
const void *index, size_t size) {
while (stack != NULL) {
if (stack->size == size && !memcmp(stack->index, index, size))
return stack;
stack = stack->next;
}
return NULL;
}
static void ldapdb_insert(struct ldapdb_entry **stack,
struct ldapdb_entry *item) {
item->next = *stack;
*stack = item;
}
static void ldapdb_lock(int what) {
static isc_mutex_t lock;
switch (what) {
case 0:
isc_mutex_init(&lock);
break;
case 1:
LOCK(&lock);
break;
case -1:
UNLOCK(&lock);
break;
}
}
/* data == NULL means cleanup */
static LDAP **
ldapdb_getconn(struct ldapdb_data *data)
{
static struct ldapdb_entry *allthreadsdata = NULL;
struct ldapdb_entry *threaddata, *conndata;
unsigned long threadid;
if (data == NULL) {
/* cleanup */
/* lock out other threads */
ldapdb_lock(1);
while (allthreadsdata != NULL) {
threaddata = allthreadsdata;
free(threaddata->index);
while (threaddata->data != NULL) {
conndata = threaddata->data;
free(conndata->index);
if (conndata->data != NULL)
ldap_unbind((LDAP *)conndata->data);
threaddata->data = conndata->next;
free(conndata);
}
allthreadsdata = threaddata->next;
free(threaddata);
}
ldapdb_lock(-1);
return (NULL);
}
/* look for connection data for current thread */
threadid = isc_thread_self();
threaddata = ldapdb_find(allthreadsdata, &threadid, sizeof(threadid));
if (threaddata == NULL) {
/* no data for this thread, create empty connection list */
threaddata = malloc(sizeof(*threaddata));
if (threaddata == NULL)
return (NULL);
threaddata->index = malloc(sizeof(threadid));
if (threaddata->index == NULL) {
free(threaddata);
return (NULL);
}
*(unsigned long *)threaddata->index = threadid;
threaddata->size = sizeof(threadid);
threaddata->data = NULL;
/* need to lock out other threads here */
ldapdb_lock(1);
ldapdb_insert(&allthreadsdata, threaddata);
ldapdb_lock(-1);
}
/* threaddata points at the connection list for current thread */
/* look for existing connection to our server */
conndata = ldapdb_find((struct ldapdb_entry *)threaddata->data,
data->hostport, strlen(data->hostport));
if (conndata == NULL) {
/* no connection data structure for this server, create one */
conndata = malloc(sizeof(*conndata));
if (conndata == NULL)
return (NULL);
(char *)conndata->index = data->hostport;
conndata->size = strlen(data->hostport);
conndata->data = NULL;
ldapdb_insert((struct ldapdb_entry **)&threaddata->data,
conndata);
}
return (LDAP **)&conndata->data;
}
/* callback routines */
static isc_result_t
ldapdb_create(const char *zone, int argc, char **argv,
void *driverdata, void **dbdata)
{
struct ldapdb_data *data;
char *s;
int defaultttl;
UNUSED(zone);
UNUSED(driverdata);
/* we assume that only one thread will call create at a time */
/* want to do this only once for all instances */
if ((argc < 2)
|| (argv[0] != strstr( argv[0], "ldap://"))
|| ((defaultttl = atoi(argv[1])) < 1))
return (ISC_R_FAILURE);
data = isc_mem_get(ns_g_mctx, sizeof(struct ldapdb_data));
if (data == NULL)
return (ISC_R_NOMEMORY);
data->hostport = isc_mem_strdup(ns_g_mctx, argv[0] + strlen("ldap://"));
if (data->hostport == NULL) {
isc_mem_put(ns_g_mctx, data, sizeof(struct ldapdb_data));
return (ISC_R_NOMEMORY);
}
data->defaultttl = defaultttl;
s = strchr(data->hostport, '/');
if (s != NULL) {
*s++ = '\0';
data->base = *s != '\0' ? s : NULL;
}
/* support URLs with literal IPv6 addresses */
data->hostname = isc_mem_strdup(ns_g_mctx, data->hostport +
(*data->hostport == '[' ? 1 : 0));
if (data->hostname == NULL) {
isc_mem_free(ns_g_mctx, data->hostport);
isc_mem_put(ns_g_mctx, data, sizeof(struct ldapdb_data));
return (ISC_R_NOMEMORY);
}
if (*data->hostport == '[' &&
(s = strchr(data->hostname, ']')) != NULL )
*s++ = '\0';
else
s = data->hostname;
s = strchr(s, ':');
if (s != NULL) {
*s++ = '\0';
data->portno = atoi(s);
} else
data->portno = LDAP_PORT;
*dbdata = data;
return (ISC_R_SUCCESS);
}
static void
ldapdb_destroy(const char *zone, void *driverdata, void **dbdata) {
struct ldapdb_data *data = *dbdata;
UNUSED(zone);
UNUSED(driverdata);
if (data->hostport != NULL)
isc_mem_free(ns_g_mctx, data->hostport);
if (data->hostname != NULL)
isc_mem_free(ns_g_mctx, data->hostname);
isc_mem_put(ns_g_mctx, data, sizeof(struct ldapdb_data));
}
static void
ldapdb_bind(struct ldapdb_data *data, LDAP **ldp)
{
if (*ldp != NULL)
ldap_unbind(*ldp);
*ldp = ldap_open(data->hostname, data->portno);
if (*ldp == NULL)
return;
if (ldap_simple_bind_s(*ldp, NULL, NULL) != LDAP_SUCCESS) {
ldap_unbind(*ldp);
*ldp = NULL;
}
}
static isc_result_t
ldapdb_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
isc_result_t result = ISC_R_NOTFOUND;
struct ldapdb_data *data = dbdata;
LDAP **ldp;
LDAPMessage *res, *e;
char *fltr, *a, **vals;
char type[64];
BerElement *ptr;
int i;
ldp = ldapdb_getconn(data);
if (ldp == NULL)
return (ISC_R_FAILURE);
if (*ldp == NULL) {
ldapdb_bind(data, ldp);
if (*ldp == NULL)
return (ISC_R_FAILURE);
}
fltr = isc_mem_get(ns_g_mctx, strlen(zone) + strlen(name) +
strlen("(&(zoneName=)(relativeDomainName=))") + 1);
if (fltr == NULL)
return (ISC_R_NOMEMORY);
strcpy(fltr, "(&(zoneName=");
strcat(fltr, zone);
strcat(fltr, ")(relativeDomainName=");
strcat(fltr, name);
strcat(fltr, "))");
if (ldap_search_s(*ldp, data->base, LDAP_SCOPE_SUBTREE, fltr, NULL, 0,
&res) != LDAP_SUCCESS) {
ldapdb_bind(data, ldp);
if (*ldp != NULL)
ldap_search_s(*ldp, data->base, LDAP_SCOPE_SUBTREE,
fltr, NULL, 0, &res);
}
isc_mem_put(ns_g_mctx, fltr, strlen(fltr) + 1);
if (*ldp == NULL)
goto exit;
for (e = ldap_first_entry(*ldp, res); e != NULL;
e = ldap_next_entry(*ldp, e)) {
LDAP *ld = *ldp;
int ttl = data->defaultttl;
for (a = ldap_first_attribute(ld, e, &ptr); a != NULL;
a = ldap_next_attribute(ld, e, ptr)) {
if (!strcmp(a, "dNSTTL")) {
vals = ldap_get_values(ld, e, a);
ttl = atoi(vals[0]);
ldap_value_free(vals);
ldap_memfree(a);
break;
}
ldap_memfree(a);
}
for (a = ldap_first_attribute(ld, e, &ptr); a != NULL;
a = ldap_next_attribute(ld, e, ptr)) {
char *s;
for (s = a; *s; s++)
*s = toupper(*s);
s = strstr(a, "RECORD");
if ((s == NULL) || (s == a)
|| (s - a >= (signed int)sizeof(type))) {
ldap_memfree(a);
continue;
}
strncpy(type, a, s - a);
type[s - a] = '\0';
vals = ldap_get_values(ld, e, a);
for (i=0; vals[i] != NULL; i++) {
result = dns_sdb_putrr(lookup, type, ttl,
vals[i]);
if (result != ISC_R_SUCCESS) {
ldap_value_free(vals);
ldap_memfree(a);
result = ISC_R_FAILURE;
goto exit;
}
}
ldap_value_free(vals);
ldap_memfree(a);
}
}
exit:
ldap_msgfree(res);
return (result);
}
static isc_result_t
ldapdb_allnodes(const char *zone, void *dbdata,
dns_sdballnodes_t *allnodes) {
isc_result_t result = ISC_R_NOTFOUND;
struct ldapdb_data *data = dbdata;
LDAP **ldp;
LDAPMessage *res, *e;
char type[64];
char *fltr, *a, **vals;
BerElement *ptr;
int i;
ldp = ldapdb_getconn(data);
if (ldp == NULL)
return (ISC_R_FAILURE);
if (*ldp == NULL) {
ldapdb_bind(data, ldp);
if (*ldp == NULL)
return (ISC_R_FAILURE);
}
fltr = isc_mem_get(ns_g_mctx, strlen(zone) + strlen("(zoneName=)") + 1);
if (fltr == NULL)
return (ISC_R_NOMEMORY);
strcpy(fltr, "(zoneName=");
strcat(fltr, zone);
strcat(fltr, ")");
if (ldap_search_s(*ldp, data->base, LDAP_SCOPE_SUBTREE, fltr, NULL, 0,
&res) != LDAP_SUCCESS) {
ldapdb_bind(data, ldp);
if (*ldp != NULL)
ldap_search_s(*ldp, data->base, LDAP_SCOPE_SUBTREE,
fltr, NULL, 0, &res);
}
isc_mem_put(ns_g_mctx, fltr, strlen(fltr) + 1);
for (e = ldap_first_entry(*ldp, res); e != NULL;
e = ldap_next_entry(*ldp, e)) {
LDAP *ld = *ldp;
char *name = NULL;
int ttl = data->defaultttl;
for (a = ldap_first_attribute(ld, e, &ptr); a != NULL;
a = ldap_next_attribute(ld, e, ptr)) {
if (!strcmp(a, "dNSTTL")) {
vals = ldap_get_values(ld, e, a);
ttl = atoi(vals[0]);
ldap_value_free(vals);
} else if (!strcmp(a, "relativeDomainName")) {
vals = ldap_get_values(ld, e, a);
name = isc_mem_strdup(ns_g_mctx, vals[0]);
ldap_value_free(vals);
}
ldap_memfree(a);
}
if (name == NULL)
continue;
for (a = ldap_first_attribute(ld, e, &ptr); a != NULL;
a = ldap_next_attribute(ld, e, ptr)) {
char *s;
for (s = a; *s; s++)
*s = toupper(*s);
s = strstr(a, "RECORD");
if ((s == NULL) || (s == a)
|| (s - a >= (signed int)sizeof(type))) {
ldap_memfree(a);
continue;
}
strncpy(type, a, s - a);
type[s - a] = '\0';
vals = ldap_get_values(ld, e, a);
for (i=0; vals[i] != NULL; i++) {
result = dns_sdb_putnamedrr(allnodes, name,
type, ttl, vals[i]);
if (result != ISC_R_SUCCESS) {
ldap_value_free(vals);
ldap_memfree(a);
isc_mem_free(ns_g_mctx, name);
result = ISC_R_FAILURE;
goto exit;
}
}
ldap_value_free(vals);
ldap_memfree(a);
}
isc_mem_free(ns_g_mctx, name);
}
exit:
ldap_msgfree(res);
return (result);
}
static dns_sdbmethods_t ldapdb_methods = {
ldapdb_lookup,
NULL, /* authority */
ldapdb_allnodes,
ldapdb_create,
ldapdb_destroy
};
/* Wrapper around dns_sdb_register() */
isc_result_t
ldapdb_init(void) {
unsigned int flags =
DNS_SDBFLAG_RELATIVEOWNER |
DNS_SDBFLAG_RELATIVERDATA |
DNS_SDBFLAG_THREADSAFE;
ldapdb_lock(0);
return (dns_sdb_register("ldap", &ldapdb_methods, NULL, flags,
ns_g_mctx, &ldapdb));
}
/* Wrapper around dns_sdb_unregister() */
void
ldapdb_clear(void) {
if (ldapdb != NULL) {
/* clean up thread data */
ldapdb_getconn(NULL);
dns_sdb_unregister(&ldapdb);
}
}
-6
View File
@@ -1,6 +0,0 @@
#include <isc/types.h>
isc_result_t ldapdb_init(void);
void ldapdb_clear(void);
-64
View File
@@ -1,64 +0,0 @@
.TH zone2ldap 1 "8 March 2001"
.SH NAME
zone2ldap /- Load BIND 9 Zone files into LDAP Directory
.SH SYNOPSIS
zone2ldap [-D Bind DN] [-w Bind Password] [-b Base DN] [-z Zone] [-f Zone File ] [-h Ldap Host] [-cd] [-v]
.SH DESCRIPTION
zone2ldap will parse a complete BIND 9 format DNS zone file, and load
the contents into an LDAP directory, for use with the LDAP sdb back-end.
If the zone already exists, zone2ldap will exit succesfully. If the zone does not exists, or
partially exists, zone2ldap will attempt to add all/missing zone data.
.SS Options
.TP
-b
LDAP Base DN. LDAP systems require a "base dn", which is generally considered the LDAP Directory root.
If the zone you are loading is different from the base, then you will need to tell zone2ldap what your LDAP
base is.
.TP
-v
Print version information, and immediatly exit.
.TP
-f
Zone file. Bind 9.1 compatible zone file, from which zone information will be read.
.TP
-d
Dump debug information to standard out.
.TP
-w
LDAP Bind password, corresponding the the value of "-b".
.TP
-h
LDAP Directory host. This is the hostname of the LDAP system you wish to store zone information on.
An LDAP server should be listening on port 389 of the target system. This may be ommited, and will default
to "localhost".
.TP
-c
This will create the zone portion of the DN you are importing. For instance, if you are creating a domain.com zone,
zone2ldap should first create "dc=domain,dc=com". This is useful if you are creating multiple domains.
.TP
-z
This is the name of the zone specified in the SOA record.
.SH EXAMPLES
Following are brief examples of how to import a zone file into your LDAP DIT.
.SS Loading zone domain.com, with an LDAP Base DN of dc=domain,dc=com
zone2ldap -D dc=root -w secret -h localhost -z domain.com -f domain.com.zone
This will add Resource Records into an ALREADY EXISTING dc=domain,dc=com. The final SOA DN in this case, will be
dc=@,dc=domain,dc=com
.SS Loading customer.com, if your LDAP Base DN is dc=provider,dc=net.
zone2ldap -D dc=root -w secret -h localhost -z customer.com -b dc=provider,dc=net -f customer.com.zone -c
This will create dc=customer,dc=com under dc=provider,dc=net, and add all necessary Resource Records. The final
root DN to the SOA will be dc=@,dc=customer,dc=com,dc=provider,dc=net.
.SH "SEE ALSO"
named(8) ldap(3)
http://www.venaas.no/ldap/bind-sdb/
.SH "BUGS"
Send all bug reports to Jeff McNeil <jeff@snapcase.g-rock.net>
.SH AUTHOR
Jeff McNeil <jeff@snapcase.g-rock.net>
-721
View File
@@ -1,721 +0,0 @@
/*
* Copyright (C) 2001 Jeff McNeil <jeff@snapcase.g-rock.net>
*
* 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.
*
* Change Log
*
* Tue May 1 19:19:54 EDT 2001 - Jeff McNeil
* Update to objectClass code, and add_to_rr_list function
* (I need to rename that) to support the dNSZone schema,
* ditched dNSDomain2 schema support. Version 0.3-ALPHA
*/
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <getopt.h>
#include <isc/buffer.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdata.h>
#include <dns/rdataset.h>
#include <dns/rdatasetiter.h>
#include <dns/result.h>
#include <dns/rdatatype.h>
#include <ldap.h>
#define DNS_OBJECT 6
#define DNS_TOP 2
#define VERSION "0.4-ALPHA"
#define NO_SPEC 0
#define WI_SPEC 1
/* Global Zone Pointer */
char *gbl_zone = NULL;
typedef struct LDAP_INFO
{
char *dn;
LDAPMod **attrs;
struct LDAP_INFO *next;
int attrcnt;
}
ldap_info;
/* usage Info */
void usage ();
/* Add to the ldap dit */
void add_ldap_values (ldap_info * ldinfo);
/* Init an ldap connection */
void init_ldap_conn ();
/* Ldap error checking */
void ldap_result_check (char *msg, char *dn, int err);
/* Put a hostname into a char ** array */
char **hostname_to_dn_list (char *hostname, char *zone, unsigned int flags);
/* Find out how many items are in a char ** array */
int get_attr_list_size (char **tmp);
/* Get a DN */
char *build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag);
/* Add to RR list */
void add_to_rr_list (char *dn, char *name, char *type, char *data,
unsigned int ttl, unsigned int flags);
/* Error checking */
void isc_result_check (isc_result_t res, char *errorstr);
/* Generate LDIF Format files */
void generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata,
unsigned int ttl);
/* head pointer to the list */
ldap_info *ldap_info_base = NULL;
char *argzone, *ldapbase, *binddn, *bindpw = NULL;
char *ldapsystem = "localhost";
static char *objectClasses[] =
{ "top", "dNSZone", NULL };
static char *topObjectClasses[] = { "top", NULL };
LDAP *conn;
unsigned int debug = 0;
#ifdef DEBUG
debug = 1;
#endif
int
main (int *argc, char **argv)
{
isc_mem_t *isc_ctx = NULL;
isc_result_t result;
char *basedn;
ldap_info *tmp;
LDAPMod *base_attrs[2];
LDAPMod base;
isc_buffer_t buff;
char *zonefile;
char fullbasedn[1024];
char *ctmp;
dns_fixedname_t fixedzone, fixedname;
dns_rdataset_t rdataset;
char **dc_list;
dns_rdata_t rdata = DNS_RDATA_INIT;
dns_rdatasetiter_t *riter;
dns_name_t *zone, *name;
dns_db_t *db = NULL;
dns_dbiterator_t *dbit = NULL;
dns_dbnode_t *node;
extern char *optarg;
extern int optind, opterr, optopt;
int create_base = 0;
int topt;
if ((int) argc < 2)
{
usage ();
exit (-1);
}
while ((topt = getopt ((int) argc, argv, "D:w:b:z:f:h:?dcv")) != -1)
{
switch (topt)
{
case 'v':
printf("%s\n", VERSION);
exit(0);
case 'c':
create_base++;
break;
case 'd':
debug++;
break;
case 'D':
binddn = strdup (optarg);
break;
case 'w':
bindpw = strdup (optarg);
break;
case 'b':
ldapbase = strdup (optarg);
break;
case 'z':
argzone = strdup (optarg);
// We wipe argzone all to hell when we parse it for the DN */
gbl_zone = strdup(argzone);
break;
case 'f':
zonefile = strdup (optarg);
break;
case 'h':
ldapsystem = strdup (optarg);
break;
case '?':
default:
usage ();
exit (0);
}
}
if ((argzone == NULL) || (zonefile == NULL))
{
usage ();
exit (-1);
}
if (debug)
printf ("Initializing ISC Routines, parsing zone file\n");
result = isc_mem_create (0, 0, &isc_ctx);
isc_result_check (result, "isc_mem_create");
isc_buffer_init (&buff, argzone, strlen (argzone));
isc_buffer_add (&buff, strlen (argzone));
dns_fixedname_init (&fixedzone);
zone = dns_fixedname_name (&fixedzone);
result = dns_name_fromtext (zone, &buff, dns_rootname, ISC_FALSE, NULL);
isc_result_check (result, "dns_name_fromtext");
result =
dns_db_create (isc_ctx, "rbt", zone, dns_dbtype_zone, dns_rdataclass_in,
0, NULL, &db);
isc_result_check (result, "dns_db_create");
result = dns_db_load (db, zonefile);
isc_result_check (result, "Check Zone Syntax: dns_db_load");
result = dns_db_createiterator (db, ISC_FALSE, &dbit);
isc_result_check (result, "dns_db_createiterator");
result = dns_dbiterator_first (dbit);
isc_result_check (result, "dns_dbiterator_first");
dns_fixedname_init (&fixedname);
name = dns_fixedname_name (&fixedname);
dns_rdataset_init (&rdataset);
dns_rdata_init (&rdata);
while (result == ISC_R_SUCCESS)
{
node = NULL;
result = dns_dbiterator_current (dbit, &node, name);
if (result == ISC_R_NOMORE)
break;
isc_result_check (result, "dns_dbiterator_current");
riter = NULL;
result = dns_db_allrdatasets (db, node, NULL, 0, &riter);
isc_result_check (result, "dns_db_allrdatasets");
result = dns_rdatasetiter_first (riter);
//isc_result_check(result, "dns_rdatasetiter_first");
while (result == ISC_R_SUCCESS)
{
dns_rdatasetiter_current (riter, &rdataset);
result = dns_rdataset_first (&rdataset);
isc_result_check (result, "dns_rdatasetiter_current");
while (result == ISC_R_SUCCESS)
{
dns_rdataset_current (&rdataset, &rdata);
generate_ldap (name, &rdata, rdataset.ttl);
dns_rdata_reset (&rdata);
result = dns_rdataset_next (&rdataset);
}
dns_rdataset_disassociate (&rdataset);
result = dns_rdatasetiter_next (riter);
}
dns_rdatasetiter_destroy (&riter);
result = dns_dbiterator_next (dbit);
}
/* Initialize the LDAP Connection */
if (debug)
printf ("Initializing LDAP Connection to %s as %s\n", ldapsystem, binddn);
init_ldap_conn ();
if (create_base)
{
if (debug)
printf ("Creating base zone DN %s\n", argzone);
dc_list = hostname_to_dn_list (argzone, argzone, DNS_TOP);
basedn = build_dn_from_dc_list (dc_list, 0, NO_SPEC);
for (ctmp = &basedn[strlen (basedn)]; ctmp >= &basedn[0]; ctmp--)
{
if ((*ctmp == ',') || (ctmp == &basedn[0]))
{
base.mod_op = LDAP_MOD_ADD;
base.mod_type = "objectClass";
base.mod_values = topObjectClasses;
base_attrs[0] = &base;
base_attrs[1] = NULL;
if (ldapbase)
{
if (ctmp != &basedn[0])
sprintf (fullbasedn, "%s,%s", ctmp + 1, ldapbase);
else
sprintf (fullbasedn, "%s,%s", ctmp, ldapbase);
}
else
{
if (ctmp != &basedn[0])
sprintf (fullbasedn, "%s", ctmp + 1);
else
sprintf (fullbasedn, "%s", ctmp);
}
result = ldap_add_s (conn, fullbasedn, base_attrs);
ldap_result_check ("intial ldap_add_s", fullbasedn, result);
}
}
}
else
{
if (debug)
printf ("Skipping zone base dn creation for %s\n", argzone);
}
for (tmp = ldap_info_base; tmp != NULL; tmp = tmp->next)
{
if (debug)
printf ("Adding DN: %s\n", tmp->dn);
add_ldap_values (tmp);
}
if (debug)
printf("Operation Complete.\n");
return 0;
}
/* Check the status of an isc_result_t after any isc routines.
* I should probably rename this function, as not to cause any
* confusion with the isc* routines. Will exit on error. */
void
isc_result_check (isc_result_t res, char *errorstr)
{
if (res != ISC_R_SUCCESS)
{
fprintf (stderr, " %s: %s\n", errorstr, isc_result_totext (res));
exit (-1);
}
}
/* Takes DNS information, in bind data structure format, and adds textual
* zone information to the LDAP run queue. */
void
generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata, unsigned int ttl)
{
unsigned char name[DNS_NAME_MAXTEXT + 1];
unsigned int len;
unsigned char type[20];
unsigned char data[2048];
char **dc_list;
char *dn;
isc_buffer_t buff;
isc_result_t result;
isc_buffer_init (&buff, name, sizeof (name));
result = dns_name_totext (dnsname, ISC_TRUE, &buff);
isc_result_check (result, "dns_name_totext");
name[isc_buffer_usedlength (&buff)] = 0;
isc_buffer_init (&buff, type, sizeof (type));
result = dns_rdatatype_totext (rdata->type, &buff);
isc_result_check (result, "dns_rdatatype_totext");
type[isc_buffer_usedlength (&buff)] = 0;
isc_buffer_init (&buff, data, sizeof (data));
result = dns_rdata_totext (rdata, NULL, &buff);
isc_result_check (result, "dns_rdata_totext");
data[isc_buffer_usedlength (&buff)] = 0;
dc_list = hostname_to_dn_list (name, argzone, DNS_OBJECT);
len = (get_attr_list_size (dc_list) - 2);
dn = build_dn_from_dc_list (dc_list, ttl, WI_SPEC);
if (debug)
printf ("Adding %s (%s %s) to run queue list.\n", dn, type, data);
add_to_rr_list (dn, dc_list[len], type, data, ttl, DNS_OBJECT);
}
/* Locate an item in the Run queue linked list, by DN. Used by functions
* which add items to the run queue.
*/
ldap_info *
locate_by_dn (char *dn)
{
ldap_info *tmp;
for (tmp = ldap_info_base; tmp != (ldap_info *) NULL; tmp = tmp->next)
{
if (!strncmp (tmp->dn, dn, strlen (dn)))
return tmp;
}
return (ldap_info *) NULL;
}
/* Take textual zone data, and add to the LDAP Run queue. This works like so:
* If locate_by_dn does not return, alloc a new ldap_info structure, and then
* calloc a LDAPMod array, fill in the default "everyone needs this" information,
* including object classes and dc's. If it locate_by_dn does return, then we'll
* realloc for more LDAPMod structs, and appened the new data. If an LDAPMod exists
* for the parameter we're adding, then we'll realloc the mod_values array, and
* add the new value to the existing LDAPMod. Finnaly, it assures linkage exists
* within the Run queue linked ilst*/
void
add_to_rr_list (char *dn, char *name, char *type,
char *data, unsigned int ttl, unsigned int flags)
{
int i;
int x;
ldap_info *tmp;
int attrlist;
char ldap_type_buffer[128];
char charttl[64];
if ((tmp = locate_by_dn (dn)) == NULL)
{
/* There wasn't one already there, so we need to allocate a new one,
* and stick it on the list */
tmp = (ldap_info *) malloc (sizeof (ldap_info));
if (tmp == (ldap_info *) NULL)
{
fprintf (stderr, "malloc: %s\n", strerror (errno));
ldap_unbind_s (conn);
exit (-1);
}
tmp->dn = strdup (dn);
tmp->attrs = (LDAPMod **) calloc (sizeof (LDAPMod *), flags);
if (tmp->attrs == (LDAPMod **) NULL)
{
fprintf (stderr, "calloc: %s\n", strerror (errno));
ldap_unbind_s (conn);
exit (-1);
}
for (i = 0; i < flags; i++)
{
tmp->attrs[i] = (LDAPMod *) malloc (sizeof (LDAPMod));
if (tmp->attrs[i] == (LDAPMod *) NULL)
{
fprintf (stderr, "malloc: %s\n", strerror (errno));
exit (-1);
}
}
tmp->attrs[0]->mod_op = LDAP_MOD_ADD;
tmp->attrs[0]->mod_type = "objectClass";
if (flags == DNS_OBJECT)
tmp->attrs[0]->mod_values = objectClasses;
else
{
tmp->attrs[0]->mod_values = topObjectClasses;
tmp->attrs[1] = NULL;
tmp->attrcnt = 2;
tmp->next = ldap_info_base;
ldap_info_base = tmp;
return;
}
tmp->attrs[1]->mod_op = LDAP_MOD_ADD;
tmp->attrs[1]->mod_type = "relativeDomainName";
tmp->attrs[1]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[1]->mod_values == (char **)NULL)
exit(-1);
tmp->attrs[1]->mod_values[0] = strdup (name);
tmp->attrs[1]->mod_values[2] = NULL;
sprintf (ldap_type_buffer, "%sRecord", type);
tmp->attrs[2]->mod_op = LDAP_MOD_ADD;
tmp->attrs[2]->mod_type = strdup (ldap_type_buffer);
tmp->attrs[2]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[2]->mod_values == (char **)NULL)
exit(-1);
tmp->attrs[2]->mod_values[0] = strdup (data);
tmp->attrs[2]->mod_values[1] = NULL;
tmp->attrs[3]->mod_op = LDAP_MOD_ADD;
tmp->attrs[3]->mod_type = "dNSTTL";
tmp->attrs[3]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[3]->mod_values == (char **)NULL)
exit(-1);
sprintf (charttl, "%d", ttl);
tmp->attrs[3]->mod_values[0] = strdup (charttl);
tmp->attrs[3]->mod_values[1] = NULL;
tmp->attrs[4]->mod_op = LDAP_MOD_ADD;
tmp->attrs[4]->mod_type = "zoneName";
tmp->attrs[4]->mod_values = (char **)calloc(sizeof(char *), 2);
tmp->attrs[4]->mod_values[0] = gbl_zone;
tmp->attrs[4]->mod_values[1] = NULL;
tmp->attrs[5] = NULL;
tmp->attrcnt = flags;
tmp->next = ldap_info_base;
ldap_info_base = tmp;
}
else
{
for (i = 0; tmp->attrs[i] != NULL; i++)
{
sprintf (ldap_type_buffer, "%sRecord", type);
if (!strncmp
(ldap_type_buffer, tmp->attrs[i]->mod_type,
strlen (tmp->attrs[i]->mod_type)))
{
attrlist = get_attr_list_size (tmp->attrs[i]->mod_values);
tmp->attrs[i]->mod_values =
(char **) realloc (tmp->attrs[i]->mod_values,
sizeof (char *) * (attrlist + 1));
if (tmp->attrs[i]->mod_values == (char **) NULL)
{
fprintf (stderr, "realloc: %s\n", strerror (errno));
ldap_unbind_s (conn);
exit (-1);
}
for (x = 0; tmp->attrs[i]->mod_values[x] != NULL; x++);
tmp->attrs[i]->mod_values[x] = strdup (data);
tmp->attrs[i]->mod_values[x + 1] = NULL;
return;
}
}
tmp->attrs =
(LDAPMod **) realloc (tmp->attrs,
sizeof (LDAPMod) * ++(tmp->attrcnt));
if (tmp->attrs == NULL)
{
fprintf (stderr, "realloc: %s\n", strerror (errno));
ldap_unbind_s (conn);
exit (-1);
}
for (x = 0; tmp->attrs[x] != NULL; x++);
tmp->attrs[x] = (LDAPMod *) malloc (sizeof (LDAPMod));
tmp->attrs[x]->mod_op = LDAP_MOD_ADD;
tmp->attrs[x]->mod_type = strdup (ldap_type_buffer);
tmp->attrs[x]->mod_values = (char **) calloc (sizeof (char *), 2);
tmp->attrs[x]->mod_values[0] = strdup (data);
tmp->attrs[x]->mod_values[1] = NULL;
tmp->attrs[x + 1] = NULL;
}
}
/* Size of a mod_values list, plus the terminating NULL field. */
int
get_attr_list_size (char **tmp)
{
int i = 0;
char **ftmp = tmp;
while (*ftmp != NULL)
{
i++;
ftmp++;
}
return ++i;
}
/* take a hostname, and split it into a char ** of the dc parts,
* example, we have www.domain.com, this function will return:
* array[0] = com, array[1] = domain, array[2] = www. */
char **
hostname_to_dn_list (char *hostname, char *zone, unsigned int flags)
{
char *tmp;
static char *dn_buffer[64];
int i = 0;
char *zname;
char *hnamebuff;
zname = strdup (hostname);
if (flags == DNS_OBJECT)
{
if (strlen (zname) != strlen (zone))
{
tmp = &zname[strlen (zname) - strlen (zone)];
*--tmp = '\0';
hnamebuff = strdup (zname);
zname = ++tmp;
}
else
hnamebuff = "@";
}
else
{
zname = zone;
hnamebuff = NULL;
}
for (tmp = strrchr (zname, '.'); tmp != (char *) 0;
tmp = strrchr (zname, '.'))
{
*tmp++ = '\0';
dn_buffer[i++] = tmp;
}
dn_buffer[i++] = zname;
dn_buffer[i++] = hnamebuff;
dn_buffer[i] = NULL;
return dn_buffer;
}
/* build an sdb compatible LDAP DN from a "dc_list" (char **).
* will append dNSTTL information to each RR Record, with the
* exception of "@"/SOA. */
char *
build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag)
{
int size;
int x;
static char dn[1024];
char tmp[128];
bzero (tmp, sizeof (tmp));
bzero (dn, sizeof (dn));
size = get_attr_list_size (dc_list);
for (x = size - 2; x > 0; x--)
{
if (flag == WI_SPEC)
{
if (x == (size - 2) && (strncmp (dc_list[x], "@", 1) == 0) && (ttl))
sprintf (tmp, "relativeDomainName=%s + dNSTTL=%d,", dc_list[x], ttl);
else if (x == (size - 2))
sprintf(tmp, "relativeDomainName=%s,",dc_list[x]);
else
sprintf(tmp,"dc=%s,", dc_list[x]);
}
else
{
sprintf(tmp, "dc=%s,", dc_list[x]);
}
strncat (dn, tmp, sizeof (dn) - strlen (dn));
}
sprintf (tmp, "dc=%s", dc_list[0]);
strncat (dn, tmp, sizeof (dn) - strlen (dn));
fflush(NULL);
return dn;
}
/* Initialize LDAP Conn */
void
init_ldap_conn ()
{
int result;
conn = ldap_open (ldapsystem, LDAP_PORT);
if (conn == NULL)
{
fprintf (stderr, "Error opening Ldap connection: %s\n",
strerror (errno));
exit (-1);
}
result = ldap_simple_bind_s (conn, binddn, bindpw);
ldap_result_check ("ldap_simple_bind_s", "LDAP Bind", result);
}
/* Like isc_result_check, only for LDAP */
void
ldap_result_check (char *msg, char *dn, int err)
{
if ((err != LDAP_SUCCESS) && (err != LDAP_ALREADY_EXISTS))
{
fprintf(stderr, "Error while adding %s (%s):\n",
dn, msg);
ldap_perror (conn, dn);
ldap_unbind_s (conn);
exit (-1);
}
}
/* For running the ldap_info run queue. */
void
add_ldap_values (ldap_info * ldinfo)
{
int result;
char dnbuffer[1024];
if (ldapbase != NULL)
sprintf (dnbuffer, "%s,%s", ldinfo->dn, ldapbase);
else
sprintf (dnbuffer, "%s", ldinfo->dn);
result = ldap_add_s (conn, dnbuffer, ldinfo->attrs);
ldap_result_check ("ldap_add_s", dnbuffer, result);
}
/* name says it all */
void
usage ()
{
fprintf (stderr,
"zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]
[-c Create LDAP Base structure][-d Debug Output (lots !)] \n ");}
-348
View File
@@ -1,348 +0,0 @@
/*
* 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.
*/
/* $Id: pgsqldb.c,v 1.12 2001/02/28 23:42:37 bwelling Exp $ */
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pgsql/libpq-fe.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/sdb.h>
#include <dns/result.h>
#include <named/globals.h>
#include "pgsqldb.h"
/*
* A simple database driver that interfaces to a PostgreSQL database. This
* is not complete, and not designed for general use. It opens one
* connection to the database per zone, which is inefficient. It also may
* not handle quoting correctly.
*
* The table must contain the fields "name", "rdtype", and "rdata", and
* is expected to contain a properly constructed zone. The program "zonetodb"
* creates such a table.
*/
static dns_sdbimplementation_t *pgsqldb = NULL;
struct dbinfo {
PGconn *conn;
char *database;
char *table;
char *host;
char *user;
char *passwd;
};
static void
pgsqldb_destroy(const char *zone, void *driverdata, void **dbdata);
/*
* Canonicalize a string before writing it to the database.
* "dest" must be an array of at least size 2*strlen(source) + 1.
*/
static void
quotestring(const char *source, char *dest) {
while (*source != 0) {
if (*source == '\'')
*dest++ = '\'';
/* SQL doesn't treat \ as special, but PostgreSQL does */
else if (*source == '\\')
*dest++ = '\\';
*dest++ = *source++;
}
*dest++ = 0;
}
/*
* Connect to the database.
*/
static isc_result_t
db_connect(struct dbinfo *dbi) {
dbi->conn = PQsetdbLogin(dbi->host, NULL, NULL, NULL, dbi->database,
dbi->user, dbi->passwd);
if (PQstatus(dbi->conn) == CONNECTION_OK)
return (ISC_R_SUCCESS);
else
return (ISC_R_FAILURE);
}
/*
* Check to see if the connection is still valid. If not, attempt to
* reconnect.
*/
static isc_result_t
maybe_reconnect(struct dbinfo *dbi) {
if (PQstatus(dbi->conn) == CONNECTION_OK)
return (ISC_R_SUCCESS);
return (db_connect(dbi));
}
/*
* This database operates on absolute names.
*
* Queries are converted into SQL queries and issued synchronously. Errors
* are handled really badly.
*/
static isc_result_t
pgsqldb_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
isc_result_t result;
struct dbinfo *dbi = dbdata;
PGresult *res;
char str[1500];
char *canonname;
int i;
UNUSED(zone);
canonname = isc_mem_get(ns_g_mctx, strlen(name) * 2 + 1);
if (canonname == NULL)
return (ISC_R_NOMEMORY);
quotestring(name, canonname);
snprintf(str, sizeof(str),
"SELECT TTL,RDTYPE,RDATA FROM \"%s\" WHERE "
"lower(NAME) = lower('%s')", dbi->table, canonname);
isc_mem_put(ns_g_mctx, canonname, strlen(name) * 2 + 1);
result = maybe_reconnect(dbi);
if (result != ISC_R_SUCCESS)
return (result);
res = PQexec(dbi->conn, str);
if (!res || PQresultStatus(res) != PGRES_TUPLES_OK) {
PQclear(res);
return (ISC_R_FAILURE);
}
if (PQntuples(res) == 0) {
PQclear(res);
return (ISC_R_NOTFOUND);
}
for (i = 0; i < PQntuples(res); i++) {
char *ttlstr = PQgetvalue(res, i, 0);
char *type = PQgetvalue(res, i, 1);
char *data = PQgetvalue(res, i, 2);
dns_ttl_t ttl;
char *endp;
ttl = strtol(ttlstr, &endp, 10);
if (*endp != '\0') {
PQclear(res);
return (DNS_R_BADTTL);
}
result = dns_sdb_putrr(lookup, type, ttl, data);
if (result != ISC_R_SUCCESS) {
PQclear(res);
return (ISC_R_FAILURE);
}
}
PQclear(res);
return (ISC_R_SUCCESS);
}
/*
* Issue an SQL query to return all nodes in the database and fill the
* allnodes structure.
*/
static isc_result_t
pgsqldb_allnodes(const char *zone, void *dbdata, dns_sdballnodes_t *allnodes) {
struct dbinfo *dbi = dbdata;
PGresult *res;
isc_result_t result;
char str[1500];
int i;
UNUSED(zone);
snprintf(str, sizeof(str),
"SELECT TTL,NAME,RDTYPE,RDATA FROM \"%s\" ORDER BY NAME",
dbi->table);
result = maybe_reconnect(dbi);
if (result != ISC_R_SUCCESS)
return (result);
res = PQexec(dbi->conn, str);
if (!res || PQresultStatus(res) != PGRES_TUPLES_OK ) {
PQclear(res);
return (ISC_R_FAILURE);
}
if (PQntuples(res) == 0) {
PQclear(res);
return (ISC_R_NOTFOUND);
}
for (i = 0; i < PQntuples(res); i++) {
char *ttlstr = PQgetvalue(res, i, 0);
char *name = PQgetvalue(res, i, 1);
char *type = PQgetvalue(res, i, 2);
char *data = PQgetvalue(res, i, 3);
dns_ttl_t ttl;
char *endp;
ttl = strtol(ttlstr, &endp, 10);
if (*endp != '\0') {
PQclear(res);
return (DNS_R_BADTTL);
}
result = dns_sdb_putnamedrr(allnodes, name, type, ttl, data);
if (result != ISC_R_SUCCESS) {
PQclear(res);
return (ISC_R_FAILURE);
}
}
PQclear(res);
return (ISC_R_SUCCESS);
}
/*
* Create a connection to the database and save any necessary information
* in dbdata.
*
* argv[0] is the name of the database
* argv[1] is the name of the table
* argv[2] (if present) is the name of the host to connect to
* argv[3] (if present) is the name of the user to connect as
* argv[4] (if present) is the name of the password to connect with
*/
static isc_result_t
pgsqldb_create(const char *zone, int argc, char **argv,
void *driverdata, void **dbdata)
{
struct dbinfo *dbi;
isc_result_t result;
UNUSED(zone);
UNUSED(driverdata);
if (argc < 2)
return (ISC_R_FAILURE);
dbi = isc_mem_get(ns_g_mctx, sizeof(struct dbinfo));
if (dbi == NULL)
return (ISC_R_NOMEMORY);
dbi->conn = NULL;
dbi->database = NULL;
dbi->table = NULL;
dbi->host = NULL;
dbi->user = NULL;
dbi->passwd = NULL;
#define STRDUP_OR_FAIL(target, source) \
do { \
target = isc_mem_strdup(ns_g_mctx, source); \
if (target == NULL) { \
result = ISC_R_NOMEMORY; \
goto cleanup; \
} \
} while (0);
STRDUP_OR_FAIL(dbi->database, argv[0]);
STRDUP_OR_FAIL(dbi->table, argv[1]);
if (argc > 2)
STRDUP_OR_FAIL(dbi->host, argv[2]);
if (argc > 3)
STRDUP_OR_FAIL(dbi->user, argv[3]);
if (argc > 4)
STRDUP_OR_FAIL(dbi->passwd, argv[4]);
result = db_connect(dbi);
if (result != ISC_R_SUCCESS)
goto cleanup;
*dbdata = dbi;
return (ISC_R_SUCCESS);
cleanup:
pgsqldb_destroy(zone, driverdata, (void **)&dbi);
return (result);
}
/*
* Close the connection to the database.
*/
static void
pgsqldb_destroy(const char *zone, void *driverdata, void **dbdata) {
struct dbinfo *dbi = *dbdata;
UNUSED(zone);
UNUSED(driverdata);
if (dbi->conn != NULL)
PQfinish(dbi->conn);
if (dbi->database != NULL)
isc_mem_free(ns_g_mctx, dbi->database);
if (dbi->table != NULL)
isc_mem_free(ns_g_mctx, dbi->table);
if (dbi->host != NULL)
isc_mem_free(ns_g_mctx, dbi->host);
if (dbi->user != NULL)
isc_mem_free(ns_g_mctx, dbi->user);
if (dbi->passwd != NULL)
isc_mem_free(ns_g_mctx, dbi->passwd);
if (dbi->database != NULL)
isc_mem_free(ns_g_mctx, dbi->database);
isc_mem_put(ns_g_mctx, dbi, sizeof(struct dbinfo));
}
/*
* Since the SQL database corresponds to a zone, the authority data should
* be returned by the lookup() function. Therefore the authority() function
* is NULL.
*/
static dns_sdbmethods_t pgsqldb_methods = {
pgsqldb_lookup,
NULL, /* authority */
pgsqldb_allnodes,
pgsqldb_create,
pgsqldb_destroy
};
/*
* Wrapper around dns_sdb_register().
*/
isc_result_t
pgsqldb_init(void) {
unsigned int flags;
flags = 0;
return (dns_sdb_register("pgsql", &pgsqldb_methods, NULL, flags,
ns_g_mctx, &pgsqldb));
}
/*
* Wrapper around dns_sdb_unregister().
*/
void
pgsqldb_clear(void) {
if (pgsqldb != NULL)
dns_sdb_unregister(&pgsqldb);
}
-25
View File
@@ -1,25 +0,0 @@
/*
* 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.
*/
/* $Id: pgsqldb.h,v 1.2 2001/01/09 21:46:27 bwelling Exp $ */
#include <isc/types.h>
isc_result_t pgsqldb_init(void);
void pgsqldb_clear(void);
-51
View File
@@ -1,51 +0,0 @@
# 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.
# $Id: lookup.tcl,v 1.7 2001/01/09 21:46:24 bwelling Exp $
#
# Sample lookup procedure for tcldb
#
# This lookup procedure defines zones with identical SOA, NS, and MX
# records at the apex and a single A record that varies from zone to
# zone at the name "www".
#
# Something like this could be used by a web hosting company to serve
# a number of domains without needing to create a separate master file
# for each domain. Instead, all per-zone data (in this case, a single
# IP address) specified in the named.conf file like this:
#
# zone "a.com." { type master; database "tcl 10.0.0.42"; };
# zone "b.com." { type master; database "tcl 10.0.0.99"; };
#
# Since the tcldb driver doesn't support zone transfers, there should
# be at least two identically configured master servers. In the
# example below, they are assumed to be called ns1.isp.nil and
# ns2.isp.nil.
#
proc lookup {zone name} {
global dbargs
switch -- $name {
@ { return [list \
{SOA 86400 "ns1.isp.nil. hostmaster.isp.nil. \
1 3600 1800 1814400 3600"} \
{NS 86400 "ns1.isp.nil."} \
{NS 86400 "ns2.isp.nil."} \
{MX 86400 "10 mail.isp.nil."} ] }
www { return [list [list A 3600 $dbargs($zone)] ] }
}
return NXDOMAIN
}
-232
View File
@@ -1,232 +0,0 @@
/*
* 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.
*/
/* $Id: tcldb.c,v 1.7 2001/01/09 21:46:28 bwelling Exp $ */
/*
* A simple database driver that calls a Tcl procedure to define
* the contents of the DNS namespace. The procedure is loaded
* from the file lookup.tcl; look at the comments there for
* more information.
*/
#include <config.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/log.h>
#include <dns/sdb.h>
#include <named/globals.h>
#include <tcl.h>
#include <tcldb.h>
#define CHECK(op) \
do { result = (op); \
if (result != ISC_R_SUCCESS) return (result); \
} while (0)
typedef struct tcldb_driver {
isc_mem_t *mctx;
Tcl_Interp *interp;
} tcldb_driver_t;
static tcldb_driver_t *the_driver = NULL;
static dns_sdbimplementation_t *tcldb = NULL;
static isc_result_t
tcldb_driver_create(isc_mem_t *mctx, tcldb_driver_t **driverp) {
int tclres;
isc_result_t result = ISC_R_SUCCESS;
tcldb_driver_t *driver = isc_mem_get(mctx, sizeof(tcldb_driver_t));
if (driver == NULL)
return (ISC_R_NOMEMORY);
driver->mctx = mctx;
driver->interp = Tcl_CreateInterp();
tclres = Tcl_EvalFile(driver->interp, (char *) "lookup.tcl");
if (tclres != TCL_OK) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_SDB, ISC_LOG_ERROR,
"initializing tcldb: "
"loading 'lookup.tcl' failed: %s",
driver->interp->result);
result = ISC_R_FAILURE;
goto cleanup;
}
*driverp = driver;
return (ISC_R_SUCCESS);
cleanup:
isc_mem_put(mctx, driver, sizeof(tcldb_driver_t));
return (result);
}
static void
tcldb_driver_destroy(tcldb_driver_t **driverp) {
tcldb_driver_t *driver = *driverp;
Tcl_DeleteInterp(driver->interp);
isc_mem_put(driver->mctx, driver, sizeof(tcldb_driver_t));
}
/*
* Perform a lookup, by invoking the Tcl procedure "lookup".
*/
static isc_result_t
tcldb_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
isc_result_t result = ISC_R_SUCCESS;
int tclres;
int rrc; /* RR count */
char **rrv; /* RR vector */
int i;
char *cmdv[3];
char *cmd;
tcldb_driver_t *driver = (tcldb_driver_t *) dbdata;
cmdv[0] = "lookup";
cmdv[1] = zone;
cmdv[2] = name;
cmd = Tcl_Merge(3, cmdv);
tclres = Tcl_Eval(driver->interp, cmd);
Tcl_Free(cmd);
if (tclres != TCL_OK) {
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_SDB, ISC_LOG_ERROR,
"zone '%s': tcl lookup function failed: %s",
zone, driver->interp->result);
return (ISC_R_FAILURE);
}
if (strcmp(driver->interp->result, "NXDOMAIN") == 0) {
result = ISC_R_NOTFOUND;
goto fail;
}
tclres = Tcl_SplitList(driver->interp, driver->interp->result,
&rrc, &rrv);
if (tclres != TCL_OK)
goto malformed;
for (i = 0; i < rrc; i++) {
isc_result_t tmpres;
int fieldc; /* Field count */
char **fieldv; /* Field vector */
tclres = Tcl_SplitList(driver->interp, rrv[i],
&fieldc, &fieldv);
if (tclres != TCL_OK) {
tmpres = ISC_R_FAILURE;
goto failrr;
}
if (fieldc != 3)
goto malformed;
tmpres = dns_sdb_putrr(lookup, fieldv[0], atoi(fieldv[1]),
fieldv[2]);
Tcl_Free((char *) fieldv);
failrr:
if (tmpres != ISC_R_SUCCESS)
result = tmpres;
}
Tcl_Free((char *) rrv);
if (result == ISC_R_SUCCESS)
return (result);
malformed:
isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL,
DNS_LOGMODULE_SDB, ISC_LOG_ERROR,
"zone '%s': "
"malformed return value from tcl lookup function: %s",
zone, driver->interp->result);
result = ISC_R_FAILURE;
fail:
return (result);
}
/*
* Set up per-zone state. In our case, the database arguments of the
* zone are collected into a Tcl list and assigned to an element of
* the global array "dbargs".
*/
static isc_result_t
tcldb_create(const char *zone, int argc, char **argv,
void *driverdata, void **dbdata)
{
tcldb_driver_t *driver = (tcldb_driver_t *) driverdata;
char *list = Tcl_Merge(argc, argv);
Tcl_SetVar2(driver->interp, (char *) "dbargs", (char *) zone, list, 0);
Tcl_Free(list);
*dbdata = driverdata;
return (ISC_R_SUCCESS);
}
/*
* This driver does not support zone transfer, so allnodes() is NULL.
*/
static dns_sdbmethods_t tcldb_methods = {
tcldb_lookup,
NULL, /* authority */
NULL, /* allnodes */
tcldb_create,
NULL /* destroy */
};
/*
* Initialize the tcldb driver.
*/
isc_result_t
tcldb_init(void) {
isc_result_t result;
int flags = DNS_SDBFLAG_RELATIVEOWNER | DNS_SDBFLAG_RELATIVERDATA;
result = tcldb_driver_create(ns_g_mctx, &the_driver);
if (result != ISC_R_SUCCESS)
return (result);
return (dns_sdb_register("tcl", &tcldb_methods, the_driver, flags,
ns_g_mctx, &tcldb));
}
/*
* Wrapper around dns_sdb_unregister().
*/
void
tcldb_clear(void) {
if (tcldb != NULL)
dns_sdb_unregister(&tcldb);
if (the_driver != NULL)
tcldb_driver_destroy(&the_driver);
}
-143
View File
@@ -1,143 +0,0 @@
/*
* 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.
*/
/* $Id: timedb.c,v 1.7 2001/01/09 21:46:30 bwelling Exp $ */
/*
* A simple database driver that enables the server to return the
* current time in a DNS record.
*/
#include <config.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <isc/print.h>
#include <isc/result.h>
#include <isc/util.h>
#include <dns/sdb.h>
#include <named/globals.h>
#include "timedb.h"
static dns_sdbimplementation_t *timedb = NULL;
/*
* This database operates on relative names.
*
* "time" and "@" return the time in a TXT record.
* "clock" is a CNAME to "time"
* "current" is a DNAME to "@" (try time.current.time)
*/
static isc_result_t
timedb_lookup(const char *zone, const char *name, void *dbdata,
dns_sdblookup_t *lookup)
{
isc_result_t result;
UNUSED(zone);
UNUSED(dbdata);
if (strcmp(name, "@") == 0 || strcmp(name, "time") == 0) {
time_t now = time(NULL);
char buf[100];
int n;
/*
* Call ctime to create the string, put it in quotes, and
* remove the trailing newline.
*/
n = snprintf(buf, sizeof(buf), "\"%s", ctime(&now));
if (n < 0)
return (ISC_R_FAILURE);
buf[n - 1] = '\"';
result = dns_sdb_putrr(lookup, "txt", 1, buf);
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
} else if (strcmp(name, "clock") == 0) {
result = dns_sdb_putrr(lookup, "cname", 1, "time");
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
} else if (strcmp(name, "current") == 0) {
result = dns_sdb_putrr(lookup, "dname", 1, "@");
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
} else
return (ISC_R_NOTFOUND);
return (ISC_R_SUCCESS);
}
/*
* lookup() does not return SOA or NS records, so authority() must be defined.
*/
static isc_result_t
timedb_authority(const char *zone, void *dbdata, dns_sdblookup_t *lookup) {
isc_result_t result;
UNUSED(zone);
UNUSED(dbdata);
result = dns_sdb_putsoa(lookup, "localhost.", "root.localhost.", 0);
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
result = dns_sdb_putrr(lookup, "ns", 86400, "ns1.localdomain.");
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
result = dns_sdb_putrr(lookup, "ns", 86400, "ns2.localdomain.");
if (result != ISC_R_SUCCESS)
return (ISC_R_FAILURE);
return (ISC_R_SUCCESS);
}
/*
* This zone does not support zone transfer, so allnodes() is NULL. There
* is no database specific data, so create() and destroy() are NULL.
*/
static dns_sdbmethods_t timedb_methods = {
timedb_lookup,
timedb_authority,
NULL, /* allnodes */
NULL, /* create */
NULL /* destroy */
};
/*
* Wrapper around dns_sdb_register().
*/
isc_result_t
timedb_init(void) {
unsigned int flags;
flags = DNS_SDBFLAG_RELATIVEOWNER | DNS_SDBFLAG_RELATIVERDATA;
return (dns_sdb_register("time", &timedb_methods, NULL, flags,
ns_g_mctx, &timedb));
}
/*
* Wrapper around dns_sdb_unregister().
*/
void
timedb_clear(void) {
if (timedb != NULL)
dns_sdb_unregister(&timedb);
}
-25
View File
@@ -1,25 +0,0 @@
/*
* 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.
*/
/* $Id: timedb.h,v 1.2 2001/01/09 21:46:31 bwelling Exp $ */
#include <isc/types.h>
isc_result_t timedb_init(void);
void timedb_clear(void);
+2 -2
View File
@@ -13,14 +13,14 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.1 2001/06/29 15:25:20 marka Exp $
# $Id: Makefile.in,v 1.1.2.1 2001/10/22 17:00:49 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
HEADERS= paths.h
SHEADER= sys/bitypes.h sys/cdefs.h
SHEADERS= sys/bitypes.h sys/cdefs.h
all:
+2
View File
@@ -0,0 +1,2 @@
#define _PATH_DEVNULL "/dev/null"
+38 -13
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: cache.c,v 1.45 2001/07/02 20:44:30 gson Exp $ */
/* $Id: cache.c,v 1.45.2.2 2001/10/23 01:31:08 marka Exp $ */
#include <config.h>
@@ -76,6 +76,14 @@ typedef enum {
* task/event serialization, or locked from the cache object.
*/
struct cache_cleaner {
isc_mutex_t lock;
/*
* Locks overmem_event, overmem. Note: never allocate memory
* while holding this lock - that could lead to deadlock since
* the lock is take by water() which is called from the memory
* allocator.
*/
dns_cache_t *cache;
isc_task_t *task;
unsigned int cleaning_interval; /* The cleaning-interval from
@@ -272,6 +280,8 @@ cache_free(dns_cache_t *cache) {
if (cache->cleaner.iterator != NULL)
dns_dbiterator_destroy(&cache->cleaner.iterator);
DESTROYLOCK(&cache->cleaner.lock);
if (cache->filename) {
isc_mem_free(cache->mctx, cache->filename);
cache->filename = NULL;
@@ -459,6 +469,15 @@ cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr,
{
isc_result_t result;
result = isc_mutex_init(&cleaner->lock);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_mutex_init() failed: %s",
dns_result_totext(result));
result = ISC_R_UNEXPECTED;
goto fail;
}
cleaner->increment = DNS_CACHE_CLEANERINCREMENT;
cleaner->state = cleaner_s_idle;
cleaner->cache = cache;
@@ -536,7 +555,8 @@ cache_cleaner_init(dns_cache_t *cache, isc_taskmgr_t *taskmgr,
isc_timer_detach(&cleaner->cleaning_timer);
if (cleaner->task != NULL)
isc_task_detach(&cleaner->task);
DESTROYLOCK(&cleaner->lock);
fail:
return (result);
}
@@ -622,16 +642,10 @@ cleaning_timer_action(isc_task_t *task, isc_event_t *event) {
INSIST(task == cleaner->task);
INSIST(event->ev_type == ISC_TIMEREVENT_TICK);
if (cleaner->state == cleaner_s_idle) {
if (cleaner->state == cleaner_s_idle)
begin_cleaning(cleaner);
isc_event_free(&event);
} else
/*
* incremental_cleaning_action() takes responsibility
* for freeing or preserving the event.
*/
incremental_cleaning_action(task, event);
isc_event_free(&event);
}
/*
@@ -641,6 +655,7 @@ cleaning_timer_action(isc_task_t *task, isc_event_t *event) {
static void
overmem_cleaning_action(isc_task_t *task, isc_event_t *event) {
cache_cleaner_t *cleaner = event->ev_arg;
isc_boolean_t want_cleaning = ISC_FALSE;
UNUSED(task);
@@ -648,9 +663,11 @@ overmem_cleaning_action(isc_task_t *task, isc_event_t *event) {
INSIST(event->ev_type == DNS_EVENT_CACHEOVERMEM);
INSIST(cleaner->overmem_event == NULL);
LOCK(&cleaner->lock);
if (cleaner->overmem) {
if (cleaner->state == cleaner_s_idle)
begin_cleaning(cleaner);
want_cleaning = ISC_TRUE;
} else {
if (cleaner->state == cleaner_s_busy)
/*
@@ -665,6 +682,11 @@ overmem_cleaning_action(isc_task_t *task, isc_event_t *event) {
}
cleaner->overmem_event = event;
UNLOCK(&cleaner->lock);
if (want_cleaning)
begin_cleaning(cleaner);
}
/*
@@ -679,8 +701,7 @@ incremental_cleaning_action(isc_task_t *task, isc_event_t *event) {
UNUSED(task);
INSIST(task == cleaner->task);
INSIST(event->ev_type == DNS_EVENT_CACHECLEAN ||
event->ev_type == ISC_TIMEREVENT_TICK);
INSIST(event->ev_type == DNS_EVENT_CACHECLEAN);
if (cleaner->state == cleaner_s_done) {
cleaner->state = cleaner_s_busy;
@@ -831,12 +852,16 @@ water(void *arg, int mark) {
REQUIRE(VALID_CACHE(cache));
LOCK(&cache->cleaner.lock);
dns_db_overmem(cache->db, overmem);
cache->cleaner.overmem = overmem;
if (cache->cleaner.overmem_event != NULL)
isc_task_send(cache->cleaner.task,
&cache->cleaner.overmem_event);
UNLOCK(&cache->cleaner.lock);
}
void
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: masterdump.c,v 1.56 2001/08/29 05:52:49 marka Exp $ */
/* $Id: masterdump.c,v 1.56.2.1 2001/10/23 02:41:55 marka Exp $ */
#include <config.h>
@@ -767,7 +767,7 @@ dump_order_compare(const void *a, const void *b) {
#define MAXSORT 64
const char *trustnames[] = {
static const char *trustnames[] = {
"none",
"pending",
"additional",
+3 -3
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zone.c,v 1.333.2.3 2001/10/11 17:20:40 gson Exp $ */
/* $Id: zone.c,v 1.333.2.4 2001/10/23 02:41:57 marka Exp $ */
#include <config.h>
@@ -432,8 +432,8 @@ static void zone_notify(dns_zone_t *zone);
#define ENTER zone_debuglog(zone, me, 1, "enter")
const unsigned int dbargc_default = 1;
const char *dbargv_default[] = { "rbt" };
static const unsigned int dbargc_default = 1;
static const char *dbargv_default[] = { "rbt" };
/***
*** Public functions.
+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.71 2001/03/02 19:25:15 bwelling Exp $
# $Id: Makefile.in,v 1.71.2.1 2001/10/22 23:28:13 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -36,7 +36,7 @@ UNIXOBJS = @ISC_ISCIPV6_O@ \
unix/errno2result.@O@ unix/file.@O@ unix/fsaccess.@O@ \
unix/interfaceiter.@O@ unix/keyboard.@O@ unix/net.@O@ \
unix/os.@O@ unix/resource.@O@ unix/socket.@O@ unix/stdio.@O@ \
unix/stdtime.@O@ unix/syslog.@O@ unix/time.@O@
unix/stdtime.@O@ unix/strerror.@O@ unix/syslog.@O@ unix/time.@O@
NLSOBJS = nls/msgcat.@O@
+5 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: condition.c,v 1.30 2001/01/23 02:27:19 bwelling Exp $ */
/* $Id: condition.c,v 1.30.2.1 2001/10/22 23:28:14 gson Exp $ */
#include <config.h>
@@ -23,6 +23,7 @@
#include <isc/condition.h>
#include <isc/msgs.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
@@ -32,6 +33,7 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) {
int presult;
isc_result_t result;
struct timespec ts;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(c != NULL && m != NULL && t != NULL);
@@ -60,10 +62,11 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) {
return (ISC_R_TIMEDOUT);
} while (presult == EINTR);
isc__strerror(presult, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"pthread_cond_timedwait() %s %s",
isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
ISC_MSG_RETURNED, "returned"),
strerror(presult));
strbuf);
return (ISC_R_UNEXPECTED);
}
+3 -3
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.35 2001/03/02 19:25:16 bwelling Exp $
# $Id: Makefile.in,v 1.35.2.1 2001/10/22 23:28:16 gson Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -33,14 +33,14 @@ OBJS = @ISC_IPV6_O@ \
app.@O@ dir.@O@ entropy.@O@ errno2result.@O@ file.@O@ \
fsaccess.@O@ interfaceiter.@O@ keyboard.@O@ net.@O@ \
os.@O@ resource.@O@ socket.@O@ stdio.@O@ stdtime.@O@ \
syslog.@O@ time.@O@
strerror.@O@ syslog.@O@ time.@O@
# Alphabetically
SRCS = @ISC_IPV6_C@ \
app.c dir.c entropy.c errno2result.c file.c \
fsaccess.c interfaceiter.c keyboard.c net.c \
os.c resource.c socket.c stdio.c stdtime.c \
syslog.c time.c
strerror.c syslog.c time.c
SUBDIRS = include
TARGETS = ${OBJS}
+31 -22
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: app.c,v 1.43 2001/07/09 21:05:57 gson Exp $ */
/* $Id: app.c,v 1.43.2.1 2001/10/22 23:28:17 gson Exp $ */
#include <config.h>
@@ -35,6 +35,7 @@
#include <isc/mutex.h>
#include <isc/event.h>
#include <isc/platform.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/task.h>
#include <isc/time.h>
@@ -97,17 +98,19 @@ reload_action(int arg) {
static isc_result_t
handle_signal(int sig, void (*handler)(int)) {
struct sigaction sa;
char strbuf[ISC_STRERRORSIZE];
memset(&sa, 0, sizeof sa);
sa.sa_handler = handler;
if (sigfillset(&sa.sa_mask) != 0 ||
sigaction(sig, &sa, NULL) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat, ISC_MSGSET_APP,
ISC_MSG_SIGNALSETUP,
"handle_signal() %d setup: %s"),
sig, strerror(errno));
sig, strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -119,6 +122,7 @@ isc_app_start(void) {
isc_result_t result;
int presult;
sigset_t sset;
char strbuf[ISC_STRERRORSIZE];
/*
* Start an ISC library application.
@@ -130,9 +134,9 @@ isc_app_start(void) {
*/
presult = pthread_init();
if (presult != 0) {
isc__strerror(presult, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_start() pthread_init: %s",
strerror(presult));
"isc_app_start() pthread_init: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
#endif
@@ -204,16 +208,17 @@ isc_app_start(void) {
sigaddset(&sset, SIGHUP) != 0 ||
sigaddset(&sset, SIGINT) != 0 ||
sigaddset(&sset, SIGTERM) != 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_start() sigsetops: %s",
strerror(errno));
"isc_app_start() sigsetops: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
presult = pthread_sigmask(SIG_BLOCK, &sset, NULL);
if (presult != 0) {
isc__strerror(presult, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_start() pthread_sigmask: %s",
strerror(presult));
strbuf);
return (ISC_R_UNEXPECTED);
}
#else /* ISC_PLATFORM_USETHREADS */
@@ -228,16 +233,16 @@ isc_app_start(void) {
sigaddset(&sset, SIGHUP) != 0 ||
sigaddset(&sset, SIGINT) != 0 ||
sigaddset(&sset, SIGTERM) != 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_start() sigsetops: %s",
strerror(errno));
"isc_app_start() sigsetops: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
presult = sigprocmask(SIG_UNBLOCK, &sset, NULL);
if (presult != 0) {
isc__strerror(presult, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_start() sigprocmask: %s",
strerror(presult));
"isc_app_start() sigprocmask: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
#endif /* ISC_PLATFORM_USETHREADS */
@@ -405,6 +410,7 @@ isc_app_run(void) {
isc_task_t *task;
#ifdef ISC_PLATFORM_USETHREADS
sigset_t sset;
char strbuf[ISC_STRERRORSIZE];
#endif /* ISC_PLATFORM_USETHREADS */
#ifdef HAVE_SIGWAIT
int sig;
@@ -464,9 +470,9 @@ isc_app_run(void) {
sigaddset(&sset, SIGHUP) != 0 ||
sigaddset(&sset, SIGINT) != 0 ||
sigaddset(&sset, SIGTERM) != 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_run() sigsetops: %s",
strerror(errno));
"isc_app_run() sigsetops: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -496,9 +502,9 @@ isc_app_run(void) {
* Listen for all signals.
*/
if (sigemptyset(&sset) != 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_run() sigsetops: %s",
strerror(errno));
"isc_app_run() sigsetops: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
result = sigsuspend(&sset);
@@ -532,6 +538,7 @@ isc_app_run(void) {
isc_result_t
isc_app_shutdown(void) {
isc_boolean_t want_kill = ISC_TRUE;
char strbuf[ISC_STRERRORSIZE];
LOCK(&lock);
@@ -550,16 +557,17 @@ isc_app_shutdown(void) {
result = pthread_kill(main_thread, SIGTERM);
if (result != 0) {
isc__strerror(result, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_shutdown() pthread_kill: %s",
strerror(result));
strbuf);
return (ISC_R_UNEXPECTED);
}
#else
if (kill(getpid(), SIGTERM) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_shutdown() kill: %s",
strerror(errno));
"isc_app_shutdown() kill: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
#endif
@@ -571,6 +579,7 @@ isc_app_shutdown(void) {
isc_result_t
isc_app_reload(void) {
isc_boolean_t want_kill = ISC_TRUE;
char strbuf[ISC_STRERRORSIZE];
LOCK(&lock);
@@ -590,16 +599,17 @@ isc_app_reload(void) {
result = pthread_kill(main_thread, SIGHUP);
if (result != 0) {
isc__strerror(result, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_reload() pthread_kill: %s",
strerror(result));
strbuf);
return (ISC_R_UNEXPECTED);
}
#else
if (kill(getpid(), SIGHUP) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_app_reload() kill: %s",
strerror(errno));
"isc_app_reload() kill: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
#endif
@@ -651,4 +661,3 @@ isc_app_unblock(void) {
RUNTIME_CHECK(pthread_sigmask(SIG_BLOCK, &sset, NULL) == 0);
#endif /* ISC_PLATFORM_USETHREADS */
}
+5 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: entropy.c,v 1.60 2001/07/18 01:31:13 gson Exp $ */
/* $Id: entropy.c,v 1.60.2.1 2001/10/22 23:28:18 gson Exp $ */
/*
* This is the system depenedent part of the ISC entropy API.
@@ -29,6 +29,7 @@
#include <unistd.h>
#include <isc/platform.h>
#include <isc/strerror.h>
#ifdef ISC_PLATFORM_NEEDSYSSELECTH
#include <sys/select.h>
@@ -267,15 +268,17 @@ static isc_result_t
make_nonblock(int fd) {
int ret;
int flags;
char strbuf[ISC_STRERRORSIZE];
flags = fcntl(fd, F_GETFL, 0);
flags |= O_NONBLOCK;
ret = fcntl(fd, F_SETFL, flags);
if (ret == -1) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"fcntl(%d, F_SETFL, %d): %s",
fd, flags, strerror(errno));
fd, flags, strbuf);
return (ISC_R_UNEXPECTED);
}
+13 -9
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: ifiter_ioctl.c,v 1.19 2001/07/09 21:05:58 gson Exp $ */
/* $Id: ifiter_ioctl.c,v 1.19.2.1 2001/10/22 23:28:19 gson Exp $ */
/*
* Obtain the list of network interfaces using the SIOCGLIFCONF ioctl.
@@ -73,6 +73,7 @@ isc_result_t
isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) {
isc_interfaceiter_t *iter;
isc_result_t result;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(mctx != NULL);
REQUIRE(iterp != NULL);
@@ -89,13 +90,14 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) {
* Create an unbound datagram socket to do the SIOCGLIFADDR ioctl on.
*/
if ((iter->socket = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_IFITERIOCTL,
ISC_MSG_MAKESCANSOCKET,
"making interface "
"scan socket: %s"),
strerror(errno));
strbuf);
result = ISC_R_UNEXPECTED;
goto socket_failure;
}
@@ -130,13 +132,14 @@ isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t **iterp) {
if (ioctl(iter->socket, SIOCGLIFCONF, (char *)&iter->ifc)
== -1) {
if (errno != EINVAL) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_IFITERIOCTL,
ISC_MSG_GETIFCONFIG,
"get interface "
"configuration: %s"),
strerror(errno));
strbuf);
result = ISC_R_UNEXPECTED;
goto ioctl_failure;
}
@@ -209,6 +212,7 @@ internal_current(isc_interfaceiter_t *iter) {
struct lifreq *ifrp;
struct lifreq lifreq;
int family;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(VALID_IFITER(iter));
REQUIRE (iter->pos < (unsigned int) iter->ifc.lifc_len);
@@ -244,10 +248,10 @@ internal_current(isc_interfaceiter_t *iter) {
* and is really hard to shut up.
*/
if (ioctl(iter->socket, SIOCGLIFFLAGS, (char *) &lifreq) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"%s: getting interface flags: %s",
lifreq.lifr_name,
strerror(errno));
lifreq.lifr_name, strbuf);
return (ISC_R_IGNORE);
}
@@ -271,14 +275,14 @@ internal_current(isc_interfaceiter_t *iter) {
*/
if (ioctl(iter->socket, SIOCGLIFDSTADDR, (char *)&lifreq)
< 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_IFITERIOCTL,
ISC_MSG_GETDESTADDR,
"%s: getting "
"destination address: %s"),
lifreq.lifr_name,
strerror(errno));
lifreq.lifr_name, strbuf);
return (ISC_R_IGNORE);
}
get_addr(family, &iter->current.dstaddress,
@@ -299,13 +303,13 @@ internal_current(isc_interfaceiter_t *iter) {
*/
if (ioctl(iter->socket, SIOCGLIFNETMASK, (char *)&lifreq)
< 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_IFITERIOCTL,
ISC_MSG_GETNETMASK,
"%s: getting netmask: %s"),
lifreq.lifr_name,
strerror(errno));
lifreq.lifr_name, strbuf);
return (ISC_R_IGNORE);
}
get_addr(family, &iter->current.netmask,
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2000, 2001 Internet Software Consortium.
* 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
@@ -15,11 +15,29 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: tcldb.h,v 1.4 2001/01/09 21:46:29 bwelling Exp $ */
/* $Id: strerror.h,v 1.2 2001/08/31 05:57:58 marka Exp $ */
#include <isc/types.h>
#ifndef ISC_STRERROR_H
#define ISC_STRERROR_H
isc_result_t tcldb_init(void);
#include <sys/types.h>
void tcldb_clear(void);
#include <isc/lang.h>
ISC_LANG_BEGINDECLS
#define ISC_STRERRORSIZE 128
/*
* Provide a thread safe wrapper to strerrror().
* 'buf' is always returned.
*
* Requires:
* 'buf' to be non NULL.
*/
char *
isc__strerror(int num, char *buf, size_t bufsize);
ISC_LANG_ENDDECLS
#endif /* ISC_STRERROR_H */
+2 -1
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfaceiter.c,v 1.22 2001/06/05 06:34:11 bwelling Exp $ */
/* $Id: interfaceiter.c,v 1.22.2.1 2001/10/22 23:28:21 gson Exp $ */
#include <config.h>
@@ -35,6 +35,7 @@
#include <isc/msgs.h>
#include <isc/net.h>
#include <isc/result.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/types.h>
#include <isc/interfaceiter.h>
+5 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: net.c,v 1.22 2001/07/09 21:05:59 gson Exp $ */
/* $Id: net.c,v 1.22.2.1 2001/10/22 23:28:22 gson Exp $ */
#include <config.h>
@@ -26,6 +26,7 @@
#include <isc/msgs.h>
#include <isc/net.h>
#include <isc/once.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/util.h>
@@ -42,6 +43,7 @@ static isc_result_t
try_proto(int domain) {
int s;
isc_result_t result = ISC_R_SUCCESS;
char strbuf[ISC_STRERRORSIZE];
s = socket(domain, SOCK_STREAM, 0);
if (s == -1) {
@@ -57,13 +59,14 @@ try_proto(int domain) {
#endif
return (ISC_R_NOTFOUND);
default:
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"socket() %s: %s",
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
return (ISC_R_UNEXPECTED);
}
}
+66 -29
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: socket.c,v 1.207.2.1 2001/09/19 02:37:21 marka Exp $ */
/* $Id: socket.c,v 1.207.2.2 2001/10/22 23:28:23 gson Exp $ */
#include <config.h>
@@ -46,6 +46,7 @@
#include <isc/print.h>
#include <isc/region.h>
#include <isc/socket.h>
#include <isc/strerror.h>
#include <isc/task.h>
#include <isc/thread.h>
#include <isc/util.h>
@@ -372,6 +373,7 @@ static void
select_poke(isc_socketmgr_t *mgr, int fd, int msg) {
int cc;
int buf[2];
char strbuf[ISC_STRERRORSIZE];
buf[0] = fd;
buf[1] = msg;
@@ -380,13 +382,15 @@ select_poke(isc_socketmgr_t *mgr, int fd, int msg) {
cc = write(mgr->pipe_fds[1], buf, sizeof(buf));
} while (cc < 0 && SOFT_ERROR(errno));
if (cc < 0)
if (cc < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
FATAL_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat, ISC_MSGSET_SOCKET,
ISC_MSG_WRITEFAILED,
"write() failed "
"during watcher poke: %s"),
strerror(errno));
strbuf);
}
INSIST(cc == sizeof(buf));
}
@@ -398,6 +402,7 @@ static void
select_readmsg(isc_socketmgr_t *mgr, int *fd, int *msg) {
int buf[2];
int cc;
char strbuf[ISC_STRERRORSIZE];
cc = read(mgr->pipe_fds[0], buf, sizeof(buf));
if (cc < 0) {
@@ -405,12 +410,13 @@ select_readmsg(isc_socketmgr_t *mgr, int *fd, int *msg) {
if (SOFT_ERROR(errno))
return;
isc__strerror(errno, strbuf, sizeof(strbuf));
FATAL_ERROR(__FILE__, __LINE__,
isc_msgcat_get(isc_msgcat, ISC_MSGSET_SOCKET,
ISC_MSG_READFAILED,
"read() failed "
"during watcher poke: %s"),
strerror(errno));
strbuf);
return;
}
@@ -440,15 +446,17 @@ static isc_result_t
make_nonblock(int fd) {
int ret;
int flags;
char strbuf[ISC_STRERRORSIZE];
flags = fcntl(fd, F_GETFL, 0);
flags |= O_NONBLOCK;
ret = fcntl(fd, F_SETFL, flags);
if (ret == -1) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"fcntl(%d, F_SETFL, %d): %s",
fd, flags, strerror(errno));
fd, flags, strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -879,6 +887,7 @@ doio_recv(isc_socket_t *sock, isc_socketevent_t *dev) {
#else
char *cmsg = NULL;
#endif
char strbuf[ISC_STRERRORSIZE];
build_msghdr_recv(sock, dev, &msghdr, cmsg, iov, &read_count);
@@ -893,13 +902,14 @@ doio_recv(isc_socket_t *sock, isc_socketevent_t *dev) {
if (SOFT_ERROR(recv_errno))
return (DOIO_SOFT);
if (isc_log_wouldlog(isc_lctx, IOEVENT_LEVEL))
if (isc_log_wouldlog(isc_lctx, IOEVENT_LEVEL)) {
isc__strerror(recv_errno, strbuf, sizeof(strbuf));
socket_log(sock, NULL, IOEVENT,
isc_msgcat, ISC_MSGSET_SOCKET,
ISC_MSG_DOIORECV,
"doio_recv: recvmsg(%d) %d bytes, err %d/%s",
sock->fd, cc, recv_errno,
strerror(recv_errno));
sock->fd, cc, recv_errno, strbuf);
}
#define SOFT_OR_HARD(_system, _isc) \
if (recv_errno == _system) { \
@@ -1026,6 +1036,7 @@ doio_send(isc_socket_t *sock, isc_socketevent_t *dev) {
#endif
int attempts = 0;
int send_errno;
char strbuf[ISC_STRERRORSIZE];
build_msghdr_send(sock, dev, &msghdr, cmsg, iov, &write_count);
@@ -1083,9 +1094,9 @@ doio_send(isc_socket_t *sock, isc_socketevent_t *dev) {
* a status.
*/
isc_sockaddr_format(&dev->address, addrbuf, sizeof(addrbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"internal_send: %s: %s",
addrbuf, strerror(send_errno));
isc__strerror(send_errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "internal_send: %s: %s",
addrbuf, strbuf);
dev->result = isc__errno2result(send_errno);
return (DOIO_HARD);
}
@@ -1273,6 +1284,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
#if defined(USE_CMSG) || defined(SO_BSDCOMPAT)
int on = 1;
#endif
char strbuf[ISC_STRERRORSIZE];
REQUIRE(VALID_MANAGER(manager));
REQUIRE(socketp != NULL && *socketp == NULL);
@@ -1324,13 +1336,14 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
return (ISC_R_FAMILYNOSUPPORT);
default:
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"socket() %s: %s",
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
return (ISC_R_UNEXPECTED);
}
}
@@ -1343,12 +1356,13 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
#ifdef SO_BSDCOMPAT
if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT,
(void *)&on, sizeof on) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"setsockopt(%d, SO_BSDCOMPAT) %s: %s",
sock->fd,
isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
ISC_MSG_FAILED, "failed"),
strerror(errno));
strbuf);
/* Press on... */
}
#endif
@@ -1360,6 +1374,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
if (setsockopt(sock->fd, SOL_SOCKET, SO_TIMESTAMP,
(void *)&on, sizeof on) < 0
&& errno != ENOPROTOOPT) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"setsockopt(%d, SO_TIMESTAMP) %s: %s",
sock->fd,
@@ -1367,7 +1382,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
/* Press on... */
}
#endif /* SO_TIMESTAMP */
@@ -1378,6 +1393,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
if ((pf == AF_INET6)
&& (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVPKTINFO,
(void *)&on, sizeof (on)) < 0)) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"setsockopt(%d, IPV6_RECVPKTINFO) "
"%s: %s", sock->fd,
@@ -1385,13 +1401,14 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
}
#else
/* 2292 */
if ((pf == AF_INET6)
&& (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO,
(void *)&on, sizeof (on)) < 0)) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"setsockopt(%d, IPV6_PKTINFO) %s: %s",
sock->fd,
@@ -1399,7 +1416,7 @@ isc_socket_create(isc_socketmgr_t *manager, int pf, isc_sockettype_t type,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
}
#endif /* IPV6_RECVPKTINFO */
#ifdef IPV6_USE_MIN_MTU /*2292bis, not too common yet*/
@@ -1659,6 +1676,7 @@ internal_accept(isc_task_t *me, isc_event_t *ev) {
ISC_SOCKADDR_LEN_T addrlen;
int fd;
isc_result_t result = ISC_R_SUCCESS;
char strbuf[ISC_STRERRORSIZE];
UNUSED(me);
@@ -1711,13 +1729,14 @@ internal_accept(isc_task_t *me, isc_event_t *ev) {
if (SOFT_ERROR(errno) || errno == ECONNRESET) {
goto soft_error;
} else {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"internal_accept: accept() %s: %s",
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
fd = -1;
result = ISC_R_UNEXPECTED;
}
@@ -2034,6 +2053,7 @@ watcher(void *uap) {
fd_set writefds;
int msg, fd;
int maxfd;
char strbuf[ISC_STRERRORSIZE];
/*
* Get the control fd here. This will never change.
@@ -2052,14 +2072,17 @@ watcher(void *uap) {
cc = select(maxfd, &readfds, &writefds, NULL, NULL);
if (cc < 0) {
if (!SOFT_ERROR(errno))
if (!SOFT_ERROR(errno)) {
isc__strerror(errno, strbuf,
sizeof(strbuf));
FATAL_ERROR(__FILE__, __LINE__,
"select() %s: %s",
isc_msgcat_get(isc_msgcat,
ISC_MSGSET_GENERAL,
ISC_MSG_FAILED,
"failed"),
strerror(errno));
strbuf);
}
}
LOCK(&manager->lock);
@@ -2126,6 +2149,9 @@ watcher(void *uap) {
isc_result_t
isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) {
isc_socketmgr_t *manager;
#ifdef ISC_PLATFORM_USETHREADS
char strbuf[ISC_STRERRORSIZE];
#endif
REQUIRE(managerp != NULL && *managerp == NULL);
@@ -2171,11 +2197,12 @@ isc_socketmgr_create(isc_mem_t *mctx, isc_socketmgr_t **managerp) {
if (pipe(manager->pipe_fds) != 0) {
DESTROYLOCK(&manager->lock);
isc_mem_put(mctx, manager, sizeof *manager);
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"pipe() %s: %s",
isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
ISC_MSG_FAILED, "failed"),
strerror(errno));
strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -2691,6 +2718,7 @@ isc_socket_sendto2(isc_socket_t *sock, isc_region_t *region,
isc_result_t
isc_socket_bind(isc_socket_t *sock, isc_sockaddr_t *sockaddr) {
char strbuf[ISC_STRERRORSIZE];
int on = 1;
LOCK(&sock->lock);
@@ -2721,8 +2749,9 @@ isc_socket_bind(isc_socket_t *sock, isc_sockaddr_t *sockaddr) {
case EINVAL:
return (ISC_R_BOUND);
default:
UNEXPECTED_ERROR(__FILE__, __LINE__,
"bind: %s", strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "bind: %s",
strbuf);
return (ISC_R_UNEXPECTED);
}
}
@@ -2747,6 +2776,8 @@ isc_socket_bind(isc_socket_t *sock, isc_sockaddr_t *sockaddr) {
*/
isc_result_t
isc_socket_listen(isc_socket_t *sock, unsigned int backlog) {
char strbuf[ISC_STRERRORSIZE];
REQUIRE(VALID_SOCKET(sock));
LOCK(&sock->lock);
@@ -2760,8 +2791,9 @@ isc_socket_listen(isc_socket_t *sock, unsigned int backlog) {
if (listen(sock->fd, (int)backlog) < 0) {
UNLOCK(&sock->lock);
UNEXPECTED_ERROR(__FILE__, __LINE__, "listen: %s",
strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "listen: %s", strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -2849,6 +2881,7 @@ isc_socket_connect(isc_socket_t *sock, isc_sockaddr_t *addr,
isc_task_t *ntask = NULL;
isc_socketmgr_t *manager;
int cc;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(VALID_SOCKET(sock));
REQUIRE(addr != NULL);
@@ -2905,8 +2938,8 @@ isc_socket_connect(isc_socket_t *sock, isc_sockaddr_t *addr,
sock->connected = 0;
UNEXPECTED_ERROR(__FILE__, __LINE__, "%d/%s",
errno, strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "%d/%s", errno, strbuf);
UNLOCK(&sock->lock);
isc_event_free((isc_event_t **)&dev);
@@ -2968,6 +3001,7 @@ internal_connect(isc_task_t *me, isc_event_t *ev) {
isc_task_t *task;
int cc;
ISC_SOCKADDR_LEN_T optlen;
char strbuf[ISC_STRERRORSIZE];
UNUSED(me);
INSIST(ev->ev_type == ISC_SOCKEVENT_INTW);
@@ -3047,9 +3081,10 @@ internal_connect(isc_task_t *me, isc_event_t *ev) {
#undef ERROR_MATCH
default:
dev->result = ISC_R_UNEXPECTED;
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"internal_connect: connect() %s",
strerror(errno));
strbuf);
}
} else {
dev->result = ISC_R_SUCCESS;
@@ -3091,6 +3126,7 @@ isc_result_t
isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) {
ISC_SOCKADDR_LEN_T len;
isc_result_t ret;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(VALID_SOCKET(sock));
REQUIRE(addressp != NULL);
@@ -3106,8 +3142,9 @@ isc_socket_getsockname(isc_socket_t *sock, isc_sockaddr_t *addressp) {
len = sizeof addressp->type;
if (getsockname(sock->fd, &addressp->type.sa, (void *)&len) < 0) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"getsockname: %s", strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "getsockname: %s",
strbuf);
ret = ISC_R_UNEXPECTED;
goto out;
}
+2 -4
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: strerror.c,v 1.1 2001/08/30 04:33:19 marka Exp $ */
/* $Id: strerror.c,v 1.1.2.1 2001/10/22 23:28:25 gson Exp $ */
#include <config.h>
@@ -62,9 +62,7 @@ isc__strerror(int num, char *buf, size_t size) {
return (buf);
#else
unsigned int unum = num;
isc_once_t once = ISC_ONCE_INIT;
static lock;
REQUIRE(buf != NULL);
if (num >= 0 && num < sys_nerr)
+8 -3
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: time.c,v 1.34.2.4 2001/09/06 00:34:06 marka Exp $ */
/* $Id: time.c,v 1.34.2.5 2001/10/22 23:28:26 gson Exp $ */
#include <config.h>
@@ -28,6 +28,7 @@
#include <isc/log.h>
#include <isc/print.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/time.h>
#include <isc/util.h>
@@ -142,11 +143,13 @@ isc_time_isepoch(isc_time_t *t) {
isc_result_t
isc_time_now(isc_time_t *t) {
struct timeval tv;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(t != NULL);
if (gettimeofday(&tv, NULL) == -1) {
UNEXPECTED_ERROR(__FILE__, __LINE__, "%s", strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "%s", strbuf);
return (ISC_R_UNEXPECTED);
}
@@ -182,13 +185,15 @@ isc_time_now(isc_time_t *t) {
isc_result_t
isc_time_nowplusinterval(isc_time_t *t, isc_interval_t *i) {
struct timeval tv;
char strbuf[ISC_STRERRORSIZE];
REQUIRE(t != NULL);
REQUIRE(i != NULL);
INSIST(i->nanoseconds < NS_PER_S);
if (gettimeofday(&tv, NULL) == -1) {
UNEXPECTED_ERROR(__FILE__, __LINE__, "%s", strerror(errno));
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__, "%s", strbuf);
return (ISC_R_UNEXPECTED);
}
+2 -2
View File
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: parser.c,v 1.70.2.3 2001/10/13 03:52:13 marka Exp $ */
/* $Id: parser.c,v 1.70.2.4 2001/10/23 02:42:00 marka Exp $ */
#include <config.h>
@@ -3770,7 +3770,7 @@ free_noop(cfg_parser_t *pctx, cfg_obj_t *obj) {
/*
* Data and functions for printing grammar summaries.
*/
struct flagtext {
static struct flagtext {
unsigned int flag;
const char *text;
} flagtexts[] = {
+2 -2
View File
@@ -15,7 +15,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: kit.sh,v 1.20 2001/05/30 21:18:07 bwelling Exp $
# $Id: kit.sh,v 1.20.2.1 2001/10/19 01:23:23 marka Exp $
# Make a release kit
#
@@ -97,7 +97,7 @@ sh util/sanitize_all.sh
# we still delete them from releases just in case something
# gets accidentally resurrected.
rm -rf TODO conftools util doc/design doc/dev doc/expired \
rm -rf EXCLUDED TODO conftools util doc/design doc/dev doc/expired \
doc/html doc/todo doc/private bin/lwresd doc/man \
lib/lwres/man/resolver.5 \
bin/tests/system/relay lib/cfg
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: version,v 1.26.2.6 2001/10/12 23:34:24 gson Exp $
# $Id: version,v 1.26.2.7 2001/10/23 17:06:33 gson Exp $
#
# This file must follow /bin/sh rules. It is imported directly via
# configure.
@@ -7,4 +7,4 @@ MAJORVER=9
MINORVER=2
PATCHVER=0
RELEASETYPE=rc
RELEASEVER=7
RELEASEVER=8