summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInternet Software Consortium, Inc <@isc.org>2007-09-07 14:14:13 -0600
committerLaMont Jones <lamont@debian.org>2007-09-07 14:14:13 -0600
commit68791e78c00f09ff88fc236d31040d70f6516edf (patch)
tree4fa2c98b2b701da38e168b71cfe85b7cd171be2d
parent540716ae8c026fe40704cd6a0c0d0cd530b44a40 (diff)
downloadbind9-68791e78c00f09ff88fc236d31040d70f6516edf.tar.gz
9.2.0rc9
-rw-r--r--CHANGES70
-rw-r--r--FAQ44
-rw-r--r--README12
-rw-r--r--bin/dig/dighost.c8
-rw-r--r--bin/named/client.c12
-rw-r--r--bin/named/controlconf.c11
-rw-r--r--bin/named/log.c12
-rw-r--r--bin/named/xfrout.c4
-rw-r--r--bin/nsupdate/nsupdate.c8
-rwxr-xr-xbin/tests/system/ifconfig.sh6
-rwxr-xr-xconfigure246
-rw-r--r--configure.in26
-rw-r--r--doc/arm/Bv9ARM-book.xml79
-rw-r--r--doc/arm/Bv9ARM.ch01.html4
-rw-r--r--doc/arm/Bv9ARM.ch03.html25
-rw-r--r--doc/arm/Bv9ARM.ch04.html65
-rw-r--r--doc/arm/Bv9ARM.ch05.html6
-rw-r--r--doc/arm/Bv9ARM.ch06.html159
-rw-r--r--doc/arm/Bv9ARM.ch07.html8
-rw-r--r--doc/arm/Bv9ARM.ch08.html14
-rw-r--r--doc/arm/Bv9ARM.ch09.html120
-rw-r--r--doc/arm/Bv9ARM.html112
-rw-r--r--doc/misc/options28
-rw-r--r--lib/bind/bsd/strerror.c16
-rwxr-xr-xlib/bind/configure417
-rw-r--r--lib/bind/configure.in6
-rw-r--r--lib/bind/dst/dst_api.c53
-rw-r--r--lib/bind/dst/support.c24
-rw-r--r--lib/bind/include/arpa/nameser_compat.h3
-rw-r--r--lib/bind/include/resolv.h11
-rw-r--r--lib/bind/irs/dns_ho.c34
-rw-r--r--lib/bind/irs/gai_strerror.c114
-rw-r--r--lib/bind/irs/irp.c4
-rw-r--r--lib/bind/irs/irs_data.c5
-rw-r--r--lib/bind/isc/assertions.mdoc22
-rw-r--r--lib/bind/isc/bitncmp.mdoc8
-rw-r--r--lib/bind/isc/eventlib.mdoc28
-rw-r--r--lib/bind/isc/heap.mdoc46
-rw-r--r--lib/bind/isc/logging.mdoc32
-rw-r--r--lib/bind/isc/memcluster.mdoc9
-rw-r--r--lib/bind/isc/tree.mdoc24
-rw-r--r--lib/bind/nameser/ns_name.c19
-rw-r--r--lib/bind/port_after.h.in1
-rw-r--r--lib/dns/masterdump.c4
-rw-r--r--lib/dns/resolver.c4
-rw-r--r--lib/dns/sec/dst/dst_api.c6
-rw-r--r--lib/dns/sec/dst/opensslrsa_link.c14
-rw-r--r--lib/isc/include/isc/platform.h.in8
-rw-r--r--lib/isc/unix/include/isc/net.h5
-rw-r--r--lib/isc/unix/net.c5
-rw-r--r--lib/isc/unix/stdtime.c42
-rw-r--r--lib/isccfg/check.c95
-rw-r--r--lib/isccfg/parser.c45
-rw-r--r--lib/lwres/gai_strerror.c5
-rw-r--r--lib/lwres/include/lwres/platform.h.in8
-rw-r--r--version4
56 files changed, 1350 insertions, 850 deletions
diff --git a/CHANGES b/CHANGES
index abb322eb..a21bff91 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,74 @@
+ --- 9.2.0rc9 released ---
+
+1107. [bug] nsupdate could catch an assertion failure if an
+ invalid domain name was given as the argument to
+ the "zone" command.
+
+1106. [bug] After seeing an out of range TTL, nsupdate would
+ treat all TTLs as out of range. [RT #2001]
+
+1104. [bug] Invalid arguments to the transfer-format option
+ could cause an assertion failure. [RT #1995]
+
+1103. [port] OpenUNIX 8 support (ifconfig.sh). [RT #1970]
+
+1102. [doc] Note that query logging is enabled by directing the
+ queries category to a channel.
+
+1101. [bug] Array bounds read error in lwres_gai_strerror.
+
+1100. [bug] libbind: DNSSEC key ids were computed incorrectly.
+
+1099. [cleanup] libbind: defining REPORT_ERRORS in lib/bind/dst caused
+ compile time errors.
+
+1098. [bug] libbind: HMAC-MD5 key files are now mode 0600.
+
+1093. [doc] libbind: miscellaneous nroff fixes.
+
+1092. [bug] libbind: get*by*() failed to check if res_init() had
+ been called.
+
+1091. [bug] libbind: misplaced va_end().
+
+1090. [bug] libbind: dns_ho.c:add_hostent() was not returning
+ the amount of memory consumed resulting in garbage
+ address being returned. Alignment calculations were
+ wasting space. We weren't suppressing duplicate
+ addresses.
+
+1088. [port] libbind: MPE/iX C.70 (incomplete)
+
+1087. [bug] libbind: struct __res_state too large on 64 bit arch.
+
+1086. [port] libbind: sunos: old sprintf.
+
+1085. [port] libbind: solaris: sys_nerr and sys_errlist do not
+ exist when compiling in 64 bit mode.
+
+1084. [cleanup] libbind: gai_strerror() rewritten.
+
+1083. [bug] The default control channel listened on the
+ wildcard adress, not the loopback as documented.
+ [RT #1975]
+
+1082. [bug] The -g option to named incorrectly caused logging
+ to be sent to syslog in addition to stderr.
+ [RT #1974]
+
+1078. [bug] We failed to correct bad tv_usec values in one case.
+ [RT #1966]
+
+1076. [bug] A badly defined global key could trigger an assertion
+ on load/reload if views were used. [RT #1947]
+
+1075. [bug] Out-of-range network prefix lengths were not
+ reported. [RT #1954]
+
+1074. [bug] Running out of memory in dump_rdataset() could
+ cause an assertion failure. [RT #1946]
+
--- 9.2.0rc8 released ---
1068. [bug] errno could be overwritten by catgets(). [RT #1921]
diff --git a/FAQ b/FAQ
index b105b747..fc12faeb 100644
--- a/FAQ
+++ b/FAQ
@@ -209,3 +209,47 @@ dynamic update for a zone using the "allow-update" option, you are not
supposed to edit the zone file by hand, and the server will not
attempt to reload it.
+
+Q: I can query the nameserver from the nameserver but not from other
+machines. Why?
+
+A: This is usually the result of the firewall configuration stopping
+the queries and / or the replies.
+
+
+Q: How can I make a server a slave for both an internal and
+an external view at the same time? When I tried, both views
+on the slave were transfered from the same view on the master.
+
+A: You will need to give the master and slave multiple IP addresses and
+use those to make sure you reach the correct view on the other machine.
+
+ e.g.
+ Master: 10.0.1.1 (internal), 10.0.1.2 (external, IP alias)
+ internal:
+ match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
+ notify-source 10.0.1.1;
+ transfer-source 10.0.1.1;
+ query-source 10.0.1.1;
+ external:
+ match-clients { any; };
+ recursion no; // don't offer recursion to the world
+ notify-source 10.0.1.2;
+ transfer-source 10.0.1.2;
+ query-source 10.0.1.2;
+
+ Slave: 10.0.1.3 (internal), 10.0.1.4 (external, IP alias)
+ internal:
+ match-clients { !10.0.1.2; !10.0.1.4; 10.0.1/24; };
+ notify-source 10.0.1.3;
+ transfer-source 10.0.1.3;
+ query-source 10.0.1.3;
+ external:
+ match-clients { any; };
+ recursion no; // don't offer recursion to the world
+ notify-source 10.0.1.4;
+ transfer-source 10.0.1.4;
+ query-source 10.0.1.4;
+
+ You put the external address on the alias so that all the other
+ dns clients on these boxes see the internal view by default.
diff --git a/README b/README
index 330acab0..3eff9595 100644
--- a/README
+++ b/README
@@ -44,10 +44,10 @@ BIND 9
Nominum, Inc.
-BIND 9.2.0rc8
+BIND 9.2.0rc9
- 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.0rc9 is a release candidate for BIND 9.2.0.
+ It fixes a number of bugs in 9.2.0rc8.
BIND 9.2.0 has a number of new features over 9.1,
including:
@@ -149,13 +149,16 @@ Building
COMPAQ Tru64 UNIX 4.0D
COMPAQ Tru64 UNIX 5 (with IPv6 EAK)
FreeBSD 3.4-STABLE, 3.5, 4.0, 4.1
- HP-UX 11
+ HP-UX 11.x, x < 11
IRIX64 6.5
NetBSD 1.5
Red Hat Linux 6.0, 6.1, 6.2, 7.0
Solaris 2.6, 7, 8
Windows NT/W2K
+ HP-UX 11.11 is not yet supported due to its incompatible
+ SIOCGLIFCONF ioctl.
+
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
@@ -167,6 +170,7 @@ Building
UnixWare 7.1.1
HP-UX 10.20
BSD/OS 4.2
+ OpenUNIX 8
To build, just
diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
index 3b346001..95498c28 100644
--- a/bin/dig/dighost.c
+++ b/bin/dig/dighost.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dighost.c,v 1.221.2.5 2001/10/15 23:06:07 bwelling Exp $ */
+/* $Id: dighost.c,v 1.221.2.6 2001/10/31 23:04:26 marka Exp $ */
/*
* Notice to programmers: Do not use this code as an example of how to
@@ -1027,9 +1027,9 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
if (!success) {
success = ISC_TRUE;
lookup_counter++;
- cancel_lookup(query->lookup);
lookup = requeue_lookup(query->lookup,
ISC_FALSE);
+ cancel_lookup(query->lookup);
lookup->doing_xfr = ISC_FALSE;
if (!lookup->trace_root &&
section == DNS_SECTION_ANSWER)
@@ -1083,9 +1083,9 @@ next_origin(dns_message_t *msg, dig_query_t *query) {
* Then we just did rootorg; there's nothing left.
*/
return (ISC_FALSE);
- cancel_lookup(query->lookup);
lookup = requeue_lookup(query->lookup, ISC_TRUE);
lookup->origin = ISC_LIST_NEXT(query->lookup->origin, link);
+ cancel_lookup(query->lookup);
return (ISC_TRUE);
}
@@ -1703,9 +1703,9 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
} else {
debug("making new TCP request, %d tries left",
l->retries);
- cancel_lookup(l);
l->retries--;
requeue_lookup(l, ISC_TRUE);
+ cancel_lookup(l);
}
} else {
fputs(l->cmdline, stdout);
diff --git a/bin/named/client.c b/bin/named/client.c
index f1c07953..81c162cf 100644
--- a/bin/named/client.c
+++ b/bin/named/client.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.c,v 1.176.2.4 2001/10/12 19:14:47 gson Exp $ */
+/* $Id: client.c,v 1.176.2.5 2001/10/30 01:12:34 marka Exp $ */
#include <config.h>
@@ -1478,9 +1478,6 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
if (result != ISC_R_SUCCESS)
goto cleanup_client;
isc_task_setname(client->task, "client", client);
- result = isc_task_onshutdown(client->task, client_shutdown, client);
- if (result != ISC_R_SUCCESS)
- goto cleanup_task;
client->timer = NULL;
result = isc_timer_create(manager->timermgr, isc_timertype_inactive,
@@ -1576,12 +1573,19 @@ client_create(ns_clientmgr_t *manager, ns_client_t **clientp)
if (result != ISC_R_SUCCESS)
goto cleanup_recvevent;
+ result = isc_task_onshutdown(client->task, client_shutdown, client);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup_query;
+
CTRACE("create");
*clientp = client;
return (ISC_R_SUCCESS);
+ cleanup_query:
+ ns_query_free(client);
+
cleanup_recvevent:
isc_event_free((isc_event_t **)&client->recvevent);
diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c
index 5e4f8d71..2190227c 100644
--- a/bin/named/controlconf.c
+++ b/bin/named/controlconf.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: controlconf.c,v 1.28.2.5 2001/10/19 22:29:08 bwelling Exp $ */
+/* $Id: controlconf.c,v 1.28.2.6 2001/10/31 23:00:44 marka Exp $ */
#include <config.h>
@@ -25,6 +25,7 @@
#include <isc/file.h>
#include <isc/fsaccess.h>
#include <isc/mem.h>
+#include <isc/net.h>
#include <isc/netaddr.h>
#include <isc/print.h>
#include <isc/random.h>
@@ -1168,13 +1169,17 @@ ns_controls_configure(ns_controls_t *cp, cfg_obj_t *config,
isc_sockaddr_t addr;
if (i == 0) {
+ struct in_addr localhost;
+
if (isc_net_probeipv4() != ISC_R_SUCCESS)
continue;
- isc_sockaddr_any(&addr);
+ localhost.s_addr = htonl(INADDR_LOOPBACK);
+ isc_sockaddr_fromin(&addr, &localhost, 0);
} else {
if (isc_net_probeipv6() != ISC_R_SUCCESS)
continue;
- isc_sockaddr_any6(&addr);
+ isc_sockaddr_fromin6(&addr,
+ &in6addr_loopback, 0);
}
isc_sockaddr_setport(&addr, NS_CONTROL_PORT);
diff --git a/bin/named/log.c b/bin/named/log.c
index d171666a..361ab83b 100644
--- a/bin/named/log.c
+++ b/bin/named/log.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: log.c,v 1.33 2001/06/14 14:14:17 gson Exp $ */
+/* $Id: log.c,v 1.33.2.1 2001/10/31 22:44:15 marka Exp $ */
#include <config.h>
@@ -168,10 +168,12 @@ isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg) {
isc_result_t result;
- result = isc_log_usechannel(lcfg, "default_syslog",
- ISC_LOGCATEGORY_DEFAULT, NULL);
- if (result != ISC_R_SUCCESS)
- goto cleanup;
+ if (! ns_g_logstderr) {
+ result = isc_log_usechannel(lcfg, "default_syslog",
+ ISC_LOGCATEGORY_DEFAULT, NULL);
+ if (result != ISC_R_SUCCESS)
+ goto cleanup;
+ }
result = isc_log_usechannel(lcfg, "default_debug",
ISC_LOGCATEGORY_DEFAULT, NULL);
diff --git a/bin/named/xfrout.c b/bin/named/xfrout.c
index 63ce0e84..8f4eb2da 100644
--- a/bin/named/xfrout.c
+++ b/bin/named/xfrout.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: xfrout.c,v 1.101.2.2 2001/09/28 22:07:12 bwelling Exp $ */
+/* $Id: xfrout.c,v 1.101.2.3 2001/10/30 01:28:29 marka Exp $ */
#include <config.h>
@@ -1093,6 +1093,7 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
ISC_LOG_DEBUG(4),
"IXFR version not in journal, "
"falling back to AXFR");
+ mnemonic = "AXFR-style IXFR";
goto axfr_fallback;
}
CHECK(result);
@@ -1100,7 +1101,6 @@ ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype) {
axfr_fallback:
CHECK(axfr_rrstream_create(mctx, db, ver,
&data_stream));
- mnemonic = "AXFR-style IXFR";
}
/*
diff --git a/bin/nsupdate/nsupdate.c b/bin/nsupdate/nsupdate.c
index 467bb579..fefbf141 100644
--- a/bin/nsupdate/nsupdate.c
+++ b/bin/nsupdate/nsupdate.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsupdate.c,v 1.103.2.4 2001/10/15 20:25:57 gson Exp $ */
+/* $Id: nsupdate.c,v 1.103.2.6 2001/11/06 21:50:35 bwelling Exp $ */
#include <config.h>
@@ -1089,6 +1089,7 @@ evaluate_zone(char *cmdline) {
result = dns_name_fromtext(userzone, &b, dns_rootname, ISC_FALSE,
NULL);
if (result != ISC_R_SUCCESS) {
+ userzone = NULL; /* Lest it point to an invalid name */
fprintf(stderr, "could not parse zone name\n");
return (STATUS_SYNTAX);
}
@@ -1146,6 +1147,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
goto doneparsing;
}
}
+ errno = 0;
ttl = strtol(word, &endp, 0);
if (*endp != '\0') {
if (isdelete) {
@@ -1159,7 +1161,9 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
if (isdelete)
ttl = 0;
- else if (ttl < 0 || ttl > TTL_MAX || errno == ERANGE) {
+ else if (ttl < 0 || ttl > TTL_MAX ||
+ (ttl == LONG_MAX && errno == ERANGE))
+ {
/*
* The errno test is needed to catch when strtol()
* overflows on a platform where sizeof(int) ==
diff --git a/bin/tests/system/ifconfig.sh b/bin/tests/system/ifconfig.sh
index 21287d35..6da7951b 100755
--- a/bin/tests/system/ifconfig.sh
+++ b/bin/tests/system/ifconfig.sh
@@ -15,7 +15,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# $Id: ifconfig.sh,v 1.35 2001/06/14 14:10:32 gson Exp $
+# $Id: ifconfig.sh,v 1.35.2.1 2001/11/05 04:29:35 marka Exp $
#
# Set up interface aliases for bind9 system tests.
@@ -62,7 +62,7 @@ case "$1" in
*-sgi-irix6.*)
ifconfig lo0 alias 10.53.0.$ns
;;
- *-*-sysv5uw7*)
+ *-*-sysv5uw[7-8]*)
ifconfig lo0 10.53.0.$ns alias netmask 0xffffffff
;;
*-ibm-aix4.*)
@@ -107,7 +107,7 @@ case "$1" in
*-sgi-irix6.*)
ifconfig lo0 -alias 10.53.0.$ns
;;
- *-*-sysv5uw7*)
+ *-*-sysv5uw[7-8]*)
ifconfig lo0 -alias 10.53.0.$ns
;;
*-ibm-aix4.*)
diff --git a/configure b/configure
index 881e0e6f..92b75e47 100755
--- a/configure
+++ b/configure
@@ -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.3
+# From configure.in Revision: 1.294.2.4
# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
## Copyright 1996, 1997, 1998, 1999, 2000, 2001
@@ -7845,8 +7845,8 @@ else
fi
rm -f conftest*
- echo $ac_n "checking for sin6_scope_id in struct sockaddr_in6""... $ac_c" 1>&6
-echo "configure:7850: checking for sin6_scope_id in struct sockaddr_in6" >&5
+ echo $ac_n "checking for in6addr_loopback""... $ac_c" 1>&6
+echo "configure:7850: checking for in6addr_loopback" >&5
cat > conftest.$ac_ext <<EOF
#line 7852 "configure"
#include "confdefs.h"
@@ -7856,12 +7856,44 @@ echo "configure:7850: checking for sin6_scope_id in struct sockaddr_in6" >&5
#include <netinet/in.h>
$isc_netinetin6_hack
$isc_netinet6in6_hack
+$isc_in_addr6_hack
+
+int main() {
+struct in6_addr in6; in6 = in6addr_loopback; return (0);
+; return 0; }
+EOF
+if { (eval echo configure:7866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+ ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
+ LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+ ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
+ LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
+fi
+rm -f conftest*
+
+ echo $ac_n "checking for sin6_scope_id in struct sockaddr_in6""... $ac_c" 1>&6
+echo "configure:7882: checking for sin6_scope_id in struct sockaddr_in6" >&5
+ cat > conftest.$ac_ext <<EOF
+#line 7884 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+$isc_netinetin6_hack
+$isc_netinet6in6_hack
int main() {
struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);
; return 0; }
EOF
-if { (eval echo configure:7865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7897: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
result="#define LWRES_HAVE_SIN6_SCOPE_ID 1"
@@ -7876,9 +7908,9 @@ rm -f conftest*
LWRES_HAVE_SIN6_SCOPE_ID="$result"
echo $ac_n "checking for in6_pktinfo""... $ac_c" 1>&6
-echo "configure:7880: checking for in6_pktinfo" >&5
+echo "configure:7912: checking for in6_pktinfo" >&5
cat > conftest.$ac_ext <<EOF
-#line 7882 "configure"
+#line 7914 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -7891,7 +7923,7 @@ int main() {
struct in6_pktinfo xyzzy; return (0);
; return 0; }
EOF
-if { (eval echo configure:7895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_HAVEIN6PKTINFO="#define ISC_PLATFORM_HAVEIN6PKTINFO 1"
@@ -7936,6 +7968,8 @@ esac
+
+
#
# Check for network functions that are often missing. We do this
# after the libtool checking, so we can put the right suffix on
@@ -7944,9 +7978,9 @@ esac
#
echo $ac_n "checking for inet_ntop""... $ac_c" 1>&6
-echo "configure:7948: checking for inet_ntop" >&5
+echo "configure:7982: checking for inet_ntop" >&5
cat > conftest.$ac_ext <<EOF
-#line 7950 "configure"
+#line 7984 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -7956,7 +7990,7 @@ int main() {
inet_ntop(0, 0, 0, 0); return (0);
; return 0; }
EOF
-if { (eval echo configure:7960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"
@@ -7977,13 +8011,13 @@ rm -f conftest*
# zeros should also be rejected.
echo $ac_n "checking for inet_pton""... $ac_c" 1>&6
-echo "configure:7981: checking for inet_pton" >&5
+echo "configure:8015: checking for inet_pton" >&5
if test "$cross_compiling" = yes; then
echo "$ac_t""assuming target platform has working inet_pton" 1>&6
ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"
else
cat > conftest.$ac_ext <<EOF
-#line 7987 "configure"
+#line 8021 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -7993,7 +8027,7 @@ else
main() { char a[4]; return (inet_pton(AF_INET, "1.2.3", a) == 1 ? 1 :
inet_pton(AF_INET, "1.2.3.04", a) == 1 ? 1 : 0); }
EOF
-if { (eval echo configure:7997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"
@@ -8011,9 +8045,9 @@ fi
echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
-echo "configure:8015: checking for inet_aton" >&5
+echo "configure:8049: checking for inet_aton" >&5
cat > conftest.$ac_ext <<EOF
-#line 8017 "configure"
+#line 8051 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8023,7 +8057,7 @@ int main() {
struct in_addr in; inet_aton(0, &in); return (0);
; return 0; }
EOF
-if { (eval echo configure:8027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_NEEDATON="#undef ISC_PLATFORM_NEEDATON"
@@ -8056,9 +8090,9 @@ EOF
esac
echo $ac_n "checking for sa_len in struct sockaddr""... $ac_c" 1>&6
-echo "configure:8060: checking for sa_len in struct sockaddr" >&5
+echo "configure:8094: checking for sa_len in struct sockaddr" >&5
cat > conftest.$ac_ext <<EOF
-#line 8062 "configure"
+#line 8096 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8067,7 +8101,7 @@ int main() {
struct sockaddr sa; sa.sa_len = 0; return (0);
; return 0; }
EOF
-if { (eval echo configure:8071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_HAVESALEN="#define ISC_PLATFORM_HAVESALEN 1"
@@ -8088,9 +8122,9 @@ rm -f conftest*
# Look for a 4.4BSD or 4.3BSD struct msghdr
#
echo $ac_n "checking for struct msghdr flavor""... $ac_c" 1>&6
-echo "configure:8092: checking for struct msghdr flavor" >&5
+echo "configure:8126: checking for struct msghdr flavor" >&5
cat > conftest.$ac_ext <<EOF
-#line 8094 "configure"
+#line 8128 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8099,7 +8133,7 @@ int main() {
struct msghdr msg; msg.msg_flags = 0; return (0);
; return 0; }
EOF
-if { (eval echo configure:8103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""4.4BSD" 1>&6
ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"
@@ -8117,9 +8151,9 @@ rm -f conftest*
# Look for in_port_t.
#
echo $ac_n "checking for type in_port_t""... $ac_c" 1>&6
-echo "configure:8121: checking for type in_port_t" >&5
+echo "configure:8155: checking for type in_port_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 8123 "configure"
+#line 8157 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8128,7 +8162,7 @@ int main() {
in_port_t port = 25; return (0);
; return 0; }
EOF
-if { (eval echo configure:8132: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8166: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_PLATFORM_NEEDPORTT="#undef ISC_PLATFORM_NEEDPORTT"
@@ -8146,9 +8180,9 @@ rm -f conftest*
# Check for addrinfo
#
echo $ac_n "checking for struct addrinfo""... $ac_c" 1>&6
-echo "configure:8150: checking for struct addrinfo" >&5
+echo "configure:8184: checking for struct addrinfo" >&5
cat > conftest.$ac_ext <<EOF
-#line 8152 "configure"
+#line 8186 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8156,7 +8190,7 @@ int main() {
struct addrinfo a; return (0);
; return 0; }
EOF
-if { (eval echo configure:8160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_NEEDADDRINFO="#undef ISC_LWRES_NEEDADDRINFO"
@@ -8178,9 +8212,9 @@ rm -f conftest*
# Check for rrsetinfo
#
echo $ac_n "checking for struct rrsetinfo""... $ac_c" 1>&6
-echo "configure:8182: checking for struct rrsetinfo" >&5
+echo "configure:8216: checking for struct rrsetinfo" >&5
cat > conftest.$ac_ext <<EOF
-#line 8184 "configure"
+#line 8218 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8188,7 +8222,7 @@ int main() {
struct rrsetinfo r; return (0);
; return 0; }
EOF
-if { (eval echo configure:8192: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
ISC_LWRES_NEEDRRSETINFO="#undef ISC_LWRES_NEEDRRSETINFO"
@@ -8203,9 +8237,9 @@ rm -f conftest*
echo $ac_n "checking for int sethostent""... $ac_c" 1>&6
-echo "configure:8207: checking for int sethostent" >&5
+echo "configure:8241: checking for int sethostent" >&5
cat > conftest.$ac_ext <<EOF
-#line 8209 "configure"
+#line 8243 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8213,7 +8247,7 @@ int main() {
int i = sethostent(0); return(0);
; return 0; }
EOF
-if { (eval echo configure:8217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8251: \"$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"
@@ -8228,9 +8262,9 @@ rm -f conftest*
echo $ac_n "checking for int endhostent""... $ac_c" 1>&6
-echo "configure:8232: checking for int endhostent" >&5
+echo "configure:8266: checking for int endhostent" >&5
cat > conftest.$ac_ext <<EOF
-#line 8234 "configure"
+#line 8268 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8238,7 +8272,7 @@ int main() {
int i = endhostent(); return(0);
; return 0; }
EOF
-if { (eval echo configure:8242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8276: \"$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"
@@ -8253,9 +8287,9 @@ rm -f conftest*
echo $ac_n "checking for getnetbyaddr(in_addr_t, ...)""... $ac_c" 1>&6
-echo "configure:8257: checking for getnetbyaddr(in_addr_t, ...)" >&5
+echo "configure:8291: checking for getnetbyaddr(in_addr_t, ...)" >&5
cat > conftest.$ac_ext <<EOF
-#line 8259 "configure"
+#line 8293 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8264,7 +8298,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8302: \"$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"
@@ -8279,9 +8313,9 @@ rm -f conftest*
echo $ac_n "checking for int setnetent""... $ac_c" 1>&6
-echo "configure:8283: checking for int setnetent" >&5
+echo "configure:8317: checking for int setnetent" >&5
cat > conftest.$ac_ext <<EOF
-#line 8285 "configure"
+#line 8319 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8289,7 +8323,7 @@ int main() {
int i = setnetent(0); return(0);
; return 0; }
EOF
-if { (eval echo configure:8293: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8327: \"$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"
@@ -8304,9 +8338,9 @@ rm -f conftest*
echo $ac_n "checking for int endnetent""... $ac_c" 1>&6
-echo "configure:8308: checking for int endnetent" >&5
+echo "configure:8342: checking for int endnetent" >&5
cat > conftest.$ac_ext <<EOF
-#line 8310 "configure"
+#line 8344 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8314,7 +8348,7 @@ int main() {
int i = endnetent(); return(0);
; return 0; }
EOF
-if { (eval echo configure:8318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8352: \"$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"
@@ -8329,9 +8363,9 @@ rm -f conftest*
echo $ac_n "checking for gethostbyaddr(const void *, size_t, ...)""... $ac_c" 1>&6
-echo "configure:8333: checking for gethostbyaddr(const void *, size_t, ...)" >&5
+echo "configure:8367: checking for gethostbyaddr(const void *, size_t, ...)" >&5
cat > conftest.$ac_ext <<EOF
-#line 8335 "configure"
+#line 8369 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8340,7 +8374,7 @@ int main() {
return(0);
; return 0; }
EOF
-if { (eval echo configure:8344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8378: \"$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"
@@ -8355,9 +8389,9 @@ rm -f conftest*
echo $ac_n "checking for h_errno in netdb.h""... $ac_c" 1>&6
-echo "configure:8359: checking for h_errno in netdb.h" >&5
+echo "configure:8393: checking for h_errno in netdb.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8361 "configure"
+#line 8395 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -8365,7 +8399,7 @@ int main() {
h_errno = 1; return(0);
; return 0; }
EOF
-if { (eval echo configure:8369: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8403: \"$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"
@@ -8380,12 +8414,12 @@ rm -f conftest*
echo $ac_n "checking for getipnodebyname""... $ac_c" 1>&6
-echo "configure:8384: checking for getipnodebyname" >&5
+echo "configure:8418: 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 8389 "configure"
+#line 8423 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getipnodebyname(); below. */
@@ -8408,7 +8442,7 @@ getipnodebyname();
; return 0; }
EOF
-if { (eval echo configure:8412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8446: \"$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
@@ -8429,12 +8463,12 @@ ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"
fi
echo $ac_n "checking for getnameinfo""... $ac_c" 1>&6
-echo "configure:8433: checking for getnameinfo" >&5
+echo "configure:8467: 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 8438 "configure"
+#line 8472 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getnameinfo(); below. */
@@ -8457,7 +8491,7 @@ getnameinfo();
; return 0; }
EOF
-if { (eval echo configure:8461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8495: \"$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
@@ -8478,12 +8512,12 @@ ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"
fi
echo $ac_n "checking for getaddrinfo""... $ac_c" 1>&6
-echo "configure:8482: checking for getaddrinfo" >&5
+echo "configure:8516: 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 8487 "configure"
+#line 8521 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getaddrinfo(); below. */
@@ -8506,7 +8540,7 @@ getaddrinfo();
; return 0; }
EOF
-if { (eval echo configure:8510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8544: \"$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
@@ -8531,12 +8565,12 @@ ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"
fi
echo $ac_n "checking for gai_strerror""... $ac_c" 1>&6
-echo "configure:8535: checking for gai_strerror" >&5
+echo "configure:8569: 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 8540 "configure"
+#line 8574 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gai_strerror(); below. */
@@ -8559,7 +8593,7 @@ gai_strerror();
; return 0; }
EOF
-if { (eval echo configure:8563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8597: \"$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
@@ -8589,9 +8623,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:8593: checking for interface list sysctl" >&5
+echo "configure:8627: checking for interface list sysctl" >&5
cat > conftest.$ac_ext <<EOF
-#line 8595 "configure"
+#line 8629 "configure"
#include "confdefs.h"
#include <sys/param.h>
@@ -8621,12 +8655,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:8625: checking for strsep" >&5
+echo "configure:8659: 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 8630 "configure"
+#line 8664 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strsep(); below. */
@@ -8649,7 +8683,7 @@ strsep();
; return 0; }
EOF
-if { (eval echo configure:8653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8687: \"$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
@@ -8670,12 +8704,12 @@ ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"
fi
echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
-echo "configure:8674: checking for vsnprintf" >&5
+echo "configure:8708: 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 8679 "configure"
+#line 8713 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vsnprintf(); below. */
@@ -8698,7 +8732,7 @@ vsnprintf();
; return 0; }
EOF
-if { (eval echo configure:8702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8736: \"$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
@@ -8723,12 +8757,12 @@ fi
echo $ac_n "checking for strerror""... $ac_c" 1>&6
-echo "configure:8727: checking for strerror" >&5
+echo "configure:8761: 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"
+#line 8766 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strerror(); below. */
@@ -8751,7 +8785,7 @@ strerror();
; return 0; }
EOF
-if { (eval echo configure:8755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8789: \"$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
@@ -8785,17 +8819,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:8789: checking printf format modifier for 64-bit integers" >&5
+echo "configure:8823: 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 8795 "configure"
+#line 8829 "configure"
#include "confdefs.h"
main() { exit(!(sizeof(long long int) == sizeof(long int))); }
EOF
-if { (eval echo configure:8799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8833: \"$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"'
@@ -8815,12 +8849,12 @@ fi
# Security Stuff
#
echo $ac_n "checking for chroot""... $ac_c" 1>&6
-echo "configure:8819: checking for chroot" >&5
+echo "configure:8853: 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 8824 "configure"
+#line 8858 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char chroot(); below. */
@@ -8843,7 +8877,7 @@ chroot();
; return 0; }
EOF
-if { (eval echo configure:8847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8881: \"$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
@@ -8877,17 +8911,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:8881: checking for $ac_hdr" >&5
+echo "configure:8915: 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 8886 "configure"
+#line 8920 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8925: \"$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*
@@ -8921,17 +8955,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:8925: checking for $ac_hdr" >&5
+echo "configure:8959: 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 8930 "configure"
+#line 8964 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8969: \"$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*
@@ -8962,9 +8996,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:8966: checking for type rlim_t" >&5
+echo "configure:9000: checking for type rlim_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 8968 "configure"
+#line 9002 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8974,7 +9008,7 @@ int main() {
rlim_t rl = 19671212; return (0);
; return 0; }
EOF
-if { (eval echo configure:8978: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9012: \"$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"
@@ -8985,12 +9019,12 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking type of rlim_cur""... $ac_c" 1>&6
-echo "configure:8989: checking type of rlim_cur" >&5
+echo "configure:9023: 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 8994 "configure"
+#line 9028 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8998,7 +9032,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(int)));}
EOF
-if { (eval echo configure:9002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9036: \"$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"
@@ -9011,7 +9045,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: this cannot happen" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 9015 "configure"
+#line 9049 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -9019,7 +9053,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit(!(sizeof(r.rlim_cur) == sizeof(long int)));}
EOF
-if { (eval echo configure:9023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9057: \"$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"
@@ -9032,7 +9066,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: this cannot happen" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 9036 "configure"
+#line 9070 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -9040,7 +9074,7 @@ else
#include <sys/resource.h>
main() { struct rlimit r; exit((!sizeof(r.rlim_cur) == sizeof(long long int)));}
EOF
-if { (eval echo configure:9044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9078: \"$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"
@@ -9164,7 +9198,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:9202: 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
@@ -9211,7 +9245,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:9215: checking for $ac_word" >&5
+echo "configure:9249: 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
@@ -9254,7 +9288,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:9258: checking for $ac_word" >&5
+echo "configure:9292: 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
@@ -9310,7 +9344,7 @@ test -n "$PDFJADETEX" || PDFJADETEX="pdfjadetex"
SGMLCATALOG=""
echo $ac_n "checking for catalog""... $ac_c" 1>&6
-echo "configure:9314: checking for catalog" >&5
+echo "configure:9348: checking for catalog" >&5
for d in $sgmltrees
do
f=$d/catalog
@@ -9352,7 +9386,7 @@ done
HTMLSTYLE=""
echo $ac_n "checking for html/docbook.dsl""... $ac_c" 1>&6
-echo "configure:9356: checking for html/docbook.dsl" >&5
+echo "configure:9390: checking for html/docbook.dsl" >&5
for d in $stylepath
do
f=$d/html/docbook.dsl
@@ -9373,7 +9407,7 @@ fi
PRINTSTYLE=""
echo $ac_n "checking for print/docbook.dsl""... $ac_c" 1>&6
-echo "configure:9377: checking for print/docbook.dsl" >&5
+echo "configure:9411: checking for print/docbook.dsl" >&5
for d in $stylepath
do
f=$d/print/docbook.dsl
@@ -9399,7 +9433,7 @@ fi
XMLDCL=""
echo $ac_n "checking for docbook/dsssl/modular/dtds/decls/xml.dcl""... $ac_c" 1>&6
-echo "configure:9403: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5
+echo "configure:9437: checking for docbook/dsssl/modular/dtds/decls/xml.dcl" >&5
for d in $sgmltrees
do
f=$d/docbook/dsssl/modular/dtds/decls/xml.dcl
@@ -9425,7 +9459,7 @@ fi
DOCBOOK2MANSPEC=""
echo $ac_n "checking for docbook2X/docbook2man-spec.pl""... $ac_c" 1>&6
-echo "configure:9429: checking for docbook2X/docbook2man-spec.pl" >&5
+echo "configure:9463: checking for docbook2X/docbook2man-spec.pl" >&5
for d in $sgmltrees
do
f=$d/docbook2X/docbook2man-spec.pl
@@ -9771,6 +9805,8 @@ s%@ISC_PLATFORM_HAVEINADDR6@%$ISC_PLATFORM_HAVEINADDR6%g
s%@LWRES_PLATFORM_HAVEINADDR6@%$LWRES_PLATFORM_HAVEINADDR6%g
s%@ISC_PLATFORM_NEEDIN6ADDRANY@%$ISC_PLATFORM_NEEDIN6ADDRANY%g
s%@LWRES_PLATFORM_NEEDIN6ADDRANY@%$LWRES_PLATFORM_NEEDIN6ADDRANY%g
+s%@ISC_PLATFORM_NEEDIN6ADDRLOOPBACK@%$ISC_PLATFORM_NEEDIN6ADDRLOOPBACK%g
+s%@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@%$LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK%g
s%@ISC_PLATFORM_HAVEIN6PKTINFO@%$ISC_PLATFORM_HAVEIN6PKTINFO%g
s%@ISC_PLATFORM_FIXIN6ISADDR@%$ISC_PLATFORM_FIXIN6ISADDR%g
s%@ISC_IPV6_H@%$ISC_IPV6_H%g
diff --git a/configure.in b/configure.in
index 00ec4acd..15ecedec 100644
--- a/configure.in
+++ b/configure.in
@@ -13,12 +13,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-dnl
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
-esyscmd([sed "s/^/# /" COPYRIGHT])dnl
-AC_DIVERT_POP()dnl
-
-AC_REVISION($Revision: 1.294.2.3 $)
+AC_REVISION($Revision: 1.294.2.5 $)
AC_INIT(lib/dns/name.c)
AC_PREREQ(2.13)
@@ -1027,6 +1022,23 @@ $isc_in_addr6_hack
ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
+ AC_MSG_CHECKING(for in6addr_loopback)
+ AC_TRY_LINK([
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+$isc_netinetin6_hack
+$isc_netinet6in6_hack
+$isc_in_addr6_hack
+],
+ [struct in6_addr in6; in6 = in6addr_loopback; return (0);],
+ [AC_MSG_RESULT(yes)
+ ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
+ LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"],
+ [AC_MSG_RESULT(no)
+ ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
+ LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"])
+
AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
AC_TRY_COMPILE([
#include <sys/types.h>
@@ -1080,6 +1092,8 @@ AC_SUBST(ISC_PLATFORM_HAVEINADDR6)
AC_SUBST(LWRES_PLATFORM_HAVEINADDR6)
AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
+AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
+AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK)
AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
AC_SUBST(ISC_IPV6_H)
diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml
index a8310050..c5eee2d2 100644
--- a/doc/arm/Bv9ARM-book.xml
+++ b/doc/arm/Bv9ARM-book.xml
@@ -2,7 +2,7 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
-<!-- File: $Id: Bv9ARM-book.xml,v 1.155.2.2 2001/10/15 18:21:25 gson Exp $ -->
+<!-- File: $Id: Bv9ARM-book.xml,v 1.155.2.9 2001/11/06 01:57:19 gson Exp $ -->
<book>
<title>BIND 9 Administrator Reference Manual</title>
@@ -158,8 +158,8 @@ domain.</para>
<para>For example, a domain name for a host at the
company <emphasis>Example, Inc.</emphasis> could be
-<literal>mail.example.net</literal>,
-were <literal>com</literal> is the
+<literal>mail.example.com</literal>,
+where <literal>com</literal> is the
top level domain to which
<literal>ourhost.example.com</literal> belongs,
<literal>example</literal> is
@@ -764,7 +764,11 @@ of a server.</para>
</varlistentry>
<varlistentry><term><userinput>querylog</userinput></term>
- <listitem><para>Toggle query logging.</para></listitem></varlistentry>
+ <listitem><para>Toggle query logging. Query logging can also be enabled
+ by explictly directing the <command>queries</command>
+ <command>category</command> to a <command>channel</command> in the
+ <command>logging</command> section of
+ <filename>named.conf</filename>.</para></listitem></varlistentry>
<varlistentry><term><userinput>dumpdb</userinput></term>
<listitem><para>Dump the server's caches to the dump file. </para></listitem></varlistentry>
@@ -1140,7 +1144,7 @@ options {
...
};
-zone "site1.example.com" { // sample slave zone
+zone "site1.example.com" { // sample master zone
type master;
file "m/site1.example.com";
forwarders { }; // do normal iterative
@@ -1428,9 +1432,10 @@ allow-update { key host1-host2. ;};
the zone keys of any secure delegated zones. Zone keys must
have the same name as the zone, a name type of
<command>ZONE</command>, and must be usable for authentication.
- It is recommended that zone keys be mandatory to implement a
- cryptographic algorithm; currently the only key mandatory to
- implement an algorithm is DSA.</para>
+ It is recommended that zone keys use a cryptographic algorithm
+ designated as "mandatory to implement" by the IETF; currently
+ these are RSASHA1 (which is not yet supported in BIND 9.2)
+ and DSA.</para>
<para>The following command will generate a 768 bit DSA key for
the <filename>child.example</filename> zone:</para>
@@ -1789,7 +1794,7 @@ that is distinct from and simpler than the full DNS protocol.</para></sect1>
run the resolver daemon <command>lwresd</command>.</para>
<para>By default, applications using the lightweight resolver library will make
UDP requests to the IPv4 loopback address (127.0.0.1) on port 921. The
-address can be overriden by <command>lwserver</command> lines in
+address can be overridden by <command>lwserver</command> lines in
<filename>/etc/resolv.conf</filename>.
The daemon will try to find the answer to the questions "what are the
addresses for host
@@ -1894,9 +1899,9 @@ separated by semicolons and ending with a semicolon.</para></entry>
</row>
<row rowsep = "0">
<entry colname = "1"><para><varname>number</varname></para></entry>
-<entry colname = "2"><para>A non-negative integer with an entire
-range limited by the range of a C language signed integer (2,147,483,647
-on a machine with 32 bit integers). Its acceptable value might further
+<entry colname = "2"><para>A non-negative 32 bit unsigned integer
+(i.e., a number between 0 and 4294967295, inclusive).
+Its acceptable value might further
be limited by the context in which it is used.</para></entry>
</row>
<row rowsep = "0">
@@ -1907,18 +1912,17 @@ a pathname, such as <filename>zones/master/my.test.domain</filename>.</para></en
<row rowsep = "0">
<entry colname = "1"><para><varname>size_spec</varname></para></entry>
<entry colname = "2"><para>A number, the word <userinput>unlimited</userinput>,
-or the word <userinput>default</userinput>.</para><para>The maximum
-value of <varname>size_spec</varname> is that of unsigned long integers
-on the machine. An <varname>unlimited</varname> <varname>size_spec</varname> requests unlimited
+or the word <userinput>default</userinput>.</para><para>
+An <varname>unlimited</varname> <varname>size_spec</varname> requests unlimited
use, or the maximum available amount. A <varname>default size_spec</varname> uses
the limit that was in force when the server was started.</para><para>A <varname>number</varname> can
optionally be followed by a scaling factor: <userinput>K</userinput> or <userinput>k</userinput> for
kilobytes, <userinput>M</userinput> or <userinput>m</userinput> for
megabytes, and <userinput>G</userinput> or <userinput>g</userinput> for gigabytes,
-which scale by 1024, 1024*1024, and 1024*1024*1024 respectively.</para><para>Integer
-storage overflow is currently silently ignored during conversion
-of scaled values, resulting in values less than intended, possibly
-even negative. Using <varname>unlimited</varname> is the best way
+which scale by 1024, 1024*1024, and 1024*1024*1024 respectively.</para>
+<para>The value must be representable as a 64-bit unsigned integer
+(0 to 18446744073709551615, inclusive).
+ Using <varname>unlimited</varname> is the best way
to safely set a really large number.</para></entry>
</row>
<row rowsep = "0">
@@ -2151,7 +2155,7 @@ Usage</title>
<para>The following ACLs are built-in:</para>
- <informaltable colsep = "0" rowsep = "0"><tgroup cols = "2"
+<informaltable colsep = "0" rowsep = "0"><tgroup cols = "2"
colsep = "0" rowsep = "0" tgroupstyle = "3Level-table">
<colspec colname = "1" colnum = "1" colsep = "0" colwidth = "1.130in"/>
<colspec colname = "2" colnum = "2" colsep = "0" colwidth = "4.000in"/>
@@ -2166,18 +2170,27 @@ Usage</title>
</row>
<row rowsep = "0">
<entry colname = "1"><para><command>localhost</command></para></entry>
-<entry colname = "2"><para>Matches the IP addresses of all interfaces
-on the system.</para></entry>
+<entry colname = "2"><para>Matches the IPv4 addresses of all network
+interfaces on the system.</para></entry>
</row>
<row rowsep = "0">
<entry colname = "1"><para><command>localnets</command></para></entry>
-<entry colname = "2"><para>Matches any host on a network for which
+<entry colname = "2"><para>Matches any host on an IPv4 network for which
the system has an interface.</para></entry>
</row>
</tbody>
</tgroup></informaltable>
- </sect2>
- <sect2>
+
+<para>The <command>localhost</command> and <command>localnets</command>
+ACLs do not currently support IPv6 (that is,
+<command>localhost</command> does not match the host's IPv6 addresses,
+and <command>localnets</command> does not match the host's attached
+IPv6 networks) due to the lack of a standard method of determining the
+complete set of local IPv6 addresses for a host.
+</para>
+
+</sect2>
+<sect2>
<title><command>controls</command> Statement Grammar</title>
<programlisting><command>controls</command> {
inet ( ip_addr | * ) <optional> port ip_port </optional> allow { <replaceable> address_match_list </replaceable> }
@@ -2503,7 +2516,7 @@ used is described in <xref linkend="the_category_phrase"/>.
</para>
<programlisting>channel "default_syslog" {
- syslog daemon; // end to syslog's daemon
+ syslog daemon; // send to syslog's daemon
// facility
severity info; // only send priority info
// and higher
@@ -2648,7 +2661,7 @@ the <command>null</command> channel.</para></entry>
</row>
<row rowsep = "0">
<entry colname = "1"><para><command>queries</command></para></entry>
-<entry colname = "2"><para>Queries.</para></entry>
+<entry colname = "2"><para>Queries. Using the category <command>queries</command> will enable query logging.</para></entry>
</row>
<row rowsep = "0">
<entry colname = "1"><para><command>dispatch</command></para></entry>
@@ -2909,11 +2922,7 @@ receiving and sending DNS protocol traffic.
The default is 53. This option is mainly intended for server testing;
a server using a port other than 53 will not be able to communicate with
the global DNS.
-The <command>port</command> option should be placed at
-the beginning of the options block, before
-any other options that take port numbers or IP addresses,
-to ensure that the port value takes effect for all addresses
-used by the server.</para>
+</para>
</listitem></varlistentry>
<varlistentry><term><command>random-device</command></term>
@@ -3398,7 +3407,7 @@ hour).</para>
<listitem><para>Slave servers will periodically query master servers
to find out if zone serial numbers have changed. Each such query uses
a minute amount of the slave server's network bandwidth. To limit the
-amount of bandwith used, BIND 9 limits the rate at which queries are
+amount of bandwidth used, BIND 9 limits the rate at which queries are
sent. The value of the <command>serial-query-rate</command> option,
an integer, is the maximum number of queries sent per second.
The default is 20.
@@ -4294,7 +4303,7 @@ of type <command>forward</command> can contain a <command>forward</command> and/
which will apply to queries within the domain given by the zone
name. If no <command>forwarders</command> statement is present or
an empty list for <command>forwarders</command> is given, then no
-forwarding will be done for the domain, cancelling the effects of
+forwarding will be done for the domain, canceling the effects of
any forwarders in the <command>options</command> statement. Thus
if you want to use this type of zone to change the behavior of the
global <command>forward</command> option (that is, "forward first
@@ -4392,7 +4401,7 @@ The default is the empty list.</para>
<listitem><para>
This option was used in BIND 8 to restrict the character set of
domain names in master files and/or DNS responses received from the
-netowrk. BIND 9 does not restrict the character set of domain names
+network. BIND 9 does not restrict the character set of domain names
and does not implement the <command>check-names</command> option.
</para>
</listitem></varlistentry>
diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html
index 329908d7..2fab0b46 100644
--- a/doc/arm/Bv9ARM.ch01.html
+++ b/doc/arm/Bv9ARM.ch01.html
@@ -529,9 +529,9 @@ CLASS="emphasis"
> could be
<TT
CLASS="literal"
->mail.example.net</TT
+>mail.example.com</TT
>,
-were <TT
+where <TT
CLASS="literal"
>com</TT
> is the
diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html
index 6cb39c70..f5b86695 100644
--- a/doc/arm/Bv9ARM.ch03.html
+++ b/doc/arm/Bv9ARM.ch03.html
@@ -984,7 +984,26 @@ CLASS="userinput"
></DT
><DD
><P
->Toggle query logging.</P
+>Toggle query logging. Query logging can also be enabled
+ by explictly directing the <B
+CLASS="command"
+>queries</B
+>
+ <B
+CLASS="command"
+>category</B
+> to a <B
+CLASS="command"
+>channel</B
+> in the
+ <B
+CLASS="command"
+>logging</B
+> section of
+ <TT
+CLASS="filename"
+>named.conf</TT
+>.</P
></DD
><DT
><TT
@@ -1372,7 +1391,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN656"
+NAME="AEN661"
>3.4.2. Signals</A
></H2
><P
@@ -1385,7 +1404,7 @@ CLASS="command"
><DIV
CLASS="informaltable"
><A
-NAME="AEN660"
+NAME="AEN665"
></A
><P
></P
diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html
index c2651b2d..b2fe20a4 100644
--- a/doc/arm/Bv9ARM.ch04.html
+++ b/doc/arm/Bv9ARM.ch04.html
@@ -88,7 +88,7 @@ HREF="Bv9ARM.ch04.html#incremental_zone_transfers"
></DT
><DT
>4.3. <A
-HREF="Bv9ARM.ch04.html#AEN720"
+HREF="Bv9ARM.ch04.html#AEN725"
>Split DNS</A
></DT
><DT
@@ -98,12 +98,12 @@ HREF="Bv9ARM.ch04.html#tsig"
></DT
><DT
>4.5. <A
-HREF="Bv9ARM.ch04.html#AEN880"
+HREF="Bv9ARM.ch04.html#AEN885"
>TKEY</A
></DT
><DT
>4.6. <A
-HREF="Bv9ARM.ch04.html#AEN895"
+HREF="Bv9ARM.ch04.html#AEN900"
>SIG(0)</A
></DT
><DT
@@ -113,7 +113,7 @@ HREF="Bv9ARM.ch04.html#DNSSEC"
></DT
><DT
>4.8. <A
-HREF="Bv9ARM.ch04.html#AEN980"
+HREF="Bv9ARM.ch04.html#AEN985"
>IPv6 Support in <SPAN
CLASS="acronym"
>BIND</SPAN
@@ -274,7 +274,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN720"
+NAME="AEN725"
>4.3. Split DNS</A
></H1
><P
@@ -535,7 +535,7 @@ CLASS="varname"
...
};
-zone "site1.example.com" { // sample slave zone
+zone "site1.example.com" { // sample master zone
type master;
file "m/site1.example.com";
forwarders { }; // do normal iterative
@@ -672,7 +672,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN811"
+NAME="AEN816"
>4.4.1. Generate Shared Keys for Each Pair of Hosts</A
></H2
><P
@@ -690,7 +690,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN816"
+NAME="AEN821"
>4.4.1.1. Automatic Generation</A
></H3
><P
@@ -732,7 +732,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN827"
+NAME="AEN832"
>4.4.1.2. Manual Generation</A
></H3
><P
@@ -753,7 +753,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN832"
+NAME="AEN837"
>4.4.2. Copying the Shared Secret to Both Machines</A
></H2
><P
@@ -765,7 +765,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN835"
+NAME="AEN840"
>4.4.3. Informing the Servers of the Key's Existence</A
></H2
><P
@@ -813,7 +813,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN847"
+NAME="AEN852"
>4.4.4. Instructing the Server to Use the Key</A
></H2
><P
@@ -873,7 +873,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN863"
+NAME="AEN868"
>4.4.5. TSIG Key Based Access Control</A
></H2
><P
@@ -919,7 +919,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN876"
+NAME="AEN881"
>4.4.6. Errors</A
></H2
><P
@@ -948,7 +948,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN880"
+NAME="AEN885"
>4.5. TKEY</A
></H1
><P
@@ -1014,7 +1014,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN895"
+NAME="AEN900"
>4.6. SIG(0)</A
></H1
><P
@@ -1086,7 +1086,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN912"
+NAME="AEN917"
>4.7.1. Generating Keys</A
></H2
><P
@@ -1104,9 +1104,10 @@ CLASS="command"
CLASS="command"
>ZONE</B
>, and must be usable for authentication.
- It is recommended that zone keys be mandatory to implement a
- cryptographic algorithm; currently the only key mandatory to
- implement an algorithm is DSA.</P
+ It is recommended that zone keys use a cryptographic algorithm
+ designated as "mandatory to implement" by the IETF; currently
+ these are RSASHA1 (which is not yet supported in BIND 9.2)
+ and DSA.</P
><P
>The following command will generate a 768 bit DSA key for
the <TT
@@ -1165,7 +1166,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN932"
+NAME="AEN937"
>4.7.2. Creating a Keyset</A
></H2
><P
@@ -1218,7 +1219,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN944"
+NAME="AEN949"
>4.7.3. Signing the Child's Keyset</A
></H2
><P
@@ -1268,7 +1269,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN957"
+NAME="AEN962"
>4.7.4. Signing the Zone</A
></H2
><P
@@ -1330,7 +1331,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN973"
+NAME="AEN978"
>4.7.5. Configuring Servers</A
></H2
><P
@@ -1358,7 +1359,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN980"
+NAME="AEN985"
>4.8. IPv6 Support in <SPAN
CLASS="acronym"
>BIND</SPAN
@@ -1418,7 +1419,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN996"
+NAME="AEN1001"
>4.8.1. Address Lookups Using AAAA Records</A
></H2
><P
@@ -1440,7 +1441,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1001"
+NAME="AEN1006"
>4.8.2. Address Lookups Using A6 Records</A
></H2
><P
@@ -1460,7 +1461,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1005"
+NAME="AEN1010"
>4.8.2.1. A6 Chains</A
></H3
><P
@@ -1506,7 +1507,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1016"
+NAME="AEN1021"
>4.8.2.2. A6 Records for DNS Servers</A
></H3
><P
@@ -1536,7 +1537,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1022"
+NAME="AEN1027"
>4.8.3. Address to Name Lookups Using Nibble Format</A
></H2
><P
@@ -1567,7 +1568,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1029"
+NAME="AEN1034"
>4.8.4. Address to Name Lookups Using Bitstring Format</A
></H2
><P
@@ -1594,7 +1595,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1036"
+NAME="AEN1041"
>4.8.5. Using DNAME for Delegation of IPv6 Reverse Addresses</A
></H2
><P
diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html
index c23e8fcd..f2157347 100644
--- a/doc/arm/Bv9ARM.ch05.html
+++ b/doc/arm/Bv9ARM.ch05.html
@@ -81,7 +81,7 @@ CLASS="TOC"
></DT
><DT
>5.1. <A
-HREF="Bv9ARM.ch05.html#AEN1056"
+HREF="Bv9ARM.ch05.html#AEN1061"
>The Lightweight Resolver Library</A
></DT
><DT
@@ -96,7 +96,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN1056"
+NAME="AEN1061"
>5.1. The Lightweight Resolver Library</A
></H1
><P
@@ -135,7 +135,7 @@ CLASS="command"
><P
>By default, applications using the lightweight resolver library will make
UDP requests to the IPv4 loopback address (127.0.0.1) on port 921. The
-address can be overriden by <B
+address can be overridden by <B
CLASS="command"
>lwserver</B
> lines in
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index bb42cf3d..9dd4fff0 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -91,7 +91,7 @@ HREF="Bv9ARM.ch06.html#Configuration_File_Grammar"
></DT
><DT
>6.3. <A
-HREF="Bv9ARM.ch06.html#AEN3515"
+HREF="Bv9ARM.ch06.html#AEN3526"
>Zone File</A
></DT
></DL
@@ -145,7 +145,7 @@ file documentation:</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN1098"
+NAME="AEN1103"
></A
><P
></P
@@ -740,7 +740,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1261"
+NAME="AEN1266"
>6.1.1.1. Syntax</A
></H3
><PRE
@@ -771,7 +771,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1269"
+NAME="AEN1274"
>6.1.1.2. Definition and Usage</A
></H3
><P
@@ -882,7 +882,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1298"
+NAME="AEN1303"
>6.1.2. Comment Syntax</A
></H2
><P
@@ -901,7 +901,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1303"
+NAME="AEN1308"
>6.1.2.1. Syntax</A
></H3
><P
@@ -933,7 +933,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1312"
+NAME="AEN1317"
>6.1.2.2. Definition and Usage</A
></H3
><P
@@ -1043,7 +1043,7 @@ CLASS="acronym"
><DIV
CLASS="informaltable"
><A
-NAME="AEN1336"
+NAME="AEN1341"
></A
><P
></P
@@ -1271,7 +1271,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1405"
+NAME="AEN1410"
>6.2.1. <B
CLASS="command"
>acl</B
@@ -1318,7 +1318,7 @@ CLASS="command"
><DIV
CLASS="informaltable"
><A
-NAME="AEN1418"
+NAME="AEN1423"
></A
><P
></P
@@ -1381,8 +1381,8 @@ WIDTH="384"
ALIGN="LEFT"
VALIGN="MIDDLE"
><P
->Matches the IP addresses of all interfaces
-on the system.</P
+>Matches the IPv4 addresses of all network
+interfaces on the system.</P
></TD
></TR
><TR
@@ -1401,7 +1401,7 @@ WIDTH="384"
ALIGN="LEFT"
VALIGN="MIDDLE"
><P
->Matches any host on a network for which
+>Matches any host on an IPv4 network for which
the system has an interface.</P
></TD
></TR
@@ -1410,13 +1410,33 @@ the system has an interface.</P
><P
></P
></DIV
+><P
+>The <B
+CLASS="command"
+>localhost</B
+> and <B
+CLASS="command"
+>localnets</B
+>
+ACLs do not currently support IPv6 (that is,
+<B
+CLASS="command"
+>localhost</B
+> does not match the host's IPv6 addresses,
+and <B
+CLASS="command"
+>localnets</B
+> does not match the host's attached
+IPv6 networks) due to the lack of a standard method of determining the
+complete set of local IPv6 addresses for a host.
+</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1447"
+NAME="AEN1457"
>6.2.3. <B
CLASS="command"
>controls</B
@@ -1683,7 +1703,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1511"
+NAME="AEN1521"
>6.2.5. <B
CLASS="command"
>include</B
@@ -1703,7 +1723,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1516"
+NAME="AEN1526"
>6.2.6. <B
CLASS="command"
>include</B
@@ -1732,7 +1752,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1523"
+NAME="AEN1533"
>6.2.7. <B
CLASS="command"
>key</B
@@ -1766,7 +1786,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1530"
+NAME="AEN1540"
>6.2.8. <B
CLASS="command"
>key</B
@@ -1844,7 +1864,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1548"
+NAME="AEN1558"
>6.2.9. <B
CLASS="command"
>logging</B
@@ -2004,7 +2024,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1588"
+NAME="AEN1598"
>6.2.10. <B
CLASS="command"
>logging</B
@@ -2067,7 +2087,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN1604"
+NAME="AEN1614"
>6.2.10.1. The <B
CLASS="command"
>channel</B
@@ -2509,7 +2529,7 @@ CLASS="acronym"
><DIV
CLASS="informaltable"
><A
-NAME="AEN1708"
+NAME="AEN1718"
></A
><P
></P
@@ -2799,7 +2819,10 @@ WIDTH="322"
ALIGN="LEFT"
VALIGN="MIDDLE"
><P
->Queries.</P
+>Queries. Using the category <B
+CLASS="command"
+>queries</B
+> will enable query logging.</P
></TD
></TR
><TR
@@ -2877,7 +2900,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1818"
+NAME="AEN1829"
>6.2.11. <B
CLASS="command"
>lwres</B
@@ -2974,7 +2997,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1842"
+NAME="AEN1853"
>6.2.12. <B
CLASS="command"
>lwres</B
@@ -3048,7 +3071,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN1861"
+NAME="AEN1872"
>6.2.13. <B
CLASS="command"
>options</B
@@ -4007,7 +4030,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN2079"
+NAME="AEN2090"
>6.2.14. <B
CLASS="command"
>options</B
@@ -4997,7 +5020,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2380"
+NAME="AEN2391"
>6.2.14.2. Forwarding</A
></H3
><P
@@ -5201,7 +5224,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2445"
+NAME="AEN2456"
>6.2.14.4. Interfaces</A
></H3
><P
@@ -5296,7 +5319,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2471"
+NAME="AEN2482"
>6.2.14.5. Query Address</A
></H3
><P
@@ -5461,7 +5484,7 @@ CLASS="command"
>Slave servers will periodically query master servers
to find out if zone serial numbers have changed. Each such query uses
a minute amount of the slave server's network bandwidth. To limit the
-amount of bandwith used, BIND 9 limits the rate at which queries are
+amount of bandwidth used, BIND 9 limits the rate at which queries are
sent. The value of the <B
CLASS="command"
>serial-query-rate</B
@@ -5728,7 +5751,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2610"
+NAME="AEN2621"
>6.2.14.7. Operating System Resource Limits</A
></H3
><P
@@ -5848,7 +5871,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2647"
+NAME="AEN2658"
>6.2.14.8. Server Resource Limits</A
></H3
><P
@@ -5932,7 +5955,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN2675"
+NAME="AEN2686"
>6.2.14.9. Periodic Task Intervals</A
></H3
><P
@@ -6299,7 +6322,7 @@ CLASS="command"
><DIV
CLASS="informaltable"
><A
-NAME="AEN2763"
+NAME="AEN2774"
></A
><P
></P
@@ -6686,7 +6709,7 @@ number is identical to the number in the beginning line.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN2875"
+NAME="AEN2886"
></A
><P
></P
@@ -7122,7 +7145,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN2990"
+NAME="AEN3001"
>6.2.17. <B
CLASS="command"
>trusted-keys</B
@@ -7197,7 +7220,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3006"
+NAME="AEN3017"
>6.2.18. <B
CLASS="command"
>trusted-keys</B
@@ -7232,7 +7255,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3014"
+NAME="AEN3025"
>6.2.19. <B
CLASS="command"
>view</B
@@ -7307,7 +7330,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3030"
+NAME="AEN3041"
>6.2.20. <B
CLASS="command"
>view</B
@@ -7958,7 +7981,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3181"
+NAME="AEN3192"
>6.2.22. <B
CLASS="command"
>zone</B
@@ -7969,13 +7992,13 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3184"
+NAME="AEN3195"
>6.2.22.1. Zone Types</A
></H3
><DIV
CLASS="informaltable"
><A
-NAME="AEN3186"
+NAME="AEN3197"
></A
><P
></P
@@ -8163,7 +8186,7 @@ an empty list for <B
CLASS="command"
>forwarders</B
> is given, then no
-forwarding will be done for the domain, cancelling the effects of
+forwarding will be done for the domain, canceling the effects of
any forwarders in the <B
CLASS="command"
>options</B
@@ -8213,7 +8236,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3241"
+NAME="AEN3252"
>6.2.22.2. Class</A
></H3
><P
@@ -8251,7 +8274,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3251"
+NAME="AEN3262"
>6.2.22.3. Zone Options</A
></H3
><P
@@ -8419,7 +8442,7 @@ CLASS="command"
><P
>&#13;This option was used in BIND 8 to restrict the character set of
domain names in master files and/or DNS responses received from the
-netowrk. BIND 9 does not restrict the character set of domain names
+network. BIND 9 does not restrict the character set of domain names
and does not implement the <B
CLASS="command"
>check-names</B
@@ -8892,7 +8915,7 @@ CLASS="varname"
><DIV
CLASS="informaltable"
><A
-NAME="AEN3485"
+NAME="AEN3496"
></A
><P
></P
@@ -8999,7 +9022,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN3515"
+NAME="AEN3526"
>6.3. Zone File</A
></H1
><DIV
@@ -9020,7 +9043,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3520"
+NAME="AEN3531"
>6.3.1.1. Resource Records</A
></H3
><P
@@ -9043,7 +9066,7 @@ HREF="Bv9ARM.ch06.html#rrset_ordering"
><DIV
CLASS="informaltable"
><A
-NAME="AEN3526"
+NAME="AEN3537"
></A
><P
></P
@@ -9154,7 +9177,7 @@ or historical (h) and no longer in general use):</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3558"
+NAME="AEN3569"
></A
><P
></P
@@ -9531,7 +9554,7 @@ are currently valid in the DNS:</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3670"
+NAME="AEN3681"
></A
><P
></P
@@ -9583,7 +9606,7 @@ data that describes the resource:</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3686"
+NAME="AEN3697"
></A
><P
></P
@@ -9760,7 +9783,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3734"
+NAME="AEN3745"
>6.3.1.2. Textual expression of RRs</A
></H3
><P
@@ -9790,7 +9813,7 @@ knowledge of the typical representation for the data.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3741"
+NAME="AEN3752"
></A
><P
></P
@@ -9999,7 +10022,7 @@ domain names.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3807"
+NAME="AEN3818"
></A
><P
></P
@@ -10090,7 +10113,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3835"
+NAME="AEN3846"
>6.3.2. Discussion of MX Records</A
></H2
><P
@@ -10123,7 +10146,7 @@ pointed to by the CNAME.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3841"
+NAME="AEN3852"
></A
><P
></P
@@ -10419,7 +10442,7 @@ used in a zone file.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN3933"
+NAME="AEN3944"
></A
><P
></P
@@ -10502,7 +10525,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3956"
+NAME="AEN3967"
>6.3.4. Inverse Mapping in IPv4</A
></H2
><P
@@ -10526,7 +10549,7 @@ CLASS="optional"
><DIV
CLASS="informaltable"
><A
-NAME="AEN3961"
+NAME="AEN3972"
></A
><P
></P
@@ -10606,7 +10629,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN3983"
+NAME="AEN3994"
>6.3.5. Other Zone File Directives</A
></H2
><P
@@ -10631,7 +10654,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN3990"
+NAME="AEN4001"
>6.3.5.1. The <B
CLASS="command"
>$ORIGIN</B
@@ -10701,7 +10724,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN4010"
+NAME="AEN4021"
>6.3.5.2. The <B
CLASS="command"
>$INCLUDE</B
@@ -10783,7 +10806,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN4030"
+NAME="AEN4041"
>6.3.5.3. The <B
CLASS="command"
>$TTL</B
@@ -10823,7 +10846,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4041"
+NAME="AEN4052"
>6.3.6. <SPAN
CLASS="acronym"
>BIND</SPAN
@@ -10902,7 +10925,7 @@ CLASS="literal"
><DIV
CLASS="informaltable"
><A
-NAME="AEN4061"
+NAME="AEN4072"
></A
><P
></P
diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html
index 5b9904f9..9c71693b 100644
--- a/doc/arm/Bv9ARM.ch07.html
+++ b/doc/arm/Bv9ARM.ch07.html
@@ -86,7 +86,7 @@ HREF="Bv9ARM.ch07.html#Access_Control_Lists"
></DT
><DT
>7.2. <A
-HREF="Bv9ARM.ch07.html#AEN4133"
+HREF="Bv9ARM.ch07.html#AEN4144"
><B
CLASS="command"
>chroot</B
@@ -188,7 +188,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4133"
+NAME="AEN4144"
>7.2. <B
CLASS="command"
>chroot</B
@@ -267,7 +267,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4156"
+NAME="AEN4167"
>7.2.1. The <B
CLASS="command"
>chroot</B
@@ -340,7 +340,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4174"
+NAME="AEN4185"
>7.2.2. Using the <B
CLASS="command"
>setuid</B
diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html
index cd4bd209..501be208 100644
--- a/doc/arm/Bv9ARM.ch08.html
+++ b/doc/arm/Bv9ARM.ch08.html
@@ -78,17 +78,17 @@ CLASS="TOC"
></DT
><DT
>8.1. <A
-HREF="Bv9ARM.ch08.html#AEN4195"
+HREF="Bv9ARM.ch08.html#AEN4206"
>Common Problems</A
></DT
><DT
>8.2. <A
-HREF="Bv9ARM.ch08.html#AEN4200"
+HREF="Bv9ARM.ch08.html#AEN4211"
>Incrementing and Changing the Serial Number</A
></DT
><DT
>8.3. <A
-HREF="Bv9ARM.ch08.html#AEN4205"
+HREF="Bv9ARM.ch08.html#AEN4216"
>Where Can I Get Help?</A
></DT
></DL
@@ -98,7 +98,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4195"
+NAME="AEN4206"
>8.1. Common Problems</A
></H1
><DIV
@@ -106,7 +106,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4197"
+NAME="AEN4208"
>8.1.1. It's not working; how can I figure out what's wrong?</A
></H2
><P
@@ -122,7 +122,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4200"
+NAME="AEN4211"
>8.2. Incrementing and Changing the Serial Number</A
></H1
><P
@@ -151,7 +151,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4205"
+NAME="AEN4216"
>8.3. Where Can I Get Help?</A
></H1
><P
diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html
index 0dd8ff44..8deff7d1 100644
--- a/doc/arm/Bv9ARM.ch09.html
+++ b/doc/arm/Bv9ARM.ch09.html
@@ -72,7 +72,7 @@ CLASS="TOC"
></DT
><DT
>A.1. <A
-HREF="Bv9ARM.ch09.html#AEN4221"
+HREF="Bv9ARM.ch09.html#AEN4232"
>Acknowledgements</A
></DT
><DT
@@ -85,7 +85,7 @@ CLASS="acronym"
></DT
><DT
>A.3. <A
-HREF="Bv9ARM.ch09.html#AEN4262"
+HREF="Bv9ARM.ch09.html#AEN4273"
>General <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -103,7 +103,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4221"
+NAME="AEN4232"
>A.1. Acknowledgements</A
></H1
><DIV
@@ -111,7 +111,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4223"
+NAME="AEN4234"
>A.1.1. A Brief History of the <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -246,7 +246,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN4253"
+NAME="AEN4264"
>A.2.1.1. HS = hesiod</A
></H3
><P
@@ -267,7 +267,7 @@ CLASS="sect3"
><H3
CLASS="sect3"
><A
-NAME="AEN4258"
+NAME="AEN4269"
>A.2.1.2. CH = chaos</A
></H3
><P
@@ -285,7 +285,7 @@ CLASS="sect1"
><H1
CLASS="sect1"
><A
-NAME="AEN4262"
+NAME="AEN4273"
>A.3. General <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -324,7 +324,7 @@ Unicast address scheme. For more information, see RFC 2374.</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN4273"
+NAME="AEN4284"
></A
><P
></P
@@ -543,7 +543,7 @@ VALIGN="MIDDLE"
<DIV
CLASS="informaltable"
><A
-NAME="AEN4342"
+NAME="AEN4353"
></A
><P
></P
@@ -726,7 +726,7 @@ unicast address consists of:</P
><DIV
CLASS="informaltable"
><A
-NAME="AEN4397"
+NAME="AEN4408"
></A
><P
></P
@@ -886,19 +886,19 @@ TARGET="_top"
</P
><H3
><A
-NAME="AEN4441"
+NAME="AEN4452"
>Bibliography</A
></H3
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4442"
+NAME="AEN4453"
>Standards</A
></H1
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4444"
+NAME="AEN4455"
></A
><P
>[RFC974]&nbsp;<SPAN
@@ -915,7 +915,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4451"
+NAME="AEN4462"
></A
><P
>[RFC1034]&nbsp;<SPAN
@@ -932,7 +932,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4458"
+NAME="AEN4469"
></A
><P
>[RFC1035]&nbsp;<SPAN
@@ -956,7 +956,7 @@ NAME="proposed_standards"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4467"
+NAME="AEN4478"
></A
><P
>[RFC2181]&nbsp;<SPAN
@@ -976,7 +976,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4475"
+NAME="AEN4486"
></A
><P
>[RFC2308]&nbsp;<SPAN
@@ -996,7 +996,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4483"
+NAME="AEN4494"
></A
><P
>[RFC1995]&nbsp;<SPAN
@@ -1016,7 +1016,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4491"
+NAME="AEN4502"
></A
><P
>[RFC1996]&nbsp;<SPAN
@@ -1033,7 +1033,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4498"
+NAME="AEN4509"
></A
><P
>[RFC2136]&nbsp;<SPAN
@@ -1059,7 +1059,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4515"
+NAME="AEN4526"
></A
><P
>[RFC2845]&nbsp;<SPAN
@@ -1088,13 +1088,13 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4534"
+NAME="AEN4545"
>Proposed Standards Still Under Development</A
></H1
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4539"
+NAME="AEN4550"
></A
><P
>[RFC1886]&nbsp;<SPAN
@@ -1117,7 +1117,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4551"
+NAME="AEN4562"
></A
><P
>[RFC2065]&nbsp;<SPAN
@@ -1137,7 +1137,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4563"
+NAME="AEN4574"
></A
><P
>[RFC2137]&nbsp;<SPAN
@@ -1154,7 +1154,7 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4571"
+NAME="AEN4582"
>Other Important RFCs About <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -1163,7 +1163,7 @@ CLASS="acronym"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4574"
+NAME="AEN4585"
></A
><P
>[RFC1535]&nbsp;<SPAN
@@ -1183,7 +1183,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4582"
+NAME="AEN4593"
></A
><P
>[RFC1536]&nbsp;<SPAN
@@ -1215,7 +1215,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4603"
+NAME="AEN4614"
></A
><P
>[RFC1982]&nbsp;<SPAN
@@ -1235,13 +1235,13 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4614"
+NAME="AEN4625"
>Resource Record Types</A
></H1
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4616"
+NAME="AEN4627"
></A
><P
>[RFC1183]&nbsp;<SPAN
@@ -1270,7 +1270,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4634"
+NAME="AEN4645"
></A
><P
>[RFC1706]&nbsp;<SPAN
@@ -1293,7 +1293,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4646"
+NAME="AEN4657"
></A
><P
>[RFC2168]&nbsp;<SPAN
@@ -1314,7 +1314,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4657"
+NAME="AEN4668"
></A
><P
>[RFC1876]&nbsp;<SPAN
@@ -1341,7 +1341,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4674"
+NAME="AEN4685"
></A
><P
>[RFC2052]&nbsp;<SPAN
@@ -1365,7 +1365,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4686"
+NAME="AEN4697"
></A
><P
>[RFC2163]&nbsp;<SPAN
@@ -1386,7 +1386,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4694"
+NAME="AEN4705"
></A
><P
>[RFC2230]&nbsp;<SPAN
@@ -1406,7 +1406,7 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4702"
+NAME="AEN4713"
><SPAN
CLASS="acronym"
>DNS</SPAN
@@ -1415,7 +1415,7 @@ CLASS="acronym"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4705"
+NAME="AEN4716"
></A
><P
>[RFC1101]&nbsp;<SPAN
@@ -1435,7 +1435,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4713"
+NAME="AEN4724"
></A
><P
>[RFC1123]&nbsp;<SPAN
@@ -1452,7 +1452,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4720"
+NAME="AEN4731"
></A
><P
>[RFC1591]&nbsp;<SPAN
@@ -1469,7 +1469,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4727"
+NAME="AEN4738"
></A
><P
>[RFC2317]&nbsp;<SPAN
@@ -1492,7 +1492,7 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4741"
+NAME="AEN4752"
><SPAN
CLASS="acronym"
>DNS</SPAN
@@ -1501,7 +1501,7 @@ CLASS="acronym"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4744"
+NAME="AEN4755"
></A
><P
>[RFC1537]&nbsp;<SPAN
@@ -1521,7 +1521,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4752"
+NAME="AEN4763"
></A
><P
>[RFC1912]&nbsp;<SPAN
@@ -1541,7 +1541,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4760"
+NAME="AEN4771"
></A
><P
>[RFC1912]&nbsp;<SPAN
@@ -1561,7 +1561,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4768"
+NAME="AEN4779"
></A
><P
>[RFC2010]&nbsp;<SPAN
@@ -1581,7 +1581,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4779"
+NAME="AEN4790"
></A
><P
>[RFC2219]&nbsp;<SPAN
@@ -1604,7 +1604,7 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4791"
+NAME="AEN4802"
>Other <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -1613,7 +1613,7 @@ CLASS="acronym"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4797"
+NAME="AEN4808"
></A
><P
>[RFC1464]&nbsp;<SPAN
@@ -1630,7 +1630,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4804"
+NAME="AEN4815"
></A
><P
>[RFC1713]&nbsp;<SPAN
@@ -1650,7 +1650,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4812"
+NAME="AEN4823"
></A
><P
>[RFC1794]&nbsp;<SPAN
@@ -1670,7 +1670,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4820"
+NAME="AEN4831"
></A
><P
>[RFC2240]&nbsp;<SPAN
@@ -1687,7 +1687,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4827"
+NAME="AEN4838"
></A
><P
>[RFC2345]&nbsp;<SPAN
@@ -1710,7 +1710,7 @@ STYLE="margin-left=0.5in"
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4841"
+NAME="AEN4852"
></A
><P
>[RFC2352]&nbsp;<SPAN
@@ -1727,13 +1727,13 @@ STYLE="margin-left=0.5in"
><H1
CLASS="bibliodiv"
><A
-NAME="AEN4848"
+NAME="AEN4859"
>Obsolete and Unimplemented Experimental RRs</A
></H1
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4850"
+NAME="AEN4861"
></A
><P
>[RFC1712]&nbsp;<SPAN
@@ -1784,7 +1784,7 @@ CLASS="sect2"
><H2
CLASS="sect2"
><A
-NAME="AEN4871"
+NAME="AEN4882"
>A.4.3. Other Documents About <SPAN
CLASS="acronym"
>BIND</SPAN
@@ -1794,13 +1794,13 @@ CLASS="acronym"
></P
><H3
><A
-NAME="AEN4875"
+NAME="AEN4886"
>Bibliography</A
></H3
><DIV
CLASS="biblioentry"
><A
-NAME="AEN4876"
+NAME="AEN4887"
></A
><P
><SPAN
diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html
index 10511d52..f7985161 100644
--- a/doc/arm/Bv9ARM.html
+++ b/doc/arm/Bv9ARM.html
@@ -193,7 +193,7 @@ HREF="Bv9ARM.ch03.html#AEN371"
></DT
><DT
>3.4.2. <A
-HREF="Bv9ARM.ch03.html#AEN656"
+HREF="Bv9ARM.ch03.html#AEN661"
>Signals</A
></DT
></DL
@@ -228,7 +228,7 @@ HREF="Bv9ARM.ch04.html#incremental_zone_transfers"
></DT
><DT
>4.3. <A
-HREF="Bv9ARM.ch04.html#AEN720"
+HREF="Bv9ARM.ch04.html#AEN725"
>Split DNS</A
></DT
><DT
@@ -240,44 +240,44 @@ HREF="Bv9ARM.ch04.html#tsig"
><DL
><DT
>4.4.1. <A
-HREF="Bv9ARM.ch04.html#AEN811"
+HREF="Bv9ARM.ch04.html#AEN816"
>Generate Shared Keys for Each Pair of Hosts</A
></DT
><DT
>4.4.2. <A
-HREF="Bv9ARM.ch04.html#AEN832"
+HREF="Bv9ARM.ch04.html#AEN837"
>Copying the Shared Secret to Both Machines</A
></DT
><DT
>4.4.3. <A
-HREF="Bv9ARM.ch04.html#AEN835"
+HREF="Bv9ARM.ch04.html#AEN840"
>Informing the Servers of the Key's Existence</A
></DT
><DT
>4.4.4. <A
-HREF="Bv9ARM.ch04.html#AEN847"
+HREF="Bv9ARM.ch04.html#AEN852"
>Instructing the Server to Use the Key</A
></DT
><DT
>4.4.5. <A
-HREF="Bv9ARM.ch04.html#AEN863"
+HREF="Bv9ARM.ch04.html#AEN868"
>TSIG Key Based Access Control</A
></DT
><DT
>4.4.6. <A
-HREF="Bv9ARM.ch04.html#AEN876"
+HREF="Bv9ARM.ch04.html#AEN881"
>Errors</A
></DT
></DL
></DD
><DT
>4.5. <A
-HREF="Bv9ARM.ch04.html#AEN880"
+HREF="Bv9ARM.ch04.html#AEN885"
>TKEY</A
></DT
><DT
>4.6. <A
-HREF="Bv9ARM.ch04.html#AEN895"
+HREF="Bv9ARM.ch04.html#AEN900"
>SIG(0)</A
></DT
><DT
@@ -289,34 +289,34 @@ HREF="Bv9ARM.ch04.html#DNSSEC"
><DL
><DT
>4.7.1. <A
-HREF="Bv9ARM.ch04.html#AEN912"
+HREF="Bv9ARM.ch04.html#AEN917"
>Generating Keys</A
></DT
><DT
>4.7.2. <A
-HREF="Bv9ARM.ch04.html#AEN932"
+HREF="Bv9ARM.ch04.html#AEN937"
>Creating a Keyset</A
></DT
><DT
>4.7.3. <A
-HREF="Bv9ARM.ch04.html#AEN944"
+HREF="Bv9ARM.ch04.html#AEN949"
>Signing the Child's Keyset</A
></DT
><DT
>4.7.4. <A
-HREF="Bv9ARM.ch04.html#AEN957"
+HREF="Bv9ARM.ch04.html#AEN962"
>Signing the Zone</A
></DT
><DT
>4.7.5. <A
-HREF="Bv9ARM.ch04.html#AEN973"
+HREF="Bv9ARM.ch04.html#AEN978"
>Configuring Servers</A
></DT
></DL
></DD
><DT
>4.8. <A
-HREF="Bv9ARM.ch04.html#AEN980"
+HREF="Bv9ARM.ch04.html#AEN985"
>IPv6 Support in <SPAN
CLASS="acronym"
>BIND</SPAN
@@ -326,27 +326,27 @@ CLASS="acronym"
><DL
><DT
>4.8.1. <A
-HREF="Bv9ARM.ch04.html#AEN996"
+HREF="Bv9ARM.ch04.html#AEN1001"
>Address Lookups Using AAAA Records</A
></DT
><DT
>4.8.2. <A
-HREF="Bv9ARM.ch04.html#AEN1001"
+HREF="Bv9ARM.ch04.html#AEN1006"
>Address Lookups Using A6 Records</A
></DT
><DT
>4.8.3. <A
-HREF="Bv9ARM.ch04.html#AEN1022"
+HREF="Bv9ARM.ch04.html#AEN1027"
>Address to Name Lookups Using Nibble Format</A
></DT
><DT
>4.8.4. <A
-HREF="Bv9ARM.ch04.html#AEN1029"
+HREF="Bv9ARM.ch04.html#AEN1034"
>Address to Name Lookups Using Bitstring Format</A
></DT
><DT
>4.8.5. <A
-HREF="Bv9ARM.ch04.html#AEN1036"
+HREF="Bv9ARM.ch04.html#AEN1041"
>Using DNAME for Delegation of IPv6 Reverse Addresses</A
></DT
></DL
@@ -365,7 +365,7 @@ CLASS="acronym"
><DL
><DT
>5.1. <A
-HREF="Bv9ARM.ch05.html#AEN1056"
+HREF="Bv9ARM.ch05.html#AEN1061"
>The Lightweight Resolver Library</A
></DT
><DT
@@ -399,7 +399,7 @@ HREF="Bv9ARM.ch06.html#address_match_lists"
></DT
><DT
>6.1.2. <A
-HREF="Bv9ARM.ch06.html#AEN1298"
+HREF="Bv9ARM.ch06.html#AEN1303"
>Comment Syntax</A
></DT
></DL
@@ -413,7 +413,7 @@ HREF="Bv9ARM.ch06.html#Configuration_File_Grammar"
><DL
><DT
>6.2.1. <A
-HREF="Bv9ARM.ch06.html#AEN1405"
+HREF="Bv9ARM.ch06.html#AEN1410"
><B
CLASS="command"
>acl</B
@@ -430,7 +430,7 @@ Usage</A
></DT
><DT
>6.2.3. <A
-HREF="Bv9ARM.ch06.html#AEN1447"
+HREF="Bv9ARM.ch06.html#AEN1457"
><B
CLASS="command"
>controls</B
@@ -446,7 +446,7 @@ CLASS="command"
></DT
><DT
>6.2.5. <A
-HREF="Bv9ARM.ch06.html#AEN1511"
+HREF="Bv9ARM.ch06.html#AEN1521"
><B
CLASS="command"
>include</B
@@ -454,7 +454,7 @@ CLASS="command"
></DT
><DT
>6.2.6. <A
-HREF="Bv9ARM.ch06.html#AEN1516"
+HREF="Bv9ARM.ch06.html#AEN1526"
><B
CLASS="command"
>include</B
@@ -462,7 +462,7 @@ CLASS="command"
></DT
><DT
>6.2.7. <A
-HREF="Bv9ARM.ch06.html#AEN1523"
+HREF="Bv9ARM.ch06.html#AEN1533"
><B
CLASS="command"
>key</B
@@ -470,7 +470,7 @@ CLASS="command"
></DT
><DT
>6.2.8. <A
-HREF="Bv9ARM.ch06.html#AEN1530"
+HREF="Bv9ARM.ch06.html#AEN1540"
><B
CLASS="command"
>key</B
@@ -478,7 +478,7 @@ CLASS="command"
></DT
><DT
>6.2.9. <A
-HREF="Bv9ARM.ch06.html#AEN1548"
+HREF="Bv9ARM.ch06.html#AEN1558"
><B
CLASS="command"
>logging</B
@@ -486,7 +486,7 @@ CLASS="command"
></DT
><DT
>6.2.10. <A
-HREF="Bv9ARM.ch06.html#AEN1588"
+HREF="Bv9ARM.ch06.html#AEN1598"
><B
CLASS="command"
>logging</B
@@ -494,7 +494,7 @@ CLASS="command"
></DT
><DT
>6.2.11. <A
-HREF="Bv9ARM.ch06.html#AEN1818"
+HREF="Bv9ARM.ch06.html#AEN1829"
><B
CLASS="command"
>lwres</B
@@ -502,7 +502,7 @@ CLASS="command"
></DT
><DT
>6.2.12. <A
-HREF="Bv9ARM.ch06.html#AEN1842"
+HREF="Bv9ARM.ch06.html#AEN1853"
><B
CLASS="command"
>lwres</B
@@ -510,7 +510,7 @@ CLASS="command"
></DT
><DT
>6.2.13. <A
-HREF="Bv9ARM.ch06.html#AEN1861"
+HREF="Bv9ARM.ch06.html#AEN1872"
><B
CLASS="command"
>options</B
@@ -518,7 +518,7 @@ CLASS="command"
></DT
><DT
>6.2.14. <A
-HREF="Bv9ARM.ch06.html#AEN2079"
+HREF="Bv9ARM.ch06.html#AEN2090"
><B
CLASS="command"
>options</B
@@ -542,7 +542,7 @@ CLASS="command"
></DT
><DT
>6.2.17. <A
-HREF="Bv9ARM.ch06.html#AEN2990"
+HREF="Bv9ARM.ch06.html#AEN3001"
><B
CLASS="command"
>trusted-keys</B
@@ -550,7 +550,7 @@ CLASS="command"
></DT
><DT
>6.2.18. <A
-HREF="Bv9ARM.ch06.html#AEN3006"
+HREF="Bv9ARM.ch06.html#AEN3017"
><B
CLASS="command"
>trusted-keys</B
@@ -559,7 +559,7 @@ and Usage</A
></DT
><DT
>6.2.19. <A
-HREF="Bv9ARM.ch06.html#AEN3014"
+HREF="Bv9ARM.ch06.html#AEN3025"
><B
CLASS="command"
>view</B
@@ -567,7 +567,7 @@ CLASS="command"
></DT
><DT
>6.2.20. <A
-HREF="Bv9ARM.ch06.html#AEN3030"
+HREF="Bv9ARM.ch06.html#AEN3041"
><B
CLASS="command"
>view</B
@@ -584,7 +584,7 @@ Statement Grammar</A
></DT
><DT
>6.2.22. <A
-HREF="Bv9ARM.ch06.html#AEN3181"
+HREF="Bv9ARM.ch06.html#AEN3192"
><B
CLASS="command"
>zone</B
@@ -594,7 +594,7 @@ CLASS="command"
></DD
><DT
>6.3. <A
-HREF="Bv9ARM.ch06.html#AEN3515"
+HREF="Bv9ARM.ch06.html#AEN3526"
>Zone File</A
></DT
><DD
@@ -606,7 +606,7 @@ HREF="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them"
></DT
><DT
>6.3.2. <A
-HREF="Bv9ARM.ch06.html#AEN3835"
+HREF="Bv9ARM.ch06.html#AEN3846"
>Discussion of MX Records</A
></DT
><DT
@@ -616,17 +616,17 @@ HREF="Bv9ARM.ch06.html#Setting_TTLs"
></DT
><DT
>6.3.4. <A
-HREF="Bv9ARM.ch06.html#AEN3956"
+HREF="Bv9ARM.ch06.html#AEN3967"
>Inverse Mapping in IPv4</A
></DT
><DT
>6.3.5. <A
-HREF="Bv9ARM.ch06.html#AEN3983"
+HREF="Bv9ARM.ch06.html#AEN3994"
>Other Zone File Directives</A
></DT
><DT
>6.3.6. <A
-HREF="Bv9ARM.ch06.html#AEN4041"
+HREF="Bv9ARM.ch06.html#AEN4052"
><SPAN
CLASS="acronym"
>BIND</SPAN
@@ -656,7 +656,7 @@ HREF="Bv9ARM.ch07.html#Access_Control_Lists"
></DT
><DT
>7.2. <A
-HREF="Bv9ARM.ch07.html#AEN4133"
+HREF="Bv9ARM.ch07.html#AEN4144"
><B
CLASS="command"
>chroot</B
@@ -670,7 +670,7 @@ UNIX servers)</A
><DL
><DT
>7.2.1. <A
-HREF="Bv9ARM.ch07.html#AEN4156"
+HREF="Bv9ARM.ch07.html#AEN4167"
>The <B
CLASS="command"
>chroot</B
@@ -678,7 +678,7 @@ CLASS="command"
></DT
><DT
>7.2.2. <A
-HREF="Bv9ARM.ch07.html#AEN4174"
+HREF="Bv9ARM.ch07.html#AEN4185"
>Using the <B
CLASS="command"
>setuid</B
@@ -702,26 +702,26 @@ HREF="Bv9ARM.ch08.html"
><DL
><DT
>8.1. <A
-HREF="Bv9ARM.ch08.html#AEN4195"
+HREF="Bv9ARM.ch08.html#AEN4206"
>Common Problems</A
></DT
><DD
><DL
><DT
>8.1.1. <A
-HREF="Bv9ARM.ch08.html#AEN4197"
+HREF="Bv9ARM.ch08.html#AEN4208"
>It's not working; how can I figure out what's wrong?</A
></DT
></DL
></DD
><DT
>8.2. <A
-HREF="Bv9ARM.ch08.html#AEN4200"
+HREF="Bv9ARM.ch08.html#AEN4211"
>Incrementing and Changing the Serial Number</A
></DT
><DT
>8.3. <A
-HREF="Bv9ARM.ch08.html#AEN4205"
+HREF="Bv9ARM.ch08.html#AEN4216"
>Where Can I Get Help?</A
></DT
></DL
@@ -735,14 +735,14 @@ HREF="Bv9ARM.ch09.html"
><DL
><DT
>A.1. <A
-HREF="Bv9ARM.ch09.html#AEN4221"
+HREF="Bv9ARM.ch09.html#AEN4232"
>Acknowledgements</A
></DT
><DD
><DL
><DT
>A.1.1. <A
-HREF="Bv9ARM.ch09.html#AEN4223"
+HREF="Bv9ARM.ch09.html#AEN4234"
>A Brief History of the <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -772,7 +772,7 @@ HREF="Bv9ARM.ch09.html#classes_of_resource_records"
></DD
><DT
>A.3. <A
-HREF="Bv9ARM.ch09.html#AEN4262"
+HREF="Bv9ARM.ch09.html#AEN4273"
>General <SPAN
CLASS="acronym"
>DNS</SPAN
@@ -806,7 +806,7 @@ HREF="Bv9ARM.ch09.html#internet_drafts"
></DT
><DT
>A.4.3. <A
-HREF="Bv9ARM.ch09.html#AEN4871"
+HREF="Bv9ARM.ch09.html#AEN4882"
>Other Documents About <SPAN
CLASS="acronym"
>BIND</SPAN
diff --git a/doc/misc/options b/doc/misc/options
index ed0ae0c3..aa75a29d 100644
--- a/doc/misc/options
+++ b/doc/misc/options
@@ -13,12 +13,12 @@ options {
files <size>;
has-old-clients <boolean>; // obsolete
heartbeat-interval <integer>;
- host-statistics <boolean>;
+ host-statistics <boolean>; // not implemented
interface-interval <integer>;
listen-on [ port <integer> ] { <address_match_element>; ... };
listen-on-v6 [ port <integer> ] { <address_match_element>; ... };
match-mapped-addresses <boolean>;
- memstatistics-file <quoted_string>;
+ memstatistics-file <quoted_string>; // not implemented
multiple-cnames <boolean>; // obsolete
named-xfer <quoted_string>; // obsolete
pid-file <quoted_string>;
@@ -26,7 +26,7 @@ options {
random-device <quoted_string>;
recursive-clients <integer>;
rrset-order { [ class <string> ] [ type <string> ] [ name
- <quoted_string> ] <string> <string>; ... };
+ <quoted_string> ] <string> <string>; ... }; // not implemented
serial-queries <integer>; // obsolete
serial-query-rate <integer>;
stacksize <size>;
@@ -67,8 +67,8 @@ options {
lame-ttl <integer>;
max-ncache-ttl <integer>;
max-cache-ttl <integer>;
- transfer-format <string>;
- max-cache-size <size>;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size <size_no_default>;
check-names <string> <string>; // not implemented
cache-file <quoted_string>;
allow-query { <address_match_element>; ... };
@@ -80,7 +80,7 @@ options {
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
- maintain-ixfr-base <boolean>;
+ maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
@@ -105,7 +105,7 @@ controls {
acl <string> { <address_match_element>; ... };
logging {
- channel {
+ channel <string> {
file <logfile>;
syslog <optional_facility>;
null;
@@ -122,7 +122,7 @@ view <string> <optional_class> {
match-clients { <address_match_element>; ... };
match-destinations { <address_match_element>; ... };
match-recursive-only <boolean>;
- key {
+ key <string> {
algorithm <string>;
secret <string>;
};
@@ -150,7 +150,7 @@ view <string> <optional_class> {
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... };
- maintain-ixfr-base <boolean>;
+ maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
* ) ];
@@ -203,8 +203,8 @@ view <string> <optional_class> {
lame-ttl <integer>;
max-ncache-ttl <integer>;
max-cache-ttl <integer>;
- transfer-format <string>;
- max-cache-size <size>;
+ transfer-format ( many-answers | one-answer );
+ max-cache-size <size_no_default>;
check-names <string> <string>; // not implemented
cache-file <quoted_string>;
allow-query { <address_match_element>; ... };
@@ -216,7 +216,7 @@ view <string> <optional_class> {
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
- maintain-ixfr-base <boolean>;
+ maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
@@ -240,7 +240,7 @@ lwres {
ndots <integer>;
};
-key {
+key <string> {
algorithm <string>;
secret <string>;
};
@@ -268,7 +268,7 @@ zone <string> <optional_class> {
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
- maintain-ixfr-base <boolean>;
+ maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
diff --git a/lib/bind/bsd/strerror.c b/lib/bind/bsd/strerror.c
index 975f6b34..d13adbb0 100644
--- a/lib/bind/bsd/strerror.c
+++ b/lib/bind/bsd/strerror.c
@@ -1,6 +1,6 @@
#if defined(LIBC_SCCS) && !defined(lint)
static const char sccsid[] = "@(#)strerror.c 8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: strerror.c,v 1.3 2001/06/21 08:25:59 marka Exp $";
+static const char rcsid[] = "$Id: strerror.c,v 1.3.2.1 2001/11/02 17:45:31 gson Exp $";
#endif /* LIBC_SCCS and not lint */
/*
@@ -49,6 +49,11 @@ static const char rcsid[] = "$Id: strerror.c,v 1.3 2001/06/21 08:25:59 marka Exp
int __strerror_unneeded__;
#else
+#ifdef USE_SYSERROR_LIST
+extern int sys_nerr;
+extern char *sys_errlist[];
+#endif
+
const char *
isc_strerror(int num) {
#define UPREFIX "Unknown error: "
@@ -58,12 +63,17 @@ isc_strerror(int num) {
const char *ret;
char tmp[40];
+ errnum = num; /* convert to unsigned */
+#ifdef USE_SYSERROR_LIST
+ if (errnum < sys_nerr)
+ return (sys_errlist[errnum]);
+#else
#undef strerror
ret = strerror(num); /* call strerror() in libc */
if (ret != NULL)
return(ret);
-
- errnum = num; /* convert to unsigned */
+#endif
+
/* Do this by hand, so we don't include stdio(3). */
t = tmp;
do {
diff --git a/lib/bind/configure b/lib/bind/configure
index 6d04cdee..a2a45a29 100755
--- a/lib/bind/configure
+++ b/lib/bind/configure
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.in Revision: 1.83
+# From configure.in Revision: 1.83.2.1
# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
## Copyright 1996, 1997, 1998, 1999, 2000, 2001
@@ -8774,6 +8774,56 @@ fi
+echo $ac_n "checking for strerror""... $ac_c" 1>&6
+echo "configure:8779: 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 8784 "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:8807: \"$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
+ USE_SYSERROR_LIST="#undef USE_SYSERROR_LIST"
+else
+ echo "$ac_t""no" 1>&6
+USE_SYSERROR_LIST="#define USE_SYSERROR_LIST 1"
+fi
+
+
#
# Determine the printf format characters to use when printing
@@ -8783,17 +8833,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:8787: checking printf format modifier for 64-bit integers" >&5
+echo "configure:8837: checking printf format modifier for 64-bit integers" >&5
if test "$cross_compiling" = yes; then
echo "$ac_t""default ll" 1>&6
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'
else
cat > conftest.$ac_ext <<EOF
-#line 8793 "configure"
+#line 8843 "configure"
#include "confdefs.h"
main() { exit(!(sizeof(long long int) == sizeof(long int))); }
EOF
-if { (eval echo configure:8797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8847: \"$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"'
@@ -8813,12 +8863,12 @@ fi
# Security Stuff
#
echo $ac_n "checking for chroot""... $ac_c" 1>&6
-echo "configure:8817: checking for chroot" >&5
+echo "configure:8867: 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 8822 "configure"
+#line 8872 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char chroot(); below. */
@@ -8841,7 +8891,7 @@ chroot();
; return 0; }
EOF
-if { (eval echo configure:8845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8895: \"$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
@@ -8868,9 +8918,9 @@ fi
# for accept, recvfrom, getpeername etc.
#
echo $ac_n "checking for socket length type""... $ac_c" 1>&6
-echo "configure:8872: checking for socket length type" >&5
+echo "configure:8922: checking for socket length type" >&5
cat > conftest.$ac_ext <<EOF
-#line 8874 "configure"
+#line 8924 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8881,7 +8931,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8885: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ISC_SOCKLEN_T="#define ISC_SOCKLEN_T socklen_t"
echo "$ac_t""socklen_t" 1>&6
@@ -8891,7 +8941,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 8895 "configure"
+#line 8945 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8902,7 +8952,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8956: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ISC_SOCKLEN_T="#define ISC_SOCKLEN_T unsigned int"
echo "$ac_t""unsigned int" 1>&6
@@ -8912,7 +8962,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 8916 "configure"
+#line 8966 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8923,7 +8973,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ISC_SOCKLEN_T="#define ISC_SOCKLEN_T unsigned long"
echo "$ac_t""unsigned long" 1>&6
@@ -8933,7 +8983,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 8937 "configure"
+#line 8987 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -8944,7 +8994,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:8948: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ISC_SOCKLEN_T="#define ISC_SOCKLEN_T long"
echo "$ac_t""long" 1>&6
@@ -8967,12 +9017,12 @@ rm -f conftest*
echo $ac_n "checking for getgrouplist""... $ac_c" 1>&6
-echo "configure:8971: checking for getgrouplist" >&5
+echo "configure:9021: checking for getgrouplist" >&5
if eval "test \"`echo '$''{'ac_cv_func_getgrouplist'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8976 "configure"
+#line 9026 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getgrouplist(); below. */
@@ -8995,7 +9045,7 @@ getgrouplist();
; return 0; }
EOF
-if { (eval echo configure:8999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getgrouplist=yes"
else
@@ -9010,7 +9060,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getgrouplist`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9014 "configure"
+#line 9064 "configure"
#include "confdefs.h"
#include <unistd.h>
int
@@ -9021,7 +9071,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9025: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9075: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
GETGROUPLIST_ARGS="#define GETGROUPLIST_ARGS const char *name, int basegid, int *groups, int *ngroups"
@@ -9046,12 +9096,12 @@ fi
echo $ac_n "checking for setgroupent""... $ac_c" 1>&6
-echo "configure:9050: checking for setgroupent" >&5
+echo "configure:9100: checking for setgroupent" >&5
if eval "test \"`echo '$''{'ac_cv_func_setgroupent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9055 "configure"
+#line 9105 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setgroupent(); below. */
@@ -9074,7 +9124,7 @@ setgroupent();
; return 0; }
EOF
-if { (eval echo configure:9078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setgroupent=yes"
else
@@ -9099,12 +9149,12 @@ fi
echo $ac_n "checking for getnetbyaddr_r""... $ac_c" 1>&6
-echo "configure:9103: checking for getnetbyaddr_r" >&5
+echo "configure:9153: checking for getnetbyaddr_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getnetbyaddr_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9108 "configure"
+#line 9158 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getnetbyaddr_r(); below. */
@@ -9127,7 +9177,7 @@ getnetbyaddr_r();
; return 0; }
EOF
-if { (eval echo configure:9131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getnetbyaddr_r=yes"
else
@@ -9142,7 +9192,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getnetbyaddr_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9146 "configure"
+#line 9196 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9157,7 +9207,7 @@ int main() {
return (0)
; return 0; }
EOF
-if { (eval echo configure:9161: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ARGS="#define NET_R_ARGS char *buf, int buflen"
@@ -9175,7 +9225,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9179 "configure"
+#line 9229 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9189,7 +9239,7 @@ int main() {
return (0)
; return 0; }
EOF
-if { (eval echo configure:9193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ARGS="#define NET_R_ARGS char *buf, size_t buflen, struct netent **answerp, int *h_errnop"
@@ -9207,7 +9257,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9211 "configure"
+#line 9261 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9220,7 +9270,7 @@ int main() {
return (0)
; return 0; }
EOF
-if { (eval echo configure:9224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9274: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ARGS="#define NET_R_ARGS struct netent_data *ndptr"
@@ -9238,7 +9288,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9242 "configure"
+#line 9292 "configure"
#include "confdefs.h"
#include <netdb.h>
int getnetbyaddr_r (long, int, struct netent *, struct netent_data *);
@@ -9247,7 +9297,7 @@ int main() {
return (0)
; return 0; }
EOF
-if { (eval echo configure:9251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ARGS="#define NET_R_ARGS struct netent_data *ndptr"
@@ -9303,12 +9353,12 @@ esac
echo $ac_n "checking for setnetent_r""... $ac_c" 1>&6
-echo "configure:9307: checking for setnetent_r" >&5
+echo "configure:9357: checking for setnetent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setnetent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9312 "configure"
+#line 9362 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setnetent_r(); below. */
@@ -9331,7 +9381,7 @@ setnetent_r();
; return 0; }
EOF
-if { (eval echo configure:9335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setnetent_r=yes"
else
@@ -9346,7 +9396,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'setnetent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9350 "configure"
+#line 9400 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -9356,7 +9406,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ENT_ARGS="#undef NET_R_ENT_ARGS /*empty*/"
@@ -9368,7 +9418,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9372 "configure"
+#line 9422 "configure"
#include "confdefs.h"
#define _REENTRANT
@@ -9379,7 +9429,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_ENT_ARGS="#define NET_R_ENT_ARGS struct netent_data *ndptr"
@@ -9408,12 +9458,12 @@ fi
echo $ac_n "checking for endnetent_r""... $ac_c" 1>&6
-echo "configure:9412: checking for endnetent_r" >&5
+echo "configure:9462: checking for endnetent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endnetent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9417 "configure"
+#line 9467 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endnetent_r(); below. */
@@ -9436,7 +9486,7 @@ endnetent_r();
; return 0; }
EOF
-if { (eval echo configure:9440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endnetent_r=yes"
else
@@ -9451,7 +9501,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'endnetent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9455 "configure"
+#line 9505 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9463,7 +9513,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_END_RESULT="#define NET_R_END_RESULT(x) /*empty*/"
@@ -9474,7 +9524,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9478 "configure"
+#line 9528 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9486,7 +9536,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_END_RESULT="#define NET_R_END_RESULT(x) return (x)"
@@ -9497,7 +9547,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9501 "configure"
+#line 9551 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -9509,7 +9559,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9513: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NET_R_END_RESULT="#define NET_R_END_RESULT(x) /*empty*/"
@@ -9538,12 +9588,12 @@ fi
echo $ac_n "checking for getgrnam_r""... $ac_c" 1>&6
-echo "configure:9542: checking for getgrnam_r" >&5
+echo "configure:9592: checking for getgrnam_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getgrnam_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9547 "configure"
+#line 9597 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getgrnam_r(); below. */
@@ -9566,7 +9616,7 @@ getgrnam_r();
; return 0; }
EOF
-if { (eval echo configure:9570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getgrnam_r=yes"
else
@@ -9590,12 +9640,12 @@ EOF
fi
echo $ac_n "checking for getgrgid_r""... $ac_c" 1>&6
-echo "configure:9594: checking for getgrgid_r" >&5
+echo "configure:9644: checking for getgrgid_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getgrgid_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9599 "configure"
+#line 9649 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getgrgid_r(); below. */
@@ -9618,7 +9668,7 @@ getgrgid_r();
; return 0; }
EOF
-if { (eval echo configure:9622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getgrgid_r=yes"
else
@@ -9643,12 +9693,12 @@ fi
echo $ac_n "checking for getgrent_r""... $ac_c" 1>&6
-echo "configure:9647: checking for getgrent_r" >&5
+echo "configure:9697: checking for getgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9652 "configure"
+#line 9702 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getgrent_r(); below. */
@@ -9671,7 +9721,7 @@ getgrent_r();
; return 0; }
EOF
-if { (eval echo configure:9675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getgrent_r=yes"
else
@@ -9686,7 +9736,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getgrent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9690 "configure"
+#line 9740 "configure"
#include "confdefs.h"
#include <grp.h>
@@ -9697,7 +9747,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
GROUP_R_ARGS="#define GROUP_R_ARGS char *buf, int buflen"
@@ -9730,12 +9780,12 @@ fi
echo $ac_n "checking for endgrent_r""... $ac_c" 1>&6
-echo "configure:9734: checking for endgrent_r" >&5
+echo "configure:9784: checking for endgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9739 "configure"
+#line 9789 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endgrent_r(); below. */
@@ -9758,7 +9808,7 @@ endgrent_r();
; return 0; }
EOF
-if { (eval echo configure:9762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endgrent_r=yes"
else
@@ -9790,12 +9840,12 @@ fi
echo $ac_n "checking for setgrent_r""... $ac_c" 1>&6
-echo "configure:9794: checking for setgrent_r" >&5
+echo "configure:9844: checking for setgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9799 "configure"
+#line 9849 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setgrent_r(); below. */
@@ -9818,7 +9868,7 @@ setgrent_r();
; return 0; }
EOF
-if { (eval echo configure:9822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setgrent_r=yes"
else
@@ -9849,12 +9899,12 @@ fi
echo $ac_n "checking for gethostbyname_r""... $ac_c" 1>&6
-echo "configure:9853: checking for gethostbyname_r" >&5
+echo "configure:9903: checking for gethostbyname_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9858 "configure"
+#line 9908 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname_r(); below. */
@@ -9877,7 +9927,7 @@ gethostbyname_r();
; return 0; }
EOF
-if { (eval echo configure:9881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname_r=yes"
else
@@ -9892,7 +9942,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'gethostbyname_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 9896 "configure"
+#line 9946 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -9903,7 +9953,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:9907: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_ARGS="#define HOST_R_ARGS char *buf, int buflen, int *h_errnop"
@@ -9922,7 +9972,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9926 "configure"
+#line 9976 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -9934,7 +9984,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:9938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9988: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_ARGS="#define HOST_R_ARGS struct hostent_data *hdptr"
@@ -9952,7 +10002,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 9956 "configure"
+#line 10006 "configure"
#include "confdefs.h"
#define __USE_MISC
@@ -9967,7 +10017,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:9971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_ARGS="#define HOST_R_ARGS char *buf, size_t buflen, struct hostent **answerp, int *h_errnop"
@@ -10015,12 +10065,12 @@ fi
echo $ac_n "checking for endhostent_r""... $ac_c" 1>&6
-echo "configure:10019: checking for endhostent_r" >&5
+echo "configure:10069: checking for endhostent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endhostent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10024 "configure"
+#line 10074 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endhostent_r(); below. */
@@ -10043,7 +10093,7 @@ endhostent_r();
; return 0; }
EOF
-if { (eval echo configure:10047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endhostent_r=yes"
else
@@ -10058,7 +10108,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'endhostent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10062 "configure"
+#line 10112 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10070,7 +10120,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x) return (x)"
HOST_R_END_RETURN="#define HOST_R_END_RETURN int"
@@ -10081,7 +10131,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10085 "configure"
+#line 10135 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10093,7 +10143,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10097: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x)"
@@ -10105,7 +10155,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10109 "configure"
+#line 10159 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10117,7 +10167,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10171: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x) /*empty*/"
@@ -10149,12 +10199,12 @@ fi
echo $ac_n "checking for sethostent_r""... $ac_c" 1>&6
-echo "configure:10153: checking for sethostent_r" >&5
+echo "configure:10203: checking for sethostent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_sethostent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10158 "configure"
+#line 10208 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sethostent_r(); below. */
@@ -10177,7 +10227,7 @@ sethostent_r();
; return 0; }
EOF
-if { (eval echo configure:10181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_sethostent_r=yes"
else
@@ -10192,7 +10242,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'sethostent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10196 "configure"
+#line 10246 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10203,7 +10253,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10207: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_SET_RESULT="#undef HOST_R_SET_RESULT /*empty*/"
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN void"
@@ -10212,7 +10262,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10216 "configure"
+#line 10266 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10223,7 +10273,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_SET_RESULT="#define HOST_R_SET_RESULT 0"
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN int"
@@ -10232,7 +10282,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10236 "configure"
+#line 10286 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10243,7 +10293,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
HOST_R_SET_RESULT="#undef HOST_R_SET_RESULT"
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN void"
@@ -10271,9 +10321,9 @@ fi
echo $ac_n "checking struct passwd element pw_class""... $ac_c" 1>&6
-echo "configure:10275: checking struct passwd element pw_class" >&5
+echo "configure:10325: checking struct passwd element pw_class" >&5
cat > conftest.$ac_ext <<EOF
-#line 10277 "configure"
+#line 10327 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -10283,7 +10333,7 @@ int main() {
struct passwd *pw; pw->pw_class = "";
; return 0; }
EOF
-if { (eval echo configure:10287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10337: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -10301,7 +10351,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 10305 "configure"
+#line 10355 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -10313,7 +10363,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:10317: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10367: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SETPWENT_VOID="#define SETPWENT_VOID 1"
@@ -10328,7 +10378,7 @@ rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 10332 "configure"
+#line 10382 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -10340,7 +10390,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:10344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SETGRENT_VOID="#define SETGRENT_VOID 1"
@@ -10355,12 +10405,12 @@ rm -f conftest*
echo $ac_n "checking for getnetgrent_r""... $ac_c" 1>&6
-echo "configure:10359: checking for getnetgrent_r" >&5
+echo "configure:10409: checking for getnetgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getnetgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10364 "configure"
+#line 10414 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getnetgrent_r(); below. */
@@ -10383,7 +10433,7 @@ getnetgrent_r();
; return 0; }
EOF
-if { (eval echo configure:10387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getnetgrent_r=yes"
else
@@ -10398,7 +10448,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getnetgrent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10402 "configure"
+#line 10452 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -10409,7 +10459,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:10413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NGR_R_ARGS="#define NGR_R_ARGS char *buf, int buflen"
@@ -10425,7 +10475,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10429 "configure"
+#line 10479 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -10436,7 +10486,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:10440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10490: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NGR_R_ARGS="#define NGR_R_ARGS char *buf, size_t buflen"
@@ -10452,7 +10502,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10456 "configure"
+#line 10506 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -10463,7 +10513,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:10467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
NGR_R_ARGS="#define NGR_R_ARGS void **buf"
@@ -10507,12 +10557,12 @@ fi
echo $ac_n "checking for endnetgrent_r""... $ac_c" 1>&6
-echo "configure:10511: checking for endnetgrent_r" >&5
+echo "configure:10561: checking for endnetgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endnetgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10516 "configure"
+#line 10566 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endnetgrent_r(); below. */
@@ -10535,7 +10585,7 @@ endnetgrent_r();
; return 0; }
EOF
-if { (eval echo configure:10539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endnetgrent_r=yes"
else
@@ -10570,12 +10620,12 @@ fi
echo $ac_n "checking for setnetgrent_r""... $ac_c" 1>&6
-echo "configure:10574: checking for setnetgrent_r" >&5
+echo "configure:10624: checking for setnetgrent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setnetgrent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10579 "configure"
+#line 10629 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setnetgrent_r(); below. */
@@ -10598,7 +10648,7 @@ setnetgrent_r();
; return 0; }
EOF
-if { (eval echo configure:10602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setnetgrent_r=yes"
else
@@ -10636,12 +10686,12 @@ fi
echo $ac_n "checking for innetgr_r""... $ac_c" 1>&6
-echo "configure:10640: checking for innetgr_r" >&5
+echo "configure:10690: checking for innetgr_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_innetgr_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10645 "configure"
+#line 10695 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char innetgr_r(); below. */
@@ -10664,7 +10714,7 @@ innetgr_r();
; return 0; }
EOF
-if { (eval echo configure:10668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_innetgr_r=yes"
else
@@ -10689,12 +10739,12 @@ fi
echo $ac_n "checking for getprotoent_r""... $ac_c" 1>&6
-echo "configure:10693: checking for getprotoent_r" >&5
+echo "configure:10743: checking for getprotoent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getprotoent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10698 "configure"
+#line 10748 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getprotoent_r(); below. */
@@ -10717,7 +10767,7 @@ getprotoent_r();
; return 0; }
EOF
-if { (eval echo configure:10721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getprotoent_r=yes"
else
@@ -10732,7 +10782,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getprotoent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10736 "configure"
+#line 10786 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -10745,7 +10795,7 @@ return (0);
; return 0; }
EOF
-if { (eval echo configure:10749: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROTO_R_ARGS="#define PROTO_R_ARGS char *buf, int buflen"
@@ -10762,7 +10812,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 10766 "configure"
+#line 10816 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -10775,7 +10825,7 @@ return (0);
; return 0; }
EOF
-if { (eval echo configure:10779: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROTO_R_ARGS="#define PROTO_R_ARGS char *buf, size_t buflen, struct protoent **answerp"
@@ -10817,12 +10867,12 @@ fi
echo $ac_n "checking for endprotoent_r""... $ac_c" 1>&6
-echo "configure:10821: checking for endprotoent_r" >&5
+echo "configure:10871: checking for endprotoent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endprotoent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10826 "configure"
+#line 10876 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endprotoent_r(); below. */
@@ -10845,7 +10895,7 @@ endprotoent_r();
; return 0; }
EOF
-if { (eval echo configure:10849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endprotoent_r=yes"
else
@@ -10860,7 +10910,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'endprotoent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10864 "configure"
+#line 10914 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10873,7 +10923,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10927: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROTO_R_END_RESULT="#define PROTO_R_END_RESULT(x) /*empty*/"
@@ -10900,12 +10950,12 @@ fi
echo $ac_n "checking for setprotoent_r""... $ac_c" 1>&6
-echo "configure:10904: checking for setprotoent_r" >&5
+echo "configure:10954: checking for setprotoent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setprotoent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10909 "configure"
+#line 10959 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setprotoent_r(); below. */
@@ -10928,7 +10978,7 @@ setprotoent_r();
; return 0; }
EOF
-if { (eval echo configure:10932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setprotoent_r=yes"
else
@@ -10943,7 +10993,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'setprotoent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 10947 "configure"
+#line 10997 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -10955,7 +11005,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:10959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PROTO_R_SET_RESULT="#undef PROTO_R_SET_RESULT"
PROTO_R_SET_RETURN="#define PROTO_R_SET_RETURN void"
@@ -10977,12 +11027,12 @@ fi
echo $ac_n "checking for getpwent_r""... $ac_c" 1>&6
-echo "configure:10981: checking for getpwent_r" >&5
+echo "configure:11031: checking for getpwent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getpwent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10986 "configure"
+#line 11036 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getpwent_r(); below. */
@@ -11005,7 +11055,7 @@ getpwent_r();
; return 0; }
EOF
-if { (eval echo configure:11009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getpwent_r=yes"
else
@@ -11020,7 +11070,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getpwent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11024 "configure"
+#line 11074 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -11034,7 +11084,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11038: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PASS_R_ARGS="#define PASS_R_ARGS char *buf, int buflen"
PASS_R_BAD="#define PASS_R_BAD NULL"
@@ -11072,12 +11122,12 @@ fi
echo $ac_n "checking for endpwent_r""... $ac_c" 1>&6
-echo "configure:11076: checking for endpwent_r" >&5
+echo "configure:11126: checking for endpwent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endpwent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11081 "configure"
+#line 11131 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endpwent_r(); below. */
@@ -11100,7 +11150,7 @@ endpwent_r();
; return 0; }
EOF
-if { (eval echo configure:11104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endpwent_r=yes"
else
@@ -11115,7 +11165,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'endpwent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11119 "configure"
+#line 11169 "configure"
#include "confdefs.h"
#include <pwd.h>
@@ -11125,7 +11175,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11129: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PASS_R_END_RESULT="#define PASS_R_END_RESULT(x) /*empty*/"
PASS_R_END_RETURN="#define PASS_R_END_RETURN void"
@@ -11153,12 +11203,12 @@ fi
echo $ac_n "checking for setpassent_r""... $ac_c" 1>&6
-echo "configure:11157: checking for setpassent_r" >&5
+echo "configure:11207: checking for setpassent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpassent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11162 "configure"
+#line 11212 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setpassent_r(); below. */
@@ -11181,7 +11231,7 @@ setpassent_r();
; return 0; }
EOF
-if { (eval echo configure:11185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setpassent_r=yes"
else
@@ -11205,12 +11255,12 @@ EOF
fi
echo $ac_n "checking for setpassent""... $ac_c" 1>&6
-echo "configure:11209: checking for setpassent" >&5
+echo "configure:11259: checking for setpassent" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpassent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11214 "configure"
+#line 11264 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setpassent(); below. */
@@ -11233,7 +11283,7 @@ setpassent();
; return 0; }
EOF
-if { (eval echo configure:11237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setpassent=yes"
else
@@ -11258,12 +11308,12 @@ fi
echo $ac_n "checking for setpwent_r""... $ac_c" 1>&6
-echo "configure:11262: checking for setpwent_r" >&5
+echo "configure:11312: checking for setpwent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpwent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11267 "configure"
+#line 11317 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setpwent_r(); below. */
@@ -11286,7 +11336,7 @@ setpwent_r();
; return 0; }
EOF
-if { (eval echo configure:11290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setpwent_r=yes"
else
@@ -11301,7 +11351,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'setpwent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11305 "configure"
+#line 11355 "configure"
#include "confdefs.h"
#include <pwd.h>
@@ -11311,7 +11361,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11365: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PASS_R_SET_RESULT="#undef PASS_R_SET_RESULT /* empty */"
PASS_R_SET_RETURN="#define PASS_R_SET_RETURN int"
@@ -11321,7 +11371,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 11325 "configure"
+#line 11375 "configure"
#include "confdefs.h"
#include <pwd.h>
@@ -11331,7 +11381,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
PASS_R_SET_RESULT="#define PASS_R_SET_RESULT 0"
PASS_R_SET_RETURN="#define PASS_R_SET_RETURN int"
@@ -11360,12 +11410,12 @@ fi
echo $ac_n "checking for getpwnam_r""... $ac_c" 1>&6
-echo "configure:11364: checking for getpwnam_r" >&5
+echo "configure:11414: checking for getpwnam_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getpwnam_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11369 "configure"
+#line 11419 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getpwnam_r(); below. */
@@ -11388,7 +11438,7 @@ getpwnam_r();
; return 0; }
EOF
-if { (eval echo configure:11392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getpwnam_r=yes"
else
@@ -11412,12 +11462,12 @@ EOF
fi
echo $ac_n "checking for getpwuid_r""... $ac_c" 1>&6
-echo "configure:11416: checking for getpwuid_r" >&5
+echo "configure:11466: checking for getpwuid_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getpwuid_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11421 "configure"
+#line 11471 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getpwuid_r(); below. */
@@ -11440,7 +11490,7 @@ getpwuid_r();
; return 0; }
EOF
-if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getpwuid_r=yes"
else
@@ -11465,12 +11515,12 @@ fi
echo $ac_n "checking for getservent_r""... $ac_c" 1>&6
-echo "configure:11469: checking for getservent_r" >&5
+echo "configure:11519: checking for getservent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_getservent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11474 "configure"
+#line 11524 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getservent_r(); below. */
@@ -11493,7 +11543,7 @@ getservent_r();
; return 0; }
EOF
-if { (eval echo configure:11497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getservent_r=yes"
else
@@ -11508,7 +11558,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'getservent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11512 "configure"
+#line 11562 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -11519,7 +11569,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:11523: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SERV_R_ARGS="#define SERV_R_ARGS char *buf, int buflen"
@@ -11536,7 +11586,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 11540 "configure"
+#line 11590 "configure"
#include "confdefs.h"
#include <netdb.h>
@@ -11547,7 +11597,7 @@ int main() {
return (0);
; return 0; }
EOF
-if { (eval echo configure:11551: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SERV_R_ARGS="#define SERV_R_ARGS char *buf, size_t buflen, struct servent **answerp"
@@ -11589,12 +11639,12 @@ fi
echo $ac_n "checking for endservent_r""... $ac_c" 1>&6
-echo "configure:11593: checking for endservent_r" >&5
+echo "configure:11643: checking for endservent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_endservent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11598 "configure"
+#line 11648 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endservent_r(); below. */
@@ -11617,7 +11667,7 @@ endservent_r();
; return 0; }
EOF
-if { (eval echo configure:11621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_endservent_r=yes"
else
@@ -11632,7 +11682,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'endservent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11636 "configure"
+#line 11686 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -11645,7 +11695,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SERV_R_END_RESULT="#define SERV_R_END_RESULT(x) /*empty*/"
@@ -11672,12 +11722,12 @@ fi
echo $ac_n "checking for setservent_r""... $ac_c" 1>&6
-echo "configure:11676: checking for setservent_r" >&5
+echo "configure:11726: checking for setservent_r" >&5
if eval "test \"`echo '$''{'ac_cv_func_setservent_r'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 11681 "configure"
+#line 11731 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setservent_r(); below. */
@@ -11700,7 +11750,7 @@ setservent_r();
; return 0; }
EOF
-if { (eval echo configure:11704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_setservent_r=yes"
else
@@ -11715,7 +11765,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'setservent_r`\" = yes"; then
echo "$ac_t""yes" 1>&6
cat > conftest.$ac_ext <<EOF
-#line 11719 "configure"
+#line 11769 "configure"
#include "confdefs.h"
#undef _REENTRANT
@@ -11728,7 +11778,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:11732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11782: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
SERV_R_SET_RESULT="#undef SERV_R_SET_RESULT"
@@ -12103,6 +12153,7 @@ s%@ISC_PLATFORM_NEEDSTRSEP@%$ISC_PLATFORM_NEEDSTRSEP%g
s%@ISC_PLATFORM_NEEDVSNPRINTF@%$ISC_PLATFORM_NEEDVSNPRINTF%g
s%@ISC_EXTRA_OBJS@%$ISC_EXTRA_OBJS%g
s%@ISC_EXTRA_SRCS@%$ISC_EXTRA_SRCS%g
+s%@USE_SYSERROR_LIST@%$USE_SYSERROR_LIST%g
s%@ISC_PLATFORM_QUADFORMAT@%$ISC_PLATFORM_QUADFORMAT%g
s%@ISC_SOCKLEN_T@%$ISC_SOCKLEN_T%g
s%@GETGROUPLIST_ARGS@%$GETGROUPLIST_ARGS%g
diff --git a/lib/bind/configure.in b/lib/bind/configure.in
index b16c84a7..63a2b9f7 100644
--- a/lib/bind/configure.in
+++ b/lib/bind/configure.in
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
AC_DIVERT_POP()dnl
-AC_REVISION($Revision: 1.83 $)
+AC_REVISION($Revision: 1.83.2.1 $)
AC_INIT(resolv/herror.c)
AC_PREREQ(2.13)
@@ -1265,6 +1265,10 @@ AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
AC_SUBST(ISC_EXTRA_OBJS)
AC_SUBST(ISC_EXTRA_SRCS)
+AC_CHECK_FUNC(strerror,
+ [USE_SYSERROR_LIST="#undef USE_SYSERROR_LIST"],
+ [USE_SYSERROR_LIST="#define USE_SYSERROR_LIST 1"])
+AC_SUBST(USE_SYSERROR_LIST)
#
# Determine the printf format characters to use when printing
diff --git a/lib/bind/dst/dst_api.c b/lib/bind/dst/dst_api.c
index 1d806fc6..9fe692d5 100644
--- a/lib/bind/dst/dst_api.c
+++ b/lib/bind/dst/dst_api.c
@@ -1,5 +1,5 @@
#ifndef LINT
-static const char rcsid[] = "$Header: /proj/cvs/isc/bind9/lib/bind/dst/dst_api.c,v 1.4 2001/04/03 06:42:17 marka Exp $";
+static const char rcsid[] = "$Header: /proj/cvs/isc/bind9/lib/bind/dst/dst_api.c,v 1.4.2.5 2001/11/02 22:31:14 gson Exp $";
#endif
/*
@@ -213,7 +213,6 @@ dst_compare_keys(const DST_KEY *key1, const DST_KEY *key2)
* Then data is hashed (SIG_MODE_UPDATE). Finally the signature
* itself is created (SIG_MODE_FINAL). This function can be called
* once with INIT, UPDATE and FINAL modes all set, or it can be
-
* called separately with a different mode set for each step. The
* UPDATE step can be repeated.
* Parameters
@@ -431,7 +430,7 @@ dst_s_write_private_key(const DST_KEY *key)
int nn;
if ((nn = fwrite(encoded_block, 1, len, fp)) != len) {
EREPORT(("dst_write_private_key(): Write failure on %s %d != %d errno=%d\n",
- file, out_len, nn, errno));
+ file, len, nn, errno));
return (-5);
}
fclose(fp);
@@ -553,7 +552,7 @@ dst_s_read_public_key(const char *in_name, const u_int16_t in_id, int in_alg)
enckey[--len] = '\0';
/* remove leading spaces */
- for (notspace = (char *) enckey; isspace((unsigned char)*notspace); len--)
+ for (notspace = (char *) enckey; isspace((*notspace)&0xff); len--)
notspace++;
dlen = b64_pton(notspace, deckey, sizeof(deckey));
@@ -587,6 +586,7 @@ dst_s_write_public_key(const DST_KEY *key)
u_char out_key[RAW_KEY_SIZE];
char enc_key[RAW_KEY_SIZE];
int len = 0;
+ int mode;
memset(out_key, 0, sizeof(out_key));
if (key == NULL) {
@@ -602,8 +602,10 @@ dst_s_write_public_key(const DST_KEY *key)
key->dk_key_name, key->dk_id, PUBLIC_KEY));
return (0);
}
+ /* XXX in general this should be a check for symmetric keys */
+ mode = (key->dk_alg == KEY_HMAC_MD5) ? 0600 : 0644;
/* create public key file */
- if ((fp = dst_s_fopen(filename, "w+", 0644)) == NULL) {
+ if ((fp = dst_s_fopen(filename, "w+", mode)) == NULL) {
EREPORT(("DST_write_public_key: open of file:%s failed (errno=%d)\n",
filename, errno));
return (0);
@@ -655,6 +657,7 @@ dst_dnskey_to_key(const char *in_name, const u_char *rdata, const int len)
if (in_name == NULL)
return (NULL);
+ key_st->dk_id = dst_s_dns_key_id(rdata, len);
key_st->dk_flags = dst_s_get_int16(rdata);
key_st->dk_proto = (u_int16_t) rdata[DST_KEY_PROT];
if (key_st->dk_flags & DST_EXTEND_FLAG) {
@@ -758,6 +761,8 @@ dst_buffer_to_key(const char *key_name, /* name of the key */
{
DST_KEY *dkey = NULL;
+ int dnslen;
+ u_char dns[2048];
if (!dst_check_algorithm(alg)) { /* make sure alg is available */
EREPORT(("dst_buffer_to_key(): Algorithm %d not suppored\n", alg));
@@ -769,14 +774,17 @@ dst_buffer_to_key(const char *key_name, /* name of the key */
if (dkey == NULL)
return (NULL);
- if (dkey->dk_func != NULL && dkey->dk_func->from_dns_key != NULL) {
- if (dkey->dk_func->from_dns_key(dkey, key_buf, key_len) < 0) {
- EREPORT(("dst_buffer_to_key(): dst_buffer_to_hmac failed\n"));
- return (dst_free_key(dkey));
- }
- return (dkey);
+ if (dkey->dk_func == NULL || dkey->dk_func->from_dns_key == NULL)
+ return NULL;
+
+ if (dkey->dk_func->from_dns_key(dkey, key_buf, key_len) < 0) {
+ EREPORT(("dst_buffer_to_key(): dst_buffer_to_hmac failed\n"));
+ return (dst_free_key(dkey));
}
- return (NULL);
+
+ dnslen = dst_key_to_dnskey(dkey, dns, sizeof(dns));
+ dkey->dk_id = dst_s_dns_key_id(dns, dnslen);
+ return (dkey);
}
int
@@ -814,10 +822,12 @@ dst_s_read_private_key_file(char *name, DST_KEY *pk_key, u_int16_t in_id,
int in_alg)
{
int cnt, alg, len, major, minor, file_major, file_minor;
- int id;
+ int ret, id;
char filename[PATH_MAX];
u_char in_buff[RAW_KEY_SIZE], *p;
FILE *fp;
+ int dnslen;
+ u_char dns[2048];
if (name == NULL || pk_key == NULL) {
EREPORT(("dst_read_private_key_file(): No key name given\n"));
@@ -884,10 +894,13 @@ dst_s_read_private_key_file(char *name, DST_KEY *pk_key, u_int16_t in_id,
if (pk_key->dk_func == NULL || pk_key->dk_func->from_file_fmt == NULL)
goto fail;
- id = pk_key->dk_func->from_file_fmt(pk_key, (char *)p, &in_buff[len] - p);
- if (id < 0)
+ ret = pk_key->dk_func->from_file_fmt(pk_key, (char *)p, &in_buff[len] - p);
+ if (ret < 0)
goto fail;
+ dnslen = dst_key_to_dnskey(pk_key, dns, sizeof(dns));
+ id = dst_s_dns_key_id(dns, dnslen);
+
/* Make sure the actual key tag matches the input tag used in the filename
*/
if (id != in_id) {
@@ -940,6 +953,9 @@ dst_generate_key(const char *name, const int bits, const int exp,
{
DST_KEY *new_key = NULL;
int res;
+ int dnslen;
+ u_char dns[2048];
+
if (name == NULL)
return (NULL);
@@ -964,6 +980,13 @@ dst_generate_key(const char *name, const int bits, const int exp,
new_key->dk_key_size, exp));
return (dst_free_key(new_key));
}
+
+ dnslen = dst_key_to_dnskey(new_key, dns, sizeof(dns));
+ if (dnslen != UNSUPPORTED_KEYALG)
+ new_key->dk_id = dst_s_dns_key_id(dns, dnslen);
+ else
+ new_key->dk_id = 0;
+
return (new_key);
}
diff --git a/lib/bind/dst/support.c b/lib/bind/dst/support.c
index bdfb8bea..18933e93 100644
--- a/lib/bind/dst/support.c
+++ b/lib/bind/dst/support.c
@@ -1,4 +1,4 @@
-static const char rcsid[] = "$Header: /proj/cvs/isc/bind9/lib/bind/dst/support.c,v 1.2 2001/04/03 00:48:09 bwelling Exp $";
+static const char rcsid[] = "$Header: /proj/cvs/isc/bind9/lib/bind/dst/support.c,v 1.2.2.1 2001/11/02 22:25:29 gson Exp $";
/*
@@ -91,7 +91,7 @@ dst_s_calculate_bits(const u_char *str, const int max_bits)
/*
- * calculates a checksum used in kmt for a id.
+ * calculates a checksum used in dst for an id.
* takes an array of bytes and a length.
* returns a 16 bit checksum.
*/
@@ -116,34 +116,30 @@ dst_s_id_calc(const u_char *key, const int keysize)
}
/*
- * dst_s_dns_key_id() Function to calculated DNSSEC footprint from KEY reocrd
- * rdata (all of record)
+ * dst_s_dns_key_id() Function to calculate DNSSEC footprint from KEY record
+ * rdata
* Input:
* dns_key_rdata: the raw data in wire format
* rdata_len: the size of the input data
* Output:
- * the key footprint/id calcuated from the key data
+ * the key footprint/id calculated from the key data
*/
u_int16_t
dst_s_dns_key_id(const u_char *dns_key_rdata, const int rdata_len)
{
- int key_data = 4;
-
- if (!dns_key_rdata || (rdata_len < key_data))
+ if (!dns_key_rdata)
return 0;
- /* check the extended parameters bit in the DNS Key RR flags */
- if (dst_s_get_int16(dns_key_rdata) & DST_EXTEND_FLAG)
- key_data += 2;
-
/* compute id */
if (dns_key_rdata[3] == KEY_RSA) /* Algorithm RSA */
return dst_s_get_int16((const u_char *)
&dns_key_rdata[rdata_len - 3]);
+ else if (dns_key_rdata[3] == KEY_HMAC_MD5)
+ /* compatibility */
+ return 0;
else
/* compute a checksum on the key part of the key rr */
- return dst_s_id_calc(&dns_key_rdata[key_data],
- (rdata_len - key_data));
+ return dst_s_id_calc(dns_key_rdata, rdata_len);
}
/*
diff --git a/lib/bind/include/arpa/nameser_compat.h b/lib/bind/include/arpa/nameser_compat.h
index 335d75b4..2f1fb9b2 100644
--- a/lib/bind/include/arpa/nameser_compat.h
+++ b/lib/bind/include/arpa/nameser_compat.h
@@ -32,7 +32,7 @@
/*
* from nameser.h 8.1 (Berkeley) 6/2/93
- * $Id: nameser_compat.h,v 1.1 2001/03/29 06:31:35 marka Exp $
+ * $Id: nameser_compat.h,v 1.1.2.1 2001/11/02 20:12:58 gson Exp $
*/
#ifndef _ARPA_NAMESER_COMPAT_
@@ -64,6 +64,7 @@
defined(apollo) || defined(__convex__) || defined(_CRAY) || \
defined(__hppa) || defined(__hp9000) || \
defined(__hp9000s300) || defined(__hp9000s700) || \
+ defined(__hp3000s900) || defined(MPE) || \
defined (BIT_ZERO_ON_LEFT) || defined(m68k) || \
(defined(__Lynx__) && \
(defined(__68k__) || defined(__sparc__) || defined(__powerpc__)))
diff --git a/lib/bind/include/resolv.h b/lib/bind/include/resolv.h
index 4bf0ccf3..3352051c 100644
--- a/lib/bind/include/resolv.h
+++ b/lib/bind/include/resolv.h
@@ -50,7 +50,7 @@
/*
* @(#)resolv.h 8.1 (Berkeley) 6/2/93
- * $Id: resolv.h,v 1.7 2001/06/25 00:30:46 marka Exp $
+ * $Id: resolv.h,v 1.7.2.2 2001/11/03 00:21:34 gson Exp $
*/
#ifndef _RESOLV_H_
@@ -178,7 +178,8 @@ struct __res_state {
int _vcsock; /* PRIVATE: for res_send VC i/o */
u_int _flags; /* PRIVATE: see below */
union {
- char pad[52]; /* On an i386 this means 512b total. */
+ /* On an 32-bit arch this means 512b total. */
+ char pad[72 - 3*sizeof (int) - 2*sizeof (void *)];
struct {
u_int16_t nscount;
u_int16_t nstimes[MAXNS]; /* ms. */
@@ -235,11 +236,11 @@ union res_sockaddr_union {
#define RES_KEEPTSIG 0x00010000 /* do not strip TSIG records */
#define RES_BLAST 0x00020000 /* blast all recursive servers */
#define RES_NO_NIBBLE 0x00040000 /* disable IPv6 nibble mode reverse */
-#define RES_NO_BITSTRING 0x00080000 /* disable IPv6 bits tring mode reverse */
+#define RES_NO_BITSTRING 0x00080000 /* disable IPv6 bit string mode reverse */
/* KAME extensions: use higher bit to avoid conflict with ISC use */
-#define RES_USE_EDNS0 0x40000000 /* use EDNS0 if configured */
-#define RES_USE_A6 0x20000000 /* use A6 */
#define RES_USE_DNAME 0x10000000 /* use DNAME */
+#define RES_USE_A6 0x20000000 /* use A6 */
+#define RES_USE_EDNS0 0x40000000 /* use EDNS0 if configured */
#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
diff --git a/lib/bind/irs/dns_ho.c b/lib/bind/irs/dns_ho.c
index 3e596f01..a563ff74 100644
--- a/lib/bind/irs/dns_ho.c
+++ b/lib/bind/irs/dns_ho.c
@@ -52,7 +52,7 @@
/* BIND Id: gethnamaddr.c,v 8.15 1996/05/22 04:56:30 vixie Exp $ */
#if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$Id: dns_ho.c,v 1.5 2001/07/02 00:44:50 marka Exp $";
+static const char rcsid[] = "$Id: dns_ho.c,v 1.5.2.1 2001/11/02 20:35:28 gson Exp $";
#endif /* LIBC_SCCS and not lint */
/* Imports. */
@@ -1400,7 +1400,8 @@ gethostans(struct irs_ho *this,
buflen -= nn;
}
/* Ensure alignment. */
- bp += sizeof(align) - ((u_long)bp % sizeof(align));
+ bp = (char *)(((u_long)bp + (sizeof(align) - 1)) &
+ ~(sizeof(align) - 1));
/* Avoid overflows. */
if (bp + n >= &pvt->hostbuf[sizeof pvt->hostbuf]) {
had_error++;
@@ -1421,6 +1422,8 @@ gethostans(struct irs_ho *this,
had_error++;
break;
}
+ if (m == 0)
+ continue;
if (hap < &pvt->h_addr_ptrs[MAXADDRS-1])
hap++;
@@ -1491,6 +1494,8 @@ add_hostent(struct pvt *pvt, char *bp, char **hap, struct addrinfo *ai)
{
int addrlen;
char *addrp;
+ const char **tap;
+ char *obp = bp;
switch(ai->ai_addr->sa_family) {
case AF_INET6:
@@ -1505,26 +1510,26 @@ add_hostent(struct pvt *pvt, char *bp, char **hap, struct addrinfo *ai)
return(-1); /* abort? */
}
- bp += sizeof(align) - ((u_long)bp % sizeof(align));
+ /* Ensure alignment. */
+ bp = (char *)(((u_long)bp + (sizeof(align) - 1)) &
+ ~(sizeof(align) - 1));
+ /* Avoid overflows. */
if (bp + addrlen >= &pvt->hostbuf[sizeof pvt->hostbuf])
return(-1);
if (hap >= &pvt->h_addr_ptrs[MAXADDRS-1])
- return(addrlen); /* fail, but not treat it as an error. */
-#if 0
+ return(0); /* fail, but not treat it as an error. */
+
/* Suppress duplicates. */
for (tap = (const char **)pvt->h_addr_ptrs;
*tap != NULL;
tap++)
- if (memcmp(*tap, cp, n) == 0)
+ if (memcmp(*tap, addrp, addrlen) == 0)
break;
- if (*tap != NULL) {
- cp += n;
- continue;
- }
-#endif
+ if (*tap != NULL)
+ return (0);
memcpy(*hap = bp, addrp, addrlen);
- return(addrlen);
+ return((bp + addrlen) - obp);
}
static void
@@ -1536,7 +1541,10 @@ map_v4v6_hostent(struct hostent *hp, char **bpp, int *lenp) {
hp->h_addrtype = AF_INET6;
hp->h_length = IN6ADDRSZ;
for (ap = hp->h_addr_list; *ap; ap++) {
- int i = sizeof(align) - ((u_long)*bpp % sizeof(align));
+ int i = (u_long)*bpp % sizeof(align);
+
+ if (i != 0)
+ i = sizeof(align) - i;
if (*lenp < (i + IN6ADDRSZ)) {
/* Out of memory. Truncate address list here. */
diff --git a/lib/bind/irs/gai_strerror.c b/lib/bind/irs/gai_strerror.c
index ca308d16..32c6d1ed 100644
--- a/lib/bind/irs/gai_strerror.c
+++ b/lib/bind/irs/gai_strerror.c
@@ -1,44 +1,86 @@
/*
-%%% copyright-cmetz-97
-This software is Copyright 1997-1998 by Craig Metz, All Rights Reserved.
-The Inner Net License Version 2 applies to this software.
-You should have received a copy of the license with this software. If
-you didn't get a copy, you may request one from <license@inner.net>.
-
-*/
+ * Copyright (c) 2001 by 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.
+ */
#include <port_before.h>
#include <netdb.h>
#include <port_after.h>
+#ifdef DO_PTHREADS
+#include <pthread.h>
+#include <stdlib.h>
+#endif
+
+static const char *gai_errlist[] = {
+ "no error",
+ "address family not supported for name",/* EAI_ADDRFAMILY */
+ "temporary failure", /* EAI_AGAIN */
+ "invalid flags", /* EAI_BADFLAGS */
+ "permanent failure", /* EAI_FAIL */
+ "address family not supported", /* EAI_FAMILY */
+ "memory failure", /* EAI_MEMORY */
+ "no address", /* EAI_NODATA */
+ "unknown name or service", /* EAI_NONAME */
+ "service not supported for socktype", /* EAI_SERVICE */
+ "socktype not supported", /* EAI_SOCKTYPE */
+ "system failure", /* EAI_SYSTEM */
+ "bad hints", /* EAI_BADHINTS */
+ "bad protocol", /* EAI_PROTOCOL */
+
+ "unknown error" /* Must be last. */
+};
+
+static const int gai_nerr = (sizeof(gai_errlist)/sizeof(*gai_errlist));
+
+#define EAI_BUFSIZE 128
+
const char *
-gai_strerror(int errnum) {
- switch(errnum) {
- case 0:
- return "no error";
- case EAI_BADFLAGS:
- return "invalid value for ai_flags";
- case EAI_NONAME:
- return "name or service is not known";
- case EAI_AGAIN:
- return "temporary failure in name resolution";
- case EAI_FAIL:
- return "non-recoverable failure in name resolution";
- case EAI_NODATA:
- return "no address associated with name";
- case EAI_FAMILY:
- return "ai_family not supported";
- case EAI_SOCKTYPE:
- return "ai_socktype not supported";
- case EAI_SERVICE:
- return "service not supported for ai_socktype";
- case EAI_ADDRFAMILY:
- return "address family for name not supported";
- case EAI_MEMORY:
- return "memory allocation failure";
- case EAI_SYSTEM:
- return "system error";
- default:
- return "unknown error";
- };
+gai_strerror(int ecode) {
+#ifndef DO_PTHREADS
+ static char buf[EAI_BUFSIZE];
+#else DO_PTHREADS
+ static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+ static pthread_key_t key;
+ static int once = 0;
+ char *buf;
+#endif
+
+ if (ecode >= 0 && ecode < (gai_nerr - 1))
+ return (gai_errlist[ecode]);
+
+#ifdef DO_PTHREADS
+ if (!once) {
+ pthread_mutex_lock(&lock);
+ if (!once++)
+ pthread_key_create(&key, free);
+ pthread_mutex_unlock(&lock);
+ }
+
+ buf = pthread_getspecific(key);
+ if (buf == NULL) {
+ buf = malloc(EAI_BUFSIZE);
+ if (buf == NULL)
+ return ("unknown error");
+ pthread_setspecific(key, buf);
+ }
+#endif
+ /*
+ * XXX This really should be snprintf(buf, EAI_BUFSIZE, ...).
+ * It is safe until message catalogs are used.
+ */
+ sprintf(buf, "%s: %d", gai_errlist[gai_nerr - 1], ecode);
+ return (buf);
}
diff --git a/lib/bind/irs/irp.c b/lib/bind/irs/irp.c
index 2769c6d0..95abbf17 100644
--- a/lib/bind/irs/irp.c
+++ b/lib/bind/irs/irp.c
@@ -16,7 +16,7 @@
*/
#if !defined(LINT) && !defined(CODECENTER)
-static const char rcsid[] = "$Id: irp.c,v 1.3 2001/04/03 06:42:27 marka Exp $";
+static const char rcsid[] = "$Id: irp.c,v 1.3.2.1 2001/11/02 20:45:32 gson Exp $";
#endif
/* Imports */
@@ -539,6 +539,7 @@ irs_irp_send_command(struct irp_p *pvt, const char *fmt, ...) {
va_start(ap, fmt);
todo = vsprintf(buffer, fmt, ap);
+ va_end(ap);
if (todo > (int)sizeof(buffer) - 3) {
syslog(LOG_CRIT, "memory overrun in irs_irp_send_command()");
exit(1);
@@ -561,7 +562,6 @@ irs_irp_send_command(struct irp_p *pvt, const char *fmt, ...) {
}
todo -= i;
}
- va_end(ap);
return (0);
}
diff --git a/lib/bind/irs/irs_data.c b/lib/bind/irs/irs_data.c
index a7463022..d1bf75b0 100644
--- a/lib/bind/irs/irs_data.c
+++ b/lib/bind/irs/irs_data.c
@@ -16,7 +16,7 @@
*/
#if !defined(LINT) && !defined(CODECENTER)
-static const char rcsid[] = "$Id: irs_data.c,v 1.3 2001/07/04 08:10:23 marka Exp $";
+static const char rcsid[] = "$Id: irs_data.c,v 1.3.2.1 2001/11/02 20:55:24 gson Exp $";
#endif
#include "port_before.h"
@@ -153,7 +153,8 @@ net_data_create(const char *conf_file) {
if (net_data->res == NULL)
return (NULL);
- if (res_ninit(net_data->res) == -1)
+ if ((net_data->res->options & RES_INIT) == 0 &&
+ res_ninit(net_data->res) == -1)
return (NULL);
return (net_data);
diff --git a/lib/bind/isc/assertions.mdoc b/lib/bind/isc/assertions.mdoc
index 7fa00c97..9f8cc639 100644
--- a/lib/bind/isc/assertions.mdoc
+++ b/lib/bind/isc/assertions.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: assertions.mdoc,v 1.1 2001/03/29 06:31:53 marka Exp $
+.\" $Id: assertions.mdoc,v 1.1.2.1 2001/11/02 21:05:58 gson Exp $
.\"
.\"Copyright (c) 1997,1999 by Internet Software Consortium.
.\"
@@ -75,9 +75,9 @@ macro. If this macro's value is
when
.Dq "<isc/assertions.h>"
is included, then assertions of that type will not be checked. E.g.
-
+.Pp
.Dl #define CHECK_ENSURE 0
-
+.Pp
will disable checking of
.Fn ENSURE
and
@@ -93,8 +93,7 @@ assertion types should be checked.
specifies the function to call when an assertion fails.
.Pp
When an
-.li
-assertion_failure_callback
+.Fn assertion_failure_callback
is called, the
.Fa filename
and
@@ -109,7 +108,7 @@ assert_ensure
assert_insist
assert_invariant
.Ed
-
+.Pp
and may be used by the callback to determine the type of the failing
assertion.
.Fa condition
@@ -127,8 +126,13 @@ For example,
returns the string
.Dq REQUIRE .
.Sh SEE ALSO
-Bertrand Meyer,
-.Sy Object-Oriented Software Construction,
-2nd edition, Prentice\-Hall, 1997, ISBN 0\-13\-629155\-4, chapter 11.
+.Rs
+.%A Bertrand Meyer
+.%B Object-Oriented Software Construction, 2nd edition
+.%Q Prentice\-Hall
+.%D 1997
+.%O ISBN 0\-13\-629155\-4
+.%P chapter 11
+.Re
.Sh AUTHOR
Bob Halley (ISC).
diff --git a/lib/bind/isc/bitncmp.mdoc b/lib/bind/isc/bitncmp.mdoc
index 7ad37f3a..6eb72017 100644
--- a/lib/bind/isc/bitncmp.mdoc
+++ b/lib/bind/isc/bitncmp.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: bitncmp.mdoc,v 1.1 2001/03/29 06:31:53 marka Exp $
+.\" $Id: bitncmp.mdoc,v 1.1.2.1 2001/11/02 21:05:59 gson Exp $
.\"
.\"Copyright (c) 1996,1999 by Internet Software Consortium.
.\"
@@ -41,7 +41,7 @@ is lexicographically less than, equal to, or greater than
when taken to be unsigned characters (this behaviour is just like that of
.Xr memcmp 3 ) .
.Pp
-.Sy NOTE:
+.Sy NOTE :
.Fn Bitncmp
assumes
.Sy network byte order ;
@@ -52,7 +52,7 @@ this means that the fourth octet of
.Fn Bitncmp
returns values in the manner of
.Xr memcmp 3 :
-.Bd -filled -offset indent
+.Bd -ragged -offset indent
+1 if
.Dq Fa 1
is greater than
@@ -75,7 +75,7 @@ where
and
.Dq Fa r
are both interpreted as strings of unsigned characters (through bit
-.Dq Fa n .)
+.Dq Fa n . )
.Sh SEE ALSO
.Xr memcmp 3 .
.Sh AUTHOR
diff --git a/lib/bind/isc/eventlib.mdoc b/lib/bind/isc/eventlib.mdoc
index f3bfef36..c0364c97 100644
--- a/lib/bind/isc/eventlib.mdoc
+++ b/lib/bind/isc/eventlib.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: eventlib.mdoc,v 1.1 2001/03/29 06:31:54 marka Exp $
+.\" $Id: eventlib.mdoc,v 1.1.2.1 2001/11/02 21:06:00 gson Exp $
.\"
.\"Copyright (c) 1995-1999 by Internet Software Consortium
.\"
@@ -70,17 +70,17 @@
.Sh SYNOPSIS
.Fd #include <isc/eventlib.h>
.Ft typedef void
-.Fn (*evConnFunc) "evContext ctx" "void *uap" "int fd" \
+.Fn \*(lp*evConnFunc\*(rp "evContext ctx" "void *uap" "int fd" \
"const void *la" "int lalen" "const void *ra" "int ralen"
.Ft typedef void
-.Fn (*evTimerFunc) "evContext ctx" "void *uap" \
+.Fn \*(lp*evTimerFunc\*(rp "evContext ctx" "void *uap" \
"struct timespec due" "struct timespec inter"
.Ft typedef void
-.Fn (*evFileFunc) "evContext ctx" "void *uap" "int fd" "int eventmask"
+.Fn \*(lp*evFileFunc\*(rp "evContext ctx" "void *uap" "int fd" "int eventmask"
.Ft typedef void
-.Fn (*evStreamFunc) "evContext ctx" "void *uap" "int fd" "int bytes"
+.Fn \*(lp*evStreamFunc\*(rp "evContext ctx" "void *uap" "int fd" "int bytes"
.Ft typedef void
-.Fn (*evWaitFunc) "evContext ctx" "void *uap" "const void *tag"
+.Fn \*(lp*evWaitFunc\*(rp "evContext ctx" "void *uap" "const void *tag"
.Ft int
.Fn evCreate "evContext *ctx"
.Ft int
@@ -197,7 +197,7 @@ The function
creates an event context which is needed by all the other functions in this
library. All information used internally by this library is bound to this
context, rather than to static storage. This makes the library
-.Dq thread safe,
+.Dq thread safe ,
and permits other library functions to use events without
disrupting the application's use of events.
.Pp
@@ -325,7 +325,7 @@ The function
adds two
.Dq Fa struct timespec
values and returns the result as a
-.Dq Fa struct timespec.
+.Dq Fa struct timespec .
.Pp
The function
.Fn evSubTime
@@ -334,7 +334,7 @@ subtracts its second
argument from its first
.Dq Fa struct timespec
argument and returns the result as a
-.Dq Fa struct timespec.
+.Dq Fa struct timespec .
.Pp
The function
.Fn evCmpTime
@@ -384,15 +384,15 @@ argument. The event will be delivered at absolute time
and then if time
.Fa inter
is not equal to
-.Dq Fa evConsTime(0,0) ,
+.Dq Fn evConsTime 0 0 ,
subsequently at intervals equal to time
.Fa inter .
As a special case, specifying a
.Fa due
argument equal to
-.Dq Fa evConsTime(0,0)
+.Dq Fn evConsTime 0 0
means
-.Dq due immediately.
+.Dq due immediately .
The
.Fa opaqueID
argument, if specified as a value other than
@@ -711,7 +711,7 @@ initiates an outgoing connection on
to destination address
.Fa ra
(whose length is
-.Fa ralen ).
+.Fa ralen ) .
When the connection is complete,
.Fa func
will be called with
@@ -719,7 +719,7 @@ will be called with
as one of its arguments. The argument
.Fa fd
to
-.Fn (*func)()
+.Fn \*(lp*func\*(rp
will be
.Fa -1
if an error occurred that prevented this connection from completing
diff --git a/lib/bind/isc/heap.mdoc b/lib/bind/isc/heap.mdoc
index cd1596a5..49dea3d9 100644
--- a/lib/bind/isc/heap.mdoc
+++ b/lib/bind/isc/heap.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: heap.mdoc,v 1.1 2001/03/29 06:31:55 marka Exp $
+.\" $Id: heap.mdoc,v 1.1.2.1 2001/11/02 21:06:01 gson Exp $
.\"
.\"Copyright (c) 1997,1999 by Internet Software Consortium.
.\"
@@ -15,7 +15,7 @@
.\"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
.\"SOFTWARE.
.\"
-.Dd Jan 1, 1997
+.Dd January 1, 1997
.\"Os OPERATING_SYSTEM [version/release]
.Os BSD 4
.Dt HEAP @SYSCALL_EXT@
@@ -52,10 +52,9 @@
These functions implement heap\-based priority queues. The user defines a
priority scheme, and provides a function for comparison of the priority
of heap elements
-.Po see the description of the
+(see the description of the
.Ft heap_higher_priority_func
-function pointer, below
-.Pc .
+function pointer, below).
.Pp
Each of the functions depends upon the
.Ft heap_context
@@ -163,9 +162,8 @@ into the appropriate place (priority\-wise) in the
.Ft heap
indicated by
.Fa ctx
-.Po a pointer to a
-.Ft heap_context
-.Pc .
+(a pointer to a
+.Ft heap_context ) .
If
.No non\- Ns Dv NULL ,
the user-defined
@@ -189,7 +187,9 @@ element onward via the priority as determined by the user function
pointed to by
.Ft higher_priority
function pointer
-.Pq see description of Fn heap_new, No above .
+(see description of
+.Fn heap_new ,
+above).
.Pp
.Fn heap_increased
.Pp
@@ -233,7 +233,7 @@ a
or if the
.Fa higher_priority
function pointer is
-.Dv NULL;
+.Dv NULL ;
otherwise, a valid
.Ft heap_context
.Ns .
@@ -347,14 +347,24 @@ please refer to
.Sh SEE ALSO
.Xr malloc 3 ,
.Xr realloc 3 .
-.Pp
-Cormen, Leiserson, and Rivest,
-.Sy Introduction to Algorithms,
-MIT Press / McGraw Hill, 1990, ISBN 0\-262\-03141\-8, chapter 7.
-.Pp
-Sedgewick,
-.Sy Algorithms,
-2nd ed'n, Addison\-Wesley, 1988, ISBN 0\-201\-06673\-4, chapter 11.
+.Rs
+.%A Cormen
+.%A Leiserson
+.%A Rivest
+.%B Introduction to Algorithms
+.%Q "MIT Press / McGraw Hill"
+.%D 1990
+.%O ISBN 0\-262\-03141\-8
+.%P chapter 7
+.Re
+.Rs
+.%A Sedgewick
+.%B Algorithms, 2nd ed'n
+.%Q Addison\-Wesley
+.%D 1988
+.%O ISBN 0\-201\-06673\-4
+.%P chapter 11
+.Re
.\" .Sh STANDARDS
.\" .Sh HISTORY
.Sh AUTHORS
diff --git a/lib/bind/isc/logging.mdoc b/lib/bind/isc/logging.mdoc
index 0b7dae1c..4dd0053d 100644
--- a/lib/bind/isc/logging.mdoc
+++ b/lib/bind/isc/logging.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: logging.mdoc,v 1.1 2001/03/29 06:31:55 marka Exp $
+.\" $Id: logging.mdoc,v 1.1.2.1 2001/11/02 21:06:02 gson Exp $
.\"
.\"Copyright (c) 1995-1999 by Internet Software Consortium
.\"
@@ -212,7 +212,7 @@ Each category can have its own list of
associated with it; we say that such a channel is
.Dq in
the particular category.
-.Sy NOTE:
+.Sy NOTE :
Individual logging channels can appear in more than one category.
.Pp
A
@@ -220,12 +220,12 @@ A
is the set of all
.Nm logging channels
associated with the context's
-.Nm categories;
+.Nm categories ;
thus, a particular
.Nm category
scheme is associated with a particular
-.Nm logging context.
-.Sy NOTE:
+.Nm logging context .
+.Sy NOTE :
A logging channel may appear in more than one logging context, and in
multiple categories within each logging context.
.Pp
@@ -370,8 +370,8 @@ bit of the
field of the logging channel structure is set), then any file with the
.Dq current
filename for the stream is
-.X4 unlink 2 Ns -d .
-.Sy NOTE:
+.Xr unlink 2 Ns -d .
+.Sy NOTE :
If the logging file is
.Em not
a regular file, and either of the above operations (version numbering
@@ -477,7 +477,7 @@ set and the message is not a debugging message (i.e., has a level greater
than 0), then it will not be logged.
Finally, if the message's priority is less important than the
channel's logging level (the priority threshold), will not be logged.
-.Sy NOTE:
+.Sy NOTE :
If a logging channel's flag has
.Dv LOG_USE_CONTEXT_LEVEL
set, it will use the logging context's priority, rather than its own.
@@ -572,7 +572,7 @@ and
.Dq Fa category_names
which are supplied; the latter can be
.Dv NULL .
-.Sy NOTE:
+.Sy NOTE :
Since
.Dq Fa category_names
is used directly, it
@@ -586,7 +586,7 @@ The
function is used to free the opaque structure
.Dq Va lc.opaque
and its components.
-.Sy NOTE:
+.Sy NOTE :
The
.Dq Va opaque
field of
@@ -614,7 +614,7 @@ and
is set to
.Dv NULL .
.Pp
-.Sy NOTE:
+.Sy NOTE :
The function
.Fn log_free_context
does
@@ -704,7 +704,9 @@ create a new channel of the type specified (thus, the difference in arguments);
the
.Dq Va type
field of the new
-.Dq Ft struct log_channel
+.Do
+.Ft struct log_channel
+.Dc
is always set to the appropriate value.
.Pp
The
@@ -807,7 +809,8 @@ c) if any of
or
.Xr fdopen 3
fails
-.Po Va errno
+.Po
+.Va errno
is set by the call which failed
.Pc .
If some value other than
@@ -862,7 +865,8 @@ is
or
.Fa category
is invalid (negative or greater than or equal to
-.Va lcp->num_categories ), with
+.Va lcp->num_categories ) ,
+with
.Va errno
set to
.Dv EINVAL ;
diff --git a/lib/bind/isc/memcluster.mdoc b/lib/bind/isc/memcluster.mdoc
index 5425650b..1e0ba6cf 100644
--- a/lib/bind/isc/memcluster.mdoc
+++ b/lib/bind/isc/memcluster.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: memcluster.mdoc,v 1.1 2001/03/29 06:31:55 marka Exp $
+.\" $Id: memcluster.mdoc,v 1.1.2.1 2001/11/02 21:06:03 gson Exp $
.\"
.\"Copyright (c) 1995-1999 by Internet Software Consortium
.\"
@@ -20,7 +20,7 @@
.\"Os OPERATING_SYSTEM [version/release]
.Os BSD 4
.\"Dt DOCUMENT_TITLE [section number] [volume]
-.Dt memcluster 3
+.Dt MEMCLUSTER 3
.Sh NAME
.Nm meminit ,
.Nm memget ,
@@ -192,7 +192,8 @@ the the value
as mentioned in the
.Sx INTERNALS
subsection, above, the block is placed at the head of the free list of
-.Va new_size Ns No -sized blocks.
+.Va new_size Ns -sized
+blocks.
If the given
.Fa size
is zero or negative, then
@@ -276,7 +277,7 @@ is generally
equal to
.Fa size ,
which has these implications:
-.Bl -enum -offset -indent means that, for
+.Bl -enum -offset indent
.It
For
.Fa size
diff --git a/lib/bind/isc/tree.mdoc b/lib/bind/isc/tree.mdoc
index 02d452f7..65355263 100644
--- a/lib/bind/isc/tree.mdoc
+++ b/lib/bind/isc/tree.mdoc
@@ -1,4 +1,4 @@
-.\" $Id: tree.mdoc,v 1.1 2001/03/29 06:31:55 marka Exp $
+.\" $Id: tree.mdoc,v 1.1.2.1 2001/11/02 21:06:04 gson Exp $
.\"
.\"Copyright (c) 1995-1999 by Internet Software Consortium
.\"
@@ -32,15 +32,15 @@
.Ft void *
.Fn tree_srch "void **tree" "int (*compare)()" "void *data"
.Ft void
-.Fn tree_add(tree, compare, data, del_uar) "void **tree" "int (*compare)()" \
+.Fn tree_add "void **tree" "int (*compare)()" \
"void *data" "void (*del_uar)()"
.Ft int
-.Fn tree_delete(tree, compare, data, del_uar) "void **tree" "int (*compare)()" \
+.Fn tree_delete "void **tree" "int (*compare)()" \
"void *data" "void (*del_uar)()"
.Ft int
-.Fn tree_trav(tree, trav_uar) "void **tree" "int (*trav_uar)()"
+.Fn tree_trav "void **tree" "int (*trav_uar)()"
.Ft void
-.Fn tree_mung(tree, del_uar) "void **tree" "void (*del_uar)()"
+.Fn tree_mung "void **tree" "void (*del_uar)()"
.Sh DESCRIPTION
These functions create and manipulate a balanced binary (AVL) tree. Each node
of the tree contains the expected left & right subtree pointers, a short int
@@ -88,19 +88,19 @@ returns 0.
inserts or replaces a node in the specified tree. The tree specified by
.Dq Fa tree
is searched as in
-.Fn tree_srch,
+.Fn tree_srch ,
and if a node is found to match
-.Dq Fa data,
+.Dq Fa data ,
then the
.Fn del_uar
function, if non\-\s-2NULL\s+2, is called with the address of the user data
block for the node (this routine should deallocate any dynamic memory which
is referenced exclusively by the node); the user data pointer for the node
is then replaced by the value of
-.Dq Fa data.
+.Dq Fa data .
If no node is found to match, a new node is added (which may or may not
cause a transparent rebalance operation), with a user data pointer equal to
-.Dq Fa data.
+.Dq Fa data .
A rebalance may or may not occur, depending on where the node is added
and what the rest of the tree looks like.
.Fn Tree_add
@@ -110,7 +110,7 @@ pointer unless catastrophe occurs in which case it will return \s-2NULL\s+2.
.Pp
.Fn Tree_delete
deletes a node from
-.Dq Fa tree.
+.Dq Fa tree .
A rebalance may or may not occur, depending on where the node is removed from
and what the rest of the tree looks like.
.Fn Tree_delete
@@ -118,7 +118,7 @@ returns TRUE if a node was deleted, FALSE otherwise.
.Pp
.Fn Tree_trav
traverses all of
-.Dq Fa tree,
+.Dq Fa tree ,
calling
.Fn trav_uar
with the address of each user data block. If
@@ -132,7 +132,7 @@ will return TRUE.
.Pp
.Fn Tree_mung
deletes every node in
-.Dq Fa tree,
+.Dq Fa tree ,
calling
.Fn del_uar
(if it is not \s-2NULL\s+2) with the user data address from each node (see
diff --git a/lib/bind/nameser/ns_name.c b/lib/bind/nameser/ns_name.c
index bb9e43ed..dc5f32d0 100644
--- a/lib/bind/nameser/ns_name.c
+++ b/lib/bind/nameser/ns_name.c
@@ -16,7 +16,7 @@
*/
#ifndef lint
-static const char rcsid[] = "$Id: ns_name.c,v 1.3 2001/05/07 06:07:44 marka Exp $";
+static const char rcsid[] = "$Id: ns_name.c,v 1.3.2.1 2001/11/02 17:56:07 gson Exp $";
#endif
#include "port_before.h"
@@ -35,6 +35,12 @@ static const char rcsid[] = "$Id: ns_name.c,v 1.3 2001/05/07 06:07:44 marka Exp
#include "port_after.h"
+#ifdef SPRINTF_CHAR
+# define SPRINTF(x) strlen(sprintf/**/x)
+#else
+# define SPRINTF(x) ((size_t)sprintf x)
+#endif
+
#define NS_TYPE_ELT 0x40 /* EDNS0 extended label type */
#define DNS_LABELTYPE_BITSTRING 0x41
@@ -790,17 +796,18 @@ decode_bitstring(const char **cpp, char *dn, const char *eom)
return(-1);
cp++;
- dn += sprintf(dn, "\\[x");
+ dn += SPRINTF((dn, "\\[x"));
for (b = blen; b > 7; b -= 8, cp++)
- dn += sprintf(dn, "%02x", *cp & 0xff);
+ dn += SPRINTF((dn, "%02x", *cp & 0xff));
if (b > 4) {
tc = *cp++;
- dn += sprintf(dn, "%02x", tc & (0xff << (8 - b)));
+ dn += SPRINTF((dn, "%02x", tc & (0xff << (8 - b))));
} else if (b > 0) {
tc = *cp++;
- dn += sprintf(dn, "%1x", ((tc >> 4) & 0x0f) & (0x0f << (4 - b)));
+ dn += SPRINTF((dn, "%1x",
+ ((tc >> 4) & 0x0f) & (0x0f << (4 - b))));
}
- dn += sprintf(dn, "/%d]", blen);
+ dn += SPRINTF((dn, "/%d]", blen));
*cpp = cp;
return(dn - beg);
diff --git a/lib/bind/port_after.h.in b/lib/bind/port_after.h.in
index f396093b..f120779e 100644
--- a/lib/bind/port_after.h.in
+++ b/lib/bind/port_after.h.in
@@ -23,6 +23,7 @@
@NEED_GETTIMEOFDAY@
@HAVE_STRNDUP@
@USE_FIONBIO_IOCTL@
+@USE_SYSERROR_LIST@
/* XXX sunos and cygwin needs O_NDELAY */
#define PORT_NONBLOCK O_NONBLOCK
diff --git a/lib/dns/masterdump.c b/lib/dns/masterdump.c
index 60821907..c8ebac78 100644
--- a/lib/dns/masterdump.c
+++ b/lib/dns/masterdump.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: masterdump.c,v 1.56.2.1 2001/10/23 02:41:55 marka Exp $ */
+/* $Id: masterdump.c,v 1.56.2.2 2001/10/30 01:53:24 marka Exp $ */
#include <config.h>
@@ -689,11 +689,11 @@ dump_rdataset(isc_mem_t *mctx, dns_name_t *name, dns_rdataset_t *rdataset,
if (result != ISC_R_NOSPACE)
break;
- isc_mem_put(mctx, buffer->base, buffer->length);
newlength = buffer->length * 2;
newmem = isc_mem_get(mctx, newlength);
if (newmem == NULL)
return (ISC_R_NOMEMORY);
+ isc_mem_put(mctx, buffer->base, buffer->length);
isc_buffer_init(buffer, newmem, newlength);
}
if (result != ISC_R_SUCCESS)
diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c
index 35046624..ee32af58 100644
--- a/lib/dns/resolver.c
+++ b/lib/dns/resolver.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.c,v 1.218.2.4 2001/10/12 17:49:41 gson Exp $ */
+/* $Id: resolver.c,v 1.218.2.5 2001/11/04 19:21:50 gson Exp $ */
#include <config.h>
@@ -1651,7 +1651,7 @@ possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr)
if (aborted) {
addr->flags |= FCTX_ADDRINFO_MARK;
- msg = "ignoring backholed / bogus server: ";
+ msg = "ignoring blackholed / bogus server: ";
} else if (sa->type.sa.sa_family != AF_INET6) {
return;
} else if (IN6_IS_ADDR_V4MAPPED(&sa->type.sin6.sin6_addr)) {
diff --git a/lib/dns/sec/dst/dst_api.c b/lib/dns/sec/dst/dst_api.c
index 70527d8d..82076d4b 100644
--- a/lib/dns/sec/dst/dst_api.c
+++ b/lib/dns/sec/dst/dst_api.c
@@ -19,7 +19,7 @@
/*
* Principal Author: Brian Wellington
- * $Id: dst_api.c,v 1.88 2001/07/10 21:27:59 bwelling Exp $
+ * $Id: dst_api.c,v 1.88.2.1 2001/11/06 19:24:08 gson Exp $
*/
#include <config.h>
@@ -1014,10 +1014,8 @@ computeid(dst_key_t *key) {
isc_buffer_init(&dnsbuf, dns_array, sizeof(dns_array));
ret = dst_key_todns(key, &dnsbuf);
- if (ret != ISC_R_SUCCESS) {
- dst_key_free(&key);
+ if (ret != ISC_R_SUCCESS)
return (ret);
- }
isc_buffer_usedregion(&dnsbuf, &r);
key->key_id = dst_region_computeid(&r, key->key_alg);
diff --git a/lib/dns/sec/dst/opensslrsa_link.c b/lib/dns/sec/dst/opensslrsa_link.c
index 1ec23eaa..dc198913 100644
--- a/lib/dns/sec/dst/opensslrsa_link.c
+++ b/lib/dns/sec/dst/opensslrsa_link.c
@@ -17,7 +17,7 @@
/*
* Principal Author: Brian Wellington
- * $Id: opensslrsa_link.c,v 1.12 2001/07/10 04:01:19 bwelling Exp $
+ * $Id: opensslrsa_link.c,v 1.12.2.1 2001/11/06 20:44:26 gson Exp $
*/
#ifdef OPENSSL
@@ -297,21 +297,27 @@ opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
return (ISC_R_NOMEMORY);
rsa->flags &= ~(RSA_FLAG_CACHE_PUBLIC | RSA_FLAG_CACHE_PRIVATE);
- if (r.length < 1)
+ if (r.length < 1) {
+ RSA_free(rsa);
return (DST_R_INVALIDPUBLICKEY);
+ }
e_bytes = *r.base++;
r.length--;
if (e_bytes == 0) {
- if (r.length < 2)
+ if (r.length < 2) {
+ RSA_free(rsa);
return (DST_R_INVALIDPUBLICKEY);
+ }
e_bytes = ((*r.base++) << 8);
e_bytes += *r.base++;
r.length -= 2;
}
- if (r.length < e_bytes)
+ if (r.length < e_bytes) {
+ RSA_free(rsa);
return (DST_R_INVALIDPUBLICKEY);
+ }
rsa->e = BN_bin2bn(r.base, e_bytes, NULL);
r.base += e_bytes;
r.length -= e_bytes;
diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in
index 345f6567..ed7fe14b 100644
--- a/lib/isc/include/isc/platform.h.in
+++ b/lib/isc/include/isc/platform.h.in
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h.in,v 1.24 2001/07/18 08:15:21 marka Exp $ */
+/* $Id: platform.h.in,v 1.24.2.1 2001/11/02 00:20:07 marka Exp $ */
#ifndef ISC_PLATFORM_H
#define ISC_PLATFORM_H 1
@@ -59,6 +59,12 @@
@ISC_PLATFORM_NEEDIN6ADDRANY@
/*
+ * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
+ * will be defined.
+ */
+@ISC_PLATFORM_NEEDIN6ADDRLOOPBACK@
+
+/*
* If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be
* defined.
*/
diff --git a/lib/isc/unix/include/isc/net.h b/lib/isc/unix/include/isc/net.h
index 9b51c493..b26b0c0a 100644
--- a/lib/isc/unix/include/isc/net.h
+++ b/lib/isc/unix/include/isc/net.h
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.h,v 1.31 2001/07/16 03:06:53 marka Exp $ */
+/* $Id: net.h,v 1.31.2.1 2001/11/02 00:20:09 marka Exp $ */
#ifndef ISC_NET_H
#define ISC_NET_H 1
@@ -167,6 +167,9 @@ struct in6_pktinfo {
#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRANY)
extern const struct in6_addr isc_net_in6addrany;
#define in6addr_any isc_net_in6addrany
+#endif
+
+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
extern const struct in6_addr isc_net_in6addrloop;
#define in6addr_loopback isc_net_in6addrloop
#endif
diff --git a/lib/isc/unix/net.c b/lib/isc/unix/net.c
index ba2eb419..57a0ea67 100644
--- a/lib/isc/unix/net.c
+++ b/lib/isc/unix/net.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: net.c,v 1.22.2.1 2001/10/22 23:28:22 gson Exp $ */
+/* $Id: net.c,v 1.22.2.2 2001/11/02 00:20:12 marka Exp $ */
#include <config.h>
@@ -32,6 +32,9 @@
#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRANY)
const struct in6_addr isc_net_in6addrany = IN6ADDR_ANY_INIT;
+#endif
+
+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
const struct in6_addr isc_net_in6addrloop = IN6ADDR_LOOPBACK_INIT;
#endif
diff --git a/lib/isc/unix/stdtime.c b/lib/isc/unix/stdtime.c
index 6ca1fce2..39ea30fa 100644
--- a/lib/isc/unix/stdtime.c
+++ b/lib/isc/unix/stdtime.c
@@ -15,17 +15,50 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: stdtime.c,v 1.11 2001/02/13 13:24:09 marka Exp $ */
+/* $Id: stdtime.c,v 1.11.2.1 2001/10/30 17:57:52 gson Exp $ */
#include <config.h>
#include <stdlib.h> /* NULL */
+#include <syslog.h>
#include <sys/time.h>
#include <isc/stdtime.h>
#include <isc/util.h>
+#ifndef ISC_FIX_TV_USEC
+#define ISC_FIX_TV_USEC 1
+#endif
+
+#define US_PER_S 1000000
+
+#if ISC_FIX_TV_USEC
+static inline void
+fix_tv_usec(struct timeval *tv) {
+ isc_boolean_t fixed = ISC_FALSE;
+
+ if (tv->tv_usec < 0) {
+ fixed = ISC_TRUE;
+ do {
+ tv->tv_sec -= 1;
+ tv->tv_usec += US_PER_S;
+ } while (tv->tv_usec < 0);
+ } else if (tv->tv_usec >= US_PER_S) {
+ fixed = ISC_TRUE;
+ do {
+ tv->tv_sec += 1;
+ tv->tv_usec -= US_PER_S;
+ } while (tv->tv_usec >=US_PER_S);
+ }
+ /*
+ * Call syslog directly as we are called from the logging functions.
+ */
+ if (fixed)
+ syslog(LOG_ERR, "gettimeofday returned bad tv_usec: corrected");
+}
+#endif
+
void
isc_stdtime_get(isc_stdtime_t *t) {
struct timeval tv;
@@ -39,7 +72,12 @@ isc_stdtime_get(isc_stdtime_t *t) {
RUNTIME_CHECK(gettimeofday(&tv, NULL) != -1);
- INSIST(tv.tv_usec >= 0 && tv.tv_usec < 1000000);
+#if ISC_FIX_TV_USEC
+ fix_tv_usec(&tv);
+ INSIST(tv.tv_usec >= 0);
+#else
+ INSIST(tv.tv_usec >= 0 && tv.tv_usec < US_PER_S);
+#endif
*t = (unsigned int)tv.tv_sec;
}
diff --git a/lib/isccfg/check.c b/lib/isccfg/check.c
index 6aa0b347..061b4179 100644
--- a/lib/isccfg/check.c
+++ b/lib/isccfg/check.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: check.c,v 1.14.2.4 2001/10/11 17:12:42 gson Exp $ */
+/* $Id: check.c,v 1.14.2.5 2001/10/29 20:18:48 gson Exp $ */
#include <config.h>
@@ -315,8 +315,38 @@ cfg_check_key(cfg_obj_t *key, isc_log_t *logctx) {
}
static isc_result_t
-check_viewconf(cfg_obj_t *vconfig, const char *vname, isc_log_t *logctx,
- isc_mem_t *mctx)
+check_keylist(cfg_obj_t *keys, isc_symtab_t *symtab, isc_log_t *logctx) {
+ isc_result_t result = ISC_R_SUCCESS;
+ isc_result_t tresult;
+ cfg_listelt_t *element;
+
+ for (element = cfg_list_first(keys);
+ element != NULL;
+ element = cfg_list_next(element))
+ {
+ cfg_obj_t *key = cfg_listelt_value(element);
+ const char *keyname = cfg_obj_asstring(cfg_map_getname(key));
+ isc_symvalue_t symvalue;
+
+ symvalue.as_pointer = NULL;
+ tresult = isc_symtab_define(symtab, keyname, 1,
+ symvalue, isc_symexists_reject);
+ if (tresult == ISC_R_EXISTS) {
+ cfg_obj_log(key, logctx, ISC_LOG_ERROR,
+ "key '%s': already exists ", keyname);
+ result = tresult;
+ } else if (tresult != ISC_R_SUCCESS)
+ return (tresult);
+
+ tresult = cfg_check_key(key, logctx);
+ if (tresult != ISC_R_SUCCESS)
+ return (tresult);
+ }
+ return (result);
+}
+
+static isc_result_t
+check_viewconf(cfg_obj_t *config, cfg_obj_t *vconfig, isc_log_t *logctx, isc_mem_t *mctx)
{
cfg_obj_t *zones = NULL;
cfg_obj_t *keys = NULL;
@@ -333,7 +363,11 @@ check_viewconf(cfg_obj_t *vconfig, const char *vname, isc_log_t *logctx,
if (tresult != ISC_R_SUCCESS)
return (ISC_R_NOMEMORY);
- (void)cfg_map_get(vconfig, "zone", &zones);
+ if (vconfig != NULL)
+ (void)cfg_map_get(vconfig, "zone", &zones);
+ else
+ (void)cfg_map_get(config, "zone", &zones);
+
for (element = cfg_list_first(zones);
element != NULL;
element = cfg_list_next(element))
@@ -354,29 +388,22 @@ check_viewconf(cfg_obj_t *vconfig, const char *vname, isc_log_t *logctx,
if (tresult != ISC_R_SUCCESS)
return (ISC_R_NOMEMORY);
- (void)cfg_map_get(vconfig, "key", &keys);
- for (element = cfg_list_first(keys);
- element != NULL;
- element = cfg_list_next(element))
- {
- cfg_obj_t *key = cfg_listelt_value(element);
- const char *keyname = cfg_obj_asstring(cfg_map_getname(key));
- isc_symvalue_t symvalue;
-
- symvalue.as_pointer = NULL;
- tresult = isc_symtab_define(symtab, keyname, 1,
- symvalue, isc_symexists_reject);
- if (tresult == ISC_R_EXISTS) {
- cfg_obj_log(key, logctx, ISC_LOG_ERROR,
- "key '%s': already exists ", keyname);
+ cfg_map_get(config, "key", &keys);
+ tresult = check_keylist(keys, symtab, logctx);
+ if (tresult == ISC_R_EXISTS)
+ result = ISC_R_FAILURE;
+ else if (tresult != ISC_R_SUCCESS) {
+ isc_symtab_destroy(&symtab);
+ return (tresult);
+ }
+
+ if (vconfig != NULL) {
+ keys = NULL;
+ (void)cfg_map_get(vconfig, "key", &keys);
+ tresult = check_keylist(keys, symtab, logctx);
+ if (tresult == ISC_R_EXISTS)
result = ISC_R_FAILURE;
- } else if (tresult != ISC_R_SUCCESS) {
- isc_symtab_destroy(&symtab);
- return (tresult);
- }
-
- tresult = cfg_check_key(key, logctx);
- if (tresult != ISC_R_SUCCESS) {
+ else if (tresult != ISC_R_SUCCESS) {
isc_symtab_destroy(&symtab);
return (tresult);
}
@@ -387,9 +414,9 @@ check_viewconf(cfg_obj_t *vconfig, const char *vname, isc_log_t *logctx,
/*
* Check that forwarding is reasonable.
*/
- if (strcmp(vname, "_default") == 0) {
+ if (vconfig == NULL) {
cfg_obj_t *options = NULL;
- cfg_map_get(vconfig, "options", &options);
+ cfg_map_get(config, "options", &options);
if (options != NULL)
if (check_forward(options, logctx) != ISC_R_SUCCESS)
result = ISC_R_FAILURE;
@@ -398,7 +425,10 @@ check_viewconf(cfg_obj_t *vconfig, const char *vname, isc_log_t *logctx,
result = ISC_R_FAILURE;
}
- tresult = check_options(vconfig, logctx);
+ if (vconfig != NULL)
+ tresult = check_options(vconfig, logctx);
+ else
+ tresult = check_options(config, logctx);
if (tresult != ISC_R_SUCCESS)
result = tresult;
@@ -423,7 +453,7 @@ cfg_check_namedconf(cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) {
(void)cfg_map_get(config, "view", &views);
if (views == NULL) {
- if (check_viewconf(config, "_default", logctx, mctx)
+ if (check_viewconf(config, NULL, logctx, mctx)
!= ISC_R_SUCCESS)
result = ISC_R_FAILURE;
} else {
@@ -443,11 +473,10 @@ cfg_check_namedconf(cfg_obj_t *config, isc_log_t *logctx, isc_mem_t *mctx) {
velement = cfg_list_next(velement))
{
cfg_obj_t *view = cfg_listelt_value(velement);
- cfg_obj_t *vname = cfg_tuple_get(view, "name");
cfg_obj_t *voptions = cfg_tuple_get(view, "options");
- if (check_viewconf(voptions, cfg_obj_asstring(vname), logctx,
- mctx) != ISC_R_SUCCESS)
+ if (check_viewconf(config, voptions, logctx, mctx)
+ != ISC_R_SUCCESS)
result = ISC_R_FAILURE;
}
diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c
index 8bd40c08..95a84f02 100644
--- a/lib/isccfg/parser.c
+++ b/lib/isccfg/parser.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: parser.c,v 1.70.2.4 2001/10/23 02:42:00 marka Exp $ */
+/* $Id: parser.c,v 1.70.2.8 2001/11/05 23:22:21 marka Exp $ */
#include <config.h>
@@ -823,7 +823,7 @@ options_clauses[] = {
{ "listen-on", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
{ "listen-on-v6", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
{ "match-mapped-addresses", &cfg_type_boolean, 0 },
- { "memstatistics-file", &cfg_type_qstring, 0 },
+ { "memstatistics-file", &cfg_type_qstring, CFG_CLAUSEFLAG_NOTIMP },
{ "multiple-cnames", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
{ "named-xfer", &cfg_type_qstring, CFG_CLAUSEFLAG_OBSOLETE },
{ "pid-file", &cfg_type_qstring, 0 },
@@ -885,7 +885,7 @@ view_clauses[] = {
{ "lame-ttl", &cfg_type_uint32, 0 },
{ "max-ncache-ttl", &cfg_type_uint32, 0 },
{ "max-cache-ttl", &cfg_type_uint32, 0 },
- { "transfer-format", &cfg_type_ustring, 0 },
+ { "transfer-format", &cfg_type_transferformat, 0 },
{ "max-cache-size", &cfg_type_sizenodefault, 0 },
{ "check-names", &cfg_type_checknames,
CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_NOTIMP },
@@ -1844,7 +1844,7 @@ check_enum(cfg_parser_t *pctx, cfg_obj_t *obj, const char *const *enums) {
const char *s = obj->value.string.base;
if (is_enum(s, enums))
return (ISC_R_SUCCESS);
- parser_error(pctx, LOG_NEAR, "'%s' unexpected", s);
+ parser_error(pctx, 0, "'%s' unexpected", s);
return (ISC_R_UNEXPECTEDTOKEN);
}
@@ -2959,10 +2959,22 @@ parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
cfg_obj_t *obj = NULL;
isc_result_t result;
isc_netaddr_t netaddr;
- unsigned int prefixlen;
+ unsigned int addrlen, prefixlen;
UNUSED(type);
CHECK(get_addr(pctx, V4OK|V4PREFIXOK|V6OK, &netaddr));
+ switch (netaddr.family) {
+ case AF_INET:
+ addrlen = 32;
+ break;
+ case AF_INET6:
+ addrlen = 128;
+ break;
+ default:
+ addrlen = 0;
+ INSIST(0);
+ break;
+ }
CHECK(cfg_peektoken(pctx, 0));
if (pctx->token.type == isc_tokentype_special &&
pctx->token.value.as_char == '/') {
@@ -2974,19 +2986,13 @@ parse_netprefix(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
return (ISC_R_UNEXPECTEDTOKEN);
}
prefixlen = pctx->token.value.as_ulong;
- } else {
- switch (netaddr.family) {
- case AF_INET:
- prefixlen = 32;
- break;
- case AF_INET6:
- prefixlen = 128;
- break;
- default:
- prefixlen = 0;
- INSIST(0);
- break;
+ if (prefixlen > addrlen) {
+ parser_error(pctx, LOG_NOPREP,
+ "invalid prefix length");
+ return (ISC_R_RANGE);
}
+ } else {
+ prefixlen = addrlen;
}
CHECK(create_cfgobj(pctx, &cfg_type_netprefix, &obj));
obj->value.netprefix.address = netaddr;
@@ -3819,6 +3825,11 @@ print_grammar(cfg_printer_t *pctx, const cfg_type_t *type) {
const cfg_clausedef_t * const *clauseset;
const cfg_clausedef_t *clause;
+ if (type->parse == parse_named_map) {
+ print_grammar(pctx, &cfg_type_astring);
+ print(pctx, " ", 1);
+ }
+
print_open(pctx);
for (clauseset = type->of; *clauseset != NULL; clauseset++) {
diff --git a/lib/lwres/gai_strerror.c b/lib/lwres/gai_strerror.c
index fde53225..43345dc0 100644
--- a/lib/lwres/gai_strerror.c
+++ b/lib/lwres/gai_strerror.c
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: gai_strerror.c,v 1.14 2001/05/29 22:40:10 bwelling Exp $ */
+/* $Id: gai_strerror.c,v 1.14.2.1 2001/11/02 01:32:53 gson Exp $ */
#include <lwres/netdb.h>
@@ -43,7 +43,8 @@ lwres_gai_strerror(int ecode) {
char *deconst_ptr;
} ptr;
- if ((ecode < 0) || (ecode > EAI_MAX))
+ if ((ecode < 0) ||
+ (ecode >= (int)(sizeof(gai_messages)/sizeof(*gai_messages))))
ptr.const_ptr = "invalid error code";
else
ptr.const_ptr = gai_messages[ecode];
diff --git a/lib/lwres/include/lwres/platform.h.in b/lib/lwres/include/lwres/platform.h.in
index 64fb8a16..185edb3d 100644
--- a/lib/lwres/include/lwres/platform.h.in
+++ b/lib/lwres/include/lwres/platform.h.in
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: platform.h.in,v 1.12 2001/07/18 08:15:23 marka Exp $ */
+/* $Id: platform.h.in,v 1.12.2.1 2001/11/02 00:20:10 marka Exp $ */
#ifndef LWRES_PLATFORM_H
#define LWRES_PLATFORM_H 1
@@ -57,6 +57,12 @@
@LWRES_PLATFORM_NEEDIN6ADDRANY@
/*
+ * If this system is missing in6addr_loopback,
+ * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined.
+ */
+@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@
+
+/*
* If this system has in_addr6, rather than in6_addr,
* LWRES_PLATFORM_HAVEINADDR6 will be defined.
*/
diff --git a/version b/version
index 9b25b0bb..6cae26ba 100644
--- a/version
+++ b/version
@@ -1,4 +1,4 @@
-# $Id: version,v 1.26.2.7 2001/10/23 17:06:33 gson Exp $
+# $Id: version,v 1.26.2.8 2001/10/30 02:14:09 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=8
+RELEASEVER=9